亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 51單片機(jī)電子時(shí)鐘+萬(wàn)歷表+鬧鐘(代碼+原理圖+PCB文件) [打印本頁(yè)]

作者: 劃水    時(shí)間: 2019-6-26 11:13
標(biāo)題: 51單片機(jī)電子時(shí)鐘+萬(wàn)歷表+鬧鐘(代碼+原理圖+PCB文件)
                        電 子 時(shí) 鐘 萬(wàn) 年 歷 + 鬧 鐘 設(shè) 置
實(shí) 現(xiàn) 功 能 :1 . 一 上 電 顯 示 00-00-00 ,且 ‘-’ 一 秒 閃 爍 一 次
                    2 . 按 鍵 功 能 :
                      k1:設(shè) 置 位
                      k2:加 位
                      k3:減 位
                      k4:萬(wàn) 年 歷 、鬧 鐘 、時(shí) 鐘 切 換 位      
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)

單片機(jī)源程序如下:
  1. /********************************************************
  2.                         電 子 時(shí) 鐘 萬(wàn) 年 歷 + 鬧 鐘 設(shè) 置
  3. 實(shí) 現(xiàn) 功 能 :1 . 一 上 電 顯 示 00-00-00 ,且 ‘-’ 一 秒 閃 爍 一 次
  4.                       2 . 按 鍵 功 能 :
  5.                             k1:設(shè) 置 位
  6.                             k2:加 位
  7.                       k3:減 位
  8.                       k4:萬(wàn) 年 歷 、鬧 鐘 、時(shí) 鐘 切 換 位                                   
  9. *********************************************************/
  10. #include <reg52.h>
  11. typedef         unsigned char u8;
  12. typedef  unsigned int  u16;

  13. u16 i,j,k;
  14. u8 anjian,jia,jian,beep;
  15. u8 sec,min,hour,shine;
  16. u8 N_sec,N_min,N_hour;                //鬧鐘
  17. u8 shine1;
  18. u16 year=2019,month=6,day=17;

  19. sbit buzzer=P3^7;
  20. sbit k2=P3^1;
  21. sbit k1=P3^0;
  22. sbit k3=P3^2;
  23. sbit k4=P3^3;

  24. u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //數(shù)碼管顯示0123456789- 空

  25. u8 code smgwei[]={0x00,0x04,0x08,0x0c,0x10,0x14,0x18,0x1c};         //選擇1-8位數(shù)碼管

  26. /********延時(shí)函數(shù)*************/
  27. void delay(i)
  28. {
  29.         while(i--);
  30. }

  31. /***********數(shù)碼管段位選********/
  32. void time(j,k)
  33. {        
  34.         P2=smgwei[j];          //數(shù)碼管位選
  35.         P0=smgduan[k];          //數(shù)碼管段選
  36.         delay(100);                  //間隔一段時(shí)間
  37. }

  38. /**********數(shù)碼管時(shí)間循環(huán)流動(dòng)**********/
  39. void time_Display()
  40. {
  41.    if(shine == 1)    //3、6位數(shù)碼管'-'閃爍
  42.         {
  43.                  time(2,11);
  44.                  time(5,11);           
  45.         }
  46.         else if(shine==0)
  47.         {
  48.                  time(2,10);
  49.                  time(5,10);
  50.         }

  51.    if(anjian==0)        //一上電,時(shí)鐘顯示00-00-00
  52.           {
  53.             time(0,sec%10);
  54.                 time(1,sec/10);
  55.                 time(3,min%10);
  56.                 time(4,min/10);
  57.                 time(6,hour%10);
  58.                 time(7,hour/10);
  59.         }

  60.         else if(anjian==1)        //切換設(shè)置模式,選擇位為秒位
  61.         {
  62.                 TR0=0;                        //關(guān)閉定時(shí)器0,在設(shè)置模式下時(shí)鐘不運(yùn)行
  63.                 TR1=1;                        //打開定時(shí)器1,開始計(jì)數(shù)
  64.         if(shine1<=50)        //在shine1為0-50區(qū)間內(nèi),即1秒滅
  65.         {
  66.                 time(0,11);
  67.                 time(1,11);
  68.         }
  69.         else if((shine1>50)&&(shine1<=100))         //在shine1為50-100區(qū)間內(nèi),即1秒亮
  70.         {
  71.                 time(0,sec%10);
  72.                 time(1,sec/10);
  73.         }
  74.                 time(3,min%10);        //其他不變
  75.             time(4,min/10);
  76.             time(6,hour%10);
  77.              time(7,hour/10);
  78.         }

  79.         else if(anjian==2)        //設(shè)置模式下,選擇位為分位
  80.         {
  81.                 TR0=0;                        //關(guān)閉定時(shí)器0,在設(shè)置模式下時(shí)鐘不運(yùn)行
  82.                 TR1=1;                        //打開定時(shí)器1,開始計(jì)數(shù)
  83.                 if(shine1<=50)        //在shine1為0-50區(qū)間內(nèi),即1秒滅
  84.                 {
  85.                         time(3,11);
  86.                         time(4,11);
  87.             }
  88.            else if((shine1>50)&&(shine1<=100)) //在shine1為50-100區(qū)間內(nèi),即1秒亮
  89.            {
  90.                  time(3,min%10);
  91.              time(4,min/10);
  92.            }
  93.             time(0,sec%10);        //其他不變           
  94.              time(1,sec/10);
  95.                 time(6,hour%10);
  96.              time(7,hour/10);
  97.         }
  98.         else if(anjian==3)        //設(shè)置模式下,選擇位為時(shí)位
  99.         {
  100.                 TR0=0;                        //關(guān)閉定時(shí)器0,在設(shè)置模式下時(shí)鐘不運(yùn)行
  101.                 TR1=1;                        //打開定時(shí)器1,開始計(jì)數(shù)
  102.                 if(shine1<=50)        //在shine1為0-50區(qū)間內(nèi),即1秒滅
  103.                 {
  104.                         time(6,11);
  105.                         time(7,11);
  106.                         }
  107.                 else if((shine1>50)&&(shine1<=100))        //在shine1為50-100區(qū)間內(nèi),即1秒亮
  108.                 {
  109.                         time(6,hour%10);
  110.                         time(7,hour/10);
  111.                 }
  112.                         time(0,sec%10);         //其他不變
  113.                         time(1,sec/10);
  114.                         time(3,min%10);
  115.                         time(4,min/10);
  116.                 }

  117.         //k2加一功能        
  118.         if(jia==1&&anjian==1)  //選擇秒位時(shí),按下k2加一
  119.         {        
  120.                 jia=0;
  121.                 sec++;
  122.                 if(sec>59)
  123.                 sec=0;
  124.                 TR0=0;                          //時(shí)鐘暫停
  125.         }

  126.         if(jia==1&&anjian==2)        //選擇分位時(shí),按下k2加一
  127.         {        
  128.                 jia=0;
  129.                 min++;
  130.                 if(min>59)
  131.                 min=0;
  132.                 TR0=0;                           //時(shí)鐘暫停
  133.         }

  134.         if(jia==1&&anjian==3)  //選擇時(shí)位時(shí),按下k2加一
  135.         {        
  136.                 jia=0;
  137.                 hour++;
  138.                 if(hour==24)
  139.                 hour=0;
  140.                 TR0=0;                           //時(shí)鐘暫停
  141.         }

  142.         //k3減一功能
  143.         if(jian==1&&anjian==1)        //選擇秒位時(shí),按下k3減一
  144.         {        
  145.                 jian=0;
  146.                 sec--;
  147.                 if(sec==-1)
  148.                 sec=59;
  149.                 TR0=0;                                //時(shí)鐘暫停
  150.         }
  151.         if(jian==1&&anjian==2)        //選擇分位時(shí),按下k3減一
  152.         {        
  153.                 jian=0;
  154.                 min--;
  155.                 if(min==-1)
  156.                 min=59;
  157.                 TR0=0;                            //時(shí)鐘暫停
  158.         }


  159.         if(jian==1&&anjian==3)        //選擇時(shí)位時(shí),按下k3減一
  160.         {        
  161.                 jian=0;
  162.                 hour--;
  163.                 if(hour==-1)
  164.                 hour=23;
  165.                 TR0=0;                            //時(shí)鐘暫停
  166.         }
  167. }
復(fù)制代碼
詳細(xì)代碼在附件中


全部資料51hei下載地址:
51單片機(jī)電子時(shí)鐘 萬(wàn)歷表 鬧鐘(代碼 原理圖 PCB).zip (2.04 MB, 下載次數(shù): 146)


作者: 電子愛好者1號(hào)    時(shí)間: 2019-7-10 10:48
里面文件少了,和帖子里面的有誤差
作者: 劃水    時(shí)間: 2019-7-10 12:09
電子愛好者1號(hào) 發(fā)表于 2019-7-10 10:48
里面文件少了,和帖子里面的有誤差

少了啥?

作者: cp5201314    時(shí)間: 2020-6-18 15:08
老哥,仿真圖不來(lái)一張?
作者: 454h    時(shí)間: 2024-6-4 12:14
請(qǐng)問燒錄口是在USB口嗎





歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1