電子詞典設(shè)計方案_第1頁
電子詞典設(shè)計方案_第2頁
電子詞典設(shè)計方案_第3頁
電子詞典設(shè)計方案_第4頁
電子詞典設(shè)計方案_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、硬件設(shè)計方案根據(jù)第二章介紹的ARM芯片的選擇原則,此處選擇集成了豐富的外圍功能模塊,便于低成本設(shè)計嵌入式應(yīng)用系統(tǒng)的S3C44B0X處理器作為系統(tǒng)的主控制器。利用其內(nèi)置的LCD控制器實現(xiàn)LCD控制接口;利用IIC總線控制器實現(xiàn)鍵盤控制接口;利用ADC轉(zhuǎn)換器實現(xiàn)觸摸屏控制接口;利用UART實現(xiàn)調(diào)試接口;利用GPIO連接LED燈顯示有關(guān)狀態(tài)。利用其內(nèi)置的LCD控制器實現(xiàn)LCD控制接口;利用IIC總線控制器實現(xiàn)鍵盤控制接口;利用ADC轉(zhuǎn)換器實現(xiàn)觸摸屏控制接口;利用UART實現(xiàn)調(diào)試接口;利用GPIO連接LED燈顯示有關(guān)狀態(tài)。電子詞典方案設(shè)計軟件設(shè)計方案本電子詞典軟件主要完成鍵盤操作、菜單操作及LCD顯示

2、功能,根據(jù)軟件模塊化設(shè)計方法將系統(tǒng)軟件分為三個模塊:詞庫編寫、功能控制軟件設(shè)計、人機交互接口功能設(shè)計。電子詞典硬件設(shè)計硬件資源分配最小系統(tǒng)簡介顯示模塊(輸出設(shè)備)觸摸屏及鍵盤模塊(輸入設(shè)備)I/O端口設(shè)計硬件資源分配片選信號選擇的接口或器件片選控制寄存器S44B0 地址范圍nGCS0FLASHBANKCON00x0000_00000x01BF_FFFFnGCS6SDRAMBANKCON60x00_00000x0DFF_FFFF中斷信號功能INT0觸摸屏中斷源INT2鍵盤中斷源最小系統(tǒng)簡介電源電路系統(tǒng)時鐘電路復(fù)位電路存儲器UART接口電路JATG接口電路最小系統(tǒng)簡介嵌入式最小系統(tǒng)是指由保證嵌入式

3、微處理器可靠工作所必須的基本電路組成的系統(tǒng)。處理器單元時鐘單元復(fù)位單元存儲器單元供電電源調(diào)試接口基于ARM的嵌入式最小系統(tǒng)基于ARM核的微處理器電源電路復(fù)位電路時鐘電路存儲器電路(FLASH和SDRAM)UART接口電路JTAG調(diào)試接口電源電路電源芯片:LT1085輸入:DC +5V輸出:S3C44B0X +2.5VI/O +3.3V系統(tǒng)時鐘電路根據(jù)S3C44B0X的最高工作頻率以及PLL電路的工作方式,選擇8MHz有源晶振,8MHz晶振頻率經(jīng)過S3C44B0X片內(nèi)的PLL電路倍頻后,最高可以達(dá)到66MHz。系統(tǒng)RTC單元時鐘源直接由晶體(32.768kHz)提供,復(fù)位電路復(fù)位芯片:IMP81

