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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

數(shù)碼管顯示的電子時(shí)鐘C51程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2011年01月23日   【字體:
/*************************************************************
功能:
    實(shí)現(xiàn)電子時(shí)鐘顯示(C)
定義:
    P3口位選,P1口段選,P0.0,P0.1,P0.2為調(diào)時(shí)口
時(shí)間:
    2010—11—26

說(shuō)明:
    仿真存在問(wèn)題,這可能是仿真軟件的問(wèn)題,需要將段位掃描反調(diào)
 實(shí)際運(yùn)行的結(jié)果是正確的
*************************************************************/

#include <AT89X51.H>

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};

unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};

unsigned char dispbitcnt;

unsigned char second;

unsigned char minite;

unsigned char hour;

unsigned int tcnt;

unsigned char mstcnt;

unsigned char i,j;

 

void main(void)

{

       TMOD=0x02;

       TH0=0x06;

       TL0=0x06;

       TR0=1;

       ET0=1;

       EA=1;

       while(1)

       {

              if(P0_0==0)

              {

                     for(i=5;i>0;i--)

                            for(j=248;j>0;j--);

                     if(P0_0==0)

                     {

                            second++;

                            if(second==60)

                            {

                                   second=0;

                            }

                            dispbuf[0]=second%10;

                            dispbuf[1]=second/10;

                            while(P0_0==0);

                     }

              }

              if(P0_1==0)

              {

                     for(i=5;i>0;i--)

                            for(j=248;j>0;j--);

                     if(P0_1==0)

                     {

                            minite++;

                            if(minite==60)

                            {

                                   minite=0;

                            }

                            dispbuf[3]=minite%10;

                            dispbuf[4]=minite/10;

                            while(P0_1==0);

                     }

              }

              if(P0_2==0)

              {

                     for(i=5;i>0;i--)

                            for(j=248;j>0;j--);

                     if(P0_2==0)

                     {

                            hour++;

                            if(hour==24)

                            {

                                   hour=0;

                            }

                            dispbuf[6]=hour%10;

                            dispbuf[7]=hour/10;

                            while(P0_2==0);

                     }

              }

       }

}

 

void t0(void) interrupt 1 using 0

{

       mstcnt++;

       if(mstcnt==8)

       {

              mstcnt=0;

              P1=dispcode[dispbuf[dispbitcnt]];

              P3=dispbitcode[dispbitcnt];

              dispbitcnt++;

              if(dispbitcnt==8)

              {

                     dispbitcnt=0;

              }

       }

       tcnt++;

       if(tcnt==4000)

       {

              tcnt=0;

              second++;

              if(second==60)

              {

                     second=0;

                     minite++;

                     if(minite==60)

                     {

                            minite=0;

                            hour++;

                            if(hour==24)

                            {

                                   hour=0;

                            }

                     }

              }

              dispbuf[0]=second%10;

              dispbuf[1]=second/10;

              dispbuf[3]=minite%10;

              dispbuf[4]=minite/10;

              dispbuf[6]=hour%10;

              dispbuf[7]=hour/10;

       }

}

 

 

 

 

/*************************************************************

 

功能:

 

    實(shí)現(xiàn)電子時(shí)鐘顯示(C)

 

定義:

 

    P2口位選,P0口段選 

 

時(shí)間:

 

    2010—11—26

 

*************************************************************/

 

#include<reg52.h>

 

code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};           

unsigned char StrTab[6];               

unsigned char minute=30,hour=12,second=0;  

 

void Displaypro(void)

{

    StrTab[0]=tab[second%10];  

    StrTab[1]=tab[second/10];

    StrTab[2]=tab[minute%10]; 

    StrTab[3]=tab[minute/10];

    StrTab[4]=tab[hour%10];  

    StrTab[5]=tab[hour/10]; 

}

 

main()

{

    TMOD |=0x01;

    TH0=0xd8;

    TL0=0xf0;

    ET0=1;

    TR0=1;

 

    TMOD |=0x10;

    TH1=0xF8;  

    TL1=0xf0;

    ET1=1;

    TR1=1;

 

    EA =1;

 

    while(1){;} 

}

 

void time1_isr(void) interrupt 3

{

    static unsigned char num;

    TH1=0xf8;

    TL1=0xf0;

 

    switch (num)

    {

        case 0:P2=0x01;P0=StrTab[num];break;

        case 1:P2=0x02;P0=StrTab[num];break;

        case 2:P2=0x04;P0=StrTab[num];break;

        case 3:P2=0x08;P0=StrTab[num];break;

        case 4:P2=0x10;P0=StrTab[num];break;

        case 5:P2=0x20;P0=StrTab[num];break;

        default:break;

    }

    num++;  

    if(num==6)

    num=0;

}

 

void tim(void) interrupt 1

{

    static unsigned char count;

    TH0=0xd8;             

    TL0=0xf0;

    count++;

    switch (count)

    {

        case 0:

        case 20:

        case 40:

        case 60:

        case 80:Displaypro();break;

        default:break;

    }

    if (count==100)

    {

        count=0;

        second++;

        if(second==60)

        {

            second=0;

            minute++;   

            if(minute==60)

            {

                minute=0;

                hour++;        

                if(hour==24)

                    hour=0;

            }    

        } 

    }

}

//源代碼下載 :http://www.zg4o1577.cn/f/szc511.rar

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产小视频精品 | 国产在线观看一区二区三区 | 亚洲精品久久久蜜桃网站 | 中文字幕视频网 | 亚洲人人 | 超碰免费在 | 欧美一区视频 | 91成人在线视频 | 97精品超碰一区二区三区 | 一区二区在线 | 国产偷久久一级精品60部 | 在线看日韩av| 尤物视频在线免费观看 | 中文字幕视频在线观看 | 国产在线观看福利 | 美国一级黄色片 | 欧美激情国产日韩精品一区18 | av在线免费观看网站 | 欧美精品网站 | 91精品国产综合久久婷婷香蕉 | 久久综合入口 | 日韩一区二区三区视频在线观看 | 九九视频在线观看视频6 | 精品国产乱码久久久久久丨区2区 | 亚洲看片网站 | 毛片免费视频 | 午夜精品久久久 | 亚洲视频中文字幕 | 中文天堂在线观看 | 久久国产欧美一区二区三区精品 | 国产在线一区二区三区 | 免费网站在线 | 亚洲视频在线观看 | 国产精品片aa在线观看 | 成年免费大片黄在线观看岛国 | 国产精品99视频 | 无码日韩精品一区二区免费 | 伦理午夜电影免费观看 | 亚洲精品一区二区三区蜜桃久 | 久久久精品视频一区二区三区 | 成人在线精品视频 |