当前位置: 首页 > news >正文

AT89C51数字电子时钟和proteus仿真(74HC573)

文章目录概要使用流程程序设计小结概要主控芯片为AT89C51锁存器74HC573控制数码管点亮。注免费源码链接评论区使用流程开启仿真按下按键5显示时间按键5可选择修改时间模式增减闹钟模式。按键123为修改时间闹钟定时精度为分钟。程序设计#includeregx52.h#includeBUZZER.h#includeKey.h#includeDelay.hvoid_yuanze();void_shu_ma_guan();//自定义时间初始量#defineS13#defineF57#defineM58#defineN2//闹钟响铃时长sbit duanP2^0;//段选sbit weiP2^1;//位选sbit K1P2^3;//按键1 小时自增sbit K2P2^4;//按键2 分钟自增sbit K3P2^5;//按键3 秒自增sbit K4P2^6;//按键4 时间暂停sbit BUZZERP2^7;sbit K5P3^2;//按键5显示 闹钟/时间//段选的断码数码管显示的数字 0 1 2 3 4 5 6 7 8 9unsignedduan_[]{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedgong_neng[]{0xff,0xfe,0xfd,0xfb};unsignedintmiaoM,fenF,shiS,Keynum;unsignedinta0,x,y;//闹钟提示音voidnao_z(){if(shixfenymiaoN){BUZZER1;BUZZER0;}elseBUZZER1;}//按键控制 自增函数voidyuanze(){KeynumKey();//接引按键扫描模块“Key.c”函数的返回值Keynumber//通过分支语句对不同按键对 秒K1 分K2 时K3 启动计时器K1 关闭计时器K4 实行调节switch(Keynum){case3:miao;Keynum0;if(miao60)miao0;break;case2:fen;Keynum0;if(fen60)fen0;break;case1:shi;Keynum0;if(shi24)shi0;break;case4:Keynum0;TR0~TR0;break;//按键K4停止定时器,启动定时器}}//按键控制自减函数voidyuanze1(){KeynumKey();//接引按键扫描模块“Key.c”函数的返回值Keynumber//通过分支语句对不同按键对 秒K1 分K2 时K3 启动计时器K1 关闭计时器K4 实行调节switch(Keynum){case3:miao--;Keynum0;if(miao0)miao59;break;case2:fen--;Keynum0;if(fen0)fen59;break;case1:shi--;Keynum0;if(shi0)shi23;break;case4:TR0~TR0;break;//按键K4停止定时器,启动定时器}}unsignedintshi_S,fen_F-3,miao_,Keynum_;//数码管显示。voidshu_ma_guan(){//位选读入数据/第一个数码管/锁存数据 /段选读入数据/小时的十位/锁存数据/防止篡位 /消影wei1;P00xfe;wei0;duan1;if(a3)P0duan_[shi_/10];elseP0duan_[shi/10];duan0;Delay(1);P00xff;//小时的个位wei1;P00xfd;wei0;duan1;if(a3)P0duan_[shi_%10];elseP0duan_[shi%10];duan0;Delay(1);P00xff;//分隔符wei1;P00xfb;wei0;duan1;P00x40;duan0;Delay(1);P00xff;//分的十位wei1;P00xf7;wei0;duan1;if(a3)P0duan_[fen_/10];elseP0duan_[fen/10];duan0;Delay(1);P00xff;//分的个位wei1;P00xef;wei0;duan1;if(a3)P0duan_[fen_%10];elseP0duan_[fen%10];duan0;Delay(1);P00xff;//分隔符wei1;P00xdf;wei0;duan1;P00x40;duan0;Delay(1);P00xff;//秒的十位wei1;P00xbf;wei0;duan1;if(a3)P0duan_[miao_/10];elseP0duan_[miao/10];duan0;Delay(1);P00xff;//秒的个位wei1;P00x7f;wei0;duan1;if(a3)P0duan_[miao_%10];elseP0duan_[miao%10];duan0;Delay(1);P00xff;}voidmain(){TMOD0x01;//选择定时器工作模式T0 0000 0001TH0(65535-50000)/256;//高位寄存器 TH015535/256;//65535-5000050000us50msTL0(65535-50000)%256;//低位寄存器 TL015535%256;//中断系统EA1;//总中断开关ET01;//中断允许控制位 计数器T0溢出中断允许控制位TF00;//中断请求位//外部中断EX01;IT01;while(1){nao_z();if(a1){yuanze();shu_ma_guan();}//按键控制自增模式if(a2){yuanze1();shu_ma_guan();}//按键控制自减函数if(a3){_yuanze();shu_ma_guan();}//按键闹钟定时模式}}//中断服务子程序 定时器0voidTimer1_Routine()interrupt1{staticunsignedintn;//静态储存//进行中断重新赋值下次运行也为1msTR01;TH0(65535-50000)/256;//高位寄存器TL0(65535-50000)%256;//低位寄存器n;if(n20)//每隔一秒运行{n0;miao;//秒自增if(miao60)//秒为60秒清零分自增1{miao0;fen;if(fen60)//分为60分清零小时自增1{fen0;shi;Buzzer_Time(100);//整点提醒蜂鸣器工作if(shi24)//小时为24时小时清零{shi0;}}}}}//中断服务程序 外部中断0voidInit0_Routine()interrupt0{a;if(a4)a1;P1gong_neng[a];}//unsigned int shi_S,fen_F-3,miao_,Keynum_;//按键控制闹钟 自增函数void_yuanze(){Keynum_Key();//接引按键扫描模块“Key.c”函数的返回值Keynumber//通过分支语句对不同按键对 秒K1 分K2 时K3 启动计时器K1 关闭计时器K4 实行调节switch(Keynum_){case2:fen_;Keynum_0;if(fen_60)fen_0;break;case1:shi_;Keynum_0;if(shi_24)shi_0;break;}xshi_;yfen_;}小结本章节就到此结束了需要下载资源的话点击这里AT89C51数字时钟后期还会分享相关学习可以关注一下博主让我们一起学习成长。
http://www.zskr.cn/news/1401600.html

