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

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

QQ登錄

只需一步,快速開始

搜索
查看: 13213|回復(fù): 0
收起左側(cè)

4位數(shù)碼管顯示秒表c語言程序

[復(fù)制鏈接]
ID:193104 發(fā)表于 2017-4-24 17:00 來自觸屏版 | 顯示全部樓層 |閱讀模式
*proteus仿真中晶振電路及復(fù)位電路自行添加
*晶振:12M
*
*
*********************************************************/
#include <reg51.h>
sbit K1=P3^7;        //
sbit K2=P3^6;        //

bit flag=0;                                         //
int num;
int L[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};        //數(shù)碼管段選數(shù)據(jù) 根據(jù)實(shí)際電路修改
int wei[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};                          //數(shù)碼管位選信號(hào) 根據(jù)實(shí)際電路修改
unsigned char dat[4];

/************延時(shí)***************/
void delay(int i)
{
        int x,y;
        for(x=i;x>0;x--)
         for(y=125;y>0;y--);
}


void main(void)
{

    TMOD = 0x01;                  //定時(shí)器0 方式一
    TH0 = 0x0FC;                  //10ms計(jì)時(shí)高8位
    TL0 = 0x18;                          //10ms計(jì)時(shí)低8位
    EA = 1;                                  //開啟總中斷
    ET0 = 1;                          //開啟定時(shí)器0中斷
    TR0 = 1;                          //開啟定時(shí)器0計(jì)數(shù)

        while(1)
        {       
                if(!K1)                          //判斷K1鍵
        {
                delay(10);                    //按鍵去抖
                if(!K1)
                {
                        flag=~flag;
                        while(!K1);          //等待按鍵彈起
                }
        }
       
        if(!K2)                          //判斷K2鍵
        {
                delay(10);          //按鍵去抖
                if(!K2)
                {
                num=0;
                }
        }

        }
}

void Timer0Interrupt(void) interrupt 1         //10ms中斷
{        int i;
    TH0 = 0x0D8;        //中斷初值重裝
    TL0 = 0x0F0;
                if(flag)        num++;                        //中斷次數(shù)記錄
        if(num==10000)                                                  //10次中斷為10*10ms=1s
        {
                num=0;
               
        }
                dat[0]=L[num%10000/1000];
                dat[1]=L[num%1000/100]|0x80;;               
                dat[2]=L[num%100/10];
                dat[3]=L[num%10];


                for(i=0;i<4;i++)                                 //數(shù)碼管顯示
                {
                P1=dat[i];         //P1段選  根據(jù)實(shí)際電路修改
                P2=wei[i];         //P3位選  根據(jù)實(shí)際電路修改 建議修改為其他IO口
                delay(1);
                P2=0xff;        //去重影
                }               


}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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