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

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

QQ登錄

只需一步,快速開始

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

基于8051的8位共陰數(shù)碼管顯示24小時(shí)時(shí)鐘的時(shí)鐘序程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit W_lock=P3^6;
sbit S_lock=P3^7;
sbit key1=P1^0;
sbit key2=P1^1;
uchar key_pr1,key_pr2,key_flag;
uchar flag,sec,min,hr;
uchar code table_s[]={0x3f,0x06,0x5b,0x4f,0x66,
                                          0x6d,0x7d,0x07,0x7f,0x6f,0x40};
uchar code table_w[]={0xfe,0xfd,0xf7,0xef,0xbf,0x7f,0xfb,0xdf};
uchar tab[8]={0,0,0,0,0,0,10,10};
void Delay(uint time);
void Deel_date();
void display();
void key_scan();          //鍵盤掃描
void main()
{
        TMOD=0x11;                   //定時(shí)器0以工作方式1工作
        EA=1;                           //開啟總中斷
        ET0=1;                           //開定時(shí)器0中斷
        TR0=1;                       //開啟定時(shí)器0
        ET1=1;                            //開啟定時(shí)器1中斷
        TR1=1;                                 //開啟定時(shí)器1
        TH0=(65536-46086)/256;          //定時(shí)器0的中斷服務(wù)程序
        TL0=(65536-46083)%256;
        TH1=(65536-2000)/256;          //定時(shí)器1的中斷服務(wù)程序
        TL1=(65536-2000)%256;
        while(1)
        {
                key_scan();                       
                Deel_date();
                if(flag>=20)
                {
                        flag=0;                           // 按鍵按下的標(biāo)志
                        sec++;
                        if(60==sec)
                        {
                                sec=0;
                                min++;
                                if(60==min)
                                {
                                        min=0;
                                        hr++;
                                        if(24==hr)
                                        {
                                                hr=0;
                                        }
                                }
                        }
                }
        }       
}
void Deel_date()
{
        tab[4]=sec/10;
        tab[5]=sec%10;
        tab[2]=min/10;
        tab[3]=min%10;
        tab[0]=hr/10;
        tab[1]=hr%10;
}
void display()
{
        static i;
        P0=table_w[i];
        W_lock=1;
        W_lock=0;
        P0=table_s[tab[i]];
        S_lock=1;
        S_lock=0;
        i++;
        if(8==i)
                i=0;

}
void Delay(uint time)
{
        uint x,y;
        for(x=125;x>0;x--)
                for(y=time;y>0;y--);

}
void key_scan()
{
        if(0==key1)
        {
                Delay(5);
                if(0==key1)
                {
                        key_pr1=1;       
                }
        }
        if((1==key1)&&(1==key_pr1))
        {
                key_pr1=0;
                key_flag++;
                TR0=0;
    }
        if(4==key_flag)
        {
                key_flag=0;
                TR0=1;
        }
/*********************************************/
        if(0==key2)
        {
                Delay(5);
                if(0==key2)
                {
                        key_pr2=1;       
                }
        }
        if((1==key2)&&(1==key_pr2))
        {
                key_pr2=0;
                if(key_flag==1)
                {
                        sec++;
                        if(sec==60)
                                sec=0;
                }
                if(key_flag==2)
                {
                        min++;
                        if(min==60)
                                min=0;
                }
                if(key_flag==3)
                {
                        hr++;
                        if(hr==24)
                                hr=0;
                }
    }
}
void  Timer_0() interrupt 1
{
        TH0=(65536-46086)/256;
        TL0=(65536-46083)%256;
        flag++;       
}
void  Timer_1() interrupt 3
{
        TH1=(65536-2000)/256;
        TL1=(65536-2000)%256;
        display();
}

IMG_20180122_142006.jpg (2.68 MB, 下載次數(shù): 83)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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