找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8016|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的數(shù)碼管顯示時(shí)鐘程序+仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
基于51單片機(jī)的時(shí)鐘程序和仿真圖


單片機(jī)源程序如下:
  1. #include"reg51.h"

  2. #define  uint  unsigned int
  3. sbit    key=P1^0;

  4. unsigned int addNum;
  5. unsigned char Nums,Numm,Numh;  
  6. #define SEGNUM P0
  7. #define WEI P2            
  8. unsigned char code table[]={0x3f ,0x06 ,0x5b ,0x4f ,0x66 ,0x6d ,
  9.                             0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c ,
  10.                                                         0x39 ,0x5e ,0x79 ,0x71 ,0x00};
  11. void delay(unsigned int num)
  12.   {
  13.     unsigned i,j;
  14.         for(i=num;i>0;i--)
  15.             for(j=120;j>0;j--);
  16.   }

  17. void main()
  18. {
  19.     TMOD=0X02;
  20.         TL0=TH0=6;
  21.         ET0=1;        //中斷允許位
  22.         EA=1;
  23.         TR0=1;        //TR0置1,開啟計(jì)時(shí)
  24.         IT0=1;  //中斷0的中斷方式
  25.         EX0=1;        //開通允許位
  26.         IT1=1;        //中斷方式
  27.         EX1=1;
  28.         TR0=1;          //啟動(dòng)
  29.         while(1)
  30.     {
  31.                           
  32.                 if(!key)
  33.         {  
  34.               delay(10) ;
  35.               if(!key)
  36.               {
  37.             Numh++;  
  38.                         while(!key) ;
  39.               }
  40.             }

  41.         WEI=0Xef;
  42.                 SEGNUM=table[Nums/10];  //對(duì)10取整
  43.                 delay(5);
  44.              WEI=0Xdf;
  45.                 SEGNUM=table[Nums%10];
  46.                 delay(5);

  47.        WEI=0xfb;
  48.            SEGNUM=table[Numm/10];               
  49.        delay(5);
  50.        WEI=0xf7;
  51.        SEGNUM=table[Numm%10];
  52.            delay(5);
  53.            if(Numm==60)
  54.            {
  55.                    Numm=0;
  56.            }

  57.        WEI=0xfe;
  58.            SEGNUM=table[Numh/10];               
  59.        delay(5);
  60.        WEI=0xfd;
  61.        SEGNUM=table[Numh%10];
  62.            delay(5);
  63.                
  64.          }
  65. }
  66. void timer0() interrupt 1
  67. {
  68.     addNum++;
  69.         if(addNum==4000)
  70.         {
  71.         Nums++;
  72.         addNum=0;   
  73.         }
  74.         if(Nums==60)
  75.         {
  76.         Numm++;
  77.         Nums=0;   
  78.         }
  79.         
  80.         if(Numm==60)
  81.         {
  82.         Numh++;
  83.         Numm=0;
  84.          }
  85.                   
  86.                    if(Numh==24)
  87.             {
  88.             Numh=0;   
  89.             }
  90. }
  91. void ex0()  interrupt  0        //外部中斷0

  92. {
  93.     Nums++;                                //表示外部中斷來時(shí)的動(dòng)作   (外部中斷1)
  94. }         
  95. void ex1()  interrupt  2        
  96. {
  97.     Numm++;                                
  98. }
復(fù)制代碼

所有資料51hei提供下載:
sz.zip (59.79 KB, 下載次數(shù): 59)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:599466 發(fā)表于 2019-8-12 18:18 | 只看該作者
有錯(cuò)誤啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:632960 發(fā)表于 2019-12-4 09:35 | 只看該作者
想要下載資料啊
回復(fù)

使用道具 舉報(bào)

地板
ID:659786 發(fā)表于 2019-12-9 16:54 來自手機(jī) | 只看該作者
有輸液系統(tǒng)監(jiān)控的嘛?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表