亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 6963c應(yīng)用.txt

?? 128*64液晶顯示模塊LCM12864(控制器T6963)演示程序
?? TXT
字號:
單片機系統(tǒng)中的漢字顯示(T6963)
單片機系統(tǒng)中的漢字顯示 



摘要:需要顯示的漢字較多時,單片機系統(tǒng)中的漢字編碼非常繁瑣。本文介紹一種直接利用PC機的漢字內(nèi)碼作為單片機系統(tǒng)的漢字編碼,以簡化系統(tǒng)的設(shè)計。

關(guān)鍵詞:單片機 液晶顯示器 29F040 漢字顯示

引言

在現(xiàn)代工業(yè)控制和一些智能化儀器儀表中,越來越多的場所需要用點陣圖形顯示器顯示漢字。通常的漢字顯示方式是先根據(jù)所需要的漢字提取漢字點陣(如16×16點陣),將點陣文件存入ROM,形成新的漢字編碼;而在使用時剛需要先根據(jù)新的漢字編碼組成語句,再由MCU根據(jù)新編碼提取相應(yīng)的點陣進行漢字顯示。在這種顯示方式中,如果使用的流字?jǐn)?shù)量較大或語句較多時,利用漢字的新編碼組成語句將是一件十分繁瑣而枯燥的工作。針對這種情況,本文提出了一種十分簡單的方式——直接利用PC機的漢字內(nèi)碼作為單片機系統(tǒng)的編碼。下面以8031單片機系統(tǒng)為例闡述如下:

一、硬件組成

本系統(tǒng)中采用香港精電公司的內(nèi)置T6963控制器[1]的240128T點陣圖形液晶顯示器。該顯示器1行為240點,能容納16×16點陣的漢字15個,總列數(shù)為128點,能顯示8行漢字。為了使用MCU操作可使用1片512KB的存儲器(如本系統(tǒng)中的29F040)用來存儲全部的國標(biāo)16×16點陣漢遼、8×16的ASCII碼點陣數(shù)據(jù)以及漢字語句編碼數(shù)據(jù)。為了降低成本和減小體積,對于速度要求不是很高的場合也可采用大容量的串行數(shù)據(jù)存儲器,如AT45DB041B。具體的硬件控制電路如圖1所示(與漢字顯示無關(guān)的電路略)。

由于29F040的容量為512KB,而5031微控制器只能管理64KB的數(shù)據(jù)間,所以可將29F040分成16頁,每頁32KB,占單片機系統(tǒng)數(shù)據(jù)空間的8000H~0FFFFH(剩余32KB為單片機系統(tǒng)的其他存儲器和外設(shè))。頁碼由單片機的P1.0~P1.3選擇。液晶顯示器的地址為7FF8H~7FF9H。

二、漢字顯示原理及軟件設(shè)計

UCDOS軟件中的文件HZK16和文件ASC16分別為16×16的國標(biāo)漢字點陣文件和8×16的ASCII碼點陣文件,以二進制格式存儲。在文件HZK16中,按漢字區(qū)位碼從小到大依次存有國標(biāo)區(qū)位碼表中的所有漢字,每個漢字占用32個字節(jié),每個區(qū)為94個漢字。在文件ASC16中按ASCII碼從小到大依次存有8×16的ASCII碼點陣,每個ASCII碼占用16個字節(jié)。

在PC機的文本文件中,漢字是以機內(nèi)碼的形式存儲的,每個漢字占用兩個字節(jié):第一個字節(jié)為區(qū)碼,為了與ASCII碼區(qū)別,范圍從十六進制的0A1H開始(小于80H的為ASCII碼字符),對應(yīng)區(qū)位碼中區(qū)碼的第一區(qū);第二個字節(jié)為位碼,范圍也是從0A1H開始,對應(yīng)某區(qū)中的第一個位碼。這樣,將漢字機內(nèi)碼減去0A0AH就得該漢字的區(qū)位碼。

例如漢字“房”的機內(nèi)碼為十六進制的“B7BF”,其中“B7”表示區(qū)碼,“BF”表示位碼。所以“房”的區(qū)位碼為0B7BFH-0A0A0H=171FH。將區(qū)碼和位碼分別轉(zhuǎn)換為十進制得漢字“房”的區(qū)位碼為“2331”,即“房”的點陣位于第23區(qū)的第31個字的位置,相當(dāng)于在文件HZK16中的位置為第32×[(23-1) ×94+(31-1)]=67136B以后的32個字節(jié)為“房”的顯示點陣。