相关文章:

  • AAOS系列之(七) --- AudioRecord录音逻辑分析(一)
  • 终极指南:Hap QuickTime编解码器 - 现代GPU加速视频压缩完整教程
  • Awesome RSS Feeds完整使用指南:分类订阅、国家新闻与个性化配置技巧
  • 工业网络新引擎—基于IPQ5018的WiFi 6工业路由器核心优势与场景化部署解析
  • 探索GMPlot:在Python中绘制地理数据的高效工具
  • 从像素到代码:Mesen如何让NES游戏在现代电脑上重生
  • arXiv论文管理神器:如何用开源工具高效追踪AI研究动态
  • 终极指南:WeChatPad - 简单三步实现微信平板模式,破解设备限制
  • 终极指南:如何免费解锁《艾尔登法环》帧率限制,畅享高帧率游戏体验
  • Keyboard Chatter Blocker:三招解决机械键盘连击问题,让你的旧键盘焕发新生
  • CANN Catlass后处理组件
  • 5个关键问题:Playnite插件如何彻底改变你的游戏库管理体验?
  • FanControl:Windows风扇控制终极指南,3步实现零噪音电脑
  • 基于Nuxt 3与VueFlow构建Claude Code智能体可视化控制平面
  • 从HDF到可视化:手把手解析CALIPSO VFM星载激光雷达数据处理全流程
  • 鸣潮自动化助手终极指南:从新手到高手的完整解决方案
  • 3步实现HoneySelect2完整汉化与MOD整合:HS2-HF Patch终极指南
  • 阵列信号处理笔记-波达方向DOA-子空间方法:从MUSIC到现代高分辨算法
  • 抖音无水印视频下载终极方案:douyin-downloader专业指南
  • LinkSwift网盘直链下载助手:九大网盘一站式下载解决方案终极指南
  • 如何用OBS-captions-plugin为直播添加实时字幕:完整免费教程
  • 高效AI专著生成:实测优质工具,快速产出20万字专业专著
  • 毕业论文的加速引擎!常用的AI写作辅助网站,成稿速度超迅速
  • 英雄联盟终极智能助手:League Akari 完全使用指南
  • 5步掌握ESP32-Arduino核心:从硬件配置到物联网应用
  • 永磁节能潜水搅拌机http://www.llhjkj.com/的故障性能特点 - 品牌推荐大师
  • 如何快速掌握MoveIt2:面向初学者的完整ROS 2运动规划框架指南
  • 从政策文件到MCP服务器:91项行动计划的数字化实践
  • AVEVA PDMS 二次开发之PML实战:从宏命令到自定义窗体的自动化建模
  • 从数据到洞见:用Scanpy搞定单细胞测序分析的完整实战流程(附代码)