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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2436|回復: 0
打印 上一主題 下一主題
收起左側

51單片機可調數碼管顯示電子鐘沒用DS1302

[復制鏈接]
跳轉到指定樓層
樓主
ID:119067 發表于 2016-5-7 15:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//P0口段選,P2口位選,P1.2LED指示燈,P1.3蜂鳴器
按鍵不足
誤差:24小時差20s

  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar  unsigned char
  4. #define uint unsigned int
  5. sbit KEY1=P3^0;
  6. sbit KEY2=P3^1;
  7. sbit KEY3=P3^2;
  8. sbit KEY4=P3^3;
  9. sbit LED=P1^2;
  10. sbit BEEP=P1^3;
  11. uchar code  tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  12. uchar   StrTab[8];
  13. uchar  minute=30,hour=14,second;
  14. //yanshi
  15.   void delay(unsigned int cnt)
  16.   {         while(--cnt);
  17.   }

  18.   //chaizi
  19.   void Displaypro(void)
  20.   {
  21.   StrTab[0]=tab[hour/10];
  22.   StrTab[1]=tab[hour%10];
  23.   StrTab[2]=0XBF;
  24.   StrTab[3]=tab[minute/10];
  25.   StrTab[4]=tab[minute%10];
  26.   StrTab[6]=0XBF;
  27.   StrTab[5]=tab[second/10];
  28.   StrTab[7]=tab[second%10];
  29.   }
  30.   //zhuhanshu
  31.   void main()
  32.   {

  33.   TMOD|=0x01;
  34.   TH0=0xd8;
  35.   TL0=0xf0;
  36.   ET0=1;
  37.   TR0=1;
  38.   TMOD|=0x10;
  39.   TH1=0xf8;
  40.   TL1=0xf0;
  41.   ET1=1;
  42.   TR1=1;
  43.   EA=1;
  44.   
  45.   Displaypro();
  46. //按鍵部分可以這樣寫
  47. /*while(1)
  48. {          
  49.         static uchar P3=0xff;                  
  50.         if(P3&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))
  51.         {
  52.                 delay(1000);
  53.                 //xiaodou
  54.             P3=0x00;
  55.                 if(KEY1==0)
  56.                 {delay(1000);hour++;
  57.                 if(hour==24)hour=0;Displaypro(); }
  58.                  else if(KEY4==0){ delay(1000);second--;
  59.                 if(second==0)second=59;Displaypro(); }
  60.                   else if(KEY2==0){delay(1000);minute++ ;
  61.                 if(minute==59)minute=0;Displaypro(); }
  62.             else if(KEY3==0){ delay(1000);minute--;
  63.                 if(minute==0)minute=59;Displaypro(); }
  64.         }
  65.         else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1)P3=0xff;              
  66.         }*/

  67.   while(1)
  68. {

  69. if(minute==14)
  70.        {if(hour==2)
  71.                {P1=0x00; }         
  72.                    }
  73.   if(!KEY1)
  74.    {
  75.             delay(10000);
  76.          if(!KEY1)
  77.          { delay(20000);delay(20000);
  78.           hour++;
  79.           if(hour==24)hour=0;
  80.           delay(20000);delay(20000);
  81.           Displaypro();
  82.          
  83.          }
  84.    }
  85.    if(!KEY2)
  86.     {
  87.             delay(20000);
  88.          if(!KEY2)
  89.          { delay(20000);delay(20000);
  90.           hour--;
  91.           if(hour==0)hour=23;
  92.           delay(20000);delay(20000);
  93.           Displaypro();
  94.          
  95.          }
  96.          }
  97.         if(!KEY3)
  98.     {
  99.             delay(20000);
  100.          if(!KEY3)
  101.          {delay(20000);delay(20000);
  102.           minute++;
  103.           if(minute==59)minute=0;
  104.           delay(20000);delay(20000);
  105.           Displaypro();
  106.          
  107.          }
  108.          }
  109.         if(!KEY4)
  110.     {
  111.             delay(20000);
  112.          if(!KEY4)
  113.          {delay(20000);delay(20000);
  114.           minute--;
  115.           if(minute==0)minute=59;
  116.           delay(20000);delay(20000);
  117.           Displaypro();
  118.          
  119.          }
  120.          }
  121.         }
  122.        
  123.         }
  124.        
  125. //T1
  126. void time1_isr(void) interrupt 3 using 0
  127. {
  128. static unsigned char num;
  129. TH1=0xF8;
  130. TL1=0xf0;
  131. P2=0XFF;
  132. {switch (num)
  133. {
  134.   case 0:P2=0XFE;P0=~StrTab[num];break;
  135.   case 1:P2=0XFD;P0=~StrTab[num];break;
  136.   case 2:P2=0XFB;P0=~StrTab[num];break;
  137.   case 3:P2=0XF7;P0=~StrTab[num];break;
  138.   case 4:P2=0XEF;P0=~StrTab[num];break;
  139.   case 5:P2=0XBf;P0=~StrTab[num];break;
  140.   case 6:P2=0XDf;P0=~StrTab[num];break;
  141.   case 7:P2=0X7F;P0=~StrTab[num];break;
  142.   default:break;
  143. }

  144.   }
  145.   num++;
  146. if(num==8)
  147. num=0;
  148. }       
  149.        
  150.         //T0
  151.         void tim(void) interrupt 1 using 1
  152.         {
  153.          static unsigned char count;
  154.          TH0=0xd8;
  155.          TL0=0xf0;
  156.      count++;
  157.          switch (count)
  158.          {
  159.         case 0:
  160.         case 20:
  161.         case 40:
  162.         case 60:
  163.         case 80:Displaypro(); break;
  164.         case 50:LED=!LED; break;
  165.         default:break;            
  166.          }
  167.        
  168.         if (count==92)//將100改為92可以縮小至最小誤差
  169.         {
  170.          count=0;
  171.          second++;
  172.          if(second==60)
  173.          {
  174.           second=0;
  175.           minute++;
  176.          if(minute==60)
  177.         {
  178.          minute=0;
  179.          hour++;
  180.          if(hour==24)          
  181. {
  182.      hour=0;

  183.          }
  184.          }
  185.          }
  186.         }
  187.         }