4、1S,手動復(fù)位,實時監(jiān)控系統(tǒng)的電源,一旦系統(tǒng)電源低于系統(tǒng)復(fù)位的閥值(2.9V),IMP811S 將會自動輸出低電平復(fù)位信號,對系統(tǒng)進(jìn)行復(fù)位存儲器FLASH芯片: AM29LV160DB,8MByte (2M×8Bit/1M×16Bit)采用+3.3V供電輸出數(shù)據(jù)寬度為16位片選信號直接連接S3C44B0X的nGCS0信號SDRAM芯片:HY57V651620B8MByte(4 Banks ×1M ×16Bit)采用+3.3V供電輸出數(shù)據(jù)寬度為16位片選信號直接連接S3C44B0X的nGCS6信號UART接口電路JATG接口電路JTAG(Joint Tes

5、t Action Group)聯(lián)合測試行動小組是IEEE的標(biāo)準(zhǔn)規(guī)范,主要用于芯片內(nèi)部測試及對系統(tǒng)進(jìn)行仿真、調(diào)試。ARM內(nèi)部提供了JTAG型的掃描鏈,可以進(jìn)行調(diào)試和配置嵌入式的ICE-RT邏輯。JTAG仿真器是通過ARM芯片上的JTAG邊界掃描鏈與ARM內(nèi)核進(jìn)行通信,屬于完全插入式(不占用片上資源)調(diào)試。通過JTAG接口,可對芯片內(nèi)部的所有部件進(jìn)行訪問,14針接口和20針接口。開發(fā)環(huán)境的建立液晶顯示屏(LCD,Liquid Crystal Display)主要用于文本及圖形、圖像信息的顯示。本節(jié)主要內(nèi)容如下: S3C44B0X LCD控制器概述 S3C44B0X LCD控制器功能及應(yīng)用概述 S3

6、C44B0X LCD控制器應(yīng)用編程S3C44B0X LCD控制器概述LCD控制器在嵌入式系統(tǒng)中的功能概述一套完整的液晶顯示系統(tǒng)主要由三部分組成:液晶顯示屏、液晶顯示驅(qū)動器和液晶顯示控制器。液晶顯示控制器具有兩大作用:其一,控制器為液晶顯示提供時序信號和顯示數(shù)據(jù);其二,在計算機系統(tǒng)中,液晶顯示控制器是一種專業(yè)IC芯片,專用于計算機與液晶顯示系統(tǒng)的接口,控制器接受計算機的直接操作,并可以脫機獨立控制液晶顯示驅(qū)動系統(tǒng),從而解除了計算機在顯示上的繁瑣工作。目前的液晶顯示控制器具有如下的功能:具有簡捷的計算機接口,一般以總線形式提供IO接口;具有一套完整的邏輯控制電路和時序發(fā)生器,可以實現(xiàn)對各種顯示功能

7、的控制;具備功能齊全的控制指令集,編程更容易;具有管理顯示緩沖區(qū)的能力。計算機通過控制器訪問顯示緩沖區(qū),控制器自行管理顯示緩沖區(qū);具備液晶顯示驅(qū)動器工作所必需的掃描時序信號的生成以及發(fā)送能力和顯示數(shù)據(jù)的傳輸能力。S3C44B0X LCD控制器概述 S3C44B0X LCD控制器的功能及作用概述: S3C44B0X LCD 控制器是接收系統(tǒng)發(fā)來的指令和數(shù)據(jù), 并向系統(tǒng)反饋所需的數(shù)據(jù)信息, 進(jìn)而驅(qū)動顯示。用戶只需要通過讀寫一系列的寄存器, 完成配置和顯示驅(qū)動。在驅(qū)動LCD 設(shè)計的過程中首要的是配置LCD 控制器, 而在配置LCD 控制器中最重要的一步則是幀緩沖區(qū)(FrameBuffer) 的指定。

8、用戶所要顯示的內(nèi)容皆是從緩沖區(qū)中讀出, 從而顯示到屏幕上的。S3C44B0X LCD控制器功能及應(yīng)用概述S3C44B0X LCD控制器基本功能S3C44B0X LCD功能實現(xiàn)及控制S3C44B0X LCD控制器基本功能S3C44B0X上的LCD控制器由傳送LCD映象數(shù)據(jù)的邏輯電路組成,LCD映象數(shù)據(jù)指的是從系統(tǒng)存儲器的視頻緩沖到外部LCD驅(qū)動器的數(shù)據(jù)。S3C44B0X 中內(nèi)置的LCD 控制器可支持灰度LCD 和彩色LCD。在灰度LCD 上,使用基于時間的抖動算法和FRC(Frame Rate Control)方法,可支持單色,2位/象素(4 級灰度­)和4位/象素(16 級灰度模式)

