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

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]引言 隨著嵌入式技術(shù)的迅猛發(fā)展,人機(jī)交互界面也越來(lái)越顯示出它的重要性。實(shí)際的LCD應(yīng)用中要顯示的漢字一般很有限,并不需要完整的漢字庫(kù),再加上完整字庫(kù)在程序中要占用大量空間,因而非完整漢字庫(kù)的研究就有了其自

引言

隨著嵌入式技術(shù)的迅猛發(fā)展,人機(jī)交互界面也越來(lái)越顯示出它的重要性。實(shí)際的LCD應(yīng)用中要顯示的漢字一般很有限,并不需要完整的漢字庫(kù),再加上完整字庫(kù)在程序中要占用大量空間,因而非完整漢字庫(kù)的研究就有了其自身的現(xiàn)實(shí)必要性。本文以AT91SAM7S256處理器的LCD顯示模塊為例,介紹了非完整漢字庫(kù)的建立方法及其具體實(shí)現(xiàn)。

1  液晶顯示原理

液晶顯示器LCD (Liquid Crystal Display)主要用于文本、圖形及圖像信息的顯示。液晶顯示屏具有輕薄、體積小、耗電量低、無(wú)輻射、平面直角顯示以及影像穩(wěn)定不閃爍等特點(diǎn)。液晶是一種介于固態(tài)和液態(tài)之間的有機(jī)化合物。當(dāng)被加熱時(shí),它會(huì)呈現(xiàn)透明的液態(tài),而冷卻的時(shí)候會(huì)結(jié)晶成混亂的固態(tài)。用于液晶顯示器的是Nematic液晶,當(dāng)向液晶通電時(shí),液晶體分子便排列得井然有序,可以使光線容易通過;而不通電時(shí),液晶分子便排列混亂,阻止光線通過。
??從整體來(lái)看,TN(扭曲向列型)單色液晶顯示器液晶分子的排列就像螺旋形的扭轉(zhuǎn)排列。光線從上向下照射時(shí),通常只有一個(gè)角度的光線能夠穿透下來(lái),通過上濾光片導(dǎo)入上部夾層的溝槽中,再通過液晶分子扭轉(zhuǎn)排列的通路從下濾光片穿出。一旦通過電極給這些液晶分子加電之后,液晶分子變成豎立的狀態(tài),這樣光線就無(wú)法通過,結(jié)果在顯示屏上出現(xiàn)黑色。這樣會(huì)形成透光時(shí)(即不加電時(shí))為白、不透光時(shí)(加電時(shí))為黑,字符就可以顯示在屏幕上了。

2  漢字信息的編碼知識(shí)

2.1 漢字的編碼標(biāo)準(zhǔn)

漢字系統(tǒng)對(duì)每個(gè)漢字預(yù)先規(guī)定輸入計(jì)算機(jī)中的代碼,即漢字的外部碼。計(jì)算機(jī)為了識(shí)別漢字,要把漢字的外部碼轉(zhuǎn)換成內(nèi)部碼進(jìn)行存儲(chǔ)和處理。輸出時(shí),還將漢字的內(nèi)部碼轉(zhuǎn)換成漢字的字形碼。主要的漢字編碼有以下幾種:

1) 國(guó)標(biāo)碼:計(jì)算機(jī)與其他系統(tǒng)或設(shè)備之間進(jìn)行漢字代碼信息交換的標(biāo)準(zhǔn)漢字代碼。它用兩個(gè)字節(jié)代碼來(lái)表示一個(gè)漢字。行、列各 94(0-93),用先行后列的兩個(gè) 7 位二進(jìn)制數(shù)表示。

2) 區(qū)位碼:每個(gè)漢字(圖形符號(hào))用兩個(gè)字節(jié)表示,每個(gè)字節(jié)只用低 7 位,即最高位為 0 的二進(jìn)制碼。漢字編碼使用的高字節(jié)稱為區(qū)碼,低字節(jié)稱為位碼。區(qū)位碼共 94 個(gè)區(qū),每個(gè)區(qū)有 94 個(gè)位,組成一個(gè) 94*94 的矩陣。

