- 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: