新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 試驗7--------流水燈數字顯示綜合練習

        試驗7--------流水燈數字顯示綜合練習

        作者: 時間:2011-02-25 來源:網絡 收藏
        程序運行結果為個位數碼管輪流現實012345678,然后十位數碼管輪流現實012345678反復循環,P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次點亮然后輪流點亮,小喇叭不停發出滴答聲:

        數碼管顯示數字

        注意0為點亮 1 為滅

        顯示數字

        p0.7

        p0.6

        p0.5

        p0.4

        p0.3

        p0.2

        p0.1

        p0.0

        16進制代碼

        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為點亮 1 為滅然后我們可以把代碼送到P0口,就可以是數碼管顯示需要的數字;當然,必須有位選,因為我們的實驗板是動態掃描數碼管,兩個8的位選分別是P2.6 P2.7.

        LOOP: 標號

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

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

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

        LCALL DELAY ;延時

        MOV P0,#0FFH 0ffh p0口,數碼管清除

        CLR P1.0 ;點亮p1.0發光管

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

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.1 ;點亮p1.0發光管

        CLR P1.0 ;點亮p1.0發光管

        MOV P0,#0A2H ;數碼管顯示2

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#62H ;數碼管顯示3

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#74H ; ;數碼管顯示4

        LCALL DELAY

        MOV P0,#0FFH

        CLR P1.4

        CLR P1.3

        CLR P1.2

        CLR P1.1

        CLR P1.0

        MOV P0,#61H ;數碼管顯示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 ; 數碼管顯示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 ; 數碼管顯示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 ; 數碼管顯示8

        LCALL DELAY

        MOV P0,#0FFH

        LCALL DELAY

        MOV P0,#0FFH

        MOV P1,#0FFH

        ;程序到此結果為左邊的數碼管顯示012345678p1.0------------p1.7指示燈依次點亮

        SETB P2.6 左邊的8消隱

        CLR P2.7 ;選中p2.7 數碼管右邊的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

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

        AJMP LOOP注意:程序運行到此跳轉到開始標號,重復執行:

        DELAY: ;延時子程序;參考前面的教程:

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

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 静宁县| 张家口市| 永兴县| 元江| 屯门区| 娄底市| 博乐市| 邛崃市| 安图县| 荥阳市| 无棣县| 九台市| 舞钢市| 闵行区| 石河子市| 轮台县| 榕江县| 馆陶县| 扶风县| 堆龙德庆县| 永嘉县| 斗六市| 瓮安县| 赣榆县| 黄大仙区| 惠州市| 乌海市| 自治县| 崇明县| 称多县| 宜宾县| 贡山| 邓州市| 三原县| 收藏| 德惠市| 肇东市| 屏南县| 靖远县| 班戈县| 澄城县|