8253工作方式小结
初始化后OUT输出:
只有方式0,在写入控制字后输出为低;其余5种方式,都是在写入控制字后输出为高。
计数开始的触发方式:
方式0、2、3、4都是写入计数初值后,计数过程开始了,为软件触发。方式1和方式5在写入计数初值后,需由外部GATE信号的上升沿触发启动,为硬件触发计数。
自动重复计数:
方式2(分频器)和方式3(方波发生器)为自动重复工作方式,其他4种方式都是一次性计数,要继续工作需要重新启动。
8.1.4 8254与8253的区别
8.1.5 8253应用举例
【例8.2】8253计数器2产生频率为40KHZ的方波,设8253的端口地址为0040H~0043H,已知时钟端CLK,输入信号的频率为2MHz。试设计8253与8088总线的接口电路并编写产生方波的程序。
8253与8088总线的接口电路如图8.12所示。
为了使计数器2产生方波,应使其工作于方式3,输入的2MHz的CLK,时钟信号进行50次分频后可在OUT2端输出频率为40kHz的方波,因此,对应的控制字应为10010111B,计数初值为十进制数50。程序如下所示:
MOV AL, 10010111B;对计数器2送控制字 MOV DX, 0043H OUT DX, AL MOV AL, 50H ;送计数初值50 MOV DX,0042H OUT DX, AL
8253在XT机中的应用
1) 计数器0 该计数器向系统日历时钟提供定时中断 工作方式为方式3 计数器计数初值预置为0 OUT0输出方波的频率为1.19 MHz/65536=18.21Hz, 即每隔55ms申请一次日历时钟中断。 一分钟1092次,一小时65543次,24小时1573040(001800B0H)次。 中断服务程序对中断次数进行计数,形成实时时钟。
MOV AL,36H OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL
2) 计数器1 向DMA控制器定时发送动态存储器刷新请求 方式2工作,初值18 频率为1.19MHz/18=662878kHz。周期为15.09µs。 OUT1输出从低电平变为高电平使触发器置1, 输出一个正电平信号给8237DREQ0, 作为内存刷新的DMA请求信号DRQ0。
MOV AL,54H OUT 43H,AL MOV AL,12H OUT 41H,AL
3) 计数器2 在IBM PC/XT机的BIOS中有一个声响子程序BEEP, 它将计数器2设置为工作方式3, 作为方波发生器输出约1 KHz的方波, 经滤波驱动后推动扬声器发声。 初值:533H,初值决定了发声的频率, 即音调,而对门控信号的控制决定了发声的长短。
MOV AL,0B6H OUT 43H,AL MOV AX,533H OUT 42H,AL MOV AL,AH OUT 42H, AL
8.2 可编程并行接口芯片 8255A
通信?——计算机与外部信息的交换
计算机和数据通信系统中的两种基本数据传送方式——并行通信、串行通信
和串行传送相比,在同样的时钟速率下,并行传送的数据传输率较高。串行通信则是用于远距离传输要求的场合,并行通信往往适用于信息传输率要求较高,而传输距离较短的场合
8.2.1 8255A的引脚与结构
1. 8255的引脚
可编程并行接口芯片8255
8255A采用40脚双列直插封装
单一+5V电源
8位并行输入输出接口芯片
全部输入输出与TTL电平兼容
用8255A连接外部设备时,通常不需要再附加其他电路,使用方便
8255外部引脚
2. 8255内部结构
- 端口A、B、C
- A组控制、B组控制
- 数据总线缓冲器
- 读、写控制逻辑
8255读写操作时的信号关系
8.2.2 8255A的工作方式与控制字
1. 8255的工作方式
- 方式0:基本输入输出方式
适用于无条件传送和查询方式的接口电路 - 方式1:选通输入输出方式
适用于查询和中断方式的接口电路 - 方式2:双向选通传送方式
适用于与双向传送数据的外设
适用于查询和中断方式的接口电路
2. 8255的控制字
1)工作方式选择控制字
**8255的工作方式初始化 **
假定要求8255A的各个端口工作于如下方式:
端口A——方式0,输出;
端口B——方式0,输入;
端口C的高4位——方式0,输出;
端口C的低4位——方式0,输入。
相应的方式选择控制字应为:1 00 0 0 0 1 1
假定要求8255A的各个端口工作于如下方式:
端口A——方式0,输出;
端口B——方式0,输入;
端口C的高4位——方式0,输出;
端口C的低4位——方式0,输入。
相应的方式选择控制字应为 83H 。
设在系统中8255A控制口的地址为D3H,则执行如下两条指令即可实现上述工作方式的设定。 MOV AL,83H; OUT 0D3H,AL; 将方式选择控制字写入控制口
2) C口按位置位/复位控制字
注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口
例:通过C置位/复位控制字使PC7置1,PC3置0
MOV DX,0D3H MOV AL,00001111B;PC7置1,引脚上出现高电平 OUT DX,AL MOV AL,00000110B;PC3置0,引脚上出现低电平 OUT DX,AL
8.2.3 各种工作方式的功能
1.8255的工作方式0——基本输入/输出方式
- A口、B口、C口的高4位和低4位均可设置为方式0。
- 无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。
- 也适用于查询方式传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。
2. 8255的工作方式1—选通输入输出方式
8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1
- 3. 8255的工作方式2—双向选通传送方式
同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。
8.2.4 8255A的应用举例
例:采用4个开关输入一个十六进制数,使用8255,将通过开关输入的数显示到七段数码管上。8255端口地址为60H~63H,与8088CPU连接。设计接口电路,编写程序。
解决思路: 1、作为接口芯片,8255如何与CPU连接? 如何与已知的开关七段数码管这两个外设连接?如何构成一个系统? 2、系统硬件连线完成,如何编写程序,完成系统指定的功能?