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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

我做的單片機電子時鐘 含原理圖 源碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:121043 發表于 2016-5-16 13:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是我花了好久時間做的一個電子時鐘,沒有按照老師的要求去做,而是按照我自己的思路做的。完全是自己的原創,沒有抄襲,里面有很多不足的地方,希望大神能修改了與我分享。

飛機里面包含硬件系統和軟件系統,使用的是51單片機。

仿真電路圖:


所有資料下載: 時鐘計時.rar (57.11 KB, 下載次數: 280)



電子時鐘程序源碼:
  1. /*************  頭文件與宏定義  ************/
  2. #include <reg52.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. /*************  數組與位碼  ************/
  6. uchar code DSY_CODE[]=
  7. {
  8.         0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,
  9. };//第11個為-

  10. uchar code Scan_BITs[]=
  11. {
  12.           0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80
  13. };
  14. uchar data Buffer_Counts[8];
  15. uchar KeyNO=16;
  16. uchar Key_N;

  17. uint Count_H=23; //小時
  18. //uint Count_A;          //顯示-
  19. uint Count_M=59; //分鐘
  20. //uint Count_B;         //顯示-
  21. uint Count_S=00; //秒
  22. uint TCNT;

  23. /*************  延時程序  ************/
  24. void DelayMS(uint x)
  25. {
  26.         uchar t;
  27.         while(x--)
  28.         {
  29.                  for(t=0;t<120;t++);
  30.         }
  31. }

  32. /*************  鍵處理  ************/
  33. void Keys_Scan()
  34. {
  35.         uchar Tmp;
  36.         P1 = 0xff;
  37.         DelayMS(1);
  38.         Tmp = P1 ^ 0xff;
  39.         while(P1!=0xff) {}
  40.         switch(Tmp)
  41.         {
  42.                  case 1:KeyNO=0;break;
  43.                 case 2:KeyNO=1;break;
  44.                 case 4:KeyNO=2;break;
  45.         case 8:KeyNO=3;break;
  46.                 case 16:KeyNO=4;break;
  47.         }
  48. }

  49. /*************  段碼顯示  ************/
  50. void Show_Counts()
  51. {
  52.         uint i;
  53.         Buffer_Counts[0] = Count_H / 10;
  54.         Buffer_Counts[1] = Count_H % 10;//小時
  55.        
  56.         Buffer_Counts[2] =10;

  57.         Buffer_Counts[3] = Count_M / 10;
  58.         Buffer_Counts[4] = Count_M % 10;//分鐘       
  59.        
  60.         Buffer_Counts[5] =10;

  61.         Buffer_Counts[6] = Count_S / 10;
  62.         Buffer_Counts[7] = Count_S % 10;//秒       
  63.                 for(i=0;i<8;i++)
  64.         {
  65.                  P2 = ~Scan_BITs[i];
  66.                 P0 = ~DSY_CODE[Buffer_Counts[i]];
  67.                 DelayMS(1);
  68.         }
  69. }

  70. /*************  時間到進位  ************/
  71. void TIME_INT0() interrupt 1
  72. {        TH0=(65536-5000)/256;
  73.         TL0=(65536-5000)%256;
  74.         TCNT ++;
  75.         if(TCNT==20)
  76.         {
  77.     Count_S++;
  78.         TCNT=0;
  79.           if(Count_S==60)
  80.           {
  81.           Count_M++;
  82.           Count_S=0;
  83.             if(Count_M==60)
  84.             {
  85.                 Count_H++;
  86.             Count_M=0;
  87.               if(Count_H==24)
  88.               {
  89.               Count_H=0;
  90.           Count_M=0;
  91.               Count_S=0;
  92.               TCNT=0;
  93.               }
  94.             }
  95.       }  
  96.   }
  97. }

  98. /*************  主函數  ************/
  99. void main()
  100. {
  101.     TMOD = 0x01;
  102.         TH0  = (65536-5000)/256;
  103.         TL0  = (65536-5000)%256;
  104.         EA=1;
  105.         ET0=1;
  106.         TR0 = 0;
  107.         while(1)
  108.         { if(P1 != 0xff)
  109.             {Keys_Scan();}
  110.                 switch(KeyNO)
  111.                 {
  112.                  case 0:        
  113.                              if(Key_N>2)
  114.                                                  Key_N=0;
  115.                                          else if(Key_N==0)
  116.                                                   TR0=~TR0;
  117.                                          else
  118.                                                  Key_N++;
  119.                                 break;
  120.                  case 1:
  121.                              if(~TR0)Count_H++;
  122.                                           
  123.                                           {
  124.                                            if(Count_H==24)
  125.                                            Count_H=0;
  126.                                            Count_M=0;
  127.                                            Count_S=0;
  128.                                            }break;
  129.                  case 2:
  130.                              if(~TR0)Count_M++;
  131.                                            {
  132.                                            if(Count_M==60)
  133.                                            Count_M=0;
  134.                                            Count_S=0;
  135.                                            }
  136.                                           break;
  137.                  case 3:
  138.                              if(~TR0)Count_S++;
  139.                                           {
  140.                                            if(Count_S==60)Count_S=0;
  141.                                            }break;
  142.                  case 4:          if(Key_N==0)
  143.                              Count_H=0;
  144.                                          Count_M=0;
  145.                                          Count_S=0;
  146.                                           break;
  147.                  }
  148.                 KeyNO=5;
  149.             Show_Counts();
  150.             }
  151. }













  152. /*void main()
  153. {
  154. while(1)
  155. {
  156.     TMOD=0x01;
  157.         TH0=(65536-5000)/256;
  158.         TL0=(65536-5000)%256;
  159.         EA=1;
  160.         ET0=1;
  161.         TR0=1;
  162.         Show_Counts();
  163. switch(P1)
  164. {
  165. case 1: Count_H++;
  166. case 2: Count_M++;       
  167. case 4: Count_S++;
  168. }
  169. }

  170. } */
