freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的plc中文輸入系統(tǒng)設(shè)計(jì)-在線瀏覽

2024-09-11 20:36本頁(yè)面
  

【正文】 It can retrieve the starting position of the character matrix through the GB2312 Chinese character dotmatrix code matrix in the database . Finaly the 128 64 dot matrix LCD module is used for the output showing device, to realize the inputting about the Chinese characters, English letters, numbers, punctuation marks, text input and so on. Key words: AT89C55WD。 TS12864A3 LCD。 目前嵌入式系統(tǒng)中比較典型的中文輸入法有諾基亞的 T摩托羅拉的 iTAP、愛立信的字能等,這些輸入法的輸入設(shè)備一般是數(shù)字鍵 0~ 9 和一些功能鍵組成。 中文輸入一直是中文語(yǔ)言處理中的重要課題。但是長(zhǎng)久以來(lái),中文語(yǔ)言模型由于規(guī)模巨大,占用資源多,很難在嵌入式設(shè)備上得到應(yīng)用。本文提出了一種將統(tǒng)計(jì)語(yǔ)言模型應(yīng)用到嵌入式設(shè)備上的方案。 伴隨著 3G 時(shí)代的來(lái)臨,用戶對(duì)各種只能終端設(shè)備人機(jī)交互方式提出了更高的要求。 第 2 頁(yè) 共 28 頁(yè) 1 設(shè)計(jì)任務(wù)及要求 設(shè)計(jì)任務(wù) ( 1) 用單片機(jī)作為主控制器; ( 2) 用 LCD 顯示 出來(lái) ; ( 3) 具有全拼輸入法功能; ( 4) 具有英文、數(shù)字和標(biāo)點(diǎn)符號(hào)的輸入功能 ; ( 5) 具有模糊音輸入功能 ; ( 6) 具有五筆、筆畫或區(qū)位碼輸入法功能(選做) 。 設(shè)計(jì)思路 本課題的預(yù)期設(shè)計(jì)構(gòu)思是 采用 S52 單片機(jī)作為主控制器,輸入通過 自制 44 鍵盤 采取 逐行掃描方式獲取鍵值 ,將鍵盤輸入的數(shù)字序列轉(zhuǎn)換為拼音編碼,然后搜索到該拼音編碼對(duì)應(yīng)的漢字編碼 ,最后 采用 LCD12864 液晶顯示模組附帶的驅(qū)動(dòng)程序 輸出 來(lái)。 方案選擇與論證 人機(jī)接口模塊 的選擇 方案一: 采用 44 按鍵 采用自制 的 44 按鍵, 電路配置靈活,線路簡(jiǎn)單明了, 資源使用少,使用 方便, 不需要 對(duì)按鍵進(jìn)行太多的控制,直接采用查詢的方式獲取鍵值。當(dāng)系統(tǒng)上電復(fù)位時(shí) , 單片機(jī)應(yīng)用系統(tǒng)通過鍵盤接口發(fā)送0AAH, 模擬鍵盤自檢完成信息 。 雖然采用 PC 機(jī)鍵盤與單片機(jī)連接 , 使得通過鍵盤可以實(shí)現(xiàn)多種符號(hào)、 數(shù)字的輸入 ,還可以輸入中文漢字 , 可以任意輸入大批量的漢字 , 還有很多其它諸多優(yōu)點(diǎn), 但因?yàn)橄?第 3 頁(yè) 共 28 頁(yè) 統(tǒng)采用的是 12864 顯示,只能顯示 4 行 8 列,采用這種方式的優(yōu)勢(shì)并不明顯, 在硬件上也比較龐大, 為 了 使之簡(jiǎn)化和 節(jié)約資源, 因此選擇了方案一 。在輸入拼音的時(shí)候需要一一選擇需要的字母來(lái)組成拼音,然后根據(jù)拼音來(lái)查找到相應(yīng)碼表,從而找到需要的漢字。 方案二大大減少了輸入時(shí)按鍵的次數(shù),能夠大大提高輸入效率,因此,本系統(tǒng)選擇了方案二。 由于每個(gè)漢字機(jī)內(nèi)的點(diǎn)陣碼要占 32 個(gè) 字節(jié) , 8912 個(gè)常用漢字的點(diǎn)陣碼要占約256KB 的空間 , 所以將點(diǎn)陣信息直接存儲(chǔ)在小容量 ROM 單片機(jī) (如 52 單片機(jī) )中不太現(xiàn)實(shí)。只要傳入所要顯示的英文字符的 ASCII 碼和漢字的區(qū)位編碼 , 液晶顯示模塊會(huì)自動(dòng)計(jì)算國(guó)標(biāo)碼和機(jī)內(nèi)碼 , 根據(jù)命令立即將字符在指定位置顯示出來(lái)。 工作原理簡(jiǎn)介 本 系統(tǒng)采用的是全拼輸入法實(shí)現(xiàn)漢字的輸入。 第 4 頁(yè) 共 28 頁(yè) 根據(jù)選中拼音在拼音碼表中查找對(duì)應(yīng)的漢字 串 , 把 漢字的區(qū)位編碼和英文, 標(biāo)點(diǎn)的 ASCII碼 , 液晶顯示模塊會(huì)自動(dòng)計(jì)算國(guó)標(biāo)碼和機(jī)內(nèi)碼 , 根據(jù)命令立即將字符在指定位置 在 LCD上 顯示出來(lái) 。 AT89C55WD 接收 44 按鍵輸入,并通過 LCD顯示交互內(nèi)容,從而實(shí)現(xiàn)用戶操作界面。下 圖為按鍵電路 原理圖 : 圖 按鍵電路 ( 2)一個(gè)按鍵開關(guān)在閉合與斷開時(shí),由于按鍵的機(jī)械特性,其機(jī)械觸點(diǎn)不能夠立刻完全閉合或斷開,因此會(huì)產(chǎn)生一系列的電平抖動(dòng)信號(hào)。 TS12864A3LCD 4 4 鍵盤 AT89C55WD 單片機(jī) 第 5 頁(yè) 共 28 頁(yè) ( 3)單片機(jī)系統(tǒng)常用的清除抖動(dòng)的方法有三種:使用 RS 觸發(fā)器構(gòu)成消除抖動(dòng)開關(guān);使用電阻和電容構(gòu)成積分 器;使用軟件延時(shí)消除抖動(dòng)。 下圖為按鍵按下的整個(gè)過程: 10ms 穩(wěn)定期 10ms 圖 按鍵按下過程圖 AT89C55WD 單片機(jī) AT89C55WD 是一個(gè)低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含有 20KB 的可重寫快速閃存存儲(chǔ)器和只讀程序和 256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM),器件采用ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS51 指令系統(tǒng),引腳兼容工業(yè)標(biāo)準(zhǔn) 89C51 和 89C52 芯片,采用通用編程方式,片內(nèi)置通用 8 位中央處理器和 Flash 存儲(chǔ)單元 。 AT89C55WD 有 40 個(gè)引腳, 32 個(gè)外部雙向輸入 /輸出( I/O)端口,同時(shí)內(nèi)含 2 個(gè)外中斷口, 2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器 ,2 個(gè)全雙工串行通信口, 2 個(gè)讀寫口線,片內(nèi)時(shí)鐘電路, AT89C55WD 采用兩種軟件控制其進(jìn)入省電睡眠模式的靜態(tài)邏輯工作閑置方式設(shè)計(jì),可以用 RAM、定時(shí) /計(jì)數(shù)器、串行口和 外部中斷喚醒睡眠狀態(tài)而繼續(xù)工作,在睡眠模式下, RAM 被凍結(jié),其他功能全部停止,直至下個(gè)外中斷觸發(fā)或硬件復(fù)位方可開始運(yùn)行。 它的主要功能如下表所示 表 AT89C55WD 單片機(jī) 主要功能 20k 可反復(fù)擦寫 (1000 次) Flash ROM 256x8bit 內(nèi)部 RAM 時(shí)鐘頻率 033MHz 硬件看門狗( WDT) 可編程串行通道 3 級(jí)加密位 低功耗睡眠功能 軟件設(shè)置睡眠外中斷喚醒功能 第 6 頁(yè) 共 28 頁(yè) AT89C55WD 完全兼容 MCS51 系列指令,因?yàn)楸驹O(shè)計(jì)方案中碼表漢字為四千多,占 ROM 為 8K 多,平常所用的 51, 52 系列單片機(jī)根本容納不了,所以選擇了 ROM 20K 的 AT89C55WD 單片機(jī),其周圍電路與 S52 的基本電路一樣??梢燥@示 8 4 行16 16 點(diǎn)陣的漢字,也可完成圖形顯示,低電壓低功耗是其又一顯著特點(diǎn)。當(dāng)采用并行傳送方式時(shí) , 12864 的 DB0~DB7 接單片機(jī) AT89C55WD的 P0 口 , 此時(shí) 4 引腳為 RS 腳 , 即并行傳送的數(shù)據(jù) /指令選擇信號(hào) , 5 引腳為 RW 引腳 ,即并行的讀寫選擇信號(hào) , 6 引腳為 E 引腳 , 即并行傳送的使能信號(hào)。 欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。不過在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示地址,由模 塊自動(dòng)對(duì)地址加 1 指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空 ASCII 字符位置。 第 7 頁(yè) 共 28 頁(yè) 模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取 BF 標(biāo)志時(shí) BF 需為 “0”,方可接受新的指令。指令執(zhí)行的時(shí)間請(qǐng)參考指令表中的指令執(zhí)行時(shí)間說(shuō)明。 圖 單片機(jī)與液晶顯示接口電路 液晶顯示模塊的漢字顯示通過專用接口命令來(lái)控制 , 下面是液晶顯示模塊 12864 清除顯示和位址歸位命令的組成結(jié)構(gòu) , 其中清除顯示命令的組成結(jié)構(gòu)和功能如下 : 功能 : 清除顯示屏幕 , 把 DDRAM 位址計(jì)數(shù)器調(diào)整為“ 00H” 。 對(duì) 于 帶有中文字庫(kù)的 12864 液晶模塊 , 只要傳入所要顯示的英文字符的 ASCII 碼和漢字的區(qū)位編碼 , 液晶顯示模塊會(huì)自動(dòng)計(jì)算國(guó)標(biāo)碼和機(jī)內(nèi)碼 , 根據(jù)命令立即將字符在指 第 8 頁(yè) 共 28 頁(yè) 定位置顯示出來(lái)。 本 中文拼音輸入法 的軟件系統(tǒng)主要包含下列模塊 : 按鍵掃描 : 掃描 44 鍵盤,獲取鍵 值 ,進(jìn)行鍵值處理。 文字輸入 : 通過 44 鍵盤輸入漢字(拼音輸入法 )、英文、 字符、數(shù)字等 , 并在 LCD 上顯示出來(lái),以便于用戶編輯通訊錄條目。 44 鍵盤的 按鍵與字母組合 采取手機(jī)按鍵排布方式 。 圖 44 按鍵定義 按鍵掃描程序中根據(jù)按鍵的機(jī)械特性,用延時(shí) 進(jìn)行了消抖, 按鍵消抖 延時(shí) 取10ms~20ms 為適宜, 同時(shí) 釋放按鍵時(shí)也應(yīng)該進(jìn)行判斷,否則, 很可能將一次按鍵操作識(shí)別成多次按鍵操作。因此, 在程序中會(huì)反復(fù)出現(xiàn)調(diào)用命令模塊 LCD_Wcode(char c)和寫數(shù)據(jù)模塊 LCD_Wdata(char d), 在寫數(shù)據(jù)模塊中,又需要調(diào)用判斷 LCD 是否忙碌模塊 LCD_Rbusy(),但這些模塊都是相對(duì)固定的,在需要顯示不同字符時(shí),只需要注意改變 顯示字符模塊中的有關(guān)數(shù)據(jù)。 調(diào)用 LCD_Wcode ()函數(shù)寫入命令到液晶顯示模塊中,可以確定顯示的位置,調(diào)用 LCD_Wdata ()函數(shù)可以將要顯示的漢字或字符的 國(guó)標(biāo)碼傳送到液晶顯示器中 , 調(diào)用 delay(int t)函數(shù)可以通過參數(shù)控制延時(shí)若干 ms,調(diào)用LCD_Rbusy ()函數(shù)可以判斷液晶顯示模塊是否處于忙狀態(tài)。 若要顯示漢字串,調(diào)用 display_hanzi(struct t9py_list *ptr), 顯示最后選中的漢字調(diào)用 函數(shù) display_output_hanzi(struct t9py_list *ptr)。 //復(fù)位函數(shù) 4 3 2 1 8 7 6 5 4 3 2 1 確定 Dn Up 取消 標(biāo) 英文 數(shù)字 9 第 10 頁(yè) 共 28 頁(yè) void LCD_Clear()。 // LCD顯示初始化 void LCD_Wdata(char d)。 //寫命令 void LCD_Rbusy()。拼音輸入法大體可以分為兩個(gè)步驟:首先將鍵盤輸 入的數(shù)字序列轉(zhuǎn)換為拼音編碼,然后搜索到該拼音編碼對(duì)應(yīng)的漢字編碼 。 拼音輸入法設(shè)計(jì)框架 如下 : 圖 拼音輸入法設(shè)計(jì)框架 ( 1) 每個(gè)拼音編碼的數(shù)據(jù)結(jié)構(gòu)為: struct t9py_index { char code *t9_str。 //拼音編碼字符串 char code *py_mb。 所有的拼音編碼組成一個(gè)數(shù)組常量 t9py_table[],每個(gè)拼音編碼作為數(shù)組中的一個(gè)元素存在,下面是該數(shù)組的片段: 第 11 頁(yè) 共 28 頁(yè) struct t9py_index code t9py_table[] ={ {24,ai,PY_mb_ai}, {24,bi,PY_mb_bi}, {2,a,PY_mb_a}, {3,e,PY_mb_e}, …… …… {,}, //作為查找結(jié)束標(biāo)志 } ( 2) 當(dāng)用戶通過 按 鍵輸入一個(gè)數(shù)字序列后, 首先將鍵值轉(zhuǎn)化為字符,然后把字符添加到字符串末尾,將字符串與數(shù)字字母索引表中的 t9_str。 以下為按鍵數(shù)字序列查找到拼音的過程 : uint t9_table_search() { int success。 struct t
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1