9、的灰度LCD;在彩色LCD 上,可以支持8位/象素 (256 級彩色),對于不同尺寸的LCD,具有不同數(shù)量的垂直和水平像素,數(shù)據(jù)接口的數(shù)據(jù)寬度,接口時序及刷新率,而LCD控制器可以進(jìn)行編程控制相應(yīng)的寄存器值,以適應(yīng)不同的LCD 顯示板S3C44B0X LCD控制器基本功能S3C44B0X LCD控制器的特性支持彩色灰度單色的LCD 板;支持3種類型LCD板:4位雙掃描,4位單掃描,以及8位單掃描的顯示類型;支持多路虛擬顯示屏(支持硬件的水平垂直移動滾讀);系統(tǒng)存儲器被用作顯示存儲器;專用的DMA支持從系統(tǒng)存儲器的視頻緩沖中讀取映象數(shù)據(jù);支持多種熒屏大??;S3C44B0X LCD控制器基本功能S

10、3C44B0X LCD控制器的特性典型的熒屏尺寸:640x480、320x240、160x160 最大虛擬熒屏尺寸(彩色模式下):4096x1024、2048x2048、1024x4096等支持單色、4級、16級灰度;對于彩色STN LCD板,支持256級彩色;支持電源節(jié)省模式(SL_IDLE Mode)S3C44B0X LCD控制器基本功能S3C44B0X LCD外部接口信號VFRAME:LCD控制器和LCD驅(qū)動器之間的幀同步信號。它通知LCD屏新的一幀的顯示,LCD控制器在一個完整幀的顯示后發(fā)出VFRAME信號。VLINE:LCD控制器和LCD驅(qū)動器之間的行同步信號。LCD驅(qū)動器通過它來將

11、水平移位寄存器中的內(nèi)容顯示到LCD屏上。LCD控制器在一整行數(shù)據(jù)全部傳輸?shù)絃CD驅(qū)動器后發(fā)出VLINE信號。S3C44B0X LCD控制器基本功能S3C44B0X LCD外部接口信號VCLK:此引腳為LCD控制器和LCD驅(qū)動器之間的象素時鐘信號,LCD控制器在VCLK的上升沿發(fā)送數(shù)據(jù),LCD控制器在VCLK的下降沿對數(shù)據(jù)采樣。VM:LCD驅(qū)動器所使用的交流信號。LCD驅(qū)動器使用VM來改變用于打開或關(guān)閉象素的行和列電壓的極性。VM信號在每一幀被觸發(fā),也可在指定VLINE信號的可編程數(shù)目時觸發(fā)。VD3:0以及VD7:4:LCD象素數(shù)據(jù)輸入端口。VD3:0用于4位/8位的單掃描或雙掃描時的高4位數(shù)據(jù)

12、輸入;VD7:4用于8位單掃描或雙掃描時的低4位數(shù)據(jù)輸入。LCD控制器寄存器S3C44B0X LCD功能實現(xiàn)及控制1. S3C44B0X LCD 控制操作 時序發(fā)生器(TIMING GENERATOR),TIMEGEN產(chǎn)生LCD驅(qū)動器的所需控制信號,如:VFRAME、VLINE、VCLK和VM。VFRAME脈沖以每幀一次的頻率聲明整幀中第一行的持續(xù)時間。VFRAME信號告訴LCD的線指示器指向顯示器的頂端以開始顯示LCD驅(qū)動器用VM信號來改變行、列的電壓極性,用來開關(guān)象素。VM信號的頻率由LCDCON1寄存器的MMODE位和LCDSADDR2寄存器的MVAL7:0域來控制?;脽羝?6S3C44

