新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機51小實驗---跑馬燈

        單片機51小實驗---跑馬燈

        作者: 時間:2016-11-24 來源:網絡 收藏
        以下這個程序我在實驗箱上運行過,AT89C52功能:根據P2.X口的電平,若輸入為1,則有X個燈在P0P1口上循環
        ;輸入為開關按鍵
        ORG 0000H
        JMP8: MOV P2,#0FFH ;將所在口置1,即設為輸入方式
        MOV A,#0 ;初始化R1
        MOV R1,A
        JB P2.0,SHOW1 ;判斷P2口,若為1則轉入相應的處理程序
        JB P2.1,SHOW2
        JB P2.2,SHOW3
        JB P2.3,SHOW4
        JB P2.4,SHOW5
        JB P2.5,SHOW6
        JB P2.6,SHOW7
        JB P2.7,SHOW8
        JMP JMP8
        ;P2口對應的處理部分
        SHOW1:MOV A,#1
        MOV R0,A
        ACALL PRO ;PRO為處理子程序
        SHOW2:MOV A,#2
        MOV R0,A
        ACALL PRO
        SHOW3:MOV A,#3
        MOV R0,A
        ACALL PRO
        SHOW4:MOV A,#4
        MOV R0,A
        ACALL PRO
        SHOW5:MOV A,#5
        MOV R0,A
        ACALL PRO
        SHOW6:MOV A,#6
        MOV R0,A
        ACALL PRO
        SHOW7:MOV A,#7
        MOV R0,A
        ACALL PRO
        SHOW8:MOV A,#8
        MOV R0,A
        ACALL PRO
        RET
        PRO:ACALL OUT ;OUT為向P2口輸出子程序
        CLR 20H ;將位20H作為是否跳到JMP8的標志,1則跳轉
        ACALL PP ;PP為判斷P2口是否有新的按鍵
        JB 20H,JMP8
        ACALL XG ;XG為修改R1R0的值
        JMP PRO
        RET
        OUT:MOV A,R1
        MOV P1,A
        MOV A,R0
        MOV P0,A
        ACALL DELAY ;DELAY為延時1024us的子程序
        RETDELAY:MOV A,#0FFH
        MOV R3,A
        TT1:NOP
        NOP
        NOP
        NOP
        DJNZ R3,TT1
        RET
        PP: JB P2.0,S
        JB P2.1,S
        JB P2.2,S
        JB P2.3,S
        JB P2.4,S
        JB P2.5,S
        JB P2.6,S
        JB P2.7,S
        SETB 20H
        S:RET
        XG: MOV A,R1 ;將R1R0十六位進行循環移位
        MOV C,ACC.7
        MOV A,R0
        RLC A
        MOV R0,A
        MOV A,R1
        RLC A
        MOV R1,A
        RET
        END


        關鍵詞: 單片機51跑馬

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 扶绥县| 军事| 白山市| 洛南县| 吉木萨尔县| 赞皇县| 曲松县| 九台市| 长汀县| 固原市| 华池县| 多伦县| 廊坊市| 天祝| 离岛区| 宁南县| 新兴县| 巫溪县| 樟树市| 花垣县| 上饶市| 平乡县| 通道| 鲁甸县| 湖南省| 偃师市| 宜兰市| 望城县| 甘德县| 商城县| 天气| 牡丹江市| 合作市| 朝阳县| 肥城市| 田林县| 乌兰县| 札达县| 靖边县| 南投县| 伊吾县|