新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機系統中的漢字顯示解決方案

        單片機系統中的漢字顯示解決方案

        作者: 時間:2012-07-02 來源:網絡 收藏

        PR1:LCALL PR01 ;雙字節參數R2,R3

        MOV A,R2

        LCALL PR14

        PR11:LCALL PR01 ;單字節參數R3

        MOV A,R3

        LCALL PR14

        PR12:LCALL PR01 ;無參數指令R4

        MOV A,R4

        SJMP PR15

        PR14:MOV DPTR,#LCDDAT

        PR15:MOVX @DPTR,A

        RET

        RL245:MOV R7,#5 ;24H25H左移5

        RLL1:CLR C

        MOV A,25H

        RLC A

        MOV 25H,A

        MOV A,24H

        RLC A

        MOV 24H,A

        DJNZ R7,RLL1

        RET

        ;行位置R6(0~7),列位置R5(0~29),區別24H,位碼25H

        DPONHZ:MOV A,24H ;1個

        MOV B,#94 ;每區94個

        MUL AB

        ADD A,25H

        MOV 25H,A

        CLR A

        ADDC A,B

        MOV 24H,A

        RR A ;獲得32KB為1頁的頁號

        RR A

        ORL A,#0F0H

        MOV P1,A ;頁號送P1口

        LCALL RL245 ;漢字序號乘以32

        SETB 24H,7 ;因為存儲器位于的7FFFH~0FFFFH

        MOV DPH,24H

        MOV DPL,25H

        MOV R2,#32 ;在該位置連續取出32個字節

        MOV R1,#0C0H

        DPHZ2:MOVX A,@DPTR

        INC DPTR

        MOV @R1,A

        INC R1

        DJNZ R2,DPHZ2

        MOV R1,#0C0H

        MOV A,R6 ;根據行列位置計算LCD指針

        MOV B,#16

        MUL AB

        MUL B,#30

        MUL AB

        ADD A,R5

        MOV 25H,A

        MOV R2,A

        CLR A

        ADDC A,B

        MOV 24H,A

        MOV R3,A

        MOV 26H,#16 ;將取出的點陣送LCD

        PRHZ6:MOV R4,#24H

        LCALL PR1 ;雙字節參數R2,R3

        MOV A,@R1

        MOV R3,A

        INC R1

        MOV R4,#0C0H

        LCALL PR11 ;單字節參數R3

        MOV A,@R1

        MOV R3,A

        INC R1

        MOV R4,#0C0H

        LCALL PR11

        MOV A,#30

        ADD A,25H

        MOV R2,A

        CLR A

        ADDC A,24H

        MOV R3,A

        MOV 24H,A

        DJNZ 26H,PRHZ6

        RET

        注:由于以上程序直接引自下面的應用實例,調用以上程序時請讓寄存器組位于第2區,即R0對應10H。

        led顯示器相關文章:led顯示器原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 丹寨县| 林州市| 夏邑县| 绥化市| 宜良县| 兴化市| 大埔县| 兴海县| 徐汇区| 海丰县| 岑巩县| 永仁县| 巴林右旗| 长垣县| 濮阳市| 萍乡市| 肥城市| 平南县| 治县。| 新密市| 嘉祥县| 繁峙县| 宁城县| 班戈县| 龙里县| 孟津县| 温泉县| 镇康县| 盐亭县| 苏尼特左旗| 长寿区| 怀仁县| 交城县| 濮阳市| 河东区| 彭泽县| 荆门市| 湖南省| 广汉市| 英德市| 阳东县|