版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
上海電力學院嵌入式系統(tǒng)課程設(shè)計報告題目:電子詞典設(shè)計姓名:學號:院系:專業(yè)年級:同構(gòu)成員:年月日一、實驗內(nèi)容及規(guī)定在LCD屏幕左側(cè)繪制出單詞輸入框和釋義顯示框以及一種搜索鍵,右側(cè)繪制4*4鍵盤按鈕,模仿出簡易電子詞典功能,按鈕操作用觸摸屏或鍵盤實現(xiàn)均可。實現(xiàn)功能:(1)LCD屏幕上顯示4*4鍵盤,顯示單詞及其翻譯、例句。(2)一種鍵可完畢2個英文字母輸入,如左上角第一種鍵可實現(xiàn)輸入a,b兩個字母,第一次按下時為輸入a,如果需輸入b,只需持續(xù)迅速按鍵兩次即可。(3)在輸入完單詞后,點擊搜索鍵,即可在釋義顯示框中顯示該單詞詞性、中文解釋、示例詞組和句子等。(4)當發(fā)現(xiàn)輸入單詞在庫中不存在時,可實現(xiàn)將該單詞添加入庫操作。二、設(shè)計思路(1)通過LCD顯示模塊畫出電子詞典操作界面。(2)相應界面中各鍵位置設(shè)立鍵盤相應鍵值。(3)設(shè)定功能鍵,實現(xiàn)如下3個功能:①退格鍵:刪除最后一位字母;②搜索∕保存鍵:對輸入框單詞進行判斷,若單詞存在于詞庫中,則顯示單詞詞性、詞義、例句;若單詞不存在則自動進行保存;③轉(zhuǎn)換鍵:按下后,字母鍵輸出相應第二個字母。(4)按鍵后賦值并顯示。三、軟件構(gòu)架開始開始LCD模塊鍵盤模塊結(jié)束四、模塊分析(1)鍵盤模塊流程圖:開始開始鍵盤初始化鍵盤與否按下Y讀取鍵值與否是功能鍵YN執(zhí)行功能賦值顯示結(jié)束N源代碼:/**********************************************************************************************File: keyboard.c*Author: embest*Desc: keyboardsourcecode*History: *********************************************************************************************//*---includefiles---*/#include"44b.h"#include"44blib.h"#include"def.h"#include"keyboard.h"#include"lcd.h"#include"dict.h"#ifndefKEY_INT#defineKEY_INT#endif#ifndefBUT_INT#defineBUT_INT#endif/*---globalvariables---*/intinput_char,n=0;charword[20];intwordIndex=0;intx=15;intnum=0;intcounter=0;/*keyboardcontroladdress*/volatileUCHAR*keyboard_base=(UCHAR*)0x06000000;/*---functiondeclare---*/voidinit_keyboard();voidclose_keyboard();voidKeyboardInt(void);//__attribute__((interrupt("IRQ")));voidEint4567Isr(void);//__attribute__((interrupt("IRQ")));/*---functioncode---*//**********************************************************************************************name: Test_Keyboard*func: testkeyboard*para: none*ret: none*modify:*comment: ********************************************************************************************/voidTest_Keyboard(){ Uart_Printf("\nKeyboardTestExample\n"); Uart_Printf("\nPleasepressonekeyonkeyboardandlookatLED...\n"); //initkeyboard init_keyboard(); while(1); //closekeyboard //close_keyboard();}/**********************************************************************************************name: init_keyboard*func: initkeyboardinterrupt*para: none*ret: none*modify:*comment: ********************************************************************************************/externvoidisrEINT1(void);externvoidisrEint4567(void);voidinit_keyboard(){ /*enableinterrupt*/ rINTMOD=0x0; rINTCON=0x1; /*setEINT1interrupthandler*/ rINTMSK=~(BIT_GLOBAL|BIT_EINT1|BIT_EINT4567);pISR_EINT1=(int)isrEINT1;pISR_EINT4567=(int)isrEint4567;/*PORTG*/rPCONG=0xffff; //EINT7~0 rPUPG=0x0; //pullupenable rEXTINT=rEXTINT|0x20; //EINT1fallingedgemode rI_ISPC=BIT_EINT1|BIT_EINT4567; //clearpendingbit rEXTINTPND=0xf; //clearEXTINTPNDreg}/**********************************************************************************************name: close_keyboard*func: closekeyboardinterrupt*para: none*ret: none*modify:*comment: ********************************************************************************************/voidclose_keyboard(){ pISR_EINT1=NULL; pISR_EINT4567=NULL; /*Maskinterrupt*/ rINTMSK=rINTMSK|BIT_EINT1|BIT_EINT4567;}/**********************************************************************************************name: KeyboardInt*func: keyboardinterrupthandlerfunction*para: none*ret: none*modify:*comment: ********************************************************************************************/voidKeyboardInt(void){ intnTemp,i,j,k,m=0; charbbyte; rI_ISPC=BIT_EINT1; //clearpendingbit charpbyte[10]; nTemp=key_read(); if(nTemp>-1) { //Lcd_Draw_HLine(10,310,80,WHITE,50); input_char=nTemp; Lcd_DspAscII8x16(15,45,WHITE,word); switch(input_char) { case0: num=1;break; case1: num=2;break; case2: num=3;break; case3: num=4;break; case4: num=5;break; case5: num=6;break; case6: num=7;break; case7: num=8;break; case8: num=9;break; case9: counter=1;break; case10: counter=2;break; case11: counter=3;break; case12: m=1; Lcd_Draw_HLine(15+n-10,15+n,45,WHITE,16); n-=10; word[wordIndex]='\0'; wordIndex--; break; /*if(n==0) { word[20]=0; wordIndex=0; Lcd_Draw_HLine(10,310,85,WHITE,160); }break;*/ case13: word[wordIndex]='\0'; wordIndex=0; for(i=0;i<20;i++) { if(strcmp(word,vocab[i].c)==0) { j=0; k=i; break; } else j=1; } if(j==0) { //#ifdefEng_v Lcd_DspAscII8x16(15,40,BLUE,vocab[k].c); Lcd_DspAscII8x16(15,60,BLUE,vocab[k].d); Lcd_DspAscII8x16(15,80,BLUE,vocab[k].f); //#else Lcd_DspHz16(15,100,BLUE,vocab[k].e); //#endif } else { Lcd_DspHz16(15,120,BLUE,"未找到相應單詞"); DelayMs(600); Lcd_DspHz16(15,120,WHITE,"未找到相應單詞"); } break; case14: word[wordIndex]='\0'; wordIndex=0; for(i=0;i<20;i++) { if(strcmp(word,vocab[i].c)==0) { j=0; k=i; break; } else j=1; } if(j==0) { //#ifdefEng_v Lcd_DspAscII8x16(15,40,BLUE,vocab[k].c); Lcd_DspAscII8x16(15,60,BLUE,vocab[k].d); Lcd_DspAscII8x16(15,80,BLUE,vocab[k].f); //#else Lcd_DspHz16(15,100,BLUE,vocab[k].e); //#endif } else { if(20>x>0) { for(i=0;i<20;i++) vocab[x].c[i]=word[i]; word[i]='\0'; Lcd_DspAscII8x16(15,40,BLUE,vocab[x].c); x++; } else x=15; //Lcd_DspAscII8x16(15,45,BLUE,word); for(i=0;i<20;i++) word[i]='\0'; } break; case15: //Lcd_Draw_Box(10,40,310,80,GREEN); break; } if(num!=0&&counter!=0) { switch(3*(num-1)+counter-1) { case0: bbyte='a';break; case1: bbyte='b';break; case2: bbyte='c';break; case3: bbyte='d';break; case4: bbyte='e';break; case5: bbyte='f';break; case6: bbyte='g';break; case7: bbyte='h';break; case8: bbyte='i';break; case9: bbyte='j';break; case10: bbyte='k';break; case11: bbyte='l';break; case12: bbyte='m';break; case13: bbyte='n';break; case14: bbyte='o';break; case15: bbyte='p';break; case16: bbyte='q';break; case17: bbyte='r';break; case18: bbyte='s';break; case19: bbyte='t';break; case20: bbyte='u';break; case21: bbyte='v';break; case22: bbyte='w';break; case23: bbyte='x';break; case24: bbyte='y';break; case25: bbyte='z';break; case26: bbyte='y';break; } num=0;counter=0; if(m==0) { word[wordIndex]=bbyte; wordIndex++; //n+=10; } } Lcd_DspAscII8x16(15,210,BLUE,word);//Uart_Printf("Keyis:%x\r",input_char);}}/**********************************************************************************************name: key_read*func: readkeyvalue*para: none*ret: keyvalue,-1--error*modify:*comment: ********************************************************************************************/inlineintkey_read(){ intvalue; chartemp; /*readline1*/ temp=*(keyboard_base+0xfd); /*not0xFmeankeydown*/ if((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK) { if((temp&0x1)==0) value=3; elseif((temp&0x2)==0) value=2; elseif((temp&0x4)==0) value=1; elseif((temp&0x8)==0) value=0; while((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK)//release temp=*(keyboard_base+0xfd); returnvalue; } /*readline2*/ temp=*(keyboard_base+0xfb); /*not0xFmeankeydown*/ if((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK) { if((temp&0x1)==0) value=7; elseif((temp&0x2)==0) value=6; elseif((temp&0x4)==0) value=5; elseif((temp&0x8)==0) value=4; while((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK)//release temp=*(keyboard_base+0xfb); returnvalue; } /*readline3*/ temp=*(keyboard_base+0xf7); /*not0xFmeankeydown*/ if((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK) { if((temp&0x1)==0) value=0xb; elseif((temp&0x2)==0) value=0xa; elseif((temp&0x4)==0) value=9; elseif((temp&0x8)==0) value=8; while((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK)//release temp=*(keyboard_base+0xf7); returnvalue; } /*readline4*/ temp=*(keyboard_base+0xef); /*not0xFmeankeydown*/ if((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK) { if((temp&0x1)==0) value=0xf; elseif((temp&0x2)==0) value=0xe; elseif((temp&0x4)==0) value=0xd; elseif((temp&0x8)==0) value=0xc; while((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK)//release temp=*(keyboard_base+0xef); returnvalue; } return-1;}/**********************************************************************************************name: Eint4567Isr*func: *para: none*ret: none*modify:*comment: *********************************************************************************************/voidEint4567Isr(void){ unsignedcharwhich_int; Uart_Printf("\nSB2orSB3hadpressedandlightLED.");which_int=rEXTINTPND;rEXTINTPND=0xf; //clearEXTINTPNDreg. rI_ISPC=BIT_EINT4567; //clearpending_bitif(which_int==4) //SB2{ Led_Display(0x0); Led_Display(0x1); }elseif(which_int==8) //SB3{ Led_Display(0x0); Led_Display(0x2); }}(2)LCD模塊流程圖:開始開始LCD初始化顯示開機畫面顯示操作界面結(jié)束源代碼:/**********************************************************************************************File: lcd.c*Author: embest *Desc: LCDcontrolanddisplayfunctions*History: *********************************************************************************************//*---includefiles---*/#include"lcd.h"http://#include"bmp.h"#include"44b.h"/*---globalvariables---*/INT32UaLcdActiveBuffer[LCD_YSIZE][LCD_XSIZE/4];/*---externvariables---*/externconstINT8UaucTempBitmap[][76800];/*---functioncode---*//**********************************************************************************************name: Lcd_Init()*func: InitializeLCDController*para: none*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Init(void){ rDITHMODE=0x12210; rDP1_2=0xa5a5; rDP4_7=0xba5da65; rDP3_5=0xa5a5f; rDP2_3=0xd6b; rDP5_7=0xeb7b5ed; rDP3_4=0x7dbe; rDP4_5=0x7ebdf; rDP6_7=0x7fdfbfe; //disable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk, rLCDCON1=(0x0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12); //LINEBLANK=10(withoutanycalculation) rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21); rLCDCON3=0; //256-color,LCDBANK,LCDBASEU rLCDSADDR1=(0x3<<27)|(((unsignedint)aLcdActiveBuffer>>22)<<21)|M5D((unsignedint)aLcdActiveBuffer>>1); rLCDSADDR2=M5D((((unsignedint)aLcdActiveBuffer+(SCR_XSIZE*LCD_YSIZE))>>1))|(MVAL<<21); rLCDSADDR3=(LCD_XSIZE/2)|(((SCR_XSIZE-LCD_XSIZE)/2)<<9); //Thefollowingvaluehastobechangedforbetterdisplay. rREDLUT=0xfdb96420;//11111101101110010110010000100000 rGREENLUT=0xfdb96420;//11111101101110010110010000100000 rBLUELUT=0xfb40;//1111101101000000 rLCDCON1=(0x1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);// rPDATE=rPDATE&0x0e; rPDATE=0xfe; Lcd_Clr();}/**********************************************************************************************name: Lcd_Clr()*func: clearLCDscreen*para: none*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Clr(void){ INT32Ui; INT32U*pDisp=(INT32U*)aLcdActiveBuffer; for(i=0;i<(SCR_XSIZE*SCR_YSIZE/4);i++) { *pDisp++=ALLWHITE; }}/**********************************************************************************************name: LcdClrRect()*func: fillappointedareawithappointedcolor*para: usLeft,usTop,usRight,usBottom--area'srectangleacmecoordinate* ucColor--appointedcolorvalue*ret: none*modify:*comment: alsoasclearscreenfunction*********************************************************************************************/voidLcdClrRect(INT16usLeft,INT16usTop,INT16usRight,INT16usBottom,INT8UucColor){ INT32Ui,j; INT8U*pDisp=(INT8U*)aLcdActiveBuffer; for(i=usTop;i<=usBottom;i++) { for(j=usLeft;j<=usRight;j++) { LCD_PutPixel(j,i,ucColor); } } }#ifdefMON_LCD/**********************************************************************************************name: LcdClrRect()*func: fillappointedareawithappointedcolor*para: usLeft,usTop,usRight,usBottom--area'srectangleacmecoordinate* ucColor--appointedcolorvalue*ret: none*modify:*comment: alsoasclearscreenfunction*********************************************************************************************/voidLcdClrRect(INT16usLeft,INT16usTop,INT16usRight,INT16usBottom,INT8UucColor){ INT16i=0; INT16k,l; INT16m; INT32UulColor=(ucColor<<28)|(ucColor<<24)|(ucColor<<20)|(ucColor<<16)| (ucColor<<12)|(ucColor<<8)|(ucColor<<4)|ucColor; if((usRight-usLeft)<=8) { for(i=usTop;i<=usBottom;i++) { for(m=usLeft;m<=usRight;m++) { LCD_PutPixel(m,i,ucColor); } } return; } if((usLeft%8)==0) k=usLeft; else { k=(usLeft/8)*8+8; } if((usRight%8)==0) l=usRight; else { l=(usRight/8)*8; } for(i=usTop;i<=usBottom;i++) { for(m=usLeft;m<=(k-1);m++) { LCD_PutPixel(m,i,ucColor); } for(m=k;m<l;m+=8) { (*(INT32U*)(aLcdActiveBuffer+i*SCR_XSIZE/2+m/2))=ulColor; } for(m=l;m<=usRight;m++) { LCD_PutPixel(m,i,ucColor); } }}#endif/**********************************************************************************************name: Lcd_Draw_Box()*func: Drawrectanglewithappointedcolor*para: usLeft,usTop,usRight,usBottom--rectangle'sacmecoordinate* ucColor--appointedcolorvalue*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Draw_Box(INT16usLeft,INT16usTop,INT16usRight,INT16usBottom,INT8UucColor){ Lcd_Draw_HLine(usLeft,usRight,usTop,ucColor,1); Lcd_Draw_HLine(usLeft,usRight,usBottom,ucColor,1); Lcd_Draw_VLine(usTop,usBottom,usLeft,ucColor,1); Lcd_Draw_VLine(usTop,usBottom,usRight,ucColor,1);}/**********************************************************************************************name: Lcd_Draw_Line()*func: Drawlinewithappointedcolor*para: usX0,usY0--line'sstartpointcoordinate* usX1,usY1--line'sendpointcoordinate* ucColor--appointedcolorvalue* usWidth--line'swidth*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Draw_Line(INT16usX0,INT16usY0,INT16usX1,INT16usY1,INT8UucColor,INT16UusWidth){ INT16usDx; INT16usDy; INT16y_sign; INT16x_sign; INT16decision; INT16wCurx,wCury,wNextx,wNexty,wpy,wpx; if(usY0==usY1) { Lcd_Draw_HLine(usX0,usX1,usY0,ucColor,usWidth); return; } if(usX0==usX1) { Lcd_Draw_VLine(usY0,usY1,usX0,ucColor,usWidth); return; } usDx=abs(usX0-usX1); usDy=abs(usY0-usY1); if(((usDx>=usDy&&(usX0>usX1))||((usDy>usDx)&&(usY0>usY1)))){GUISWAP(usX1,usX0);GUISWAP(usY1,usY0);}y_sign=(usY1-usY0)/usDy;x_sign=(usX1-usX0)/usDx;if(usDx>=usDy){for(wCurx=usX0,wCury=usY0,wNextx=usX1,wNexty=usY1,decision=(usDx>>1);wCurx<=wNextx;wCurx++,wNextx--,decision+=usDy){if(decision>=usDx){decision-=usDx;wCury+=y_sign;wNexty-=y_sign;}for(wpy=wCury-usWidth/2;wpy<=wCury+usWidth/2;wpy++){LCD_PutPixel(wCurx,wpy,ucColor);}for(wpy=wNexty-usWidth/2;wpy<=wNexty+usWidth/2;wpy++){LCD_PutPixel(wNextx,wpy,ucColor);}}}else{for(wCurx=usX0,wCury=usY0,wNextx=usX1,wNexty=usY1,decision=(usDy>>1);wCury<=wNexty;wCury++,wNexty--,decision+=usDx){if(decision>=usDy){decision-=usDy;wCurx+=x_sign;wNextx-=x_sign;}for(wpx=wCurx-usWidth/2;wpx<=wCurx+usWidth/2;wpx++){LCD_PutPixel(wpx,wCury,ucColor);}for(wpx=wNextx-usWidth/2;wpx<=wNextx+usWidth/2;wpx++){LCD_PutPixel(wpx,wNexty,ucColor);}}}}/**********************************************************************************************name: Lcd_Draw_HLine()*func: Drawhorizontallinewithappointedcolor*para: usX0,usY0--line'sstartpointcoordinate* usX1--line'sendpointX-coordinate* ucColor--appointedcolorvalue* usWidth--line'swidth*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Draw_HLine(INT16usX0,INT16usX1,INT16usY0,INT8UucColor,INT16UusWidth){ INT16usLen;if(usX1<usX0){GUISWAP(usX1,usX0);}while((usWidth--)>0){usLen=usX1-usX0+1;while((usLen--)>0){ LCD_PutPixel(usX0+usLen,usY0,ucColor);}usY0++;}}/**********************************************************************************************name: Lcd_Draw_VLine()*func: Drawverticallinewithappointedcolor*para: usX0,usY0--line'sstartpointcoordinate* usY1--line'sendpointY-coordinate* ucColor--appointedcolorvalue* usWidth--line'swidth*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Draw_VLine(INT16usY0,INT16usY1,INT16usX0,INT8UucColor,INT16UusWidth){ INT16usLen;if(usY1<usY0){GUISWAP(usY1,usY0);}while((usWidth--)>0){usLen=usY1-usY0+1;while((usLen--)>0){ LCD_PutPixel(usX0,usY0+usLen,ucColor);}usX0++;}}/*---externvariables---*/externINT8Ug_auc_Ascii8x16[];/**********************************************************************************************name: Lcd_DspAscII8x16()*func: display8x16ASCIIcharacterstring*para: usX0,usY0--ASCIIcharacterstring'sstartpointcoordinate* ForeColor--appointedcolorvalue* pucChar--ASCIIcharacterstring*ret: none*modify:*comment: *********************************************************************************************/voidLcd_DspAscII8x16(INT16Ux0,INT16Uy0,INT8UForeColor,INT8U*s){ INT16i,j,k,x,y,xx; INT8Uqm; INT32UulOffset; INT8ywbuf[16],temp[2]; for(i=0;i<strlen((constchar*)s);i++) { if((INT8U)*(s+i)>=161) { temp[0]=*(s+i); temp[1]='\0'; return; } else { qm=*(s+i); ulOffset=(INT32U)(qm)*16; //Heretobechangedtomorrow for(j=0;j<16;j++) { ywbuf[j]=g_auc_Ascii8x16[ulOffset+j];}for(y=0;y<16;y++){ for(x=0;x<8;x++) { k=x%8; if(ywbuf[y]&(0x80>>k)) { xx=x0+x+i*8; LCD_PutPixel(xx,y+y0,(INT8U)ForeColor); } }} } }}/*---externvariables---*/externINT8Ug_auc_Ascii6x8[];#defineXWIDTH 6/**********************************************************************************************name: Lcd_DspAscII6x8()*func: display6x8ASCIIcharacterstring*para: usX0,usY0--ASCIIcharacterstring'sstartpointcoordinate* ForeColor--appointedcolorvalue* pucChar--ASCIIcharacterstring*ret: none*modify:*comment: *********************************************************************************************/voidLcd_DspAscII6x8(INT16UusX0,INT16UusY0,INT8UForeColor,INT8U*pucChar){ INT32Ui,j; INT8UucTemp; while(*pucChar!=0) { for(i=0;i<8;i++) { ucTemp=g_auc_Ascii6x8[(*pucChar)*8+i]; for(j=0;j<8;j++) { if((ucTemp&(0x80>>j))!=0) { LCD_PutPixel(usX0+i,usY0+8-j,(INT8U)ForeColor); } } } usX0+=XWIDTH; pucChar++; }}#ifndefEng_v/**********************************************************************************************name: Lcd_DspHz16()*func: displaychinesecharacterstringin16x16dotarray*para: usX0,usY0--ASCIIcharacterstring'sstartpointcoordinate* ForeColor--appointedcolorvalue* pucChar--ASCIIcharacterstring*ret: none*modify:*comment: *********************************************************************************************/externconstINT8Ug_auc_HZK16[];voidLcd_DspHz16(INT16Ux0,INT16Uy0,INT8UForeColor,INT8U*s){ INT16i,j,k,x,y,xx; INT8Uqm,wm; INT32UulOffset; INT8hzbuf[32],temp[2]; for(i=0;i<strlen((constchar*)s);i++) { if(((INT8U)(*(s+i)))<161) { temp[0]=*(s+i); temp[1]='\0'; break; } else { qm=*(s+i)-161; wm=*(s+i+1)-161; ulOffset=(INT32U)(qm*94+wm)*32; for(j=0;j<32;j++){ hzbuf[j]=g_auc_HZK16[ulOffset+j];}for(y=0;y<16;y++){ for(x=0;x<16;x++) { k=x%8; if(hzbuf[y*2+x/8]&(0x80>>k)) { xx=x0+x+i*8; LCD_PutPixel(xx,y+y0,(INT8U)ForeColor); } } } i++; } }}#endif/**********************************************************************************************name: Lcd_Test()*func: LCDtestfunction*para: none*ret: none*modify:*comment: *********************************************************************************************/voidLcd_Test(void){ inti,j; Uart_Printf("\nLCDdisplayTestExample(pleaselookatLCDscreen)\n"); /*initialLCDcontroller*/ Lcd_Init(); /*clearscreen*/ Lcd_Clr(); /*drawrectanglepattern*/#ifdefEng_v//englishversion Lcd_DspAscII8x16(10,0,BLUE,"EmbestS3CEV40"); #else Lcd_DspAscII8x16(100,50,RED,"0731989"); Lcd_DspHz16(155,70,RED,"馬一鳴"); Lcd_DspAscII8x16(100,90,BLACK,"0731993"); Lcd_DspHz16(155,110,BLACK,"鄧家坤"); Lcd_DspAscII8x16(100,130,BLUE,"0732022"); Lcd_DspHz16(155,150,BLUE,"蔣趙睿"); DelayMs(500); Lcd_DspHz16(100,100,BLUE,"歡迎使用電子詞典"); Lcd_DspAscII8x16(100,50,WHITE,"0731989"); Lcd_DspHz16(155,70,WHITE,"馬一鳴"); Lcd_DspAscII8x16(100,90,WHITE,"0731993"); Lcd_DspHz16(155,110,WHITE,"鄧家坤"); Lcd_DspAscII8x16(100,130,WHITE,"0732022"); Lcd_DspHz16(155,150,WHITE,"蔣趙睿"); DelayMs(500); Lcd_Clr(); Lcd_DspHz16(15,15,BLUE,"電子詞典");#endif //Lcd_DspAscII8x16(10,24,GREEN-55,"ShenZhenEmbestInfo&TechCo.,LTD"); Lcd_Draw_Box(5,30,115,180,GREEN);/*顯示窗口*/ Lcd_Draw_Box(5,190,75,230,GREEN);/*輸入窗口*/ Lcd_Draw_Box(75,190,115,230,GREEN);/*搜索鍵*/ Lcd_Draw_Box(120,30,165,75,GREEN);/*abc*/Lcd_Draw_Box(170,30,215,75,GREEN);/*def*/Lcd
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院入住老人滿意度調(diào)查與反饋制度
- 企業(yè)人力資源規(guī)劃制度
- 公共交通運營數(shù)據(jù)管理制度
- 2026年公共關(guān)系策略與實務應用考試題
- 2026年應急救援隊伍建設(shè)與運作情景模擬題
- 2026年游戲策劃創(chuàng)意與實戰(zhàn)能力技能考核題
- 2026年智慧火花科技知識競賽題目及答案詳解
- 2026年古箏演奏不同難度等級模擬題
- 2026年委托清運合同
- 2026年委托沸騰干燥合同
- 2026云南昭通市搬遷安置局招聘公益性崗位人員3人備考題庫及答案詳解(考點梳理)
- 四川發(fā)展控股有限責任公司會計崗筆試題
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責任公司社會成熟人才招聘備考題庫及一套答案詳解
- 2025-2030心理健康行業(yè)市場發(fā)展分析及趨勢前景與投資戰(zhàn)略研究報告
- 技術(shù)副總年終總結(jié)
- 《馬年馬上有錢》少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- 天津市專升本高等數(shù)學歷年真題(2016-2025)
- 三年級數(shù)學五千以內(nèi)加減法題能力作業(yè)口算題大全附答案
- 臨床診斷學-胸部檢查課件
- 三力測試題70歲以上老人換領(lǐng)駕照
- 職工食堂餐飲服務投標方案(技術(shù)方案)
評論
0/150
提交評論