2.4.2定时器实现24h计时的仿真(课件)-《单片机应用技术》同步教学(中国科学技术出版社)

2024-08-15
| 11页
| 139人阅读
| 11人下载
普通

内容正文:

定时器实现24h计时的仿真 更多模板请关注:https://haosc.taobao.com CONTENTS 目录 01 02 24h计时电路分析 24h计时程序设计 道艺兼修 敬业乐群 24h计时电路分析 01 (1)8位共阴极数码管 (2)动态显示 (3)24h精确计时 (4)P2.0,P2.1,P2.2 经138译码器控制位; P0控制数码管的段 3 24h计时程序设计 02 1个定时器同时实现动态扫描,计时。 4 24h计时程序设计 02 02 (1)程序设计流程图 主程序 开始 初始化 Y 秒==60? 定时器中断50次? Y N Y 次数回0,秒++ 分==60? N 秒回0,分++ 时==24? Y 分回0,时++ N 时回0 N 5 24h计时程序设计 02 02 (1)程序设计流程图 TH、TL初始值 8位动态显示一次 中断入口 记录中断次数 返回 中断程序 6 24h计时程序设计 02 (2)程序设计 1)初始化 #include <reg51.h> unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//共阳极数码管 0---9,- 的字型码 unsigned char miao,fen,shi; //记录“秒,分,时” unsigned char T_count0=0;//定时器中断次数记录 unsigned char dis[8]={0,0,10,0,0,10,0,9};//显示缓冲区 7 24h计时程序设计 02 2)主程序 main() { TMOD=0x01; //定时器工作方式 TH0=(65536-20000)/256;//TH0=0xb1; TL0=(65536-20000)%256;//TL0=0xE0; ET0=1; //中断允许 EA=1; // 中断总开关 TR0=1; //启动定时器 while(1) { if(T_count0==50)// 50次到? { T_count0=0; //回0 miao++; // 时间控制 if(miao==60){miao=0;fen++; if(fen==60){fen=0;shi++; if(shi==24){shi=0;}}} } } } 8 24h计时程序设计 02 void T0_IR( ) interrupt 1 {unsigned char I; TH0=0xb1; //重新设置定时器初始值 TL0=0xe0; T_count0++; //记录定时器中断次数 for(j=0;j<8;j++) { P2=j; P0=duan[dis[j]]; delay_nms(1); } } 3)定时器中断程序 9 24h计时程序设计 02 10 谢谢观看! Simple Gifts Jewel Lullaby 167584.05 胡祝兵 $$

资源预览图

2.4.2定时器实现24h计时的仿真(课件)-《单片机应用技术》同步教学(中国科学技术出版社)
1
2.4.2定时器实现24h计时的仿真(课件)-《单片机应用技术》同步教学(中国科学技术出版社)
2
2.4.2定时器实现24h计时的仿真(课件)-《单片机应用技术》同步教学(中国科学技术出版社)
3
2.4.2定时器实现24h计时的仿真(课件)-《单片机应用技术》同步教学(中国科学技术出版社)
4
2.4.2定时器实现24h计时的仿真(课件)-《单片机应用技术》同步教学(中国科学技术出版社)
5
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。