8253的复习笔记
1. 8253是Intel公司生产的针对80x86微处理器的可编程定时器/计数器接口芯片芯片。
2.在计算机应用系统中,有时需要通过定时实现某种控制或操作,如定时中断,定时检测;有时也需要对外部事件进行计数。
3.定时的方法有三种 (1)软件定时,缺点是占用cpu资源,降低了cpu的利用率
(2)不可编程的硬件定时,缺点是使用不灵活
(3)可编程的硬件定时,如8253
4. 8253结构图:
计数器结构图:
D7~D0:与系统数据总线连接。
片选信号低电平有效,选中此芯片,读/写信号低电平有效,由cpu发出。
A1,A0与地址总线最低两位相连,8253共占用4个I/O端口地址,当端口地址最低两位是00,则选择计数器0,01时选择计数器1,10时选择计数器2,11时选择控制字寄存器。
CLK0~CLK2是三个计数器时钟输入端,其实定时的本质也是计数,每当输入一个时钟信号,便使计数值减一,而当clk是精确地时钟脉冲提供时8253作为定时器使用,如果clk是由外部事件提供时,8253作为计数器使用。
GATE0~GATE2是控制启动定时器/计数器工作。
OUT0~OUT2是三个计数器的输出端,当计数器减到0时,输出一个标志信号,从而产生不同工作方式时的波形。
8253工作原理:首先用户对其初始化编程,A1A0为11,cpu通过数据总线把控制字传入数据总线缓冲器,然后控制字写入到控制字寄存器,然后根据控制字的最高两位把控制字送入相应的计数器内部的控制寄存器,控制字格式如下图所示
控制字送入到相应的计数器后,从数据总线缓冲器中得到初值并根据A1A2的值送入到相应的计数器的CR。然后启动工作,CR中的初值送入减一计数器CE对输入的脉冲信号进行减一计数,当CE中的内容减为0,oUT端输出信号,输出信号的波形由其工作方式决定。对于每一个计数器必须先送控制字,再送初值。