微机接口计数器定时器8253

如题所述

第1个回答  2015-01-25

(1)
一个通道若使用双字节,是16位计数器,最大计数值N =2^16 =65536
若输入CLK脉冲频率为2MHz, 脉冲周期Tin =1/2MHz =2μS
则一个通道最大定时时间Tmax =65536x2μS =131072μS =131.072mS
.
(2)若要输出周期1秒的连续方波,因所需计数值超出一个通道最大计数值65536,
采用通道级联来实现(如图):

(3)初始化程序:
MOV  DX, 203h       ;8253控制口地址
MOV  AL, 00110100b  ;通道0,方式2,写16位初值,二进制数
OUT  DX, AL         ;通道0的方式字写入控制口
MOV  DX,200h       ;通道0初值寄存器地址
MOV  AX,3E8h       ;通道0计数初值
OUT  DX,AL         ;初值低8位写入通道0
MOV  AL, AH
OUT  DX, AL         ;初值高8位写入通道0

MOV  DX, 203H       ;8253控制口地址
MOV  AL, 01110110b  ;通道1,方式3,写16位初值,二进制数
OUT  DX, AL         ;通道1的方式字写入控制口
MOV  AX,1F4h       ;通道1计数初值
OUT  DX,AL         ;初值低8位写入通道1
MOV  AL, AH
OUT  DX, AL         ;初值高8位写入通道1

相似回答