復制代碼


評分

參與人數 10黑幣 +94 收起 理由
dfdfuhuh + 3 絕世好帖!
dianzhongmiao + 5
程慕雨 + 2 很給力!
azx321045 + 5 很給力!
可樂333 + 4 贊一個!
逸興 + 10
zhf1229 + 5 贊一個!
小末末 + 5 共享資料的黑幣獎勵!
cqhejian + 5 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:170778 發表于 2017-3-14 22:50 | 只看該作者
厲害的,頂一個
回復

使用道具 舉報

板凳
ID:96881 發表于 2017-3-15 10:24 | 只看該作者
謝謝您分享,這個思路不一樣,學習借鑒一下
回復

使用道具 舉報

地板
ID:186622 發表于 2017-4-6 14:49 | 只看該作者
厲害,學習了
回復

使用道具 舉報

5#
ID:190884 發表于 2017-4-18 16:45 | 只看該作者
厲害了
回復

使用道具 舉報

6#
ID:196847 發表于 2017-5-14 18:34 | 只看該作者
666666,厲害了。
回復

使用道具 舉報

7#
ID:214821 發表于 2017-6-26 16:27 | 只看該作者
紅紅火火好好
回復

使用道具 舉報

8#
ID:217081 發表于 2017-7-4 16:17 | 只看該作者
厲害。。。。。
回復

使用道具 舉報

9#
ID:207702 發表于 2017-7-4 18:18 來自觸屏版 | 只看該作者
這種數碼管是什么原來怎么控制段選位選
回復

使用道具 舉報

10#
ID:258649 發表于 2017-12-7 15:16 | 只看該作者
學習了
回復

使用道具 舉報

11#
ID:258032 發表于 2017-12-7 23:18 | 只看該作者
先記錄下來,對學單片機真的很有幫助
回復

使用道具 舉報

12#
ID:262101 發表于 2017-12-15 16:32 | 只看該作者
先記錄下來,對學單片機真的很有幫助
回復

