在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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)用 > 一種低功耗的便攜式人機界面系統(tǒng)

            一種低功耗的便攜式人機界面系統(tǒng)

            作者: 時間:2011-11-19 來源:網(wǎng)絡(luò) 收藏

            2.3 SPI接口Flash存儲疊的特點

            本文引用地址:http://www.biyoush.com/article/150048.htm

              由于在本中整個的漢字字庫需要存儲在外部Flash中,所以需要選擇一種Flash存儲芯片,F(xiàn)lash芯片選擇需要滿足以下要求。第一,盡量占用少的IO口,因為液晶顯示器已經(jīng)采用了并行接口,如果繼續(xù)選用并行接口的Flash,對芯片的IO消耗較大,這樣勢必要選用IO更多的芯片,對于設(shè)備來說,這是不合理的,所以本的設(shè)計過程中選用的Flash為SST公司的SST25VF080B,它采用SPI接口,SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議,本文中的SPI Flash采用美國SST公司的SST25VF080B芯片,容量為8 M位,它工作電壓范圍為2.7~3.6 V,工作在SPI模式0或者模式3,最高工作在50MHz,最小擦除單位為4K字節(jié)的扇區(qū),可擦寫10萬次,數(shù)據(jù)保持100年以上。而STM32F103RBT6帶有高速的硬件SPI接口,可以很方便與SST25VF080B連接通信。所以我們采用SPI Flash來完成對漢字字庫的存儲,字庫存儲部分的硬件電路接口圖如圖3所示。

              

            字庫存儲部分的硬件電路接口圖

              3 軟件設(shè)計

              系統(tǒng)軟件包括字庫的調(diào)用和TFT液晶顯示軟件設(shè)計兩個部分,字庫調(diào)用主要是通過STM32F103RBT6的SPI接口調(diào)用存儲在SST25VF080B中的中文字庫。TFT液晶顯示部分主要是通過STM32F103RBT6通用I/O口模擬16位的8080并口,實現(xiàn)對液晶顯示器的驅(qū)動,在軟件設(shè)計的過程中需要注意一個問題。就是不同字庫編碼的標(biāo)準(zhǔn)時不一樣的,所以在解碼時略有不同,常用的漢字字庫有GB2312字庫和GBK字庫兩種。

              3.1 GB2312字庫和GBK字庫

              GB2312收錄簡化漢字及符號、字母、日文假名等共7 445個圖形字符,其中漢字占6 763個。GB2312規(guī)定“對任意一個圖形字符都采用兩個字節(jié)表示,每個字節(jié)均采用七位編碼表示”,習(xí)慣上稱第一個字節(jié)為“高字節(jié)”,第二個字節(jié)為“低字節(jié)”。GB2312—80包含了大部分常用的一、二級漢字,和9區(qū)的符號。該字符集是幾乎所有的中文系統(tǒng)和國際化的軟件都支持的中文字符集,這也是最基本的中文字符集。其編碼范圍是高位0xa1~0xfe,低位也是0xa1~0xfe;漢字從0xb0a1開始,結(jié)束于0xf7fe。GB2312將代碼表分為94個區(qū),對應(yīng)第一字節(jié)(0xa1~0xfe);每個區(qū)94個位(0xa1~0xfe),對應(yīng)第二字節(jié),兩個字節(jié)的值分別為區(qū)號值和位號值加32(20H),因此也稱為區(qū)位碼。01~09區(qū)為符號、數(shù)字區(qū),16~87區(qū)為漢字區(qū)(0xb0~0xf7),10~15區(qū)、88~94區(qū)是有待進一步標(biāo)準(zhǔn)化的空白區(qū)。GB2312將收錄的漢字分成兩級:第一級是常用漢字計3755個,置于16~55區(qū),按漢語拼音字母/筆形順序排列:第二級漢字是次常用漢字計3 008個,置于56~87區(qū),按部首/筆畫順序排列。故而GB2312最多能表示6763個漢字。

              而GBK內(nèi)碼完全兼容GB2312,同時支持繁體字,總漢字?jǐn)?shù)有2萬多個,編碼格式如下,每個GBK碼由2個字節(jié)組成,第一個字節(jié)為0X81~0XFE,第二個字節(jié)分為兩部分,一是0X40~0X7E,二是0X80~0XFE。其中與GB2312相同的區(qū)域,字完全相同。把第一個字節(jié)代表的意義稱為區(qū),那么GBK里面總共有126個區(qū)(0XFE~0X81+1),每個區(qū)內(nèi)有190個漢字(0XFE~0X80+0X7E~0X40+2),總共就有126x190=23 940個漢字。點陣庫只要按照這個編碼規(guī)則從0X8140開始,逐一建立,每個區(qū)的點陣大小為每個漢字所用的字節(jié)數(shù)乘以190。這樣,就可以得到在這個字庫里面定位漢字的方法:

              當(dāng)GBKL0X7F時:Hp=((GBKH-0x81)×190+GBKL-0X40)×(sizex2);

              當(dāng)GBKL>0X80時:Hp=((GBKH-0x81)×190+GBKL-0X41)×(sizex2);

              其中GBKH、GBKLL分別代表GBK的第一個字節(jié)和第二個字節(jié)(也就是高位和低位),size代表漢字字體的大小(比如16字體,12字體等),Hp則為對應(yīng)漢字點陣數(shù)據(jù)在字庫里面的起始地址。



            評論


            相關(guān)推薦

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

            關(guān)閉