在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機2408點陣時鐘電子制作

            單片機2408點陣時鐘電子制作

            作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏

            void main()
            {
            init(); //調(diào)用初始化函數(shù)
            P0=0xff; P1=0x00; P3=0x00; P2=0x00;
            for(c=0;c<10;c++) delay(255);
            P1=0xff; P3=0xff; P2=0xff; //測試點陣屏全亮3秒.
            P0=0x00; P1=0x00; P3=0x00; P2=0x00;
            for(c=0;c<10;c++) delay(255);
            P1=0xff; P3=0xff; P2=0xff; //測試點陣屏全滅3秒.
            P0=0xff; P1=0x00; P3=0x00; P2=0x00;
            for(c=0;c<10;c++) delay(255);
            P1=0xff; P3=0xff; P2=0xff; //測試點陣屏全亮3秒.
            P0=0x00; P1=0x00; P3=0x00; P2=0x00;
            for(c=0;c<10;c++) delay(255);
            P1=0xff; P3=0xff; P2=0xff; //測試點陣屏全滅3秒.
            c=0;
            while(1) //主程序循環(huán)
            {
            switch(keymode) //鍵盤處理程序
            {
            case 0x00:
            if(KEY==0) { keymode=1; keycount=2;}
            break;
            case 0x01:
            if(keycount==0)
            { if(KEY==0)
            { keymode=2; keydate=1;D7=0;} else {keymode=0; break;}
            }
            else
            {
            keycount--;
            break;}
            case 0x02:
            if(KEY==1)
            { keymode=0; D7=1; break;}
            else
            {keymode=3; keycount=50; break; }
            case 0x03:
            if(KEY==1)
            { keymode=0; D7=1; break;}
            else
            if(keycount==0)
            { keymode=4; D6=1; break; }
            else
            { keycount--; break;}
            case 0x04:
            if(KEY==1)
            {keymode=0; D7=1; break;}
            else
            break;

            default: break;
            }
            //以下的鍵值調(diào)時間處理
            if(D7==1)
            {
            if(D6==0) {
            if(c==1) hour++;
            if(hour==24) hour=0;
            if(c==2) minute++;
            if(minute==60) minute=0;
            D7=0; }
            else
            {c++; if(c>2) c=0; D6=0; D7=0;}
            }


            disbuf[0]=(second);
            disbuf[1]=(second/10);
            disbuf[2]=(minute);
            disbuf[3]=(minute/10);
            disbuf[4]=(hour);
            disbuf[5]=(hour/10);
            display(); //調(diào)用顯示函數(shù)

            }
            }

            void init()
            {
            TMOD=1;TH0=0X3C;TL0=0XB0; //定時器0模式1,50毫秒
            ET0=1;TR0=1;EA=1; //開定時器0中斷、啟動定時器0、開總中斷
            }

            void display( )
            {
            unsigned char i,j=0; //j為列位置變量


            for(i=0;i<5;i++) //時十位
            {
            if(disbuf[5]==0) P0=0x00; //時十分為0時不顯示
            else P0=ASCII86[disbuf[5]];
            P1=seg[j][0]; P3=seg[j][1]; P2=seg[j][2];
            delay(1);
            P1=0xff; P3=0xff; P2=0xff;
            j++;
            }
            j++; //隔一列

            for(i=0;i<5;i++) //時個位
            {
            if(c==1&&SHAN)P0=0x00;
            else P0=ASCII86[disbuf[4]]; //調(diào)時狀態(tài)時個位閃爍
            P1=seg[j][0]; P3=seg[j][1]; P2=seg[j][2];
            delay(1);
            P1=0xff; P3=0xff; P2=0xff;
            j++;
            }
            if(!SHAN) {P0=0x81;} else P0=0x00; //秒閃

            P1=seg[j][0]; P3=seg[j][1]; P2=seg[j][2];
            delay(1);
            P1=0xff; P3=0xff; P2=0xff;
            j++;
            for(i=0;i<5;i++) //分十位
            {
            P0=ASCII86[disbuf[3]];
            P1=seg[j][0]; P3=seg[j][1]; P2=seg[j][2];
            delay(1);
            P1=0xff; P3=0xff; P2=0xff;
            j++;
            }
            j++;
            for(i=0;i<5;i++) //分個位
            {
            if(c==2&&SHAN)P0=0x00;
            else P0=ASCII86[disbuf[2]]; //調(diào)分狀態(tài)時分閃爍
            P1=seg[j][0]; P3=seg[j][1]; P2=seg[j][2];
            delay(1);
            P1=0xff; P3=0xff; P2=0xff;
            j++;
            }

            本文引用地址:http://www.biyoush.com/article/201611/321448.htm

            }

            void delay(uchar t)
            {
            uchar i; //定義變量
            for(;t>0;t--) //如果t大于0,t減1(外層循環(huán))
            for(i=124;i>0;i--); //i等于124,如果i大于0,i減1
            }


            void timer0() interrupt 1 //定時器0(中斷1)
            {
            uchar tim1,tim2; //定義臨時變量
            TL0=TL0+0XB0;TH0=0X3C; //重裝定時器初值
            tim1++; //每中斷一次tim1加1
            if(tim1==10) //中斷10(0.5秒)
            {
            SHAN=!SHAN; //閃爍標(biāo)志取反
            tim1=0;tim2++; //tim1清零,tim2加1
            if(tim2==2) //到了1秒
            {
            tim2=0;second++; //tim2清零,秒加1
            if(second>=60) //如果秒到60
            {
            second=0;minute++; //秒變0,分加1
            if(minute>=60) //如果分到60
            {
            minute=0;hour++; //分變0,時加1
            if(hour>=24) hour=0; //如果時到24,時變0
            }
            }
            }
            }
            }


            上一頁 1 2 下一頁

            關(guān)鍵詞: 單片機2408點陣時

            評論


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

            關(guān)閉