13、B0X LCD功能實現(xiàn)及控制1. S3C44B0X LCD 控制操作VFRAME和VLINE脈沖的產(chǎn)生受LCDCON2寄存器中HOZVAL域和LINEVAL域配置的控制。每個域都與LCD的大小和顯示模式有關(guān)。VFRAM信號頻率就是幀掃描頻率。幀掃描頻率與WLH(VLINE 脈寬)、WHLY(VLINE 脈沖后的VCLK延遲寬度)、HOZVAL、VLINEBLANK以及兩個液晶控制寄存器中的LINEVAL,還有VCLK、 MCLK都有關(guān)?;脽羝?7S3C44B0X LCD功能實現(xiàn)及控制2. S3C44B0X LCD視頻操作 S3C44B0X中的液晶控制器支持8位彩色模式(256 彩色模式),4級

14、灰度模式,16級灰度模式和單一模式。需要灰度和彩色模式時,時鐘抖動算法和FRC(幀頻率控制)方法能被用來通過可編程查找表來選擇調(diào)整灰度和色彩級數(shù)。單色模式不使用這些模塊(FRC和查找表)而通過將視頻數(shù)據(jù)轉(zhuǎn)移到LCD驅(qū)動器中時把FIFOH(和FIFOL,如果是雙掃描模式時)中的數(shù)據(jù)連續(xù)化為位(或8位,如果是4位雙掃描或8位單掃描時)的數(shù)據(jù)流?;脽羝?82. S3C44B0X LCD視頻操作查找表 S3C44B0X支持多色彩或多灰度級映射的調(diào)色板。這種選擇給用戶帶來很大的靈活性。查找表是一個允許彩色和灰度級數(shù)選擇的調(diào)色板。用戶在4級灰度模式中通過查找表在16灰度級中選擇4灰度級。在16級灰度模式下

15、灰度級不能被選擇,所有16灰度級必須在可能的16灰度級中進(jìn)行選擇。在256彩色模式中,3位紅,3位綠,2位藍(lán)。256彩色就是由8紅,8綠,4藍(lán)組合而成(8×8×4256)。在彩色模式中,查找表用于進(jìn)行適當(dāng)?shù)倪x擇。8紅色級在16個可能的紅色級中選擇,8綠在16級綠中選擇,4藍(lán)在16級藍(lán)中選擇?;脽羝?92. S3C44B0X LCD視頻操作灰度模式操作 S3C44B0X中的LCD控制器支持兩種灰度模塊:2位象素(級灰度)、位象素(級灰度)。2位象素灰度模式使用一個查找表,查找表允許在可能的灰度級中進(jìn)行級灰度的選擇。2位象素灰度的查找表和應(yīng)用彩色模式中的藍(lán)色查找表共用BLUEL

16、UT寄存器中的BULEVAL15:0。0級灰度用BLUEVAL3:0位的值來表示。如果BLUEVAL3:0被設(shè)置為9,0灰度級就用16級中的9級來代表;如果BLUEVAL3:0為15,則用15級來代表,以此類推。象級灰度一樣,1級用BLUEVAL7:4來表示,2級用BLUEVAL11:8來表示,3級用BLUEVAL15:12表示。BLUEVAL15:0中的組分別代表0、1、2、3級。當(dāng)然了,沒有第4級?;脽羝?002. S3C44B0X LCD視頻操作彩色模塊操作 S3C44B0X中的LCD控制器支持每象素8位的256彩色顯示模式。彩色顯示模塊用抖動算法和FRC(幀掃描率控制)方法可產(chǎn)生256

17、級彩色。每個象素的8位分成3位紅、3位綠、2位藍(lán),各用獨立的查尋表。 與灰度級顯示相似,REDLUR寄存器中8組或4位域(例如REDVAL31:28、REDLUT27:24、REDLUT23:20、REDLUT19:16、REDLUT15:12、REDLUT11:8、REDLUT7:4和REDLUT3:0)分別對應(yīng)各紅色級。4位組合可以得到16種可能,每種情況對應(yīng)一種紅色級。換句話說,用戶可以用查尋表選擇合適的紅色級。對于綠色,GREENLUT寄存器中的GREENVAL31:0 用作查尋表,用法和紅色一樣。藍(lán)色與前兩個相似,BLUELUT寄存器中的BLUEVAL15:0 用作查尋表。對于藍(lán)色查