3) 機(jī)內(nèi)碼:中文或西文信息在計(jì)算機(jī)系統(tǒng)中的代碼表示稱為機(jī)內(nèi)碼。是計(jì)算機(jī)對(duì)漢字進(jìn)行存儲(chǔ)、運(yùn)算的實(shí)際代碼。一般用連續(xù)兩個(gè)字節(jié)表示漢字的內(nèi)碼且每個(gè)字節(jié)最高位為 1。

2.2 區(qū)位碼、國(guó)標(biāo)碼和機(jī)內(nèi)碼之間的轉(zhuǎn)換關(guān)系

(區(qū)位碼的十六進(jìn)制表示)+A0A0H=機(jī)內(nèi)碼。國(guó)標(biāo)碼+8080H =(區(qū)位碼的十六進(jìn)制表示)+A0A0H。國(guó)標(biāo)碼=(區(qū)位碼的十六進(jìn)制表示)+2020H。

3  完整漢字庫(kù)下的漢字顯示以及漢字英文混合顯示

3.1 完整漢字庫(kù)下的漢字顯示原理

漢字的輸出是將漢字的筆劃離散化,用點(diǎn)陣來(lái)表示。點(diǎn)陣的中每個(gè)點(diǎn)位只有兩種狀態(tài):有筆畫(1)、無(wú)筆畫(0)。描述漢字點(diǎn)陣信息的二進(jìn)制代碼集稱為漢字的字模。所有漢字和符號(hào)的點(diǎn)陣信息就組成了漢字庫(kù)。

點(diǎn)陣字庫(kù)文件已經(jīng)給使用者提供好了,關(guān)鍵在于如何取得漢字的圖形,即漢字的點(diǎn)陣字模。首先看一下如何取得漢字的區(qū)位碼。計(jì)算機(jī)在處理漢字和 ASCII 字符時(shí) ,使每個(gè) ASCII字符占用一個(gè)字節(jié),而一個(gè)漢字占用兩個(gè)字節(jié),其值稱為漢字的內(nèi)碼。其中第一個(gè)字節(jié)的值為區(qū)號(hào)加上 32(20H),第二個(gè)字節(jié)的值為位號(hào)加上 32(20H)。為了與 ASCII 字符區(qū)別開,表示漢字的兩個(gè)字節(jié)的最高位都是 1,也就是兩個(gè)字節(jié)的值都又加上了 128(80H)。這樣,通過漢字的內(nèi)碼,就可以計(jì)算出漢字的區(qū)位碼。具體算式如下:
  qh=c1-32-128=c1-160, wh=c2-32-128=c2-160 或 qh=c1-0xa0, wh=c2-0xa0
  其中 qh 、wh 為漢字的區(qū)號(hào)和位號(hào),c1、c2 為漢字的第一字節(jié)和第二字節(jié)。
  根據(jù)區(qū)號(hào)和位號(hào)可以得到漢字字模在文件中的位置:
  location=(94*(qh-1)+(wh-1))*一個(gè)點(diǎn)陣字模的字節(jié)數(shù)。

字模的表示順序?yàn)椋合葟淖蟮接?,再?gòu)纳系较拢来祟愅?,畫滿 16×16 個(gè)點(diǎn)。這樣,一個(gè) 16×16 點(diǎn)陣的漢字總共需要 16*16/8=32 個(gè)字節(jié)表示。因此,當(dāng)顯示16×16 點(diǎn)陣的漢字時(shí),只要根據(jù)區(qū)碼和位碼計(jì)算出該漢字點(diǎn)陣在ROM 中存放的起始地址,然后從此地址連續(xù)地取出 32 個(gè)字節(jié)的漢字點(diǎn)陣,并寫入 LCD 模塊對(duì)應(yīng)的地址中,就可以顯示出該漢字。

3.2 漢字英文混合顯示

