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

QQ登錄

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

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

海翔單片機(jī)開(kāi)發(fā)板數(shù)碼管倒計(jì)時(shí)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
//海翔開(kāi)發(fā)板數(shù)碼管倒計(jì)時(shí)
//作者:yxf7499
//初次練手,做的不好,請(qǐng)多擔(dān)待。

//原理圖如下





#include <reg52.h>

unsigned char code  seg[]={0,1,2,3,4,5,6,7};//分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼
unsigned char code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned long DuanBuff[9]={9,9,9,9,9,9,9,9,9};
unsigned long sec=3600;
unsigned int cnt;

void InitTimer0(void)
{
    TMOD = 0x01;
    TH0 = 0x0FC;
    TL0 = 0x18;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}

void Timer0Interrupt(void) interrupt 1
{
    TH0 = 0x0FC;
    TL0 = 0x18;
    cnt++;

        if(cnt>1000)
        {
                 cnt=0;
                 sec--;
        }
}

void delay(unsigned int i)
{
        unsigned int m,n;
        for(m=i;m>0;m--)
                for(n=110;n>0;n--);
}

void main()
{
        InitTimer0();
        while(1)
        {
                DuanBuff[7]=sec%10;
                DuanBuff[6]=sec/10%10;
                DuanBuff[5]=sec/100%10;
                DuanBuff[4]=sec/1000%10;
                DuanBuff[3]=sec/10000%10;
                DuanBuff[2]=sec/100000%10;
                DuanBuff[1]=sec/1000000%10;
                DuanBuff[0]=sec/10000000%10;

                P2=seg[0];           
                P0=duan[DuanBuff[0]];
                delay(1);
               
                P2=seg[1];           
                P0=duan[DuanBuff[1]];
                delay(1);

                P2=seg[2];           
                P0=duan[DuanBuff[2]];
                delay(1);

                P2=seg[3];           
                P0=duan[DuanBuff[3]];
                delay(1);

                P2=seg[4];           
                P0=duan[DuanBuff[4]];
                delay(1);

                P2=seg[5];           
                P0=duan[DuanBuff[5]];
                delay(1);

                P2=seg[6];           
                P0=duan[DuanBuff[6]];
                delay(1);

                P2=seg[7];           
                P0=duan[DuanBuff[7]];
                delay(1);
        }
}


評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:452173 發(fā)表于 2019-2-3 15:42 | 只看該作者
收藏了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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