在本單片機系統(tǒng)中,起始地址的高4位為頁號,送P1口,低15位為數(shù)據(jù)區(qū)地址,送指針DPTR。利用“MOVX”指令連續(xù)取32個字節(jié)送LCD的相應(yīng)位置,就能實現(xiàn)正確的漢字顯示。

ASCII碼的顯示與漢字的顯示基本原理相同。在文件ASC16中不存在機內(nèi)碼的問題,其顯示點陣直接按ASCII碼從小到大依次排列,只是每個ASCII碼在文本文件中只占1個字節(jié)且小于80H,而且ASCII碼為8×16點陣,所以在ASCII16文件中,每個ASCII碼的點陣也只占16個字節(jié)。

首先提取16×16的國標(biāo)漢字點陣和8×16的ASCII碼點陣(如UCDOS軟件中的HZK16和ASC16)并將其直接寫入29F040。其中HZK16(共256KB)點0~7頁。為了便于編程,ASC16雖然只有4KB,也單獨占用第8頁。其余剩下的空間用來存儲漢字語句的編碼。

由于240×128點陣的LED顯示器每個只能顯示15個漢字(16×16點陣漢字),即30個字節(jié)。所以可將需要顯示的語句按30個字節(jié)為1行進行編寫,不足30個字符的則補空格。在PC機上進行錄入時,每行30個字符再加上回車鍵和換行符,實占32個字符。所錄入的語句以純文本形式存盤,再將該文本文件以二進制的形式寫入29F040的第9頁。那么,以后根據(jù)需要顯示的語句行號便可以進行正確的顯示。此,作者推出薦使用DOS版本的WPS軟件的“編輯非文收文件”功能,它能清楚地顯示每行是否有30個字符。


為方便讀者,將已經(jīng)在實際應(yīng)用中中通過的匯編子程序列出如下(關(guān)于LCD控制器T6963的用戶法請見參考文獻1)。

LCDCOM EQU 7FF9H

LCDDAT EQU 7FF8H

;顯示1行漢字子程序

;漢字語句位置編號DPTR;行號:R6 PRHZ:MOV 24H,DPH

MOV 25H,DPL

PUSH DPH

PUSH DPL

MOV A,DPH ;計算頁號

RR A

RR A

ADD A,#9;從第9區(qū)開始存放每行字符的機內(nèi)碼

ORL A,#0F0H

MOV P1,A

LCALL RL245 ;行號乘以32(每行32個字符)

SETB 24H,7 ;數(shù)據(jù)地址位于8000H~0FFFFH

MOV DPH,24H

MOV DPL,25H

MOV R0,#0E0H

MOV R7,#30 ;連續(xù)取出30個字符至0E0H內(nèi)部數(shù)據(jù)存儲器

PRHZ3:MOVX A,@DPTR

MOV @R0,A

INC R0

INC DPTR

DJNZ R7,PRHZ3

MOV 1DH,#30 ;顯示0E0H后的一行字符(共30個)

MOV R5,#0 ;當(dāng)前列R5

MOV R0,#0E0H

MOV A,#7FH ;是否為ASCII碼?

CLR C

SUBB A,@R0

JC DPHZ1

MOV 26H,@R0

INC R0

MOV 24H,R6 ;ASCII碼顯示

MOV 25H,R5

LCALL PRASCII

SJMP PRHZ4

DPHZ1:MOV 24H,@R0 ;是漢字則將機內(nèi)碼送24H25H

INC R0

MOV 25H,@R0

INC R0

MOV A,25H

CLR C

SUBB A,#0A1H ;機內(nèi)碼轉(zhuǎn)換為二進制的區(qū)碼和位碼

MOV 25H,A

MOV A,24H

CLR C

SUBB A,#0A1H

LCALLDPONHZ ;顯示1個漢字

DEC 1DH

INC R5

PRHZ4:INC R5

DJNZ 1DH,PRHZ5

POP DPL

POP DPH

RET

PR0:MOV DPTR,#LCDCOM ;讀狀態(tài)

MOVX A,@DPTR

RET

PR01:LCALLPR0 ;讀、寫一數(shù)據(jù)前

JNB ACC.0,PR01

JNB ACC.1,PR01

RET

PR02:LCALL PR0 ;連續(xù)讀前

JNB ACC.2,PR02

RET

PR03:LCALL PR0 ;連續(xù)寫前

JNB ACC.3,PR02

RET

PR1:LCALL PR01 ;雙字節(jié)參數(shù)R2,R3

