www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]引言近年來,以單片機以及嵌入式系統(tǒng)平臺為基礎(chǔ)的各種智能終端廣泛應(yīng)用于各行各業(yè)的專用設(shè)備和產(chǎn)品中,也將逐漸滲透到家用電器和各種消費類電子產(chǎn)品中。單片機以其價格低廉、技術(shù)成熟而廣泛應(yīng)用于各種低端產(chǎn)品之中,

引言

近年來,以單片機以及嵌入式系統(tǒng)平臺為基礎(chǔ)的各種智能終端廣泛應(yīng)用于各行各業(yè)的專用設(shè)備和產(chǎn)品中,也將逐漸滲透到家用電器和各種消費類電子產(chǎn)品中。

單片機以其價格低廉、技術(shù)成熟而廣泛應(yīng)用于各種低端產(chǎn)品之中,但是由于單片機的尋址能力有限,限定了其最大的存儲空間。比如最常用的MCS-51單片機,其直接尋址的數(shù)據(jù)存儲空間為64k字節(jié),如果通過擴展來得到更大的存儲空間,既增加了系統(tǒng)成本,也為數(shù)據(jù)讀取操作帶來了不便(對擴展區(qū)間的訪問要通過端口操作實現(xiàn))。所以在單片機系統(tǒng)的設(shè)計中,存儲空間的大小是一個很重要的因素。

在PC機上的漢字顯示,是來自存儲在PC機上的漢字庫。漢字庫中的漢字以點陣形式組成。如果以一個16x16點陣的漢字庫作為基本字模庫,每個漢字占32 個字節(jié)。GB2312中規(guī)定了6763個二級漢字,則需要的存儲空間大體為6763×32字節(jié),約200多K字節(jié)。顯然,如果要在單片機終端上顯示漢字,不可能把以上所有的“漢字庫”信息都放在單片機系統(tǒng)的存儲空間中。

本文以我實驗室獨立開發(fā)的智能餐飲信息系統(tǒng)為例,首先介紹關(guān)于漢字顯示的基礎(chǔ)知識,然后說明在實際應(yīng)用中如何對系統(tǒng)漢字庫進行裁減,只保留需要在終端上顯示的“漢字庫”信息,最后介紹在實際應(yīng)用中會涉及到的有關(guān)字模提取和字模轉(zhuǎn)化的處理方法。

1:關(guān)于漢字顯示的基礎(chǔ)知識

在中文WIN9X下,我們輸入一個雙八位字節(jié),就得到一個漢字,就會認為這雙八位字節(jié)就是對應(yīng)這樣的字形,這是錯誤的。這個雙八位字節(jié)被稱為漢字的內(nèi)碼(詳見下文),內(nèi)碼對于字庫來說,只是查找字形的索引。通過這個雙八位字節(jié)可以唯一的從漢字庫中查詢得到其對應(yīng)的漢字字形數(shù)據(jù)(字模)。對應(yīng)不同編碼標準的字體,內(nèi)碼對應(yīng)了不同的字形。我們常用的是國標GB2312<<信息交換用漢字編碼字符集>>,包含了最常用的簡體中文文字。

如果系統(tǒng)所使用的“漢字庫”中每個漢字按16x16點陣模式存放,則每個漢字由16x16=256個點組成,占用16x2=32個字節(jié)的連續(xù)內(nèi)存單元。每個字節(jié)有8位,每一位都有兩種狀態(tài),即亮或暗,分別用1或0來表示。在16x16點陣中,用各個位的亮暗來表示一個字,凡是筆畫經(jīng)過的地方都為1(亮), 沒有筆畫的地方都為0(暗),這樣就可以表示不同的漢字。

圖1 是“大”字16x16點陣模式排列放大后的結(jié)果。

在PC機中,組成字模的32個字節(jié)默認的排列順序如圖2所示:每行兩個字節(jié),低字節(jié)為DB0~DB7,高字節(jié)為DB8~DB15,每字節(jié)8比特,共16行32個字節(jié)。圖中標出了第1、第2個字節(jié)和第31、第32個字節(jié)的存放位置。

