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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1670|回復: 0
打印 上一主題 下一主題
收起左側

電子時鐘

[復制鏈接]
跳轉到指定樓層
樓主
ID:291657 發表于 2018-3-14 10:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0X87,0xFF,0xDF};
uchar seconde=0;
uchar minite=0;
uchar hour=12;
uchar mstcnt=0;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
void delay(uint k);
void delay1(uchar h);
void time_pro();
void display();
void keyscan();
void delay1(uchar h)
{
        uchar j;
        while((h--)!=0)
        {
                for(j=0;j<125;j++)
                {
                        ;
}
}
}
void delay(uint k)
{
        uint a,b,c;
        for(c=k;c>0;c--);
        for(b=38;b>0;b--);
        for(a=130;a>0;a--);
}
void time_pro(void)
{
        if(seconde==60)
        {
                seconde=0;
                minite++;
                if(minite==60)
                {
                        minite=0;
                        hour++;
                        if(hour==24)
                        {
                                hour=0;
}
}
}
}
void display(void)
{
        P2=0xfe;
        P0=dispcode[hour/10];
        delay1(4);
        P2=0xfd;
        P0=(dispcode[(hour%10)]);
        delay1(4);
        P2=0xfb;
        P0=dispcode[minite/10];
        delay1(4);
        P2=0xf7;
        P0=dispcode[minite%10];
        delay1(4);
        P2=0xef;
        P0=dispcode[seconde/10];
        delay1(4);
        P2=0xdf;
        P0=dispcode[seconde%10];
        delay1(4);
}
void keyscan(void)
{
        if(P1_1==0)
        {
                delay(8000);
                if(P1_0==0)
                {
                        delay(8000);
                        seconde++;
                        if(seconde==60)
                        {
                                seconde=0;
}
}
}
        if(P1_1==0)
        {
                delay(8000);
                if(P1_1==0)
                {
                        delay(8000);
                        minite++;
                        if(minite==60)
                        {
                                minite=0;
}
}
}       
        if(P1_2==0)
        {
                delay(8000);
                if(P1_2==0)
                {
                        delay(8000);
                        hour++;
                        if(hour==24)
                        {
                                hour=0;
}
}
}       
}
void timer0(void) interrupt 1 using 0
{
        TH0=0x3c;
        TMOD=0x11;
        mstcnt++;
        if(mstcnt==20)
        {
                seconde++;
                mstcnt=0;
}
}
void main(void)
{
        P1=0xff;
        TMOD=0x11;
        TH0=0x3c;
        TL0=0xb0;
        EA=1;
        ET0=1;
        TR0=1;
        while(1)
        {
                keyscan();
                time_pro();
                display();
}
}

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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