18、尋表需要16位,因為只有兩位對應(yīng)于4級藍(lán)色來控制藍(lán)色級,這與8紅或8綠都不同?;脽羝?012. S3C44B0X LCD視頻操作掃描模式支持 S3C44B0X處理器LCD控制器支持3種顯示類型:4位單掃描、4位雙掃描和8位單掃描。掃描工作方式通過DISMOD(LCDCON16:5)設(shè)置。 4位單掃描 - 顯示控制器掃描線從左上角位置進(jìn)行數(shù)據(jù)顯示。顯示數(shù)據(jù)從VD3:0獲得;彩色液晶屏數(shù)據(jù)位代表RGB色?;脽羝?022. S3C44B0X LCD視頻操作掃描模式支持顯示控制器分別使用兩個掃描線進(jìn)行數(shù)據(jù)顯示。顯示數(shù)據(jù)從VD3:0獲得高掃描數(shù)據(jù);VD7:4獲得低掃描數(shù)據(jù);彩色液晶屏數(shù)據(jù)位代表RGB色。

19、幻燈片1032. S3C44B0X LCD視頻操作掃描模式支持8位單掃描 - 顯示控制器掃描線從左上角位置進(jìn)行數(shù)據(jù)顯示。顯示數(shù)據(jù)從VD7:0獲得;彩色液晶屏數(shù)據(jù)位代表RGB色幻燈片1042. S3C44B0X LCD視頻操作數(shù)據(jù)的存放與顯示液晶控制器傳送的數(shù)據(jù)表示了一個像素的屬性:4級灰度屏用兩個數(shù)據(jù)位;16級灰度屏使用4個數(shù)據(jù)位;RGB彩色液晶屏使用8個數(shù)據(jù)位(R7:5、G4:2、B1:0)。顯示緩存中存放的數(shù)據(jù)必須符合硬件及軟件設(shè)置,即要注意字節(jié)對齊方式?;脽羝?05 S3C44B0X LCD控制器應(yīng)用編程LCD 的顯示一般通過配置LCD控制器實現(xiàn),下面我們就來看如何使用S3C44B0LC

20、D控制器進(jìn)行像素點的顯示。首先要對LCD進(jìn)行初始化LCD的初始化主要是對LCD控制寄存器的值進(jìn)行設(shè)置,主要有以下8項:幻燈片106抖動模式設(shè)定抖動時間設(shè)定LCDCON1控制字清0設(shè)置LCD的垂直,水平尺寸,水平線掃描空閑時間設(shè)置幀緩沖區(qū)的起始地址設(shè)置灰度級,LCDBANK,LCDBASEU重新設(shè)置LCDCON1LCD驅(qū)動邏輯使能,打開背光幻燈片107具體設(shè)置如下:/ disable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk,rLCDCON1=(0x0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<

21、;10)|(CLKVAL_COLOR<<12); /LINEBLANK=10 (without any calculation)rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21);/ 256-color, LCDBANK, LCDBASEU rLCDSADDR1=(0x3<<27)|(U32)Video_StartBuffer>>22)<<21)|M5D(U32)Video_StartBuffer>>1);rLCDSADDR2=M5D(U32)Video_StartBu

22、ffer+(SCR_XSIZE*LCD_YSIZE)>>1)| (MVAL<<21) | 1<<29;rLCDSADDR3= (LCD_XSIZE/2) | ( (SCR_XSIZE-LCD_XSIZE)/2)<<9 );rREDLUT =0xfdb96420; / 1111 1101 1011 1001 0110 0100 0010 0000rGREENLUT=0xfdb96420; / 1111 1101 1011 1001 0110 0100 0010 0000rBLUELUT =0xfb40; / 1111 1011 0100 0000r

