1、源程序如下:
MOV
DX, 143H MOV
AL,
77H OUT
DX,
AL MOV
AX,
0 DEC
DX DEC
DX OUT
DX,
AL MOV
AL,
AH OUT
DX,
AL
设 8253 的端口地址为 140H~143H,问:
(1)程序是对 8253 的哪个通道进行初始化? (2)该通道的计数常数为多少? (3)若该通道时钟脉冲 CLK 的周期为 1µs,则输出脉冲 OUT 的周期为多少 µs? 答案:
(1) 程序对 8253 的通道 1 进行初始化。(1 分) (2)计数常数为 10000D,BCD 计数。(2 分)
(3)工作在方式 3,方波速率发生器周期=100001µs=10000µS=10ms
(2 分)
2、8253 在 PC/XT 机中的应用:在 PC/XT 机内,有一片 8253,其中 3 个计数通道都被系统占用,8253 约定的地址为 40H~43H,3 个通道的 CLK 都由 PCLK 二分频得到,频率 1.19MHz。
计数器 0:方式 3,每 55ms 向系统发中断请求,作为报时和磁盘驱动器的马达定时信号。
计数器 1:方式 2,每隔 12.12us 请求一次 DMA,进行动态 RAM 的行刷新。
分别对 8253 的计数器 0 和 1 进行初始化编程:
答案:(1)计数器 0:
初值:0000H
控制字:
00110110
36H H MOV
AL, 36H
OUT
43H,
AL MOV
AL, 0 OUT
40H, AL MOV
AL,
0 OUT
40H,
0
(2)计数器 1:
初值:12H
控制字:
01010100
54H H MOV
AL, 54H
OUT
43H,
AL MOV
AL, 12H OUT
41H, AL