在應(yīng)用中,常需要漢字和英文字符混合顯示,在軟件處理時(shí)需要判斷顯示的內(nèi)容是漢字的編碼還是英文字符的編碼,如果是漢字編碼則根據(jù)其機(jī)內(nèi)碼計(jì)算區(qū)位碼,并根據(jù)區(qū)位碼計(jì)算出該漢字在字模中的起始地址。顯示16×16 點(diǎn)陣漢字的混合顯示軟件流程圖如圖1所示:

圖1混合顯示軟件流程圖

按照以上的顯示原理可以編寫出在完整漢字庫(kù)下的漢字英文混合顯示程序,具體程序代碼在很多資料中都有,這里就不再贅述。

4  非完整漢字庫(kù)的建立及漢字英文混合顯示

4.1 非完整漢字庫(kù)的建立

在很多的人機(jī)界面中,雖然顯示的漢字?jǐn)?shù)量較多,但實(shí)際無(wú)重復(fù)的漢字?jǐn)?shù)卻較少,而且不同的應(yīng)用環(huán)境用到的漢字也有其自身的特殊性。如果是提供少量的互不重復(fù)的漢字,較好的做法如下:利用 DM Tool 字模轉(zhuǎn)化工具生成所需要的漢字模,然后利用 123.exe 軟件生成相應(yīng)的機(jī)內(nèi)碼。接下來(lái)就可將以上所得到的漢字的機(jī)內(nèi)碼和其字模合在一起組成數(shù)組,如此反復(fù)就可以將所需要的所有漢字都形成數(shù)組,最后將這些漢字組成二維數(shù)組。如下所示:

const UINT16T DDSHZTable[][17] = {

{     //時(shí)

    0xCAB1, //機(jī)內(nèi)碼

    0x0010, 0x0010, 0x7c10, 0x4410, 0x47fe, 0x4410, 0x7c10, 0x4510,

    0x4490, 0x4490, 0x7c10, 0x0010, 0x0010, 0x0010, 0x0050, 0x0020//字模

},

……

}

在定義上面的二維數(shù)組時(shí)不規(guī)定數(shù)組的大小,這樣就可以方便地添加自己需要的漢字。要顯示特定漢字的時(shí)候,只需要從數(shù)組中查找內(nèi)碼與要求漢字內(nèi)碼相同的即可獲得字模。

4.2 軟硬件設(shè)計(jì)

下面結(jié)合AT91SAM7S256處理器介紹LCD 模塊的軟硬件設(shè)計(jì)過程。

4.2.1  硬件電路設(shè)計(jì)

LCD 模塊采用 PM04OX1,LED 背光。320*96 點(diǎn)陣,256 色顯示,亮度控制:6位。背光LED :6支(串聯(lián)),亮度控制 2位,背光電流 2.5mA~20mA。CN7,CN8: 連接LCD面板 PM042OX1; CN6: LCD背光電源;U6: Timing Controller,PVI-2003A; U8: VS_ASIC, MCU-LCD 接口轉(zhuǎn)換邏輯。以下介紹 MCU-VS_ASIC-Timing Controller 硬件接口。連接 LCD 面板的接口信號(hào)包括: LCDCLK, R[5:0],G[5:0],B[5:0], VSHS 和 VSVS。其中 VSHS, VSVS 來(lái)源于 MCU 的PIO; LCDCLK來(lái)源于 MCU-SPI的 NPCS3; R[5:0],G[5:0],B[5:0]是 U8 根據(jù) MCU-SPI 的VSCK(SPI-SCK)、VSDO(SPI-MOSI)、LCDCLK (SPI-NPCS3)和 VSVS 產(chǎn)生。

LED 驅(qū)動(dòng) (LED0~LED15) 是 U8 根據(jù) MCU-SPI 的 VSCK(SPI-SCK)、VSDO(SPI-MOSI)、LCDCLK(SPI-NPCS3) 和 VSVS 產(chǎn)生。 LCD掃描方向選擇:RP1、RP2 為 LCD 掃描方向選擇,它們只能焊接其中的 1 只。LCD驅(qū)動(dòng)原理框圖如圖2所示:

圖2 LCD驅(qū)動(dòng)原理框圖