于是,我們可以得到“大”字的漢字字模(32個字節(jié),10進制表示):(1,0,1,0,1,0,1,0,1,4,255,254,1,0,2,128,2,128,2,64,4,64,4,32,8,16,16,14,96,4,0,0)

2.字模提取及數(shù)據(jù)文件下載

2.1 在實際應(yīng)用中,需要進行字模提取來適應(yīng)有限的存儲空間

我實驗室獨立開發(fā)的餐飲業(yè)信息系統(tǒng)中就是應(yīng)用單片機來實現(xiàn)智能點菜終端。系統(tǒng)構(gòu)成如圖3所示:

在以上系統(tǒng)中,終端中存儲著所有的菜譜信息,操作員通過點菜終端可以瀏覽菜譜。簡單的操作流程為:當(dāng)操作員通過終端點好了菜以后,終端以無線方式將菜肴信息發(fā)送到基站,基站通過串口將數(shù)據(jù)發(fā)送給服務(wù)器,服務(wù)器對數(shù)據(jù)進行處理之后要進行入庫、打印和向終端返回等操作。

在本系統(tǒng)中所采用的單片機為MSC-51,帶32K的外部RAM和128K的FLASH存儲器。其中,128K字節(jié)的FLASH存儲空間用作數(shù)據(jù)存儲器,記錄了菜譜、桌位等和業(yè)務(wù)相關(guān)的信息,另外有64K字節(jié)用作存儲漢字庫(字模)。

GB2312中規(guī)定常用的兩級漢字6763個(每個漢字有32字節(jié)),占用200多K字節(jié)的存儲空間。顯然,不能把漢字庫中的所有漢字字模都下載到終端上,只能是選擇終端需要顯示的漢字的字模進行提取和下載。終端的64K存儲空間可以存儲大約2000個漢字。在實際應(yīng)用中一般酒店的菜肴數(shù)量在 200~600之間,要用到的漢字數(shù)在400~1800之間,所以64K的存儲空間足夠本系統(tǒng)的應(yīng)用。

2.2 如何進行字模提取和下載處理

在本系統(tǒng)中,終端數(shù)據(jù)存儲區(qū)中的字庫信息、菜譜、桌位等業(yè)務(wù)信息是從服務(wù)器上下載得到的。首先,服務(wù)器中的處理程序提取相關(guān)數(shù)據(jù)并生成各個下載信息文件,然后處理程序?qū)⑦@些下載文件下載到終端上。系統(tǒng)和終端通過串口線相連,以串口通信方式將數(shù)據(jù)下傳到終端的數(shù)據(jù)存儲區(qū)。

字模裁減及填充終端字庫下載文件流程如圖4 所示:

首先,運行在服務(wù)器上的處理程序遍歷數(shù)據(jù)庫中的菜譜表、桌位表等所有包含下載信息的、帶有漢字的表記錄。從中找到需要下載的漢字,根據(jù)這些漢字的內(nèi)碼,從系統(tǒng)字庫中得到漢字的字模,經(jīng)過字模轉(zhuǎn)化(在后面介紹),然后保存在字庫下載文件中。

為了保證下傳的漢字字模不會重復(fù),在數(shù)據(jù)庫中創(chuàng)建一個“漢字表”來存儲每個經(jīng)過篩選的漢字的信息。表中有兩個字段,一個用來存儲漢字的內(nèi)碼,另一個用來存儲該漢字字模在字庫下載文件中的偏移地址(終端程序可以通過某個漢字在字庫下載文件中的偏移地址來唯一確定該漢字的字模存放位置)。每得到一個漢字的內(nèi)碼時,先到漢字表中查詢表中是否已經(jīng)包含了該漢字,再決定是否進行提取和下載處理。

然后,處理程序逐個遍歷菜譜表、桌位表等數(shù)據(jù)表項來生成菜譜下載文件、桌位下載文件等。這些下載文件中涉及到的漢字,以該漢字的字模在終端下載字庫文件中的偏移地址來標識。這樣每個漢字可以用兩個字節(jié)唯一標識。

