找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3887|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

簡單的數(shù)碼管時鐘顯示程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:96054 發(fā)表于 2015-11-16 23:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
沒有開發(fā)板,用慧凈四驅(qū)的主控板四位數(shù)碼管顯示時間,運行準確,電路圖大家可以搜一下。小數(shù)點隔一秒閃爍一下,按鈕3和4分別調(diào)制時和分。附上源程序:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit KEY1=P2^5;//調(diào)制時
sbit KEY2=P2^4;//調(diào)制分
uchar num,fen,miao,shi,flag;
uint disnum;
uchar code table_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code table_we[]={0xfe,0xfd,0xfb,0xf7};//P2口,控制數(shù)碼管的位選

delay(uchar x)
{
        uchar a,b;
        for(a=x;a>0;a--)
                for(b=200;b>0;b--);
}

void display()
{
//P2=0xFF;
P0=table_du[shi/10];
P2=table_we[0];
delay(10);

P0=table_du[shi%10]-flag*(0x80);//小數(shù)點間隔1s閃爍
P2=table_we[1];
delay(10);

P0=table_du[fen/10];
P2=table_we[2];
delay(10);

P0=table_du[fen%10];
P2=table_we[3];
delay(10);
}

void revise()//調(diào)制時,分
{
                if(KEY1==0)
                {
                        delay(10);
                        if(KEY1==0)
                        {
                                shi++;


                        }

                        while(!KEY1);
                        delay(10);
                        while(!KEY1);
               
                }
                if(KEY2==0)
                {
                        delay(10);
                        if(KEY2==0)
                        {
                                fen++;


                        }

                        while(!KEY2);
                        delay(10);
                        while(!KEY2);
               
                }
}
void main()
{
        EA=1;
        ET0=1;
        TMOD=0X01;
        TH0=0xB8;
        TL0=0x00;
        TR0=1;
        while(1)
        {
                revise();
                display();
        }
}


void time0() interrupt 1
{
        TH0=0xB8; //對應(yīng)11.0592M晶振計算得到,20ms
        TL0=0x00;
        num++;
        if(num==50)
        {
        num=0;
        miao++;
        flag=miao%2;
        if(miao==60)
        {
                        miao=0;
                        fen++;
        if(fen==60)
        {
                        fen=0;
                        shi++;
        if(shi==24)
        {
                        shi=0;
        }
}
}
}
}



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的積分獎勵!

查看全部評分

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

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:191450 發(fā)表于 2017-5-1 16:24 | 只看該作者
please give me schematic diagram
thanks!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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