《单片机控制技术项目式教程》项目7 模拟电子闹钟的设计.ppt

《单片机控制技术项目式教程》项目7 模拟电子闹钟的设计.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
描述:示例文章:在\单片机控制技术项目式教程\项目中,作者通过实现一个模拟电子闹钟的功能,满足了用户对于实际操作体验的需求。文章详细介绍了电路设计思路,使用了矩阵键盘进行输入设置,同时提供了一个动态显示数字的10位显示模块。整个系统具有较高的用户体验。1.使用4位共阳极的数码管动态显示模拟时间功能,使得读者能够方便地查看到所需的时间。2.将K10键设置为提示键,当用户按压这个键时,会触发一个蜂鸣器报警,提醒用户已经设置了所需的时间。3.为了保证系统的稳定性,采用了矩阵

(3)软件程序设计 源程序编写如下: //宏定义 #includereg51.h #define uchar unsigned char #define uint unsigned int sbit K1=P3^2; sbit K2=P3^3; //0~9的数码管共阴极段码表 uchar code DSY_CODE[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,0x7F, 0x6F}; //延时1ms子程序 void DelayMS(uint x) { uchar i; While(x--) for(i=0; i120; i++); } //定时1s子程序 void sTime ( ) { uint i; TMOD=0x01; //设定时器1为方式0 TH0=(65536-50000)/256; //置定时器初值 TL0=(65536-50000)%256; TR0=1; //启动T1 for(i=0; i=20 ; ) { if ( TF0 == 1) //查询计数溢出 { i++; TF0=0; TH0=(65536-50000)/256; //重新置定时器初值 TL0=(65536-50000)%256; } } return ; } //秒表主程序 void main() { uchar s; P0= DSY_CODE[0]; P2= DSY_CODE[0]; K1=1; K2=1; while(1) { if(K1==0) //K1键按下 {DelayMS(10); //按键去抖动 if(K1==0) //再次检查按键 { for (s=1;s=60;s++) //从0到59显示秒数 {P0= DSY_CODE[s/10]; //显示秒的十位 P2= DSY_CODE[s%10]; //显示秒的个位 sTime (); //调用1s定时 } } } if(K2==0) { DelayMS(10); //按键去抖动 if(K2==0) //再次检查按键 { P0= DSY_CODE[0]; //十位清零 P2=DSY_CODE[0]; //个位清零 } } } } 任务7.3 模拟电子闹钟的设计 1.任务要求 设计一只模拟电子闹钟,要求用矩阵键盘输入设置,用4位共阳极的数码管显示模拟时间,用蜂鸣器提醒设置的时间已到。 具体要求如下: (1)用按键K0、K1、K2、K3、K4、K5、K6、K7、K8、K9输入0000~9999中的任意一个数值作为设定时间,数值的1表示1s,比如输入0060就表示60s即1分钟,输入0600就表示600s即10分钟。 (2)数值由四位共阳极的数码管动态显示,实时显示当前的数值(时间); (3)K10键作为开始键,按下后设置的数值以1s的时间间隔减1倒数; (4)K11键作为取消键,按下后取消前面的输入重新设置; (5)当设置的数值减到0时蜂鸣器报警。 2.任务分析 采用矩阵键盘:用AT89C51的P1.0~P1.3作为矩阵键盘的行线,P1.4~P1.7作为列线。 采用一只4位的共阳极数码管,动态地显示模拟的时间,由于4位最大只能显示9999,所以显示的时间范围是

文档评论(0)

凉州牧 + 关注
实名认证
内容提供者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档