新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 試驗(yàn)7--------流水燈數(shù)字顯示綜合練習(xí)

        試驗(yàn)7--------流水燈數(shù)字顯示綜合練習(xí)

        作者: 時(shí)間:2011-02-25 來源:網(wǎng)絡(luò) 收藏
        程序運(yùn)行結(jié)果為個(gè)位數(shù)碼管輪流現(xiàn)實(shí)012345678,然后十位數(shù)碼管輪流現(xiàn)實(shí)012345678反復(fù)循環(huán),P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次點(diǎn)亮然后輪流點(diǎn)亮,小喇叭不停發(fā)出滴答聲:

        數(shù)碼管顯示數(shù)字

        注意0為點(diǎn)亮 1 為滅

        顯示數(shù)字

        p0.7

        p0.6

        p0.5

        p0.4

        p0.3

        p0.2

        p0.1

        p0.0

        16進(jìn)制代碼

        0

        0

        0

        1

        0

        1

        0

        0

        0

        28H

        1

        0

        1

        1

        1

        1

        1

        1

        0

        7EH

        2

        1

        0

        1

        0

        0

        0

        1

        0

        A2H

        3

        0

        1

        1

        0

        0

        0

        1

        0

        62H

        4

        0

        1

        1

        1

        0

        1

        0

        0

        74H

        5

        0

        1

        1

        0

        0

        0

        0

        1

        61H

        6

        0

        0

        1

        0

        0

        0

        0

        1

        21H

        7

        0

        1

        1

        1

        1

        0

        1

        0

        7AH

        8

        0

        0

        1

        0

        0

        0

        0

        0

        20H

        9

        0

        1

        1

        0

        0

        0

        0

        0

        60H

        代碼表的意思和方法參照前面的教程;注意0為點(diǎn)亮 1 為滅然后我們可以把代碼送到P0口,就可以是數(shù)碼管顯示需要的數(shù)字;當(dāng)然,必須有位選,因?yàn)槲覀兊膶?shí)驗(yàn)板是動態(tài)掃描數(shù)碼管,兩個(gè)8的位選分別是P2.6 P2.7.

        LOOP: 標(biāo)號

        CLR P2.6 ;選中p2.6 數(shù)碼管左邊的8字使能

        SETB P2.7 p2.7不使能。右邊的數(shù)碼管消隱

        MOV P0,#28H ;把28hp0口;數(shù)碼管顯示0

        LCALL DELAY ;延時(shí)

        MOV P0,#0FFH 0ffh p0口,數(shù)碼管清除

        CLR P1.0 ;點(diǎn)亮p1.0發(fā)光管

        MOV P0,#7EH ;把7ehp0口;數(shù)碼管顯示1

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.1 ;點(diǎn)亮p1.0發(fā)光管

        CLR P1.0 ;點(diǎn)亮p1.0發(fā)光管

        MOV P0,#0A2H ;數(shù)碼管顯示2

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#62H ;數(shù)碼管顯示3

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#74H ; ;數(shù)碼管顯示4

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.4

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#61H ;數(shù)碼管顯示5;

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.5

        CLR P1.4

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#21H ; 數(shù)碼管顯示6

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.6

        CLR P1.5

        CLR P1.4

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#7AH ; 數(shù)碼管顯示7

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.7

        CLR P1.6

        CLR P1.5

        CLR P1.4

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#20H ; 數(shù)碼管顯示8

        LCALL DELAY

        MOV P0,#0FFH

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        ;程序到此結(jié)果為左邊的數(shù)碼管顯示012345678p1.0------------p1.7指示燈依次點(diǎn)亮

        SETB P2.6 左邊的8消隱

        CLR P2.7 ;選中p2.7 數(shù)碼管右邊的8字使能,;

        MOV P0,#28H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.0

        MOV P0,#7EH

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.1

        MOV P0,#0A2H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.2

        MOV P0,#62H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.3

        MOV P0,#74H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.4

        MOV P0,#61H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.5

        MOV P0,#21H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.6

        MOV P0,#7AH

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        CLR P1.7

        MOV P0,#20H

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        MOV P0,#0FFH

        MOV P1,#0FFH

        ;這一段和上一段基本相同,不同的是右邊的數(shù)碼管依次顯示012345678,左邊的不亮;;同時(shí)p1口的燈流動顯示:

        AJMP LOOP注意:程序運(yùn)行到此跳轉(zhuǎn)到開始標(biāo)號,重復(fù)執(zhí)行:

        DELAY: ;延時(shí)子程序;參考前面的教程:

        CLR P3.3 ;注意小喇叭在3.3口,這里可以使小喇叭發(fā)出嗒,嗒聲

        MOV R7,#255

        NOP

        NOP

        D1:MOV R6,#255

        setb p3.3

        D2: DJNZ R6,D2

        clr p3.3

        DJNZ R7,D1

        SETB P3.3

        RET

        END



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 建阳市| 华宁县| 满城县| 安阳市| 新龙县| 陆丰市| 安泽县| 英吉沙县| 宜州市| 榆树市| 和田县| 孙吴县| 纳雍县| 鲁甸县| 囊谦县| 台北市| 赤城县| 巴彦淖尔市| 佛山市| 余干县| 凤阳县| 海宁市| 静海县| 镇雄县| 平顶山市| 海门市| 澎湖县| 谷城县| 盘山县| 泸定县| 宁城县| 阳江市| 多伦县| 临清市| 会泽县| 延边| 洮南市| 成都市| 民和| 桐乡市| 和平县|