久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9486|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)倒計(jì)時(shí)牌Proteus仿真圖+代碼 可倒計(jì)時(shí)24小時(shí)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:487926 發(fā)表于 2019-3-10 15:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
“彼岸之光”倒計(jì)時(shí)牌設(shè)計(jì)書(shū)

一.設(shè)計(jì)構(gòu)想
⒈設(shè)計(jì)一個(gè)倒計(jì)時(shí)牌。
⒉倒計(jì)時(shí)牌由九個(gè)數(shù)碼管分別顯示“天”、“時(shí)”、“分”、“秒”,其中“天”為三位,“時(shí)”、“分”、“秒”各兩位。
⒊倒計(jì)時(shí)牌設(shè)置兩個(gè)按鍵:select/start鍵和set鍵,用來(lái)設(shè)置計(jì)時(shí)時(shí)間(只能設(shè)置整天)。當(dāng)按select/start鍵時(shí),“天”的百位、十位、個(gè)位依次閃爍,閃爍位表明當(dāng)前位被選中,此時(shí)按set鍵進(jìn)行調(diào)整。三位調(diào)整完畢再按下select/start鍵,倒計(jì)時(shí)開(kāi)始。
二.實(shí)現(xiàn)方法
⒈定時(shí)器0工作在方式1(16位)下定時(shí)一秒,每秒觸發(fā)依次,使“秒”變量減一,相當(dāng)于秒針。
⒉兩個(gè)按鍵:select/start鍵和set鍵分別使用兩個(gè)外部中斷INT0和INT1(設(shè)置下降沿有效)。當(dāng)相應(yīng)的按鍵按下時(shí),觸發(fā)相應(yīng)的中斷子程序。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #include <stdio.h>
  3. void timer0_init();               //定時(shí)器0初始化
  4. void delay(int);                  //延時(shí)程序
  5. void trans_led(int,int,int,int);  //數(shù)碼管顯示傳送函數(shù)
  6. sbit P10=0x90;                    //管腳定義
  7. sbit P30=0xB0;
  8. sbit P20=0xA0;
  9. int day=0,hour=0,min=0,sec=0;     //定義時(shí)間變量
  10. unsigned int state=0;             //運(yùn)行狀態(tài)標(biāo)志
  11. unsigned int asec=0;              //記錄定時(shí)器0中斷次數(shù),當(dāng)asec=20時(shí)計(jì)時(shí)為1s
  12. unsigned int check_b=0,check_s=0,check_g=0;    //記錄set鍵的按下次數(shù)
  13. char table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};  //定義表格
  14. main(){
  15.   timer0_init();
  16.   EX0=1;
  17.   EX1=1;
  18.   IT0=1;
  19.   IT1=1;
  20.   EA=1;
  21.   TR0=1;
  22.   while(1){
  23.    switch(state){
  24.      case(1):trans_led(100,5,10,10); //"天"的百位閃爍
  25.              break;
  26.      case(2):trans_led(10,100,5,10); //"天"的十位閃爍
  27.              break;
  28.      case(3):trans_led(10,10,100,5); //"天"的個(gè)位閃爍
  29.              break;
  30.      default:trans_led(0,20,20,20);  //正常運(yùn)行
  31.              break;

  32.    }
  33.   }
  34. }
  35. void timer0_init(){
  36.   TMOD=0x21;
  37.   TH0=0x3C;
  38.   TL0=0xB0;
  39.   ET0=1;
  40.   TF0=0;
  41. }
  42. void Timer0_overflow() interrupt 1 using 0{
  43.   TH0=0x3C;
  44.   TL0=0xB0;
  45.   asec++;
  46.   if(asec==20){             //定時(shí)一秒           
  47.     asec=0;
  48.     if(sec==0){
  49.       sec+=60;
  50.       min--;
  51.     }
  52.     if(min<0){
  53.       min+=60;
  54.       hour--;
  55.     }
  56.     if(hour<0){
  57.       hour+=24;
  58.       day--;
  59.     }
  60.     if(day>=0){              //計(jì)時(shí)時(shí)間未完,秒減一
  61.       sec--;
  62.     }
  63.     else{
  64.       day=hour=min=sec=0;    //計(jì)時(shí)結(jié)束
  65.       TR0=0;
  66.     }
  67.   }
  68. }
  69. void Int0() interrupt 0 using 0{  //set鍵
  70.   if(state>4)
  71.     state=1;
  72.   else
  73.     state++;
  74.   if(state==4){
  75.     state=0;
  76.     TR0=1;
  77.   }
  78. }
  79. void Int1() interrupt 2 using 0{ //select/start鍵

  80. if(state>=1&&state<=3){
  81.   TR0=0;
  82.   hour=min=sec=0;
  83.   timer0_init();
  84.   }
  85.     switch(state){
  86.        case(1):day+=100;
  87.                check_b++;
  88.                break;
  89.        case(2):day+=10;
  90.                check_s++;
  91.                break;
  92.        case(3):day++;
  93.                check_g++;
  94.                break;
  95.        default:break;      
  96.      }

  97.   if(check_b>9)               //計(jì)時(shí)范圍限制
  98.     day-=1000;
  99.   if(check_s>9){      
  100.     day-=100;
  101.   }
  102.   if(check_g>9){
  103.     day-=10;
  104.   }

  105. }
  106. void delay(int time){
  107.   int i,j;
  108.   for(i=0;i<=time;i++){
  109.     for(j=0;j<=10;j++);
  110.   }
  111. }
  112. void trans_led(int a,int b,int c,int d){
  113.                            //顯示秒
  114.   P2=0xFE;
  115.   P1=table[sec%10];
  116.   delay(20);
  117.   P2=0xFF;

  118.   P2=0xFD;              
  119.   P1=table[sec/10];
  120.   delay(20);
  121.   P2=0xFF;

  122.                           //顯示分
  123.   P2=0xFB;
  124.   P1=table[min%10];
  125.   delay(20);
  126.   P2=0xFF;

  127.   P2=0xF7;              
  128.   P1=table[min/10];
  129.   delay(20);
  130.   P2=0xFF;


  131.                          //顯示時(shí)
  132.   P2=0xEF;
  133.   P1=table[hour%10];
  134.   delay(20);
  135.   P2=0xFF;

  136.   P2=0xDF;              
  137.   P1=table[hour/10];
  138.   delay(20);



  139.                         //顯示天
  140.   delay(a);         
  141.   P2=0xFF;            
  142.   P30=0;
  143.   check_b=day/100;         
  144.   P1=table[check_b];
  145.   delay(b);
  146.   P2=0xFF;


  147.   P30=1;
  148.   P2=0x7F;
  149.   check_s=(day/10)%10;
  150.   P1=table[check_s];
  151.   delay(c);
  152.   P2=0xFF;

  153.   P2=0xBF;
  154.   check_g=day%10;
  155.   P1=table[check_g];
  156.   delay(d);
  157.   P2=0xFF;



  158. }
