新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言(0到100計時)

        單片機C語言(0到100計時)

        作者: 時間:2016-11-29 來源:網絡 收藏
        基于51hei單片機開發板的計時器程序
        #include
        #define uint unsigned int
        #define uchar unsigned char
        uchar temp,bai,shi,ge,aa;
        sbit dula=P2^6;
        sbit wela=P2^7;
        uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
        0x39,0x5e,0x79,0x71};
        void display(uchar bai,uchar shi,uchar ge);
        void delay(uint z);
        void init();
        void main()
        {
        init(); //初始化子程序
        while(1)
        {
        if(aa==20)
        {
        aa=0;
        temp++;
        if(temp==100)
        {
        temp=0;
        }
        bai=temp/100;
        shi=temp%100/10;
        ge=temp%10;
        }
        display(bai,shi,ge);
        }
        }
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
        }
        void display(uchar bai,uchar shi,uchar ge)
        {
        dula=1;
        P0=table[bai];
        dula=0;
        P0=0xff;//
        wela=1;
        P0=0xfe; //位選通
        wela=0;
        delay(1) ;
        dula=1;
        P0=table[shi];
        dula=0;
        P0=0xff; //消隱
        wela=1;
        P0=0xfd;
        wela=0;
        delay(1) ;
        dula=1;
        P0=table[ge];
        dula=0;
        P0=0xff;// 消隱
        wela=1;
        P0=0xfb;
        wela=0;
        delay(1) ;
        }
        void init()
        {wela=0;
        dula=0;
        temp=0;
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        }
        void timer0() interrupt 1
        { TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        aa++;
        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安新县| 柳林县| 潍坊市| 山阳县| 龙井市| 南召县| 思南县| 邹平县| 长沙县| 虎林市| 龙井市| 沿河| 汉源县| 安福县| 土默特右旗| 扎鲁特旗| 巴楚县| 额济纳旗| 泾源县| 溧阳市| 徐闻县| 彭水| 安仁县| 左贡县| 隆化县| 洪湖市| 武穴市| 马关县| 辛集市| 健康| 讷河市| 林西县| 颍上县| 丰顺县| 潢川县| 交城县| 高台县| 宁乡县| 文水县| 息烽县| 涟水县|