久久久久久久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)文章

主站蜘蛛池模板: 久久久久久免费毛片精品 | 日韩久久网| 国产成人av电影 | 亚洲综合国产精品 | 伊人网综合在线观看 | 中文字幕亚洲一区二区三区 | 99久久精品国产毛片 | 国产成人精品福利 | 久草网在线视频 | 久久亚洲国产精品日日av夜夜 | 午夜在线精品偷拍 | 日韩成人免费视频 | 国产一区二区三区四区五区加勒比 | 中文字幕精品视频 | a在线观看 | 国产精品一区二区三区免费观看 | 久久99网 | 亚洲性视频网站 | 人人做人人澡人人爽欧美 | 天天操天天射天天舔 | 欧美精品国产一区二区 | 精品动漫一区 | 欧美精品久久 | 国产一区二区三区日韩 | 日韩欧美国产一区二区三区 | 99热精品6| 欧美一级网站 | 亚洲成人在线免费 | 国产精品日日夜夜 | 免费午夜视频 | 一区视频在线播放 | 亚洲最色视频 | 黄色欧美视频 | 91在线电影| 欧美一区二区三区日韩 | 国产日韩精品视频 | 久久久tv | 一本一道久久a久久精品综合蜜臀 | 久久久亚洲一区 | 天天看逼 | 久草视频在线看 |