新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言程序設計:定時器控制數碼管動態顯示

        單片機C語言程序設計:定時器控制數碼管動態顯示

        作者: 時間:2013-08-03 來源:網絡 收藏

        /* 名稱:動態

        顯示

        說明:8 個上分兩組動

        態顯示年月日與時分秒,本例的

        位顯示延時用定時器實現。

        */

        #includereg51.h>

        #includeintrins.h>

        #define uchar unsigned char

        #define uint unsigned int

        //段碼,最后一位是“-”的段碼

        uchar code

        DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};

        //待顯示的數據:09-12-25 與 23-59-58(分兩組顯示)

        uchar code Table_of_Digits[][8]={{0,9,10,1,2,10,2,5},{2,3,10,5,9,10,5,8}};

        uchar i,j=0;

        uint t=0;

        //主程序

        void main()

        {

        P3=0x80;

        //位碼初值

        TMOD=0x00; //計數器 T0 方式 0

        TH0=(8192-4000)/32; //4ms 定時

        TL0=(8192-4000)%32;

        IE=0x82;

        TR0=1; //啟動 T0

        while(1);


        }

        //T0 中斷函數控制刷新顯示

        void DSY_Show() interrupt 1

        {

        TH0=(8192-4000)/32; //恢復初值

        TL0=(8192-4000)%32;

        P0=0xff; //輸出位碼和段碼

        P0=DSY_CODE[Table_of_Digits[i][j]];

        P3=_crol_(P3,1);

        j=(j+1)%8; //數組第 i 行的下一字節索引

        if(++t!=350) return; //保持刷新一段時間

        t=0;

        i=(i+1)%2; //數組行 i=0 時顯示年月日,i=1 時顯示時分秒


        }

        單片機C語言程序設計:定時器控制數碼管動態顯示

        c語言相關文章:c語言教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 来凤县| 贵阳市| 张家川| 寿阳县| 万全县| 西乡县| 池州市| 上栗县| 元谋县| 绥江县| 米易县| 巫山县| 汶上县| 来安县| 锡林郭勒盟| 荥经县| 秭归县| 台南县| 米脂县| 安阳市| 怀远县| 东港市| 名山县| 通州市| 荔波县| 图们市| 开远市| 博白县| 海安县| 沁阳市| 拉萨市| 沧州市| 张家港市| 阿坝县| 和平区| 房山区| 介休市| 翁牛特旗| 连州市| 西平县| 胶州市|