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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8822|回復: 3
收起左側

51單片機定時器中斷計時器程序(精確到00.01的秒表)

[復制鏈接]
ID:277731 發表于 2018-1-19 14:23 | 顯示全部樓層 |閱讀模式
四位數碼管原理圖:


單片機源程序如下:
  1. /*************************************************************
  2. 標題:              定時器中斷 精確到00.01的秒表
  3. 效果:              能清零重新開始,暫停,繼續計時,能精確到0.01秒
  4. 作者:  皖績小挺
  5. 說明:              使用12M晶振,四位數碼管,3個按鍵
  6. ****************************************************************/
  7. #include<reg52.h>
  8. #define uint unsigned int
  9. #define uchar unsigned char

  10. uint temp,tt,qian,bai,shi,ge;

  11. sbit smg_q=P3^4;
  12. sbit smg_b=P3^5;
  13. sbit smg_s=P3^6;
  14. sbit smg_g=P3^7;
  15. sbit key1 = P3^2;            
  16. sbit key2 = P3^3;
  17. sbit key3 = P2^3;            


  18. uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
  19.                                 0x92,0x82,0xf8,0x80,0x90};
  20. uchar code table1[]={0x40,0x79,0x24,0x30,0x19,
  21.                                 0x12,0x02,0x78,0x00,0x10};              //帶小數點

  22. void keyscan();
  23. void display(uint shi,uint ge);
  24. void delay(uint z);
  25. void init();
  26. /**************************************************************
  27.                             主函數
  28. ******************************************************************/
  29. void main()
  30. {            
  31.               init();//初始化子程序
  32.               while(1)
  33.               {
  34.                            
  35.                             if(tt==1)
  36.                               {
  37.                                           tt=0;
  38.                                           temp++;
  39.                                           if(temp==10000)
  40.                                              {
  41.                                                                       temp=0;
  42.                                              }
  43.                                           qian=temp/1000;
  44.                                           bai=temp%1000/100;
  45.                                           shi=temp%100/10;
  46.                                           ge=temp%10;
  47.                               }
  48.                             keyscan();
  49.                             display(shi,ge);
  50.                            
  51.               }
  52. }
  53. /*********************************************************************
  54.                                                         延時
  55. ***********************************************************************/
  56. void delay(uint z)
  57. {
  58.               uint x,y;
  59.               for(x=z;x>0;x--)
  60.                             for(y=110;y>0;y--);
  61. }
  62. /*********************************************************************
  63.                                                         按鍵控制
  64. ***********************************************************************/
  65. void keyscan()
  66. {
  67.               if(key1==0)                //清零并重新開始計時
  68.               {
  69.                             temp=0;
  70.                             TR0=1;
  71.               }
  72.               if(key2==0)               //暫停計時
  73.               {
  74.                             TR0=0;
  75.               }
  76.               if(key3==0)              //繼續計時
  77.               {
  78.                             TR0=1;
  79.               }
  80. }
  81. /*********************************************************************
  82.                                                         顯示
  83. ***********************************************************************/
  84. void display(uint shi,uint ge)
  85. {
  86.         smg_q=0;
  87.                             P0=table[qian];
  88.                             delay(1);
  89.                             smg_q=1;
  90.                             P0=0xff;
  91.                            

  92.                             smg_b=0;
  93.                             P0=table1[bai];
  94.                             delay(1);
  95.                             smg_b=1;
  96.                             P0=0xff;
  97.                            
  98.                             smg_s=0;
  99.                             P0=table[shi];
  100.                             delay(1);
  101.                             smg_s=1;
  102.                             P0=0xff;

  103.                             smg_g=0;
  104.                             P0=table[ge];
  105.                             delay(1);
  106.                             smg_g=1;
  107.                             P0=0xff;
  108. }
  109. /*********************************************************************
  110.                                           初始化
  111. ***********************************************************************/
  112. void init()
  113. {            
  114.               smg_q=1;
  115.               smg_b=1;
  116.               smg_s=1;
  117.               smg_g=1;
  118.               temp=0;
  119.               TMOD=0x01;
  120.               TH0=(65536-10000)/256;
  121.               TL0=(65536-10000)%256;
  122.               EA=1;
  123.               ET0=1;
  124.               TR0=1;            
  125. }
  126. /*********************************************************************
  127.                                           中斷
  128. ***********************************************************************/
  129. void t0() interrupt 1
  130. {
  131.               TH0=(65536-10000)/256;
  132.               TL0=(65536-10000)%256;
  133.               tt++;            
  134. }
復制代碼

所有資料51hei提供下載:
基于51單片機的4位數碼管秒表.docx (97.25 KB, 下載次數: 47)


評分

參與人數 1黑幣 +5 收起 理由
18845988464 + 5

查看全部評分

回復

使用道具 舉報

ID:97811 發表于 2018-6-2 15:33 | 顯示全部樓層
謝謝分享!
回復

使用道具 舉報

ID:359349 發表于 2018-6-28 13:54 | 顯示全部樓層
我想問一下你的4個8550基級接哪里
回復

使用道具 舉報

ID:360972 發表于 2018-6-28 15:09 | 顯示全部樓層
不錯。謝謝分享
回復

使用道具 舉報

5#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国产精品一区二区夜夜嗨 | 欧美日韩理论 | 亚洲欧美综合精品久久成人 | 精品国产乱码久久久久久1区2区 | 久久香蕉精品视频 | 国产在线一区二区三区 | 成人高清在线视频 | 夜操| 成人在线不卡 | 99精品欧美 | 日韩精品一区二区三区视频播放 | 成年人免费看的视频 | 国产在线观看一区二区三区 | 久草青青草| 羞羞视频在线观看网站 | 国产在线精品一区 | 欧美一区二区三区在线视频 | 国产一区二区成人 | 五月天婷婷综合 | 国产一区电影 | 亚洲精品视频在线 | 成人av网站在线观看 | 男人的天堂avav | 欧美高清视频一区 | 三级黄色片在线 | 午夜寂寞影院列表 | 一级欧美视频 | 亚洲午夜精品一区二区三区 | 欧美一区视频 | 逼逼视频 | 免费在线视频精品 | www.日本精品| 青青久久久 | 欧美一区日韩一区 | 欧美精品在线观看 | 欧美一区二区三区在线免费观看 | 国产精品我不卡 | 免费的日批视频 | 久久久99精品免费观看 | 成年男女免费视频网站 | 成人不卡在线 |