23、DITHMODE=0x12210;/rDITHMODE=0x0;幻燈片108 rDP1_2 = 0xa5a5; rDP4_7 = 0xba5da65;rDP3_5 = 0xa5a5f;rDP2_3 = 0xd6b;rDP5_7 = 0xeb7b5ed;rDP3_4 = 0x7dbe;rDP4_5 = 0x7ebdf;rDP6_7 = 0x7fdfbfe;rLCDCON1=(0x1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);rPDATE=rPDATE&

24、;0x0e;幻燈片109 完成了LCD初始化之后,再看像素點顯示的實現(xiàn):畫點的實現(xiàn)是先指定所畫點的坐標(biāo)X,Y坐標(biāo),然后把X,Y的坐標(biāo)轉(zhuǎn)換為顯存的地址設(shè)定點的顏色。顏色的設(shè)定完成的主要是把設(shè)定的邏輯顏色轉(zhuǎn)化為實際的顏色值5.3無操作系統(tǒng)電子詞典硬件驅(qū)動程序設(shè)計 電子詞典中主要涉及的硬件驅(qū)動有:Uart驅(qū)動程序,LCD驅(qū)動程序,鍵盤驅(qū)動程序,觸摸屏驅(qū)動程序。在電子辭典硬件模塊測試軟件時,我們已經(jīng)積累了許多代碼,這里只需要將 的代碼稍加修改,就可快速開發(fā)出各硬件的驅(qū)動程序,即:建立.h頭文件:聲明外部函數(shù),定義數(shù)據(jù)結(jié)構(gòu)。修改.c源文件:驅(qū)動程序源文件中僅包含功能實現(xiàn)而不需要對功能加以應(yīng)用。5.3.1

25、Uart驅(qū)動程序oid Uart_Init(int mclk,int baud,char port);/串口初始化char Uart_Getch(char port);/從串口獲取字符int Uart_GetIntNum(char port); /從串口獲取十進(jìn)制或十六進(jìn)制數(shù)void Uart_SendByte(int data,char port); /向串口發(fā)送一個字節(jié)void Uart_Printf(char port,char *fmt,.); /打印void Uart_SendString(char *pt,char port); /向串口發(fā)送字符串5.3.2LCD驅(qū)動程序exter

26、n U32 GUI_Init(void);extern void Draw_Point(U16 x,U16 y);extern U32 Get_Point(U16 x,U16 y);extern void Draw_HLine(U16 y0, U16 x0, U16 x1);extern void Draw_VLine(U16 x0, U16 y0, U16 y1);extern void Draw_Line(S32 x1,S32 y1,S32 x2,S32 y2);extern void Draw_Circle(U32 x0,U32 y0,U32 r);extern void Fill_Cr

27、icle(U16 x0,U16 y0,U16 r);extern void Fill_Rect(U16 x0,U16 y0,U16 x1,U16 y1);extern void Set_Color(U32 color);extern void Set_BkColor(U32 color);extern void Set_Font(GUI_FONT *pFont);extern void Disp_String(const S8 *s,S16 x,S16 y);extern void lcd_disp_hz16(U16 x0,U16 yo,U32 ForeColor,S8 *s);extern

28、void Dis_Chinese(U16 x0,U16 y0,U32 ForeColor,S8 *s);extern void LCD_SetColor(U16 PhyColor);extern void LCD_SetBkColor(U16 PhyColor);extern U16 LCD_Init(U8 Lcd_Bpp);extern void LCD_DrawPixel(U16 x,U16 y);extern void LCD_DrawHLine(U16 x0,U16 y,U16 x1);extern void LCD_DrawVLine(U16 x,U16 y0,U16 y1);ext

