新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 實驗三 查表、多分支(80C51單片機匯編語言編程)

        實驗三 查表、多分支(80C51單片機匯編語言編程)

        作者: 時間:2016-11-23 來源:網絡 收藏
        設一表格,表中數為:00H、11H、22H……FFH,將片內00H單元中的低4位放到片外0000H中(0000H中的高4位為0),高4位放到片外0001H中(0001H中的高4位為0),根據0000H中的數取出表中相應的值存到片內30H中;根據0001H中的數跳到相應的處理程序中,在處理程序中,把相應的位地址置1。
        ORG 0000H
        START:MOV DPTR,#0000H;
        MOV A,#00H
        MOVX @DPTR,A
        INC DPTR
        MOVX @DPTR,A
        MOV DPTR,#00H;將片內00H中的值拆分放入片外相應位置
        MOV R1,#00H
        MOV A,@R1
        ANL A,#0FH
        MOVX @DPTR,A

        MOV A,@R1
        ANL A,#0F0H
        RR A
        RR A
        RR A
        RR A
        INC DPTR
        MOVX @DPTR,A

        MOV DPTR,#0000H;相應值賦給30H
        MOVX A,@DPTR
        MOV DPTR,#TABLE;指向表格的首地址
        MOVC A,@A+DPTR
        MOV 30H,A

        MOV DPTR,#0001H;散轉
        MOV 20H,#00H;置位前先將20H清零
        MOVX A,@DPTR
        MOV R1,A;LJMP;A變為3倍
        RL A
        ADD A,R1
        MOV DPTR,#TAB
        JMP @A+DPTR

        TAB: LJMP PM0
        LJMP PM1
        LJMP PM2
        LJMP PM3
        LJMP PM4
        LJMP PM5
        LJMP PM6
        LJMP PM7
        LJMP PM8
        LJMP PM9
        LJMP PMA
        LJMP PMB
        LJMP PMC
        LJMP PMD
        LJMP PME
        LJMP PMF
        PM0:SETB 00H
        JMP AA
        PM1:SETB 01H
        JMP AA
        PM2:SETB 02H
        JMP AA
        PM3:SETB 03H
        JMP AA
        PM4:SETB 04H
        JMP AA
        PM5:SETB 05H
        JMP AA
        PM6:SETB 06H
        JMP AA
        PM7:SETB 07H
        JMP AA
        PM8:SETB 08H
        JMP AA
        PM9:SETB 09H
        JMP AA
        PMA:SETB 0AH
        JMP AA
        PMB:SETB 0BH
        JMP AA
        PMC:SETB 0CH
        JMP AA
        PMD:SETB 0DH
        JMP AA
        PME:SETB 0EH
        JMP AA
        PMF:SETB 0FH
        JMP AA
        TABLE:DB 00H,11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBH,0CCH,0DDH,0EEH,0FFH
        AA:SJMP $
        END


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 盐城市| 化隆| 怀柔区| 津市市| 盐亭县| 余江县| 双牌县| 兴海县| 玉屏| 临江市| 玉山县| 大足县| 龙陵县| 祥云县| 玉田县| 连南| 邯郸县| 夏河县| 始兴县| 紫金县| 安丘市| 锦州市| 措美县| 广昌县| 吴忠市| 新野县| 定襄县| 新龙县| 彩票| 辉南县| 九龙坡区| 富阳市| 绿春县| 嘉兴市| 泸溪县| 沙坪坝区| 古浪县| 阜新| 静宁县| 礼泉县| 天水市|