2.下图为采用8253产生定时中断信号IR2。已知Fclk0=1MHz,要求每隔1小时发 H ~OUT1 出一个中断请求,8253的端口地址为180183H,试编制8253的初始化程序。 GATE1 CLK1 OUT1 ○ IR2 解:本题采用2个计数通道串联使用, GATE0 要求两个计数通道的计数初值乘 OUT0 GATE1 +5v 积为: CLK0 n0×n1=TOUT1/TCLK0 CLK1 TCLK0=1/fclk0=1/1MHz=1μs 8 GA TE0 n0×n1=3600s/1μs=36×10 4 可选取n0=n1=6×10。因为n0 OUT0 ○ 和n1大于10000,必须采用二进 制计数。 CLK0 1MHz 设定二个计数器都工作于方式2。 8253初始化程序如下: MOV AL, 00110100B ;通道0初始化 MOV DX, 183H OUT DX, AL MOV AL, 01110100B ;通道1初始化 OUT DX, AL MOV AX, 60000 ;通道0写入计数初值 MOV DX, 180H OUT DX, AL MOV AL, AH OUT DX, AL MOV DX, 181H MOV AX, 60000 ;通道1写入计数初值 OUT DX, AL MOV AL, AH OUT DX, AL
第 6 页 共 6页