29、ern void LCD_FillRect(U16 x0,U16 y0,U16 x1,U16 y1);extern void LCD_L0_DrawBitmap(U16 x0,U16 y0,U16 xsize,U16 ysize,U16 BitsPerPixel,U16 BytesPerLine,const U8 *pData,U16 Diff,const U16 *pTrans);void word_clear(void);void Trans_Clear(void);5.3.3鍵盤驅(qū)動程序void keyboard_read(U32 unSlaveAddr,U32 unAddr,S8 *p

30、Data);void keyboard_init(void);U8 key_set(U8 ucChar);void iic_int(void);void iic_init(void);void iic_write(U32 unSlaveAddr,U32 unAddr,U8 ucData);void iic_read(U32 unSlaveAddr,U32 unAddr,S8 *pData);5.3.4觸摸屏驅(qū)動程序void touchscreen_init(void);void touchscreen_load(void);void touchscreen_cood(S8 *pData);vo

31、id touchscreen_close(void);void touchscreen_int(void);5.4電子詞典系統(tǒng)應(yīng)用軟件個功能模塊設(shè)計實現(xiàn)無操作系統(tǒng)電子詞典系統(tǒng)應(yīng)用軟件功能模塊包括以下部分:鍵盤接口功能軟件,觸摸屏接口功能軟件,LCD顯示接口功能軟件,輸入鍵值識別功能軟件,英譯漢功能軟件,已查單詞記憶功能軟件,漢語詞庫編寫和英語詞庫編寫功能軟件。5.4.1鍵盤接口功能軟件鍵盤接口軟件主要實現(xiàn)鍵盤輸入功能。5.4.2觸摸屏接口功能軟件觸摸屏接口功能軟件實現(xiàn)觸摸屏輸入功能。5.4.3LCD顯示接口功能軟件LCD顯示接口功能軟件實現(xiàn)輸入字符,翻譯結(jié)果的顯示功能。5.4.4輸入鍵值識別功

32、能軟件本電子詞典設(shè)計中共有26個字母鍵和6個功能鍵。26各字母鍵的鍵值對應(yīng)于英文小寫字母az的ASCII值97122. 6個功能鍵的鍵值如表所示: 電子詞典功能鍵鍵值表當(dāng)有系統(tǒng)軟件獲取鍵值后,將根據(jù)當(dāng)前的鍵值做相應(yīng)的處理。具體代碼實現(xiàn)如下:/*輸入是字母鍵時的相應(yīng)處理*/if(ucChar>0x60) if(t=0)|(t>19) t=0; word_clear(); Trans_Clear(); *(&ucChar)+1)=_;*(&ucChar)+2)=0;Disp_String(&ucChar,(8*t+English_area.x0+5),Engli

33、sh_area.y0+2);Wordt+=ucChar;f_LineD=Word_List(word);/*輸入是功能按鍵時的相應(yīng)處理是*/ElseucChar-=14;switch(ucChar) case BACKSPACE: wordt=0; word-t=_; word_clear(); Trans_Clear(); Disp_String(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE; Count_line=0; break; case PAGEUP: word_clea

34、r(); Trans_Clear(); if(old=0) old=MAX_OLD; strcpy(word,oldword-old); Disp_String(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE; t=strlen(word); break; case LINEUP: if(t!=0) if(Count_Line!=0) Count_line-; LineMove(Count_line,UP); f_Word=FALSE;break ; case ENTER: word

35、t+1=0; translate(word.f_Word,(f_lineD+Count_Line-1); if(old=MAX_OLD) old=0; strcpy(oldwordold+,word); f_LineD=0; Count_line=0; f_Word=TRUE; for(;t>0;-t) wordt=0; break; case LINEDOWN: if(t!=0) if(Count_line<(ALL_WNo-f_LineD) Count_line+; LineMove(Count_line,DOWN); f_Word=FALSE;break; case PAGEDOWN: word_clear(); Trans_Clear(); If(old=MAX_OLD) old=0; strcpy(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE; t=strlen(word); break; default: Uart_

溫馨提示

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

評論

0/150

提交評論