. 图2.40
b.8253的CS=A9 A8 A7A6 A5 A4 A3 A2 8255的CS= A9 A8A7A6A5A4 A3 A2 c.8253和8255的CS的逻辑电路如图2.41所示:
图2.41
②a.8253初始化程序段如下:
MOV OUT
AL,01110110B ;计1方式字 43H,AL AL,50H 41H,AL AL,0C3H 41H,AL
;计1定时50 ms,计数值为50000
MOV OUT
MOV OUT
b.8255的初始化及从PA口读入一个开关字节数送PB口显示的程序段如下:
MOV 口方式0输出 OUT IN OUT
63H,AL AL,60H 61H,AL
;从PA口输入 ;从PB口输入
AL,10010000B
;8255方式字,PA口方式0输入,PB
31
第8章
8. 1. 说明DAC0832芯片中8位输入寄存器和8位DAC寄存器的作用及工作过程。 解:见教材
8. 2. 说明D/A转换器芯片对输出电路的要求。 解:
数/模转换器一般为电流输出,若实际应用中需要模拟电压,通常加接运算放大器,用以实现I~V的转换。另外还有单极性输出和双极性输出的要求
8. 3. 如图习8-1所示的A/D转换器,试说明器件的运行过程,及各信号的作用。
图习 8-1
解:
输入模拟量,输出数字量(粗箭头)。
START为启动信号,上跳沿时触发启动模拟输入信号转换。
启动后,检查EOC(转换结束信号),转换结束时EOC=L,从输出端得到转换后的数字量。
8.4ADC0809通过并行接口芯片8255与系统总线相连的接口电路如图习8-2 所示,假定8255端口片选地址范围为80H~83H,ADC0809输出允许使能地址范围为84H~87H。
试编写一个子程序完成通道IN0的A/D数据输入。(应包括程序注释与8255芯片的初始化部分)
32
图习 8-2
解:
MOV AL , 10011000B (98H) OUT 83H , AL MOV AL , 08H OUT 82H , AL MOV AL ,00H OUT 82H , AL MOV AL ,08H OUT 82H , AL
LOP : IN AL , 82H TEST AL , 80H JZ LOP IN AL , 84H IN AL , 80H
HLT
8.5有一A/D转换器0809的接口如习图8-3所示。试回答如下问题:
(1)启动0809转换的程序段;
(2)检查0809转换是否结束的程序段; (3)读出0809转换后的数字量的程序段;
(4)按习图8-10电路连接,此时转换的是哪个模拟通道?
33
习图8-3
解:
1) OUT
40H,AL
2) LOP:IN
AL,41H
AL,01H LOP AL,41H AL,1 LOP
TEST JZ
或LOP:IN
SHR JC
标号LOP可用其它名字。 注意:EOC输出端有一个反相器。 3) IN 4) IN7
AL,40H
8.6有一8086系统同ADC0809的接口如习图8-4所示,请回答如下问题:
(1)启动ADC0809模拟通道IN7转换的指令(或指令段);
(2)查询ADC0809转换是否结束,未结束则继续查询的指令段; (3)使ADC0809的OE有效的指令段;
(4)若CLK88的重复频率为4 KHz,则CLOCK的重复周期为多少?
34
习图8-4
解:
74LS138
译码器Y2的地址范围为:
A8 A7 A6 A5 A4 A3 A2 A1 A0
即168H~16BH
1 0 1 1 0 1 0 × × Y3的地址范围为16CH~16FH
由于A2A1A0同0809的ADDC,ADDB,ADDA相连,则168H对应于模拟通道IN0,169H对应于模拟通道IN1,…16FH对应于模拟通道IN7 1)启动通道IN7的指令为: MOV OUT
DX,16FH DX,AL
注意:因为端口地址为16FH,大于8位,必须采用寄存器间接寻址,而且只能是D
2)查询0809 转换是否结束: 查EOC,即读8255A的PB。
8255A的端口地址为160H~163H,PB口地址为161H。
LOP :MOV IN
DX,161H AL,DX AL,01H
LOP
35
TEST JNZ