欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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


單片機源程序如下:
  1. /*************************************************************
  2. 標題:              定時器中斷 精確到00.01的秒表
  3. 效果:              能清零重新開始,暫停,繼續(xù)計時,能精確到0.01秒
  4. 作者:  皖績小挺
  5. 說明:              使用12M晶振,四位數(shù)碼管,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};              //帶小數(shù)點

  22. void keyscan();
  23. void display(uint shi,uint ge);
  24. void delay(uint z);
  25. void init();
  26. /**************************************************************
  27.                             主函數(shù)
  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)              //繼續(xù)計時
  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位數(shù)碼管秒表.docx (97.25 KB, 下載次數(shù): 47)


評分

參與人數(shù) 1黑幣 +5 收起 理由
18845988464 + 5

查看全部評分

回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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