当前位置:课程学习>>第六章>>知识讲解>>视频课堂>>知识点六


知识点六: 实验I 简单I/O接口芯片




例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]

请同学们进入下一个知识点的学习