最后,處理程序?qū)⒁陨线@些下載文件通過串口下傳給終端,終端將下載文件的內(nèi)容保存在數(shù)據(jù)存儲區(qū)中,并記錄存放字庫下載文件數(shù)據(jù)區(qū)的起始地址,記為A。當(dāng)需要顯示漢字時,終端程序先得到該漢字在下載文件中的偏移地址,記為B,然后計算出該漢字字模的存放位置(A+B),從此位置開始連續(xù)讀取32字節(jié),就得到了該漢字字模數(shù)據(jù),之后通過驅(qū)動液晶屏將漢字顯示出來。

3.需要注意的關(guān)鍵技術(shù)

3.1 漢字字模的提取

先說明一下在中文信息交換標準GB2312中涉及到的三個概念:區(qū)位碼、國標碼、內(nèi)碼。

中文國標字符集是一個94×94的矩陣,其中每一個漢字(包括數(shù)字、英文字母和標點符號)都是二維矩陣中的某個元素。這樣,每一個漢字都可以用一個二元組來表示(x,y)。其中,x是該字所在的行號,y為列號。

GB2312在此基礎(chǔ)上對矩陣進行劃分,分為94個區(qū),每區(qū)94位,x定義了該字所在的行號,y表示該字所在的位號,x和y均以二進制或十六進制表示。這就是“區(qū)位碼”,例如:“啊”字的區(qū)位碼為(0x10,0x01),表示位于16區(qū)第一位。于是漢字庫中的字模存放位置(相對于字庫文件頭的偏移地址)可以由區(qū)位碼計算得到:偏移地址=區(qū)碼×94+位碼。那么“啊”字的字模相對于字庫文件頭的偏移地址等于16×94+1=1505(十進制表示)。

但是許多低位數(shù)字已被其它領(lǐng)域所占用,比如:0x06表示通信確認回答標志。為了不與已經(jīng)存在的信碼相混淆,GB2312在每個區(qū)位碼上加上0x20,這樣形成的碼叫國標碼。例如:“啊”字的國標碼為(0x30,0x21)。

由于通用的ASCII字符的最高位為0,為了在計算機內(nèi)部和之間傳輸漢字時可以和ASCII碼區(qū)別開來,將表示漢字的兩個字節(jié)的最高位都置1。這樣,相當(dāng)于在國標碼基礎(chǔ)上高低字節(jié)同時加了0x80,這就是上面提到的內(nèi)碼。比如:“啊”字的內(nèi)碼為(0xB0,0xA1)。在計算機內(nèi)部,用內(nèi)碼來唯一標識一個漢字。在程序中,通過調(diào)用系統(tǒng)函數(shù)取得某個漢字的ASCII字符表示,也就得到了這個漢字的內(nèi)碼。

在明白了內(nèi)碼和區(qū)位碼之間的關(guān)系后,我們可以根據(jù)某個漢字的內(nèi)碼計算得到該漢字的區(qū)位碼;再通過區(qū)位碼計算得到該漢字的字模在漢字庫表中的偏移地址;從此地址開始的連續(xù)32個字節(jié)就是該漢字的字模信息。

3.2 字模轉(zhuǎn)換

圖1中所示的漢字顯示與字模存放的關(guān)系是PC機中的字模存儲格式。而在單片機系統(tǒng)中,選擇不同的液晶驅(qū)動器要求有不同的字模存儲方式。比如我們在實際應(yīng)用中,使用的是清華蓬遠科貿(mào)公司的HD61202液晶驅(qū)動器。圖5 指示了HD61202液晶驅(qū)動器所要求的字模存放與漢字顯示的關(guān)系。圖中標明了標出了第1、第2個字節(jié)和第31、第32個字節(jié)的存放位置。

 

造成漢字顯示與字模存放有這樣關(guān)系是因為不同的液晶驅(qū)動器有不同的掃描顯示方式。所以,為了能夠?qū)h字正確的顯示出來,針對不同的液晶驅(qū)動要做相應(yīng)的字模轉(zhuǎn)化。字模轉(zhuǎn)化可以自編一個轉(zhuǎn)化函數(shù)來實現(xiàn),在寫入終端字庫下載文件前將32個字節(jié)的字模按位轉(zhuǎn)化為需要的格式,再按字節(jié)順序存入下載文件。

