基于AVR單片機的嵌入式拼音輸入法_第1頁
基于AVR單片機的嵌入式拼音輸入法_第2頁
基于AVR單片機的嵌入式拼音輸入法_第3頁
基于AVR單片機的嵌入式拼音輸入法_第4頁
基于AVR單片機的嵌入式拼音輸入法_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

--------------------------------------------------------------------------------------------------LCD顯示-----拼音輸入法成員:梁林榮孫豐沛任祥祥一、設(shè)計背景隨著近年來嵌入式設(shè)備的廣泛應(yīng)用,人們對其要求變的豐富多樣,而不僅限于簡單的控制操作了。越來越多的界面友好,富有人性化的設(shè)計開始出現(xiàn)在嵌入式設(shè)備上,如智能手機收發(fā)電子郵件、編寫文檔、車載GPS導航查詢等等。所有的這些都離不開人機交互,因而嵌入式設(shè)備的漢字輸入法應(yīng)運而生,足以滿足人們對復雜信息的處理交換要求,而且更加直觀易用。二、設(shè)計思路對于市面上現(xiàn)有的嵌入式設(shè)備,其拼音輸入法大多數(shù)是基于操作系統(tǒng)的,如智能手機等設(shè)備基于Windows或Linux操作系統(tǒng),一般的手機也多基于簡化Linux系統(tǒng),即使是電子詞典等設(shè)備也有其單獨設(shè)計的簡化操作系統(tǒng)?;诓僮飨到y(tǒng)下的輸入法設(shè)計是比較簡單的,因為許多底層函數(shù)接口都已經(jīng)由操作系統(tǒng)提供給設(shè)計者了,只需要通過調(diào)用相應(yīng)的函數(shù)就可以完成輸入法的設(shè)計。我們所完成的漢字拼音輸入法是基于AVRAtmeg16單片機的,限于硬件的規(guī)格,其本身沒有操作系統(tǒng),也不太可能在其上擴展操作系統(tǒng),所以在設(shè)計時是相對困難的,從最底層的LCD顯示函數(shù)、鍵盤輸入函數(shù)到拼音查找字模檢索算法等都需要一一設(shè)計完成。而據(jù)我們了解,在現(xiàn)行的不具備操作系統(tǒng)的嵌入式設(shè)備中,很少有已經(jīng)完整并成功開發(fā)的漢字拼音輸入法,但這些設(shè)備有時是需要人機交互的,漢字拼音輸入法將使其易用性大大提高。因此,我們的設(shè)計彌補了現(xiàn)有市場的一個空白,而其設(shè)計思路完全可以應(yīng)用的其它任何不具備操作系統(tǒng)的簡單的嵌入式設(shè)備中去,在較小的資源占用下就可以完成拼音輸入法的設(shè)計,滿足人們與簡單設(shè)備的交互要求。三、設(shè)計方法1,硬件設(shè)計微程序控制模塊采用Atmel公司的Atmaga16單片機作為主控制器。Atmaga16是一個低功耗,高性能的8位單片機,片內(nèi)含16k空間的可反復擦寫100,000次的Flash存儲器,具有1Kbytes的隨機存取數(shù)據(jù)存儲器(RAM),32個IO口,2個8位可編程定時計數(shù)器,1個16位可編程定時計數(shù)器,四通道PWM,內(nèi)置8路10位ADC,硬件SPI和TWI,可編程看門狗電路,抗干擾能力強,可在電磁干擾環(huán)境下工作。且Mega系列的單片機可以在線編程、調(diào)試,方便地實現(xiàn)程序的下載與整機的調(diào)試。輸入模塊采用自制的4×3矩陣式12鍵鍵盤作為輸入設(shè)備,與Atmaga16的PD口連接。輸出模塊使用采用了ks0108控制器的12864液晶屏幕作為輸出設(shè)備,可顯示4行8列共32個16×16點陣漢字。下圖為系統(tǒng)電路圖下圖為鍵盤功能圖2,軟件設(shè)計A.鍵盤掃描程序采用了矩陣式鍵盤常用的行掃描查詢法。根據(jù)行列線交叉點定位按鍵,然后根據(jù)按鍵編碼查詢得到該鍵的定義。read_keyboard()函數(shù)將返回一個unsignedchar類型的值(0、1、2、3、4、5、6、7、8、9、*、#),程序可以通過調(diào)用該函數(shù)而得到鍵盤的輸入。LCD顯示程序通過查詢LCD的手冊了解其各個寄存器及引腳的定義,編寫LCD的驅(qū)動程序。驅(qū)動程序主要包括以下幾個函數(shù):Check_busy()檢查LCD是否處于忙狀態(tài),只有其空閑時才可以進行數(shù)據(jù)或命令的讀寫。Disp_init()LCD初始化Disp_clear()LCD顯示屏清空Write_com()向LCD寫命令Write_data()向LCD寫數(shù)據(jù)Read_date()從LCD讀數(shù)據(jù)Write_char()在LCD指定位置上顯示一個字符Write_word()在LCD指定位置上顯示一個漢字流程控制主程序這是拼音輸入法設(shè)計的主要部分,通過該程序完成了對輸入、查詢及輸出的整個流程。該主控程序主要分為以下幾個部分:接受鍵盤的輸入并得到一個數(shù)字的組合,如“24”由數(shù)字組合得到相應(yīng)的拼音組合,在“24”的情況下,將得到“ai”“bi”“ci”三個拼音組合并顯示在LCD上通過按鍵選擇某一個拼音,將查詢得到該拼音對應(yīng)的所有漢字并顯示在LCD上選擇相應(yīng)的漢字,它將顯示在文本區(qū)域,從而繼續(xù)進入下一個漢字的輸入流程為了實現(xiàn)以上流程,我們需要用到一個數(shù)據(jù)結(jié)構(gòu),它是一個查詢表,可以將數(shù)字組合、拼音組合及相應(yīng)的漢字字模表聯(lián)系起來,該數(shù)據(jù)結(jié)構(gòu)由以下結(jié)構(gòu)體實現(xiàn):structindex{char*num;數(shù)字組合的指針char*py;拼音組合的指針char**pymb;漢字字模的指針charcha;該拼音組合對應(yīng)的漢字數(shù)};建立index類型的數(shù)組brige,存放410個拼音組合的查詢表,然后建立漢字字模二維數(shù)組,存放所有拼音組合對應(yīng)的漢字字模。程序通過brige數(shù)組將由數(shù)字組合得到拼音組合再由拼音組合得到最終的漢字字模。由于Atmeg16的存儲容量只有16KB(Flash),而漢字字模數(shù)組的大小約為220KB,所以我們沒有將所有漢字字模都存儲到Flash中,只是實現(xiàn)了一部分漢字字模。如果需要進一步擴展,可以用512KB的外部擴展FLASH作為漢字字模存儲載體,與meg16的PC口連接,存儲3783個一級漢字的字模。軟件流程圖:顯示初始化界面顯示初始化界面顯示主文本界面有按鍵按下符合要求的按鍵輸入顯示選擇拼音界面選定某一拼音組合顯示漢字選擇界面選定某一漢字四、設(shè)計總結(jié)一、課程設(shè)計心得整個設(shè)計由初期的定題到硬件準備到軟件編寫調(diào)試,前后大約用了一個月的時間。在定題之后前期的資料搜集比較困難,因為網(wǎng)上相應(yīng)的資料很少,所以整個實現(xiàn)思路基本是我們自己琢磨推敲出來的。1.關(guān)于硬件:硬件的采購比較簡單,市場上都有相應(yīng)的LCD、鍵盤按鍵以及萬用線路板等,但是將各個部件整合的過程并不簡單,特別是LCD引腳比較多,而且需要不同大小的電源供電及相應(yīng)的保護電阻,因而焊接起來比較費力。2.關(guān)于軟件:軟件流程的編寫比較復雜,雖然有著清晰的編程思路,但是程序中涉及的函數(shù)和變量都相當?shù)亩啵赃€是有一定難度的。最棘手的部分便是LCD驅(qū)動的編寫及調(diào)試,需要注意很多問題,如寄存器方向、使能信號的控制以及時序等等。我們曾考慮使用外部擴展Flash或EEPROM,但考慮到時間比較緊張,而且我們已將拼音輸入法完整實現(xiàn),字數(shù)多少只是一個存儲容量問題,沒有技術(shù)難點,所以我們最終沒有進行擴展。3.關(guān)于調(diào)試:最終的成體調(diào)試也是相當耗時的,各個軟硬件部分拼接起來之后必然會有這樣那樣的問題,此時查找并解決問題是需要很大的耐心的??偟膩碚f,我們的這個LCD顯示---拼音輸入法設(shè)計是比較成功的,我們已經(jīng)實現(xiàn)了基本的拼音輸入及回顯功能。當然,在次基礎(chǔ)上還可以做進一步的改進,如在漢字輸入方面,可以增添拼音輸入法的聯(lián)想功能、記憶功能等,也可通過擴展存儲將漢字字庫進一步擴大到7000個;在顯示方面,可以擴展到LCD大屏幕顯示,可以實現(xiàn)LCD任意內(nèi)容的顯示等等。在整個設(shè)計流程中,我們查閱了很多資料,學習到了很多有使用價值的東西,已經(jīng)能夠獨立完成LCD和鍵盤的調(diào)試,對Atmeg16單片機也有了更深入的認識。五、參考文獻[1].

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論