中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 可以調(diào)整時間的電子時鐘-C語言

        可以調(diào)整時間的電子時鐘-C語言

        作者: 時間:2012-09-17 來源:網(wǎng)絡(luò) 收藏

        使用stc89c52單片機(jī),電路很簡單,采用八位共陽數(shù)碼管,p0口為數(shù)碼管的段選,p2口為位選. 通過key1-key3來

        本文引用地址:http://www.antipu.com.cn/article/170847.htm

        重點(diǎn):

        1、函數(shù)的模塊化

        2、中斷

        #includereg52.h>
        #define uchar unsigned char
        #define uint unsigned int
        sbit p2_0=P2^0;
        sbit p2_1=P2^1;
        sbit p2_2=P2^2;
        sbit p2_3=P2^3;
        sbit p2_4=P2^4;
        sbit p2_5=P2^5;
        sbit p2_6=P2^6;
        sbit p2_7=P2^7;
        sbit key0=P3^2;
        sbit key1=P3^3;
        sbit key2=P3^4;
        sbit key3=P3^5;
        sbit p17=P1^7;
        uint t=0;
        uint key=0;
        uchar set=0;
        uchar second=00,minter=55,hour=11;
        uchar second_1,second_2,minter_1,minter_2,hour_1,hour_2;
        const uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf} ; //0~~9數(shù)碼表

        void delay() //延時延時子程序
        { uint i;

        for(i=0;i240;i++);

        }
        void time_0(void) interrupt 1 using 0 //內(nèi)部定時器0內(nèi)部定時50ms
        {
        TH0=0x3c;
        TL0=0xb0;
        t++; // t是記定時次數(shù)
        }


        void display(uchar secondd,uchar minterr,uchar hourr) //顯示始終的子程序
        {
        second_1=secondd/10;
        second_2=secondd%10;
        minter_1=minterr/10;
        minter_2=minterr%10;
        hour_1=hourr/10;
        hour_2=hourr%10;
        P0=tab[second_2];
        p2_0=0;
        delay();
        p2_0=1;
        P0=tab[second_1];
        p2_1=0;
        delay();
        p2_1=1;

        p2_2=0;
        P0=0xbf;
        delay();
        p2_2=1;

        P0=tab[minter_2];
        p2_3=0;
        delay();
        p2_3=1;
        P0=tab[minter_1];
        p2_4=0;
        delay();
        p2_4=1;

        p2_5=0;
        P0=0xbf;
        delay(); //延時 是為了使— “——”顯示出來,否則太快,—
        p2_5=1;

        P0=tab[hour_2];
        p2_6=0;
        delay();
        p2_6=1;
        P0=tab[hour_1];
        p2_7=0;
        delay();
        p2_7=1;
        }
        void time()
        {

        //定時1s的時間是否到?
        if(t==19) //1s到,則加一秒
        { t=0;
        second++;
        if(second==60) // 是否為60秒 ,是秒清零,分加一秒,不到則跳出
        {
        second=0;
        minter++;
        if(minter==60) // 分是否為60分,是 ,分清零,時加一;不是則跳出
        { minter=0;
        hour++;
        if(hour==24)
        {

        hour=0;
        }
        }
        }
        }

        display(second,minter,hour); //調(diào)用顯示函數(shù) 來顯示時間時間
        }

        uint scan_key() //時間 按鍵 掃描 函數(shù)
        { //延時
        delay(); //判斷 如果按鍵 按key3下則返回1 來調(diào)用 時間函數(shù),不為零則返回0 不變不調(diào)整
        if(key0==0)
        set=1;
        if(key0==1)
        set=0;
        return set;
        }

        void set_time() //調(diào)整時間函數(shù)
        { uchar m;
        if(key1==0) delay(); //調(diào)整小時,確定key1健按下
        if(key1==0) hour++; // x小時數(shù)遞增
        if(hour==24) hour=0; //小時數(shù)到24,從零開始
        for(m=0;m20;m++) //循環(huán)20次
        { time(); //調(diào)用顯示函數(shù) 來顯示時間時間

        }
        if(key2==0) delay(); //調(diào)整分鐘
        if(key2==0) minter++;
        if(minter==60) minter=0;
        delay();
        time(); //調(diào)用時間函數(shù) 來顯示時間時間
        if(key0==0)

        time();

        }
        void main() //主函數(shù) 設(shè)定 內(nèi)部時間定時
        {
        TMOD=0X01;
        TH0=0X10;
        TL0=0X00;
        EA=1;
        ET0=1;
        TR0=1;
        P2=0xff;

        while(1)
        {
        if(key0==0) // p判斷 調(diào)整時間的按鍵是否按下 即 是否需要 調(diào)整時間
        {
        p17=0;
        delay();
        delay();

        delay();
        p17=1;
        delay();
        delay();
        key=scan_key();

        }

        switch(key)
        { //定時1s的時間是否到?
        case 0: time(); break;
        case 1: set_time();break;
        default :break;
        }
        }

        }



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