第6章 常用可编程外围接口芯片
1. 设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX。
答:
MOV AL,80H
OUT 200H,AL
IN AL,203H
MOV BL,AL
IN AL,203H,
MOV BH,AL
MOV AX,BX
2. 设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。输入时钟为2MHz,让1号通道周期性的发出脉冲,其脉冲周期为1ms,试编写初化程序段。
答:
要输出脉冲周期为1ms,输出脉冲的频率是 ,当输入时钟频率为2MHz时,计数器初值是
使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是200H,计数器0的地址是202H。程序段如下:
MOV DX,200H
MOV AL,76H
OUT DX,,AL
MOV DX,202H
MOV AX,2000
OUT DX,AL
MOV AL,AH
OUT DX,AL
3. 设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少?
答:
= 76.4
应向计数器装入的初值是76。
4. 设8253的计数器0,工作在方式1,计数初值为2050H;计数器1,工作在方式2,计数初值为3000H;计数器2,工作在方式3,计数初值为1000H。如果三个计数器的GATE都接高电平,三个计数器的CLK都接2MHz时钟信号,试画出OUT0、OUT1、OUT2的输出波形。
答:
计数器0工作在方式1,即可编程的单脉冲方式。这种方式下,计数的启动必须由外部门控脉冲GATE控制。因为GATE接了高电平,当方式控制字写入后OUT0变高,计数器无法启动,所以OUT0输出高电平。
计数器1工作在方式2,即分频器的方式。输出波形的频率f= = =666.7HZ,其周期为1.5ms,输出负脉冲的宽度等于CLK的周期为0.5µs。
计数器2工作在方式3,即方波发生器的方式。输出频率f= = 2000Hz的对称方波。
三个OUT的输出波形如下:
5. 8255A的3个端口在使用上有什么不同?
答:
8255A的A端口,作为数据的输入、输出端口使用时都具有锁存功能。
B端口和C端口当作为数据的输出端口使用时具有锁存功能,而作为输入端口使用时不带有锁存功能。
6. 当数据从8255A的C端口读到CPU时,8255A的控制信号 、 、 、A1、AO分别是什么电平?
答:
当数据从8255A的C 端口读入CPU时,8255A的片选信号 应为低电平,才能选中芯片。A1,A0为10,即A1接高电平,A0接低电平,才能选中C端口。 应为低电平(负脉冲),数据读入CPU, 为高电平。
7. 如果串行传输速率是2400波特,数据位的时钟周期是多少秒?
答:
数据位的时钟周期是 = 4.17×10-4 秒
8. 在远距离数据传输时,为什么要使用调制解调器?
答:
在远距离传输时,通常使用电话线进行传输,电话线的频带比较窄,一般只有几KHz,因此传送音频的电话线不适于传输数字信号,高频分量会衰减的很厉害,从而使信号严重失真,以致产生错码。使用调制解调器,在发送端把将要传送的数字信号调制转换成适合在电话线上传输的音频模拟信号;在接收端通过解调,把模拟信号还原成数字信号。
9. 全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信?为什么?
答:
全双工和半双工通信,双方都既是发送器又是接收器。两者的区别在于全双工可以同时发送和接收。半双工不能同时双向传输,只能分时进行。在二线制电路上是不能进行全双工通信的,只能单端发送或接收。因为一根信号线,一根地线,同一时刻只能单向传输。
9. 同步传输方式和异步传输方式的特点各是什么?
答:
同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。
10. 在异步传输时,如果发送方的波特率是600,接收方的波特率是1200,能否进行正常通信?为什么?
答:
不能进行正常通信,因为发送方和接收方的波特率不同,而接收端的采样频率是按传输波特率来设置。
11. 8251A在编程时,应遵循什么规则?
答:
8251在初始化编程时,首先使芯片复位,第一次向控制端口(奇地址)写入的是方式字;如果输入的是同步方式,接着向奇地址端口写入的是同步字符,若有2个同步字符,则分2次写入;以后不管是同步方式还是异步方式,只要不是复位命令,由CPU向奇地址端口写入的是命令控制字,向偶地址端口写入的是数据。
12. 试对一个8251A进行初始化编程,要求工作在同步方式,7位数据位,奇校验,1个停止位。
答:
对原题目的补充改动,要求工作在内同步方式,2个同步字符。
方式字是:00011000B=18H
程序段如下:
XOR AX,AX
MOV DX,PORT
OUT DX,AL
OUT DX,AL
OUT DX,AL ;向8251的控制口送3个00H
MOV AL,40H
OUT DX,AL ;向8251的控制口送40H,复位
MOV AL,18H
OUT DX,AL ;向8251送方式字
MOV AL,SYNC ;SYNC为同步字符