您现在的位置: 主页 > MCU > 单片机技术应用 > 以中断方法设计单片机秒、分脉冲发生器 -
本文所属标签:
为本文创立个标签吧:

以中断方法设计单片机秒、分脉冲发生器 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
以中断方法设计单片机秒、分脉冲发生器。假定P1.0每秒产生一个机器周期的正脉冲,P1.1每分钟产生一个机器周期的正脉冲。单片机是89C51。;======================================================;最佳

以中断方法设计单片机秒、分脉冲发生器。
假定P1.0每秒产生一个机器周期的正脉冲,P1.1每分钟产生一个机器周期的正脉冲。
单片机是89C51。
;======================================================
;最佳答案:
;用定时器T0,工作模式1,进行50ms定时,中断。
;中断20次,即为1秒,60秒,即为1分钟。
;到了这些时刻,分别在P1.0、P1.1输出正脉冲即可。

本文引用地址: http://www.21ic.com/app/mcu/201806/764337.htm

ORG 0000H
AJMP START
ORG 000BH ;定时器0中断入口.
AJMP SERVE
START:
MOV TMOD, #01H ;T0定时方式0
MOV TH0, #3CH ;定时
MOV TL0, #0B0H
SETB TR0 ;启动.
SETB ET0 ;允许中断.
SETB EA
MOV R2, #20 ;秒.
MOV R3, #60 ;分.
CLR P1.0 ;开始时,输出低电平.
CLR P1.1

SJMP $ ;等待中断.
;--------------------------------------------
SERVE: ;50ms执行一次本中断程序.
MOV TL0, #0B0H ;重新送入初始值.
MOV TH0, #3CH ;定时
DJNZ R2, T0_END ;不到20次转移.
SETB P1.0 ;到了20次,就是到了1秒,输出正脉冲.
CLR P1.0 ;马上就恢复为0,这就是1个机器周期.
MOV R2, #20
DJNZ R3, T0_END ;不到60秒转移.
SETB P1.1 ;到了60秒,输出正脉冲.
CLR P1.1 ;马上就恢复为0,这就是1个机器周期.
MOV R3, #60
T0_END:
RETI
;--------------------------------------------
END




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 以中断方法设计单片机秒、分脉冲发生器 -
 

"以中断方法设计单片机秒、分脉冲发生器 -"的相关文章

网站地图

围观()