在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

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

            四顯示原理與軟件編制

            在第一節(jié)中我們已經(jīng)得出國字的區(qū)位碼為195AH 換算成十進制為2590 ,即國字的點陣位
            于第25 區(qū)的第90 個字的位置,相當于在文件HZK16 中的位置為32 [(25-1) 94 (90-1)] 75040B 以后的32 個字節(jié)為國的顯示點陣。
            在本系統(tǒng)中AT29C020 的A15 A17 分別連接到P1 口的P1.0 P1.1 和P1.2 作為頁選擇控制A0
            A14 直接連接單片機的A0 A14 利用MOVX 指令連續(xù)取32 個字節(jié)送LCD 的相應(yīng)位置就能實現(xiàn)正確的漢字顯示。
            由于240 128 點陣的LCD 顯示器每行只能顯示15 個漢字16 16 點陣漢字所以可以將需要顯示的語句按15 個漢字為1 行進行編寫標點符號要用全角不足15 個漢字的則補空格這就是下面軟件中的MENG.ASM 中的內(nèi)容
            為方便讀者將已經(jīng)通過匯編的有關(guān)程序列出有關(guān)LCD 的具體使用方法請見文獻[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 訪問外部數(shù)據(jù)存儲器
            ANL AUXR1, #0FH ENBOOT=0 訪問到FLASH
            CLR P1.5 正顯
            LCALL INT 初始化設(shè)置子程序
            LCALL CLEAR 清屏
            MOV DPTR, #TABLE 科幻小說的開頭
            MOV O_Y, #00H
            PUSH DPH
            PUSH DPL
            LOOP: POP DPL
            POP DPH
            MOV R0, #0E0H 字模數(shù)據(jù)暫存區(qū)
            MOV R7, #30 每個漢字為2 字節(jié)每行15 個漢字需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 屏后延長時間以便于閱讀
            LCALL DELAY
            LCALL DELAY
            LCALL DELAY
            LCALL DELAY
            LCALL DELAY
            POP DPL
            POP DPH
            PUSH DPH
            PUSH DPL
            MOV A, DPH
            SUBB A, #0DFH 小說結(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)部存儲區(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



            評論


            相關(guān)推薦

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

            關(guān)閉