使用道具 舉報

13#
ID:262101 發表于 2017-12-17 13:29 | 只看該作者
為什么時鐘的秒表部分跑得這么快,是不是程序出了問題??
回復

使用道具 舉報

14#
ID:269632 發表于 2018-1-16 11:25 | 只看該作者
好厲害
回復

使用道具 舉報

15#
ID:280438 發表于 2018-1-28 17:01 | 只看該作者
qwertyuiop1230 發表于 2017-12-17 13:29
為什么時鐘的秒表部分跑得這么快,是不是程序出了問題??

感覺應該是晶振的頻率不一樣吧
回復

使用道具 舉報

16#
ID:280438 發表于 2018-1-30 15:22 | 只看該作者
不知道樓主仿真時候 是否發現秒走的很快..........我不知道定時器中的值設置是否正確?
回復

使用道具 舉報

17#
ID:281244 發表于 2018-1-31 18:03 | 只看該作者
很有創意的實驗。
回復

使用道具 舉報

18#
ID:298337 發表于 2018-3-28 15:11 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

19#
ID:304260 發表于 2018-4-9 10:39 | 只看該作者
樓主很厲害
回復

使用道具 舉報

20#
ID:328839 發表于 2018-5-13 16:56 | 只看該作者
真的很不錯呀
回復

使用道具 舉報

21#
ID:317900 發表于 2018-5-15 08:31 | 只看該作者
謝謝分享
回復

使用道具 舉報

22#
ID:331153 發表于 2018-5-16 11:36 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

23#
ID:331153 發表于 2018-5-16 16:48 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

24#
ID:283987 發表于 2018-5-16 19:03 | 只看該作者
謝謝樓主分享   學習了
回復

使用道具 舉報

25#
ID:329821 發表于 2018-5-19 14:53 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

26#
ID:340304 發表于 2018-5-29 09:41 | 只看該作者
謝謝分享
回復

使用道具 舉報

27#
ID:351232 發表于 2018-6-13 17:09 | 只看該作者
思路就是不一樣
回復

使用道具 舉報

28#
ID:351232 發表于 2018-6-13 17:10 | 只看該作者
思路就是不一樣很有幫助
回復

使用道具 舉報

29#
ID:351232 發表于 2018-6-13 17:20 | 只看該作者
思路清晰 對初學很有幫助
回復

使用道具 舉報

30#
ID:350863 發表于 2018-6-14 09:58 來自觸屏版 | 只看該作者
剛好學到這里能用到!
回復

使用道具 舉報

31#
ID:352736 發表于 2018-6-15 23:27 | 只看該作者
很給力
回復

使用道具 舉報

32#
ID:348510 發表于 2018-6-16 21:56 | 只看該作者
下載看看
回復

使用道具 舉報

33#
ID:348510 發表于 2018-6-17 08:24 | 只看該作者
為什么下載了沒用啊 只顯示前面3個燈
回復

使用道具 舉報

34#
ID:353236 發表于 2018-6-17 14:04 | 只看該作者
厲害呀
回復

使用道具 舉報

35#
ID:354277 發表于 2018-6-19 14:08 | 只看該作者
怎么加鬧鐘
回復

使用道具 舉報

36#
ID:354521 發表于 2018-6-19 18:17 | 只看該作者
你這個很棒啊,自己編寫的程序
回復

使用道具 舉報

37#
ID:352182 發表于 2018-6-19 23:05 | 只看該作者
謝謝分享,已下載做為研究
回復

使用道具 舉報

38#
ID:409518 發表于 2018-10-14 17:42 | 只看該作者
為什么我的時鐘不動啊
回復

使用道具 舉報

39#
ID:378372 發表于 2018-10-14 20:19 | 只看該作者
很   贊
回復

使用道具 舉報

40#
ID:73182 發表于 2018-10-15 16:52 | 只看該作者
仿真可以,不知樓主實物做出了沒?正在著手做一個,請教下液晶不加供電不知道IO腳的電流是否夠?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表