新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第7課 數碼管動態顯示

        第7課 數碼管動態顯示

        作者: 時間:2016-12-01 來源:網絡 收藏
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
        }
        main函數內的意思num從1開始,一直加到6,然后不斷的循環 (程序為for(num=1;num<7;num++),當num=1時,先打開第一位數碼管,再讓第一位數碼管顯示1(程序P0=table[num],即P0=table[1]),然后進行1s的延時(程序為delay(1000);)。緊接著當num=2時,打開第二位數碼管,并讓其顯示2,延時1s……,一直到num=6時,打開第六位數碼管,并讓其顯示6,延時1s,再重復前的的程序。這個我們就可以在實驗板上看到數碼管從第一位開始依次以1s的時間間隔依次顯示123456.
        下面的程序下載到實驗板現象如圖4所示。
        圖4數碼管依次顯示123456
        現在我們把延時程序縮短(注意上面是延時1s,依次100ms 10ms 1ms ….一直到10us,然后把每次改后的程序下載到實驗板,.當短到10us時,可看到如下現象:
        也就是此時我們看到的現象是6個數碼管在同一時刻按位依次顯示123456,可能大家馬上要提出疑問了,在上面不是說過利用靜態的寫法不是實現不了這種效果嗎?這里就是數碼管的動態顯示。
        所謂動態顯示,就是依次向每位位數碼管同時送出字形碼和相應的位選,位與位之間利用延時程序進行延時,當延時程序非常短時,由于發光管的余輝和人眼視覺暫留作用,此時我們的人眼就分辨不出位與位之間有延時存在,此時就感覺各位數碼管同時都在顯示,這樣我們實現在靜態不能實現的功能。
        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 尼玛县| 高碑店市| 东山县| 焦作市| 永丰县| 石泉县| 上蔡县| 绥江县| 安图县| 清新县| 谢通门县| 张家港市| 淅川县| 兴义市| 水城县| 桂平市| 资源县| 梅州市| 通许县| 崇仁县| 古浪县| 南木林县| 女性| 秦皇岛市| 乌鲁木齐市| 大理市| 钟祥市| 嘉善县| 静宁县| 连州市| 锦州市| 甘孜| 平江县| 五寨县| 云浮市| 呼图壁县| 徐汇区| 东平县| 会同县| 青铜峡市| 侯马市|