中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 硬件漢字庫(kù)設(shè)計(jì)原理與應(yīng)用

        硬件漢字庫(kù)設(shè)計(jì)原理與應(yīng)用

        作者: 時(shí)間:2012-07-04 來(lái)源:網(wǎng)絡(luò) 收藏

        四顯示原理與軟件編制

        在第一節(jié)中我們已經(jīng)得出國(guó)字的區(qū)位碼為195AH 換算成十進(jìn)制為2590 ,即國(guó)字的點(diǎn)陣位
        于第25 區(qū)的第90 個(gè)字的位置,相當(dāng)于在文件HZK16 中的位置為32 [(25-1) 94 (90-1)] 75040B 以后的32 個(gè)字節(jié)為國(guó)的顯示點(diǎn)陣。
        在本系統(tǒng)中AT29C020 的A15 A17 分別連接到P1 口的P1.0 P1.1 和P1.2 作為頁(yè)選擇控制A0
        A14 直接連接單片機(jī)的A0 A14 利用MOVX 指令連續(xù)取32 個(gè)字節(jié)送LCD 的相應(yīng)位置就能實(shí)現(xiàn)正確的漢字顯示。
        由于240 128 點(diǎn)陣的LCD 顯示器每行只能顯示15 個(gè)漢字16 16 點(diǎn)陣漢字所以可以將需要顯示的語(yǔ)句按15 個(gè)漢字為1 行進(jìn)行編寫標(biāo)點(diǎn)符號(hào)要用全角不足15 個(gè)漢字的則補(bǔ)空格這就是下面軟件中的MENG.ASM 中的內(nèi)容
        為方便讀者將已經(jīng)通過(guò)匯編的有關(guān)程序列出有關(guān)LCD 的具體使用方法請(qǐng)見文獻(xiàn)[2]
        主程序
        C_ADD EQU 8001H 液晶命令地址
        D_ADD EQU 8000H 液晶數(shù)據(jù)地址
        DAT1 EQU 30H
        DAT2 EQU 31H
        COM EQU 32H
        CODE1 EQU 33H
        COUNT EQU 34H
        O_Y EQU 35H
        O_X EQU 36H
        COUNT_X EQU 37H
        ORG 0000H
        SJMP START
        ORG 0030H
        START: MOV SP, #60H
        ORL AUXR, #02H EXTRAM 位1 訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器
        ANL AUXR1, #0FH ENBOOT=0 訪問(wèn)到FLASH
        CLR P1.5 正顯
        LCALL INT 初始化設(shè)置子程序
        LCALL CLEAR 清屏
        MOV DPTR, #TABLE 科幻小說(shuō)的開頭
        MOV O_Y, #00H
        PUSH DPH
        PUSH DPL
        LOOP: POP DPL
        POP DPH
        MOV R0, #0E0H 字模數(shù)據(jù)暫存區(qū)
        MOV R7, #30 每個(gè)漢字為2 字節(jié)每行15 個(gè)漢字需30 字節(jié)
        PRHZ3: CLR A
        MOVC A, @A+DPTR
        MOV @R0,A
        INC R0
        INC DPTR
        DJNZ R7, PRHZ3
        PUSH DPH
        PUSH DPL
        MOV O_X, #00H
        MOV R0, #0E0H
        MOV COUNT_X, #15
        LCD112: MOV 24H, @R0 24H 和25H 為暫存緩沖存內(nèi)碼
        INC R0
        MOV 25H, @R0
        INC R0
        MOV A, 24H
        CLR C
        SUBB A, #0A1H 轉(zhuǎn)換為區(qū)位碼
        MOV 24H, A
        MOV A, 25H
        CLR C
        SUBB A, #0A1H
        MOV 25H, A
        MOV A, R0
        PUSH ACC
        LCALL DPONHZ 取字模數(shù)據(jù)并存入0C0H 開始的寄存器
        LCALL WRI_CC 送出顯示
        POP ACC
        MOV R0, A
        INC O_X
        INC O_X
        DJNZ COUNT_X,LCD112 1 行漢字送完跳轉(zhuǎn)
        MOV A, O_Y
        ADD A, #10H
        MOV O_Y, A
        MOV A, O_Y
        CJNE A, #80H,LOOP
        MOV O_Y, #00H
        LCALL DELAY 送完1 屏后延長(zhǎng)時(shí)間以便于閱讀
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        POP DPL
        POP DPH
        PUSH DPH
        PUSH DPL
        MOV A, DPH
        SUBB A, #0DFH 小說(shuō)結(jié)尾地址如果是結(jié)尾則復(fù)位重新開始
        JNC RST1
        JMP LOOP
        RST1: MOV A, DPL
        SUBB A, #2AH
        JNC RST
        JMP LOOP
        RST: JMP START
        DPONHZ: MOV A, 24H 取字模數(shù)據(jù)至0C0H 開始的內(nèi)部存儲(chǔ)區(qū)
        MOV B, #94
        MUL AB
        ADD A, 25H
        MOV 25H, A
        CLR A
        ADDC A, B
        MOV 24H, A
        CLR C
        RRC A
        CLR C
        RRC A
        MOV P1, A
        LCALL RL245
        CLR 24H.7
        MOV DPH, 24H
        MOV DPL, 25H
        MOV R2, #32
        MOV R1, #0C0H
        DPHZ2: MOVX A, @DPTR
        INC DPTR
        MOV @R1, A
        INC R1
        DJNZ R2, DPHZ2
        RET
        RL245: MOV R7, #05 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
        R_ST: MOV DPTR, #C_ADD 讀狀態(tài)
        MOVX A, @DPTR
        RET
        ST01: LCALL R_ST 讀寫一數(shù)據(jù)前
        JNB ACC.0, ST01
        JNB ACC.1, ST01
        RET
        ST2: LCALL R_ST 連續(xù)讀前
        JNB ACC.2, ST2
        RET
        ST3: LCALL R_ST 連續(xù)寫前
        JNB ACC.3, ST3
        RET
        ST6: LCALL R_ST
        JB ACC.6, ERR
        RET
        ERR: LJMP ST6
        PR1: LCALL ST01
        MOV A, DAT1
        LCALL PR13
        PR11: LCALL ST01
        MOV A, DAT2
        LCALL PR13
        PR12: LCALL ST01
        MOV A, COM
        LJMP PR14
        PR13: MOV DPTR, #D_ADD
        PR14: MOVX @DPTR, A
        RET
        PR2: LCALL ST01
        MOV DPTR, #D_ADD
        MOVX A, @DPTR
        MOV DAT2, A
        RET
        INT: MOV DAT1, #00H 初始化設(shè)置子程序
        MOV DAT2, #00H
        MOV COM, #40H
        LCALL PR1
        MOV DAT1, #20H
        MOV DAT2, #00H
        MOV COM, #41H
        LCALL PR1
        MOV DAT1, #00H
        MOV DAT2, #08H
        MOV COM, #42H
        LCALL PR1
        MOV DAT1, #20H
        MOV DAT2, #00H



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