復(fù)制代碼
全部資料51hei下載地址:

倒計(jì)時(shí)牌.zip (540.18 KB, 下載次數(shù): 137)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:97678 發(fā)表于 2020-4-26 21:12 | 只看該作者
值得學(xué)習(xí)的好東西!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:772518 發(fā)表于 2020-6-8 10:16 | 只看該作者
膜拜大神
回復(fù)

使用道具 舉報(bào)

地板
ID:243874 發(fā)表于 2020-10-19 11:33 | 只看該作者
大神,我只要時(shí)分秒的倒計(jì)時(shí),怎么改
回復(fù)

使用道具 舉報(bào)

5#
ID:196383 發(fā)表于 2023-9-1 14:47 | 只看該作者
值得學(xué)習(xí)的好東西!!!
回復(fù)

使用道具 舉報(bào)

6#
ID:1119063 發(fā)表于 2024-5-21 11:11 | 只看該作者
值得學(xué)習(xí)的好東西!
回復(fù)

使用道具 舉報(bào)

7#
ID:1134199 發(fā)表于 2024-10-21 08:33 | 只看該作者
值得學(xué)習(xí)的好東西
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人av观看| 欧美日韩一区二区三区四区五区 | 日韩免费高清视频 | 91久久久久久久久久久久久 | 久久国产精品一区二区三区 | 亚洲视频在线免费 | 99视频免费看| 久久免费国产 | 成人免费一级 | www.99精品 | 九色 在线 | 伦理片97 | 国内精品久久久久久久 | 亚洲欧美激情精品一区二区 | 色在线免费视频 | 91精品国产综合久久婷婷香蕉 | 2021天天躁夜夜看 | 日韩免费一区二区 | 狠狠热视频 | 国产精品永久免费 | 国内自拍偷拍视频 | 成人精品毛片 | 国产精品日日做人人爱 | 成人激情视频在线播放 | 91porn国产成人福利 | 久久综合久色欧美综合狠狠 | 日本小电影网站 | 精品欧美一区二区久久久伦 | 97在线观视频免费观看 | 天堂中文av | 日韩福利电影 | 特黄一级| 天天看天天爽 | 成人久久久久 | 国产一区在线免费观看 | 一区二区三区视频在线观看 | caoporn地址 | 中文字幕第九页 | 日韩精品一区二区三区在线 | 黄色福利 | 一区二区三区四区在线 |