新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機C編程(四、定時器秒表數碼管顯示)

        51單片機C編程(四、定時器秒表數碼管顯示)

        作者: 時間:2016-11-27 來源:網絡 收藏
        這個程序實現了通過定時器定時的秒表,并通過兩位的數碼管顯示

        本文引用地址:http://www.104case.com/article/201611/322161.htm

        #include
        #define uchar unsigned char
        #define uint unsingned int
        #define LED P0

        uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽數碼管數字碼
        uchar num,t,shi,ge;

        //----------------子函數初始化--------------------
        void init();
        void timer0();
        void display();
        void delay(uchar);
        //-----------------主函數-------------------
        void main()
        {
        init();
        while(1)
        {
        timer0();
        display();

        }
        }
        //-----------------定時器0初始化-------------------
        void init()
        {
        num=t=0;
        TMOD=0x01;
        TH0=(65536-15536)/256;
        TL0=(65536-15536)%256;
        EA=1;
        ET0=1;
        }
        //-----------------計時函數-------------------
        void timer0()
        {
        TR0=1;//啟動定時器0
        if(TF0==1)//查詢定時器0的中斷標志位TF0
        {
        TF0=0;
        t++;
        if(t==10)
        {
        t=0;
        num++;
        }
        }
        }
        //-----------------顯示函數-------------------
        void display()
        {
        shi=num/10;//計算時間的十位數與個位數
        ge=num%10;

        P2=0x01;//選中個位并顯示
        LED=tab[ge];
        delay(5);

        P2=0x02;//選中十位并顯示
        LED=tab[shi];
        delay(5);
        }
        //-----------------延時函數-------------------
        void delay(uchar x)
        {
        int i,j;
        for(i=x;i>0l;i--)
        for(j=255;j>0;j--);
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 积石山| 虞城县| 铜梁县| 于田县| 平昌县| 嘉兴市| 博罗县| 驻马店市| 丰台区| 桂林市| 绥棱县| 来安县| 海南省| 北碚区| 定安县| 元江| 铁力市| 伊金霍洛旗| 灵丘县| 尉氏县| 宁津县| 广宁县| 临湘市| 五河县| 沁水县| 田东县| 海阳市| 集安市| 延长县| 阜宁县| 平利县| 云霄县| 武功县| 和龙市| 永寿县| 积石山| 沁源县| 连江县| 遂川县| 赣州市| 建水县|