8253可编程计数器/定时器
- 8253有3个16位的counter(0,1,2),其中counter0用作
IRQ0
; - PC输入频率为
1193180Hz
==>每次(count-1)需1/1193180s
,则若想设置10ms
中断则counter0应置为1193180/100
; - counter配置:
8253counter(0,1,2
)置位端口分别为端口(40h,41h,42h
),16
位;
端口43h
配置8253Mode Control Register
,用以设置相关属性,8
位;
8253Mode Control Register(43h,8位):
位数 | 作用 |
---|---|
0 | 0:计数器使用2进制 1:计数器使用BCD |
3、2、1 | 配置计数器模式; 3,2,1 (0,0,0):Mode0,interrupt on terminal count (0,0,1):Mode1,programmable one-shot (0,1,0):Mode2,rate generator (0,1,1):Mode3,square wave rate generator (1,0,0):Mode4,software triggered strobe (1,0,1):Mode5,hardware triggered strobe |
5、4 | 读/写/锁位 5,4 (0,0):锁当前计数值 (0,1):只读写高字节 (1,0):只读写低字节 (1,1):先读写低字节,后读写高字节 |
7、6 | 计数器选择 7,6 (0,0):选择counter0 (0,1):选择counter1 (1,0):选择counter2 (1,1):对8253非法,对8254位Read Back命令 |
附PC8259控制系统,8253counter0对应IRQ0: