新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C51單片機運用定時器T0中斷實現電子時鐘

        C51單片機運用定時器T0中斷實現電子時鐘

        作者: 時間:2016-12-02 來源:網絡 收藏

        void tiaoz() //調整子程序
        {
        if(num==20) //如果20次到了則說明一秒時間到
        {
        num=0;
        number++;
        if(number==60) //如果number=60說明滿一分鐘,則向分鐘數加一
        {
        number=0;
        number0++;
        if(number0==60) //如果number0=60說明60分鐘已經滿,向時加一
        {
        number0=0;
        number1++;
        if(number1==24) //如果number1>24,則從0開始
        number1=0;
        }
        }
        }
        P0=table[number1/10]; //時的十位
        P2=0;
        delay();
        P0=table[number1%10]; //時的個位
        P2=1;
        delay();
        P0=table[10];
        P2=2;
        delay();
        P0=table[number0/10]; //分的十位
        P2=3;
        delay();
        P0=table[number0%10]; //分的個位
        P2=4;
        delay();
        P0=table[10];
        P2=5;
        delay();
        P0=table[number/10]; //取出秒的十位并且顯示該數
        P2=6;
        delay(); //秒的十位
        P0=table[number%10]; //送秒的個位給最后一只數碼管
        P2=7; //打開數碼管8 秒的個位
        delay();
        }

        void main()
        {
        TMOD=0X01;
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        EA=1;
        //外部中斷啟動
        /* EX0=1;
        IE1=1;
        EX1=1;
        IE0=1;
        */
        ET0=1;
        TR0=1;
        while(1)
        {
        tiaoz0();
        tiaoz();
        }
        }


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桂平市| 沁源县| 鄂伦春自治旗| 东阿县| 嘉鱼县| 德州市| 定襄县| 通渭县| 卫辉市| 靖州| 壶关县| 南通市| 永定县| 陆河县| 荥经县| 长顺县| 手机| 谢通门县| 黑水县| 西平县| 太和县| 丰宁| 中山市| 望江县| 永宁县| 贵州省| 郎溪县| 武功县| 南阳市| 安阳县| 潼关县| 凌海市| 海丰县| 武安市| 湘潭县| 腾冲县| 云林县| 原阳县| 金堂县| 泸定县| 永善县|