<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        24小時定時器程序

        作者:西西   來源:本站原創   點擊數:  更新時間:2014年04月05日   【字體:

        #include<reg51.h>
        #define uchar unsigned char
        volatile char a=24,b=0,c=0,k,j;
        bit flag=0,flag2=0;
        uchar s=0;
        sbit led1=P1^0;
        sbit led2=P1^1;
        sbit led3=P1^2;
        sbit led4=P1^3;
        sbit key=P1^4;
        sbit jan=P1^5;
        sbit on_off=P1^6;
        sbit jdq=P1^7;
        #define duan P3
        uchar code tab[]={ 0xC0,/*0*/
        0xF9,/*1*/
        0x64,/*2*/
        0x70,/*3*/
        0x59,/*4*/
        0x52,/*5*/
        0x42,/*6*/
        0xF8,/*7*/
        0x40,/*8*/
        0x50,/*9*/
        };
        void delay()
        {
        uchar k;
        for(k=0;k<100;k++);
        }

        void desplay(uchar x1,uchar x2)
        {
        if(s==0)
        {
        TR0=1;
        duan=tab[x1/10];
        led1=0;
        delay();
        led1=1;
        duan=tab[x1%10];
        led2=0;
        delay();
        led2=1;
        duan=tab[x2/10];
        led3=0;
        delay();
        led3=1;
        duan=tab[x2%10];
        led4=0;
        delay();
        led4=1;
        }
        if(s==1)
        {
        if(flag2)
        {
        TR0=0;
        duan=tab[x1/10];
        led1=0;
        delay();
        led1=1;
        duan=tab[x1%10];
        led2=0;
        delay();
        led2=1;
        }
        duan=tab[x2/10];
        led3=0;
        delay();
        led3=1;
        duan=tab[x2%10];
        led4=0;
        delay();
        led4=1;
        }
        if(s==2)
        {
        duan=tab[x1/10];
        led1=0;
        delay();
        led1=1;
        duan=tab[x1%10];
        led2=0;
        delay();
        led2=1;
        if(flag2)
        {
        duan=tab[x2/10];
        led3=0;
        delay();
        led3=1;
        duan=tab[x2%10];
        led4=0;
        delay();
        led4=1;
        }
        }
        if(flag2)
        on_off=0;
        else on_off=1;
        }

        void key_sao()
        {
        if(key==0)
        {
        delay();
        if(key==0)
        {
        while(!key);
        s++;
        if(s>2)
        s=0;
        }
        }
        if(jan==0)
        {
        delay();
        if(jan==0)
        {
        while(!jan);
        if(s==1)
        {
        a--;
        if(a<0)
        a=24;
        }
        if(s==2)
        {
        b--;
        if(b<0)
        b=59;
        }
        }
        }

        }

        void main()
        {
        jdq=1;
        TMOD=0x11;
        TH0=15535/256;
        TL0=15535%256;
        TH1=15535/256;
        TL1=15535%256;
        EA=1;
        ET0=1;
        ET1=1;
        TR1=1;
        while(1)
        {
        key_sao();
        desplay(a,b);
        if(flag)jdq=0;
        if(!(a|b|c))
        {
        TR0=0;
        jdq=0;
        }
        }
        }

        void tt()interrupt 1
        {
        TH0=15535/256;
        TL0=15535%256;
        j++;
        if(j>20)
        {
        j=0;
        c--;
        if(c<0)
        {
        c=59;
        b--;
        if(b<0)
        {
        b=59;
        a--;
        if(a<0)
        {
        TR0=0;
        flag=1;
        }
        }
        }
        }
        }
        void tt2()interrupt 3
        {
        TH0=15535/256;
        TL0=15535%256;
        k++;
        if(k>10)
        {
        flag2=1;
        if(k>20)
        k=0;
        }
        else flag2=0;
        }

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