当前位置:课程学习>>第六章>>知识讲解>>视频课堂>>知识点六
例1
教材第147页例7-1
接口电路如图所示。编程不断扫描开关Ki(i=0~7)。若开关Ki闭合,对应的发光二极管LEDi(i=0~7)点亮,否则LEDi熄灭。
代码和Proteus ISIS可在 示例代码 [1 例7-1 第147页 ios.zip]下载,其中io.ASM是汇编代码,io.DSN是 Proteus ISIS 的工程文件入口。
代码如下。
.MODEL SMALL
.8086
.code
.startup
mov bl,0fh
l: mov dx,20h
in al,dx
test al,1
jz N
not bl
N: mov al,bl
mov dx,40h
out dx,al
jmp l
.data
.stack
END
按实验大纲 [录屏\1 例7-1 第147页 ios\实验大纲.docx]的顺序,参见视频讲解本实验。
[录屏\06 输入与输出_1 例7-1 第147页 ios_01 功能.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_02 cpu.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_03 译码电路.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_04 373.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_05 245.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_06 输入代码.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_07 输出代码.mp4]
[录屏\06 输入与输出_1 例7-1 第147页 ios_08 控制逻辑代码.mp4]
例2
教材12.1
根据开关状态控制发光二极管是否闪烁。
代码和Proteus ISIS可在 示例代码 [2 chap12_1_IO_0_出入地址相同.zip]下载, 其中io.ASM是汇编代码, io.DSN是 Proteus ISIS 的工程文件入口。
代码如下。
.MODEL SMALL
.8086
.code
.startup
mov bl,0fh
l: mov dx,030h
in al,dx
test al,1
jz N
not bl
N: mov al,bl
mov dx,030h
out dx,al
jmp l
.data
.stack
END
io.DSN如下。
仿真运行,当开关断开时,二极管0~3和4~7轮流闪烁;
当开关闭合时,二极管状态固定。
按实验大纲 [2 chap12_1_IO_0_出入地址相同\实验大纲.docx]的顺序,参见视频讲解本实验。
[录屏\06 输入与输出_2 chap12_1_IO_0_出入地址相同_01 线路连接.mp4]
[录屏\06 输入与输出_2 chap12_1_IO_0_出入地址相同_02 功能.mp4]
[录屏\06 输入与输出_2 chap12_1_IO_0_出入地址相同_03 地址相同.mp4]
[录屏\06 输入与输出_2 chap12_1_IO_0_出入地址相同_04 删除地址.mp4]
[录屏\06 输入与输出_2 chap12_1_IO_0_出入地址相同_05 地址一致且不冲突.mp4]
例3
教材12.1,稍作修改的方案。与上例不同之处是,在本例中,LED灯IO输出的地址与开关IO输入的地址不同。
根据开关状态控制发光二极管是否闪烁。
代码和Proteus ISIS可在 示例代码 [3 chap12_1_IO_1_出入地址不同.zip]下载,
其中io.ASM是汇编代码,
io.DSN是 Proteus ISIS 的工程文件入口。
代码如下。
.MODEL SMALL
.8086
.code
.startup
mov bl,0AAh
L: mov dx,030h
in al,dx
test al,1
jz N
not bl
N: mov al,bl
mov dx,020h
out dx,al
jmp L
.data
.stack
END
按实验大纲 [录屏\3 chap12_1_IO_1_出入地址不同\实验大纲.docx]的顺序,参见视频讲解本实验。
[录屏\06 输入与输出_3 chap12_1_IO_1_出入地址不同_1 功能.mp4]
[录屏\06 输入与输出_3 chap12_1_IO_1_出入地址不同_2 地址计算.mp4]
[录屏\06 输入与输出_3 chap12_1_IO_1_出入地址不同_3 地址_10h.mp4]
[录屏\06 输入与输出_3 chap12_1_IO_1_出入地址不同_4 地址_2_方案1 解码器与芯片.mp4]
[录屏\06 输入与输出_3 chap12_1_IO_1_出入地址不同_5 地址_2_方案2 AD总线与解码器.mp4]
例4
使用两个开分关分别控制两个LED灯。
代码和Proteus ISIS可在 示例代码 [4 例7-1 第147页 两键控制两灯.zip]下载,
其中io.ASM是汇编代码,
io.DSN是 Proteus ISIS 的工程文件入口。
代码如下。
.MODEL SMALL
.8086
.code
.startup
s: mov dx,020h
in al,dx
mov dx,030h
not al
out dx,al
jmp s
.data
.stack
END
按实验大纲 [录屏\4 例7-1 第147页 两键控制两灯\实验大纲.docx]的顺序,参见视频讲解本实验。
[录屏\06 输入与输出_4 例7-1 第147页 两键控制两灯_1 功能.mp4]
[录屏\06 输入与输出_4 例7-1 第147页 两键控制两灯_2 连接.mp4]
[录屏\06 输入与输出_4 例7-1 第147页 两键控制两灯_3 代码.mp4]
[录屏\06 输入与输出_4 例7-1 第147页 两键控制两灯_4 单步执行.mp4]
[录屏\06 输入与输出_4 例7-1 第147页 两键控制两灯_5 功能增强.mp4]