(精选)单片机原理与应用-KFIL C项目教程(西电版)项目十 基于51单片机的时钟课件.ppt

(精选)单片机原理与应用-KFIL C项目教程(西电版)项目十 基于51单片机的时钟课件.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
演示文稿演讲PPT学习教学课件医学文件教学培训课件

sbit jiaoshi=P3^2; //定义P3.2所接按键为校时键,名字为jiaoshi sbit jiaofen=P3^3; //定义P3.3所接按键为校分键,名字为jiaofen sbit jiaomiao=P3^4; //定义P3.4所接按键为校秒键,名字为jiaomiao /*延时函数*/ void delay(uchar a ) {   uint i,j; //时间约为a×1 ms   for(j=0;ja;j++)      for(i=0; i130; i++); } /*显示函数*/ void xianshi() {   P2=0;P0=duan[shi/10];delay(1); //最左侧数码管显示时十位   P2=1;P0=duan[shi%10];delay(1); //从左数第2个数码管显示时个位   P2=2;P0=duan[11];delay(1); //从左数第3个数码管显示分隔符“-”   P2=3;P0=duan[fen/10];delay(1); //从左数第4个数码管显示分十位   P2=4;P0=duan[fen%10];delay(1); //从左数第5个数码管显示分个位   P2=5;P0=duan[11];delay(1); //从左数第6个数码管显示分隔符“-”   P2=6;P0=duan[miao/10];delay(1); //从左数第7个数码管显示秒十位   P2=7;P0=duan[miao%10];delay(1); //从左数第8个数码管显示秒个位 } /*校时函数*/ void jiao() {   if (jiaoshi==0) //查询是否校时   {     delay(10); //延时10 ms,消除前沿抖动     if(jiaoshi==0) //再次查询校时键     {       EA=0; //校时时,禁止计时       shi++; //时加1 if(shi23) //时的范围为0~23 shi=0; while(!jiaoshi); //等待校时键释放 delay(10); //延时10 ms,消除后沿抖动 EA=1; //时校完后,再开始计时       } } if(jiaofen==0) //查询是否校分 {       delay(10); //延时10 ms,消除前沿抖动       if(jiaofen==0) //再次查询校分键      {        EA=0; //校分时,禁止计时        fen++; //分加1 if(fen59) //分的范围为0~59 fen=0; while(!jiaofen); //等待校分键释放 delay(10); //延时10 ms,消除后沿抖动 EA=1; //分校完后,再开始计时   } } if(jiaomiao==0) //查询是否校秒 {       delay(10); //延时10 ms,消除前沿抖动       if(jiaomiao==0) //再次查询校秒键       {         EA=0; //校秒时,禁止计时         miao++; //秒加1   if(miao59) //秒的范围为0~59    miao=0;   while(!jiaomiao); //等待校秒键释放   delay(10); //延时10 ms,消除后沿抖动   EA=1; //秒校完后,再开始计时    } } }     /*主函数*/     main()      {   while(1)       {     xianshi(); //调用显示函数显示变量shi、fen、miao   jiao(); //调用校时函数,进行校时       }     }   设置校时、校分、校秒三个按键时,按键每按下一次,通过加1运算修改相关变量。如果现在显示的分钟是10,要将其改为9时,校分键按下的次数最多,操作时很不方便。如果将P3.2定义为选择键、P3.3定义为加1键、P3.4定义为减1键,则在校正时间时就可以有效地减少按键的次数。选择键用于选择加1键、减1键修改的对象,由用户来定义。例如,第1次按下选择键时,校时;第2次按下时,校分;第3次按下时,校秒;定义变量xuanze统计选择键按下的次数。当按下加1键与减1键时,根据变量xuanze确定对shi、fen、miao之一进行加1或减1。   源程序(选择、加1、减1)     #include reg51.

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档