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

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

QQ登錄

只需一步,快速開始

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

51單片機(jī)顯示時(shí)分秒 LED顯示 哈哈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:257049 發(fā)表于 2017-12-4 09:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
       #include "reg51.h"
        typedef unsigned char uint;
        typedef unsigned char uchar;
        unsigned char code disptab[] =
        {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,
        0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
        unsigned char code bittab[] =
        {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
        unsigned char hour=24,min=0,sec=0;//時(shí)分秒
        unsigned int count;//計(jì)數(shù)次數(shù)
        unsigned char num=0;//數(shù)碼管序號(hào)
        unsigned char s=1;
        sbit sw1 = P3^1;
        sbit sw2 = P3^2;

        void delay(uchar i)
        {
          uint j;
          while(i--)
          for(j= 0; j<114 ; j++);
        }
        void disp(uchar sec) //顯示函數(shù)
        {
        num++;
        num=(num%8);
        P2=0xff; //數(shù)碼管消影
        P0=0xff;
        P2=bittab[num];
        switch(num)
        {
        case 0:P0=disptab[sec%10]; break;//秒個(gè)位
        case 1:P0=disptab[sec/10]; break;//秒十位
        case 2:P0=disptab[0xff]; break;//
        case 3:P0=disptab[min%10]; break;//分個(gè)位
        case 4:P0=disptab[min/10]; break;//分十位
        case 5:P0=disptab[0xff]; break;//
        case 6:P0=disptab[hour%10]; break;//時(shí)個(gè)位
        case 7:P0=disptab[hour/10]; break;//時(shí)十位
        default:;
          }
        }
        void disp1( uchar min) //顯示函數(shù)
        {
        num++;
        num=(num%8);
        P2=0xff; //數(shù)碼管消影
        P0=0xff;
        P2=bittab[num];
        switch(num)
        {
        case 0:P0=disptab[sec%10]; break;//秒個(gè)位
        case 1:P0=disptab[sec/10]; break;//秒十位
        case 2:P0=disptab[0xff]; break;//
        case 3:P0=disptab[min%10]; break;//分個(gè)位
        case 4:P0=disptab[min/10]; break;//分十位
        case 5:P0=disptab[0xff]; break;//
        case 6:P0=disptab[hour%10]; break;//時(shí)個(gè)位
        case 7:P0=disptab[hour/10]; break;//時(shí)十位
        default:;
                }
        }
    void disp2( uchar hour) //顯示函數(shù)
        {
        num++;
        num=(num%8);
        P2=0xff; //數(shù)碼管消影
        P0=0xff;
        P2=bittab[num];
        switch(num)
        {
        case 0:P0=disptab[sec%10]; break;//秒個(gè)位
        case 1:P0=disptab[sec/10]; break;//秒十位
        case 2:P0=disptab[0xff]; break;//
        case 3:P0=disptab[min%10]; break;//分個(gè)位
        case 4:P0=disptab[min/10]; break;//分十位
        case 5:P0=disptab[0xff]; break;//
        case 6:P0=disptab[hour%10]; break;//時(shí)個(gè)位
        case 7:P0=disptab[hour/10]; break;//時(shí)十位
        default:;

        }
        //if(num==2||num==4)P0=P0&0x7f;
        }
        void t0() interrupt 1 //T0中斷函數(shù)
        {

        TL0=0x6c;//賦初值,重新定時(shí)1ms
        TH0=0xfc;
        count++;
        if(count==1000)          
        {
        int c=0,v;
        if(!sw2)
        {int v;
        v=c+1;
         c++;
         }
        count=0;
        sec=sec+1;
        if(sec==60) {sec=0;min++;}
        delay (10);
        count=0;
        //TR0 = 0;
        //sw2&&TR0==(min=min+1);
        if(min==60) {min=0;hour++;}
        disp1((sw2&&s));
        sw1&&(hour=hour+v)&&count;
        if(hour==24) {hour=0;}
        }
         s=0;
        disp(sec);disp1(min);disp2(hour);
        //disp(sec,min&&sw2,hour&&sw1);

        }

        void main() //主函數(shù)
        {
        TMOD=0x11; //T0工作方式1,定時(shí)
        TH0=0xfc; //定時(shí)1ms,賦初值
        TL0=0x6c;
        ET0=1;
        EA=1;
        TR0=1;
        while(1);
        }

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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