基于74HC595的单片机控制的电子钟程序.docxVIP

  • 12
  • 0
  • 约1.01千字
  • 约 3页
  • 2021-11-14 发布于江苏
  • 举报

基于74HC595的单片机控制的电子钟程序.docx

百度文库 - 好好学习,天天向上 百度文库 - 好好学习,天天向上 - - PAGE 1 #include 7f发..送数据子程序 */ void write595(uchar void display(void) { 数da码t)管显示子程序… */ for(i=0;i8;i++)/ void timeadjust (void) { if((!KEY1)(!KEY2))//当 KEY1 和 KEY2 同时按下时执行此语句 { delay(10);//延时 if((!KEY1)(!KEY2)){while(!KEY2);hour++;}//确实有 按键按下,则时加 1,到 24 自动归 0 } if((!KEY1)(!KEY3))//当 KEY1 和 KEY3 同时按下时执行此语句 { delay(10); 延 / 时/ if((!KEY1)(!KEY3)){while(!KEY3);min++;}/确/实有按 键按下,则分加 1,到 60 自动归 0 } } /*………………主函数… */ void main(void) { TMOD=0x01;// 定时器 T0 ,工作方式 1 TH0=(65536-50000)/256;//T高0 八位装定时初值 TL0=(65536-50000)%256;// T0低八位装定时初值 EA=1;//开总中断ET0=1;//开 T0 中断TR0=1;//开定时器 T0 while(1)循//环 { display()调;/用/ timeadjust(); } } 显示子程序 /*……………中断函数… */ void timer0_intp() interr中up断t { 号1/ 为/1 TH0=(65536-50000)/256;/重/装高八位初值 TL0=(65536-50000)%256;/重/ 装低八位初值 j++;/中/ 断次数计数变量,每发生一次中断加 1 if(j==20){j=0;sec++;}中//断j 20 次为 1 秒,同时秒加 1 else if(sec==60){sec=0;min++秒;}到//60,归 0 同时分加 1 elseif(min==60){min=0;hour++;}分//到 60,归 0 同时时加 1 else if(hour==24) hour=时0;到//24,归 0 }

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档