MOV A,R2

LCALL PR14

PR11:LCALL PR01 ;單字節(jié)參數(shù)R3

MOV A,R3

LCALL PR14

PR12:LCALL PR01 ;無參數(shù)指令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),漢字區(qū)別24H,位碼25H

DPONHZ:MOV A,24H ;顯示1個漢字

MOV B,#94 ;每區(qū)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 ;因為存儲器位于單片機系統(tǒng)的7FFFH~0FFFFH

MOV DPH,24H

MOV DPL,25H

MOV R2,#32 ;在該位置連續(xù)取出32個字節(jié)

MOV R1,#0C0H

DPHZ2:MOVX A,@DPTR

INC DPTR

MOV @R1,A

INC R1

DJNZ R2,DPHZ2

MOV R1,#0C0H

MOV A,R6 ;根據(jù)行列位置計算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 ;雙字節(jié)參數(shù)R2,R3

MOV A,@R1

MOV R3,A

INC R1

MOV R4,#0C0H

LCALL PR11 ;單字節(jié)參數(shù)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

注:由于以上程序直接引自下面的應(yīng)用實例,調(diào)用以上程序時請讓寄存器組位于第2區(qū),即R0對應(yīng)10H。

三、應(yīng)用實例

我們應(yīng)用本文介紹的方法成功地進行了某醫(yī)療儀器的設(shè)計。該設(shè)計要求具有完整的中、英文字符提示和漢字處方顯示,并盡可能地為今后的功能擴展和處方修改留有余地。目前儀器中用到的漢字約1200個,語句行為1300行左右,而且用戶認(rèn)為利用工控PC機設(shè)計成本過高,要求盡可能地降低成本。顯然,對于該系統(tǒng)利用傳統(tǒng)的漢字處理方式進行設(shè)計雖然能節(jié)省一定的存儲空間,但龐大的漢字和語句重新編碼工作卻讓人望而生畏,而且當(dāng)處方修改須要用到新的漢字時相當(dāng)麻煩。我們利用8031單片機系統(tǒng)和本文介紹的方法進行設(shè)計,整個硬件電路和底層程序設(shè)計只用了1周的時間,大大地縮短了開周期。而且由于本系統(tǒng)可調(diào)用所有的ASCII碼和全部漢字庫,所以對于功能的擴展和處方的修改十分方便。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影中文字幕在线观看| 精品国产人成亚洲区| 亚洲猫色日本管| 99riav久久精品riav| 亚洲免费在线视频一区 二区| 91麻豆精品秘密| 亚洲国产美女搞黄色| 91精品视频网| 狠狠网亚洲精品| 亚洲欧洲日产国产综合网| 色久综合一二码| 免费观看一级欧美片| 中文字幕欧美区| 在线视频你懂得一区二区三区| 天天影视网天天综合色在线播放| 欧美一区二视频| 成人小视频免费观看| 亚洲一区二区在线播放相泽| 欧美一区二区国产| 成人性色生活片免费看爆迷你毛片| 亚洲女与黑人做爰| 日韩色视频在线观看| 99热精品国产| 久久激情综合网| 亚洲婷婷综合色高清在线| 欧美一区二区人人喊爽| 成人美女在线视频| 日韩av电影天堂| 欧美国产成人精品| 91精品在线一区二区| av在线免费不卡| 蜜乳av一区二区三区| 国产精品高潮呻吟| 欧美电影免费观看高清完整版在 | 国产.欧美.日韩| 亚洲成av人片一区二区梦乃| 中文字幕av一区二区三区| 欧美肥妇free| 91在线观看一区二区| 久久成人综合网| 亚洲成av人片在线| 亚洲欧美区自拍先锋| 精品999在线播放| 欧美老人xxxx18| 一本到不卡精品视频在线观看| 精品一二三四在线| 日韩主播视频在线| 亚洲三级电影网站| 国产精品视频一二三区| 欧美xxxxx牲另类人与| 欧美日本乱大交xxxxx| 色网站国产精品| 成人免费高清在线| 国产精品456| 蜜桃av一区二区三区| 午夜精品福利久久久| 亚洲国产综合在线| 亚洲精品国久久99热| 国产精品欧美久久久久一区二区| 日韩欧美成人一区| 制服视频三区第一页精品| 欧美亚洲国产一区在线观看网站| 成人av手机在线观看| 国产91高潮流白浆在线麻豆| 国产美女在线精品| 国产一区二区伦理| 国产一区二区精品久久91| 美国欧美日韩国产在线播放| 免费高清视频精品| 捆绑调教一区二区三区| 久久精品国产亚洲aⅴ| 日韩福利电影在线| 麻豆久久久久久久| 日本欧美加勒比视频| 免费成人在线网站| 加勒比av一区二区| 国产一区二区三区黄视频 | 欧美一区永久视频免费观看| 欧美日韩一级黄| 欧美日韩国产一级| 欧美人xxxx| 日韩欧美高清dvd碟片| 日韩欧美www| 国产亚洲一区二区三区| 欧美激情一区二区三区四区 | 亚洲一二三级电影| 午夜国产不卡在线观看视频| 免费成人性网站| 国产一区啦啦啦在线观看| 国产精品99精品久久免费| 粉嫩av一区二区三区在线播放| 风间由美一区二区三区在线观看| 成人激情开心网| 91久久免费观看| 欧美高清性hdvideosex| 久久综合色综合88| 中文字幕日韩一区二区| 亚洲在线成人精品| 麻豆91精品91久久久的内涵| 国产成人综合在线播放| 99久久亚洲一区二区三区青草| 欧美色国产精品| 精品国产乱码久久久久久老虎| 欧美激情一区二区三区全黄| 亚洲一二三四区| 久久成人免费电影| 99久久综合99久久综合网站| 欧美四级电影在线观看| 日韩视频一区二区在线观看| 国产人成一区二区三区影院| 一区二区三区中文字幕电影| 日韩高清在线电影| 成人国产电影网| 欧美日本不卡视频| 国产精品乱子久久久久| 三级在线观看一区二区| av在线不卡电影| 欧美岛国在线观看| 亚洲男人的天堂av| 国产精品一区二区x88av| 在线一区二区三区四区| 亚洲精品一区二区三区精华液| 亚洲精品伦理在线| 国产成人免费在线观看| 69av一区二区三区| 自拍视频在线观看一区二区| 久久国内精品视频| 日本精品一区二区三区高清 | 欧美极品另类videosde| 亚洲成人777| 91丨九色porny丨蝌蚪| 精品国产一区二区三区不卡| 亚洲一区二区三区在线播放| 成人在线视频一区二区| 欧美成人艳星乳罩| 亚洲国产精品麻豆| 97se狠狠狠综合亚洲狠狠| 久久综合色之久久综合| 日韩av网站免费在线| 精品视频在线视频| 一区在线播放视频| 国产成人免费视| 久久夜色精品国产噜噜av| 日韩av中文字幕一区二区三区 | 国模一区二区三区白浆| 欧美日精品一区视频| 亚洲欧美一区二区在线观看| 国产在线播精品第三| 欧美大度的电影原声| 亚洲成年人影院| 欧美日韩一区在线观看| 夜夜嗨av一区二区三区中文字幕| eeuss鲁一区二区三区| 国产亚洲精品7777| 国产一区二区成人久久免费影院 | 欧美日韩中文字幕一区二区| 亚洲久草在线视频| 99国产一区二区三精品乱码| 久久久久久久久久久久电影| 黑人精品欧美一区二区蜜桃| 欧美sm美女调教| 蜜桃一区二区三区在线| 日韩亚洲欧美综合| 免费人成网站在线观看欧美高清| 日韩一区二区三区高清免费看看 | 福利视频网站一区二区三区| 久久综合给合久久狠狠狠97色69| 久久电影网站中文字幕| 精品黑人一区二区三区久久| 精品亚洲欧美一区| 久久久777精品电影网影网 | 91精品国产福利| 日本不卡1234视频| 亚洲精品一区二区三区精华液| 国产精品 日产精品 欧美精品| 国产日产欧美精品一区二区三区| 国产成人av一区二区三区在线观看| 国产嫩草影院久久久久| 不卡欧美aaaaa| 一区二区三区中文字幕电影| 欧美乱熟臀69xxxxxx| 久久国产精品色| 欧美激情综合在线| 91成人在线观看喷潮| 奇米影视7777精品一区二区| 久久一夜天堂av一区二区三区| 成人国产精品免费| 亚洲第一av色| 精品国产在天天线2019| 不卡av在线免费观看| 午夜影院久久久| 国产性色一区二区| 色婷婷国产精品| 蜜臀久久99精品久久久画质超高清 | 精品国产三级电影在线观看| 成人app软件下载大全免费| 香蕉久久夜色精品国产使用方法| 日韩欧美电影在线| 91女厕偷拍女厕偷拍高清| 日韩和欧美一区二区三区|