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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5061|回復(fù): 3
收起左側(cè)

單片機(jī)4位數(shù)字時(shí)鐘仿真程序(定時(shí)器方式2, 按鍵連加)

[復(fù)制鏈接]
ID:619259 發(fā)表于 2020-9-20 17:41 | 顯示全部樓層 |閱讀模式
本帖最后由 cy009 于 2020-9-20 23:20 編輯

    學(xué)習(xí)單片機(jī)動(dòng)態(tài)數(shù)碼管顯示,數(shù)字時(shí)鐘是最好的案例,本仿真案例有以下特點(diǎn)。        
    1.使用定時(shí)器0,方式2,可以減小定時(shí)器的誤差;
    2.調(diào)時(shí)、調(diào)分按鍵具有連加功能,與常見(jiàn)的按鍵松手檢測(cè)有區(qū)別;
    3.具有秒點(diǎn)顯示功能,若制作實(shí)物案例,可購(gòu)買帶秒點(diǎn)的數(shù)碼管。
    本仿真案例推薦使用Proteus 8.6以上版本。
51hei圖片20200920173659.png

參考程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char

sbit w1=P2^2;
sbit w2=P2^3;
sbit w3=P2^4;
sbit w4=P2^5;
sbit s1=P1^3;
sbit s2=P1^4;
sbit s3=P1^5;

uint shi,fen,sec;
uint num,s1num,keynum;
uchar m;
void delay(uint);
void keyscan();
void time_adj();
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; //共陰代碼

void display()                //數(shù)碼管顯示
{
           w1=1;w2=1;w3=1;w4=1;
      P0=~tab[shi/10%10];
          if((s1num==2)|(shi/10%10==0)){w1=1;}
          else{w1=0;}
          delay(5);
          w1=1;
         
          if(num<2000)
           {P0=~(tab[shi%10]|0x80);        }  //秒點(diǎn)顯示
          else
           {P0=~tab[shi%10];}
           if(s1num==2){w2=1;}
          else{w2=0;}
          delay(5);
          w2=1;
         
          P0=~tab[fen/10%10];
          if(s1num==1){w3=1;}
          else{w3=0;}
          delay(5);
          w3=1;
           
          P0=~tab[fen%10];
          if(s1num==1){w4=1;}
          else{w4=0;}
          delay(5);
          w4=1;         
}

void keyscan()               //功能鍵函數(shù)
{
   if(s1==0)
           {
             delay(5);                 //消抖
                 if(s1==0)
                   {
                     while(!s1)display();
                         s1num++;
                         if(s1num==3)
                           {
                             s1num=0;
                           }
                   }
           }
}

void time_adj()        //加、減鍵時(shí)間調(diào)整函數(shù)
{
   if(s1num!=0)
     {
           if(s2==0)
             {
                   keynum++;
                   if(keynum>18)        //連加延時(shí)
                   {
                   switch(s1num)
                             {
                                   case 1:
                                          shi++;
                                              if(shi>23)
                                                    {shi=0;}
                                                  keynum=0;
                                                  break;
                                          
                                   case 2:
                                          fen++;
                                                  if(fen>59)
                                                    {fen=0;}
                                                  keynum=0;
                                                  break;
                                 }
                         }
                 }
           if(s3==0)
             {
                   keynum++;
                   if(keynum>18)
                   {
                   switch(s1num)
                             {
                                   case 1:
                                          shi--;
                                              if(shi<0)
                                                    {shi=23;}
                                                  keynum=0;
                                                  break;
                                          
                                   case 2:
                                          fen--;
                                                  if(fen<0)
                                                    {fen=59;}
                                                  keynum=0;
                                                  break;
                                 }
                          }
                   }
        }
}

void main()
{
    shi=12;fen=0;sec=0;num=0;
    TMOD=0x02;
    TH0=0x06;
         TL0=0x06;
    EA=1;
    ET0=1;
    TR0=1;

   while(1)
   {
    keyscan();
        time_adj();
        display();

                        if(sec>59)
                        {
                                sec=0;
                                fen++;
                                if(fen>59)
                                {
                                        fen=0;
                                        shi++;
                                        if(shi>23)
                                        {
                                           shi=0;
                                        }
                                }
                                
                        }
                }
   }


void delay(uint xms)
{
   uint i,j;
   for(i=xms;i>0;i--)
      for(j=110;j>0;j--);
}

void Timer0() interrupt 1    //定時(shí)器服務(wù)
{
        num++;
        if(num==4000){num=0;sec++;}
        
}

51hei.png

全部資料51hei下載地址:
4位數(shù)字時(shí)鐘(定時(shí)器方式2, 按鍵連加).rar (63.03 KB, 下載次數(shù): 71)


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:917199 發(fā)表于 2021-5-9 16:12 | 顯示全部樓層
上船圖片,研究了半天
捕獲1.PNG
回復(fù)

使用道具 舉報(bào)

ID:917199 發(fā)表于 2021-5-9 16:00 | 顯示全部樓層
009您好,    剛才在7.8版本上仿真出現(xiàn)個(gè)現(xiàn)象不知道怎么回事,      按設(shè)置再按減,過(guò)0后顯示35,不知是不是仿真版本版本不同引起的,您能否幫忙再測(cè)試一下,給個(gè)回復(fù).
回復(fù)

使用道具 舉報(bào)

ID:917854 發(fā)表于 2021-5-8 23:48 | 顯示全部樓層
如果共陰改共陽(yáng)應(yīng)該怎么改呢?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美91 | 日韩在线一区二区三区 | 99热精品国产 | 日韩精品在线看 | 久草视频在线播放 | 国产福利在线小视频 | 免费成人午夜 | 亚洲国产激情 | 亚洲国产成人精品女人久久久 | 日韩成人高清 | 紧缚调教一区二区三区视频 | 一区二区成人 | 久久久久久久久综合 | 一级毛毛片 | 久久久久亚洲精品 | 亚洲国产精品一区二区三区 | 男人天堂久久 | 精品久久久久久久久久久久久久久久久 | 久久亚洲欧美日韩精品专区 | 国产精品日产欧美久久久久 | 波多野结衣中文字幕一区二区三区 | www.午夜| 精品美女 | 精品久久九九 | 久久精品国产v日韩v亚洲 | 国产精品视频一区二区三区四区国 | 亚洲视频www | 国产a一区二区 | 国产传媒在线观看 | 人成在线| 成人av在线大片 | 国产一区二区电影网 | 精品一区二区av | 免费一级黄色录像 | 亚洲精品v日韩精品 | 成人精品网| 成人在线视频观看 | 午夜电影网 | 日韩一区二区精品 | 欧美日韩一区二区三区不卡视频 | 欧美一区二区三区在线免费观看 |