復制代碼


可調數碼管顯示電子鐘沒用DS1302.docx

13.08 KB, 下載次數: 7, 下載積分: 黑幣 -5

沒用DS1302

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区福利视频 | 国产精品久久国产精品 | 国产精品污www一区二区三区 | 国产激情一区二区三区 | 午夜男人天堂 | 欧美成人aaa级毛片在线视频 | 久久久久精 | 国产一级片一区二区 | 天天躁人人躁人人躁狂躁 | 欧美在线视频网站 | 视频一区二区三区中文字幕 | 三区四区在线观看 | 国产精品一区二区在线观看 | 激情视频中文字幕 | 日韩中文在线观看 | 亚洲国产精品一区二区久久 | 国产成人在线视频免费观看 | www日日日| 国产91丝袜在线播放 | 亚洲国产高清高潮精品美女 | 视频在线观看亚洲 | 久久免费精品视频 | 蜜臀久久99精品久久久久久宅男 | 午夜视频网站 | 亚洲 欧美 另类 综合 偷拍 | 亚洲高清在线免费观看 | 在线播放国产一区二区三区 | 天堂网色 | 91久久久久久久久 | 一级做a| 国产精品明星裸体写真集 | 国产精品日韩欧美一区二区三区 | 久久久久国产成人精品亚洲午夜 | 国产欧美在线 | 91精品国产综合久久精品图片 | 99热播精品| 视频在线一区二区 | 99精品免费久久久久久久久日本 | 中文字幕不卡一区 | 一级片av | 中文字幕一区二区三区四区五区 |