设某51单片机应用系统的晶振频率为12MHZ,现在要求使用定时器计数器T1在IO

设某51单片机应用系统的晶振频率为12MHZ,现在要求使用定时器计数器T1在IO脚p2.5上输出周期为4ms的方波信号计算T1TL1的初值内容,并编写实现p2.5方波的输出功能

机器周期 =12/Fosc = 12/(12MHz) =1μs,4ms方波的半周期=2ms,
计数值 =2ms/1μs =2000
单片机定时器T1,工作方式1,16位计数寄存器,
计数初值 =2^16 -2000 =63536 =F830h
;; T1初始化程序:
MOV TMOD, #00010000b ;; T1 , 定时模式 , 方式1
MOV TH1, #0F8h ;; 装入初值高8位
MOV TL1, #30h ;; 装入初值低8位
SETB ET1 ;; 允许T1中断
SETB EA ;; MCU开中断
SETB TR1 ;; 启动T1
WAIT: SJMP WAIT ;; 等待T1中断
;; T1中断服务程序(每隔半周期,T1计时溢出中断一次):
CPL P2.5 ;; P2.5引脚输出电平反转(高变低或低变高)
MOV TH1, #0F8h ;; 重装初值高8位
MOV TL1, #30h ;; 重装初值低8位
RETI ;; 中断返回
温馨提示:答案为网友推荐,仅供参考
相似回答