經(jīng)過轉(zhuǎn)化之后,“大”字的字模(32個字節(jié))變成:(32,32,32,32,32,32,160,127,0,64,64,32,16,12,3,0,160,32,32,32,32,48,32,0,1,6,8,16,32,96,32,0), 這就是存放在終端下載字庫中的字模格式。

參考資料:
1:《單片機應(yīng)用系統(tǒng)設(shè)計》 何立民 北京航空航天大學(xué)出版社 1994
2:《漢字編碼標準與識別》
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

深圳2025年7月25日 /美通社/ -- 在人工智能持續(xù)演進、大模型加速應(yīng)用、邊緣計算架構(gòu)日益成熟的推動下,智能終端正邁向更高性能、更強感知與更高開放性的全新階段...

關(guān)鍵字: 開源 高通 模型 智能終端

深圳2025年4月11日 /美通社/ -- 2025年4月10日,國際獨立第三方檢測、檢驗和認證機構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵&q...

關(guān)鍵字: 人工智能 網(wǎng)絡(luò)安全 智能終端 電子電氣

憑借在技術(shù)生態(tài)系統(tǒng)中所處的獨特地位,Arm 對全方位高度專業(yè)化、互聯(lián)的全球半導(dǎo)體供應(yīng)鏈有著充分的了解,覆蓋數(shù)據(jù)中心、物聯(lián)網(wǎng)、汽車、智能終端等所有市場。因而,Arm 對未來技術(shù)的發(fā)展方向及未來幾年可能出現(xiàn)的主要趨勢有著廣泛...

關(guān)鍵字: 數(shù)據(jù)中心 物聯(lián)網(wǎng) 智能終端

拉斯維加斯2025年1月9日 /美通社/ -- 1月9日,在2025國際消費電子展覽會(CES)期間,廣和通發(fā)布集智能語音交互及翻譯、4G/5G全球漫游、隨身熱點、智能娛樂、...

關(guān)鍵字: AI 智能終端 COM 無線通信

深圳2024年10月14日 /美通社/ -- 10月14日,榮耀正式宣布將推出行業(yè)首個搭載跨應(yīng)用開放生態(tài)智能體的個人化全場景AI操作系統(tǒng)MagicOS 9.0。MagicOS 9.0發(fā)布會及開發(fā)者大會將于10月23日-1...

關(guān)鍵字: 榮耀MAGIC OS 智能體 智能終端

深圳2024年10月11日 /美通社/ -- 2024年10月11日至13日,第12屆中國移動合作伙伴大會在廣州盛大舉行。TCL以"智慧融合"為主題,攜手機智能終端、智能家電、商業(yè)解決方案及AI業(yè)務(wù)四...

關(guān)鍵字: TCL 中國移動 智能終端 PAPER

深圳2024年9月2日 /美通社/ -- 榮耀終端有限公司與北京智譜華章科技有限公司(以下簡稱"智譜")簽署AI大模型技術(shù)聯(lián)合實驗室戰(zhàn)略合作協(xié)議,榮耀產(chǎn)品線總裁方飛、研發(fā)管理總裁劉洋、清華大學(xué)計算機系教授唐杰、智譜 CO...

關(guān)鍵字: 模型 榮耀 AI 智能終端

上海2024年8月30日 /美通社/ -- 上海國際消費電子技術(shù)展(TechG)將于2024年10月10-12日在上海新國際博覽中心盛大舉辦。展會由上海市人民政府批準,上海市經(jīng)濟和信息化委員會、上海市商務(wù)委員會、上海市科...

關(guān)鍵字: 終端 消費電子展 TE 智能終端

深圳2024年8月22日 /美通社/ -- 回望過去,智能終端的發(fā)展經(jīng)歷了從功能單一到多元、從笨重到輕便、從低性能到高性能的深刻變革。早期的智能終端受限于存儲技術(shù)和處理器能力,用戶體驗往往不盡如人意。然而,隨著半導(dǎo)體技術(shù)...

關(guān)鍵字: 智能終端 EMMC 終端設(shè)備 AD

大家都知道進行單片機編程和計算機編程有個最大的差別就是單片機的資源非常的有限,并且對于大部分低端單片機而言都沒有操作系統(tǒng)。

關(guān)鍵字: C語言 存儲空間
關(guān)閉