<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM的英文轉中文翻譯器設計

基于A(yíng)RM的英文轉中文翻譯器設計

作者: 時(shí)間:2010-07-27 來(lái)源:網(wǎng)絡(luò ) 收藏


1.3 雙串口接口電路
LPC2214包含2個(gè)串行接口,分別為UART0和UARTl,恰好符合該系統應用要求,這2個(gè)串行接口分別與設備和打印機相連。由于設備和打印機都要求標準的RS232串行傳輸,而LPC2214是3.3V電平,所以使用了2片SP3232E進(jìn)行RS232電平轉換,如圖4所示。LPC2214通過(guò)端子J2的CTSl信號檢測打印機存在并通過(guò)端子Jl的DTR信號通知設備;而通過(guò)端子J2的RXDl(BUSY)信號檢測打印機內部緩沖區是否溢出;當LPC2-214內部接收緩沖區存滿(mǎn)時(shí),通過(guò)端子J1的CTS信號通知設備暫停傳輸數據。

2 系統軟件算法
由于數據量非常大,所以在軟件方面進(jìn)行了優(yōu)化,主要包括中數據存儲方式、環(huán)形接收和發(fā)送緩沖區算法、查找和算法等3部分。
2.1 中數據存儲方式
首先,器涉及到的問(wèn)題是漢字在計算機內的存儲問(wèn)題,漢字在計算機內的存儲是以機內碼形式存儲的,1個(gè)漢字占用2個(gè)字節,因此在LPC2214中可以直接定義與接收到的英文字符串相對應的漢字常量字符串作為后的數據。其次,為了查找方便,對接收到的英文字符串分了3類(lèi),相應地漢字字符串也對應分為3類(lèi),如圖5所示。其中,庫l為包含“:”的英文行,對應的翻譯只是翻譯“:”前的英文,而“:”后的英文字符和數字不必翻譯直接輸出;庫2為不包含“:”的英文行,直接將對應的庫2輸出即可;庫3為含有多義語(yǔ)義的英文行庫,在中文庫3中再細分后輸出。在具體編程時(shí)利用了二維數組結構存儲中英文字庫。

2.2 環(huán)形接收和發(fā)送緩沖區算法
設備傳輸的數據量很大,共有幾百組數據,而每組數據又包含幾十行英文字符和數字,如果采用全部接收完設備傳輸的數據后再查找對應的中文,找到后再依次控制打印機打印輸出,則不但需要相當大的緩沖區用于存儲,而且從接收數據開(kāi)始到打印機輸出打印要延誤很長(cháng)時(shí)間。因此,這里采用前后臺程序方式即邊接收、邊查找、邊打印,該方式既節省時(shí)間又節省存儲空間。在系統中開(kāi)一段存儲空間作為接收緩沖區,如圖6所示。設置2個(gè)指針:寫(xiě)指針和讀指針,初始化時(shí)令這2個(gè)指針?lè )謩e指向存儲區的起始位置。接收設備數據采用UART0串口接收中斷處理方式,以便不丟失設備發(fā)送的任何一個(gè)字符。在UART0每接收一行英文數據后,寫(xiě)指針加1,當寫(xiě)指針達到最大存儲空間位置時(shí),令寫(xiě)指針復位為起始存儲位置,這樣就形成一個(gè)環(huán)形緩沖區。當接收緩沖區非空,即有需要翻譯的英文行數據時(shí),讀指針指向當前需要翻譯的英文行數據,和寫(xiě)指針類(lèi)似,每翻譯一行數據后通過(guò)UARTl控制打印機輸出打印且讀指針加1,當讀指針到達最大存儲空間位置時(shí),令讀指針復位為起始存儲位置。實(shí)驗表明,設置成很少的幾行接收和發(fā)送緩沖區都可以正常接收數據和打印數據。



關(guān)鍵詞: 翻譯 設計 中文 英文 ARM 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>