单片机定时器应用——扩展一分钟
时间:10-02
整理:3721RD
点击:
更多51单片机定时器知识请进入专题:http://bbs.elecfans.com/topic-dingshiqi.html
方法是: 定时器定时 + 软件计数器计数,累加实现
例如:用T1定时从P1.0输出周期为2分钟的方波(f=12MHz)
解:用T1定时10ms ,加软件计数器实现1分钟的定时
40H单元用来计10ms的次数,1S/10ms=100次
41H单元用作S计数器,1分/1S=60次(采用减计数)
4FH位地址用作标志位,1分钟到4FH=1,否则,4FH=0
T1的初值: Z= 216—10ms ×1000/1 ms=55536=D8F0H
ORG 0000H ;主程序入口
LJMP START
ORG 001BH ;T1中断服务程序入口
LJMP INT1
ORG 0030H
START:MOV TMOD,#10H ;T1方式1,定时
MOV TL1,#0F0H ;定时器赋初值
MOV TH1,#0D8H
MOV IE,#88H ;开放中断
SETB TR1 ;启动定时器T1
MOV 40H,#100 ;10ms次数计数器
MOV 41H,#60 ;S计数器
CLR 4FH ;清标志位
TT:JNB 4FH,TT ;1分钟未到(4FH=0)等
CLR 4FH ;1分钟到,清标志位4FH
CPL P1.0 ;每1分钟求反1次
AJMP TT ;循环
中断服务程序:
INT1:MOV TL1,#0F0H ;定时器重赋初值
MOV TH1,#0D8H
DJNZ 40H,TT1 ;1S到否,没到转
MOV 40H,#100 ;1S到,再赋100
DJNZ 41H,TT1 ;1分钟到否?没到转
MOV 41H,#60 ;1分钟到,再赋60
SETB 4FH ;置1分钟到标志位
TT1:RETI
END
顶个, 学习。
顶个 学习学习
非常好 感谢分享
学习一下
学习mark
好东西
好东西
谢谢分享
顶起,谢谢小编,好好学习一下。
有c的吗?
谢谢 学习
好讲解,赞啊。
顶一个,学习了!
挺好的学习资料,学习了。
十分感谢分享!
学习学习学习学习
资源太丰富了,谢谢共享!