4.2.2  軟件設(shè)計(jì)

通過 SPI-DMA 完成一個(gè)整行的掃描過程。在該過程中,DMA(直接存儲(chǔ)器存取) 向 SPI(串行外設(shè)接口) 傳輸 400 個(gè) 8 位數(shù)據(jù)。一個(gè)完整周期需要有 104 行掃描。其中第 0 行掃描的前 3 個(gè)數(shù)據(jù)為 PMRAM 數(shù)據(jù),其他數(shù)據(jù)無(wú)意義(可以是任何數(shù))。第 1 行和第 103 行掃描的全部數(shù)據(jù)均無(wú)意義;第 2~102行為數(shù)據(jù)掃描,每一行數(shù)據(jù)中前 64 個(gè)和后 16 個(gè)數(shù)據(jù)無(wú)意義,中間 320 個(gè)數(shù)據(jù)為顯示數(shù)據(jù)。

LCD驅(qū)動(dòng)過程是由 SPI-DMA 操作配合 SPI-DMA 中斷服務(wù)程序完成的。應(yīng)當(dāng)指出的是,在MCU相應(yīng)的設(shè)備按要求初始化后,由于沒有啟動(dòng)SPI-DMA,LCD驅(qū)動(dòng)過程不能自動(dòng)開始。因此顯示初始化程序應(yīng)當(dāng):[!--empirenews.page--]

1) 設(shè)置SPI;

2) 設(shè)置TIMER1(可以啟動(dòng)TIMER);

3) 設(shè)掃描行指針n=0;

4) 設(shè)DMA傳輸數(shù)據(jù)格式(8位/次,400個(gè)數(shù)據(jù));

5) 啟動(dòng)DMA。

以上過程在完成一行空掃描后, 進(jìn)入連續(xù)的 LCD 掃描過程。

4.3 程序舉例

以下列出了16x16方陣漢字顯示的部分程序代碼:

            wm = *(s + i + 1);  //計(jì)算位碼

            ISN = qm<<8;               

ISN += wm;          //機(jī)內(nèi)碼

            ii=0;               //先定位在第一個(gè)漢字

            while((ISN!=DDSHZTable[ii][0]) && (DDSHZTable[ii][0] !=0xffff) )

                    ii++;       //尋找與ISN相同的機(jī)內(nèi)碼,即尋找要顯示的漢字

            for( j = 0; j < 16; j ++ )

                hzbuf[j] = DDSHZTable[ii][j+1];//取字模

               for( y = 0; y < 16; y++ ){

                for( x = 0; x < 16; x++,Hk++ ){

                        Hk = Hk % 16;

                   if( hzbuf[y]  & (0x8000 >> Hk) ){

//確定y行x列是否有筆畫

                        xx = x0 + x + ChiWords * 16;

                        LCDRam[y+y0][xx]  = ForeColor;//顯示像素

                    }

               }

           }

顯示英文字符的原理及程序代碼與漢字的類似,就不再贅述。

5 結(jié)束語(yǔ)

建立非完整漢字庫(kù)最大的特點(diǎn)是可以按照現(xiàn)實(shí)需要柔性地顯示漢字、軟件編程容易、可混合顯示漢字和英文字符。作為人機(jī)交互界面的重要部分它可被廣泛應(yīng)用于工業(yè)控制、醫(yī)療、科研以及教學(xué)等領(lǐng)域。

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

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

香港2022年10月18日 /美通社/ -- 淘屏有限公司(納斯達(dá)克:TAOP,簡(jiǎn)稱"淘屏"或"公司"),今日宣布與江蘇蘇立信文化創(chuàng)意...

關(guān)鍵字: 數(shù)字多媒體 大屏 LCD LED

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

Lua RTOS 是一個(gè)實(shí)時(shí)操作系統(tǒng),設(shè)計(jì)在嵌入式系統(tǒng)上運(yùn)行,對(duì) FLASH 和 RAM 內(nèi)存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺(tái),并可以輕松移植到其他32位...

關(guān)鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)

數(shù)字電源

15504 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