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

正文內(nèi)容

基于單片機(jī)的plc中文輸入系統(tǒng)設(shè)計(jì)-文庫(kù)吧資料

2025-07-03 19:26本頁(yè)面
  

【正文】 Y鍵值為2到9取相應(yīng)按鍵對(duì)應(yīng)字母串的地址輸出該按鍵對(duì)應(yīng)所有字母的大小寫通過上下按鍵選擇所要的字母按下確定鍵輸出選中字母清除三四行,同時(shí)切換到拼音輸入狀態(tài) 文字輸入模塊程序流程標(biāo)點(diǎn)符號(hào)的輸入是用12鍵直接進(jìn)行控制,按下12鍵,把所有標(biāo)點(diǎn)直接在LCD的第四行顯示出來,用戶可以通過上下按鍵選擇自己想要的標(biāo)點(diǎn)符號(hào)。}(7)用戶在錄入文本時(shí),除需要輸入中文外,也可能需要輸入英文、數(shù)字以及符號(hào)等。 delay(5)。i2。 hanzi=ptrentry[ptrele_idx]py_mb+xx。 } else LCD_Wcode(0x90+weizhi8)。 LCD_qingchu_12( )。 if(weizhi=7) LCD_Wcode(0x80+weizhi)。 int i。在本設(shè)計(jì)中由于按鍵已全部用完,所以沒有設(shè)置上下翻頁(yè)鍵。i++) LCD_Wdata(*hanzi++)。 for(i=0。 char_num=ptrhanzi_num*2。 char *hanzi。程序?qū)h字碼表數(shù)組中的所有漢字顯示在LCD上,漢字碼表是具有相同讀音的漢字組成的編碼數(shù)組,例如PY_mb_bai數(shù)組的定義如下:  code char PY_mb_bai[] ={白百佰柏?cái)[敗拜稗}。 }}(5)在用戶選定了拼音之后,程序同時(shí)也知道了拼音編碼對(duì)應(yīng)的漢字碼表地址。j++) { dizhi=ptrentry[j]py_str。 for(j=0。 int j。(4)例如輸入數(shù)字224,比較t9py_table數(shù)組所有數(shù)字串元素,將獲得bai和cai兩組拼音編碼,程序?qū)⑦@些匹配的拼音通過LCD顯示出來,供用戶選擇。 // 當(dāng)前選中拼音中的選中的漢字(index) char code *hanzi_ptr。 // 當(dāng)前選中的拼音(index) int hanzi_num。 int ele_num。}(3)每次查詢T9索引表得到的所有匹配拼音結(jié)果,都放在 struct t9py_list t9py_result中,當(dāng)要顯示結(jié)果時(shí),可以通過取這里的變量,進(jìn)行顯示。 str = idxt9_str。 t9py_result_add(idx)。strcmp(str,)。 t9py_result_clear()。(t9py_table[0])。 success = 0。 char *str。數(shù)字串從地址為0處開始依次比較,當(dāng)比較結(jié)果為相等時(shí)則把指向該數(shù)組的指針放到T9數(shù)字字母索引結(jié)果的結(jié)構(gòu)體中,指針繼續(xù)往下指,繼續(xù)比較,直到遇到結(jié)束標(biāo)志(“”),查找結(jié)束?! ? 所有的拼音編碼組成一個(gè)數(shù)組常量t9py_table[],每個(gè)拼音編碼作為數(shù)組中的一個(gè)元素存在,下面是該數(shù)組的片段: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},    //拼音編碼字符串 char code *py_mb。拼音輸入法設(shè)計(jì)框架如下:  圖 拼音輸入法設(shè)計(jì)框架(1)每個(gè)拼音編碼的數(shù)據(jù)結(jié)構(gòu)為: struct t9py_index { char code *t9_str。拼音輸入法大體可以分為兩個(gè)步驟:首先將鍵盤輸入的數(shù)字序列轉(zhuǎn)換為拼音編碼,然后搜索到該拼音編碼對(duì)應(yīng)的漢字編碼。 //寫命令void LCD_Rbusy()。 // LCD顯示初始化void LCD_Wdata(char d)。 //復(fù)位函數(shù)void LCD_Clear()。若要顯示漢字串,調(diào)用display_hanzi(struct t9py_list *ptr),顯示最后選中的漢字調(diào)用函數(shù) display_output_hanzi(struct t9py_list *ptr)。調(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)。因此,在程序中會(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ù)。 取消UpDn確定 9數(shù)字英文 標(biāo)123456781234 圖 44鍵盤的按鍵與字母組合采取手機(jī)按鍵排布方式。文字輸入:通過44鍵盤輸入漢字(拼音輸入法)、英文、字符、數(shù)字等,并在LCD上顯示出來,以便于用戶編輯通訊錄條目。本中文拼音輸入法的軟件系統(tǒng)主要包含下列模塊:  按鍵掃描:掃描44鍵盤,獲取鍵值,進(jìn)行鍵值處理。對(duì)于帶有中文字庫(kù)的12864液晶模塊,只要傳入所要顯示的英文字符的ASCII碼和漢字的區(qū)位編碼,液晶顯示模塊會(huì)自動(dòng)計(jì)算國(guó)標(biāo)碼和機(jī)內(nèi)碼,根據(jù)命令立即將字符在指定位置顯示出來。 單片機(jī)與液晶顯示接口電路液晶顯示模塊的漢字顯示通過專用接口命令來控制,下面是液晶顯示模塊12864清除顯示和位址歸位命令的組成結(jié)構(gòu),其中清除顯示命令的組成結(jié)構(gòu)和功能如下:功能:清除顯示屏幕,把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”。指令執(zhí)行的時(shí)間請(qǐng)參考指令表中的指令執(zhí)行時(shí)間說明。模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取BF標(biāo)志時(shí)BF需為“0”,方可接受新的指令。不過在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示地址,由模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置。欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。12864與單片機(jī)有并行和串行兩種連接方法,并行接口較串行復(fù)雜,但是并行接口可以大大提高液晶顯示模塊顯示字符和漢字的速度,所以所介紹的系統(tǒng)與單片機(jī)采用并行接口連接方式。下圖為單片機(jī)及其周圍電路: 單片機(jī)及其周圍電路 12864液晶 帶中文字庫(kù)的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集。片內(nèi)時(shí)鐘電路2個(gè)讀寫中斷口線2個(gè)外部中斷源2個(gè)串行中斷3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷32個(gè)雙向I/O口兼容MCS51指令系統(tǒng)特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。內(nèi)置功能強(qiáng)大的微處理器的AT89C52可提供許多高性價(jià)比的解決方案,適用于多數(shù)嵌入式應(yīng)用系統(tǒng)。前兩種方法屬于硬件消抖,在嵌入式系統(tǒng)通常要求硬件元器件盡可能的少,因此在實(shí)際的設(shè)計(jì)系統(tǒng)中通常采用“軟件消除抖動(dòng)”。如果沒有對(duì)按鍵進(jìn)行消抖處理,很可能將一次按鍵操作識(shí)別成多次按鍵操作,造成系統(tǒng)的不確定性和不可靠性。:TS12864A3LCDAT89C55WD單片機(jī) 44鍵盤 系統(tǒng)原理框圖2 硬件設(shè)計(jì) 44按鍵(1)當(dāng)按鍵斷開時(shí),由于單片機(jī)的端口的輸入內(nèi)阻很大,在上拉電阻的作用下,此時(shí)的單片機(jī)輸入端口的電平為5V;當(dāng)按鍵按下時(shí),上拉電阻的5V電源經(jīng)上拉電阻流向電阻地,此時(shí)單片機(jī)的輸入端口電平為0V。 系統(tǒng)原理框圖AT89C55WD單片機(jī)作為主控芯片,負(fù)責(zé)構(gòu)建拼音輸入法的數(shù)據(jù)結(jié)構(gòu),并在單片機(jī)內(nèi)部Flash中保存漢字的拼音編碼和碼表。按下某一個(gè)按鍵,首先在查詢程序中讀取鍵值,然后將該鍵值添加到字符末尾,將字符串?dāng)?shù)字序列與結(jié)構(gòu)體中的拼音碼表進(jìn)行遍歷,把所有該數(shù)字序列匹配的拼音都放到結(jié)果結(jié)構(gòu)體中,在LCD上顯示所有拼音。因?yàn)轭}目要求做的是中文輸入,中文基本漢字有五千多,把所有的漢字的字模形式取出來,在理論是可取,在制作上比較累贅,因?yàn)辄c(diǎn)陣太多,所有漢字以點(diǎn)陣形式存儲(chǔ)所需內(nèi)存大約為256K,較占內(nèi)存,而在方案二則比較節(jié)省內(nèi)存空間,也比較簡(jiǎn)單明了,所以采取了方案二。方案二:采用帶字庫(kù)的液晶采用帶字庫(kù)的液晶,在寫入液晶時(shí)需要LCD_Wdata (國(guó)標(biāo)碼1),LCD_Wdata (國(guó)標(biāo)碼2),這樣就能顯示一個(gè)漢字,對(duì)于字符,只需要寫一次。 12864液晶 方案一:采用不帶字庫(kù)的液晶采用不帶字庫(kù)的液晶,需要從放字庫(kù)字模的地方(如內(nèi)部FLASH,外部FLASH)取到一個(gè)漢字的字模,字模為16*16點(diǎn)陣,需要LCD_Wdata(字模)32次,才能顯示一個(gè)漢字。方案二:采用T9拼音輸入法這是現(xiàn)代手機(jī)比較常用的輸入法,在輸入時(shí),用戶只需按拼音字母所在的按鍵,而不必重復(fù)按鍵
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1