微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机定时器应用——扩展一分钟

单片机定时器应用——扩展一分钟

时间: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的吗?

谢谢  学习

好讲解,赞啊。

顶一个,学习了!

挺好的学习资料,学习了。

十分感谢分享!

学习学习学习学习

资源太丰富了,谢谢共享!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top