嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、教師評(píng)語:課程設(shè)計(jì)報(bào)告基于ARM勺嵌入式電子點(diǎn)菜系統(tǒng)教師簽名:2012年10月課程設(shè)計(jì)題目基于ARM的嵌入式電子點(diǎn)菜系統(tǒng)主要內(nèi)容綜合運(yùn)用液晶屏、觸摸屏、鍵盤、繪圖API、圖形控件和消息循環(huán)等知識(shí),基于ARM處理器編寫一段實(shí)用的電子點(diǎn)菜器程序。采用的工具方法運(yùn)行環(huán)境:博創(chuàng)UP-3000實(shí)驗(yàn)臺(tái)編譯軟件:MetrowerksCodeWorriorforARMDeveloperSuitev1.2芯片:三星S3C44B0X01芯片編譯語百:C/C+進(jìn)度安排14周:編譯代碼57周:運(yùn)行實(shí)現(xiàn)8周:測試參考資料基于ARM的嵌入式系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)與實(shí)踐教程1.題目基于ARM的嵌入式電子點(diǎn)菜系統(tǒng)2 .系統(tǒng)簡介在基于A

2、RM的嵌入式環(huán)境下,本電子點(diǎn)菜系統(tǒng)可實(shí)現(xiàn)的功能有:支持觸摸屏圖形選菜以及記錄菜單等功能。界面美觀,功能合理,基本達(dá)到了實(shí)驗(yàn)要求的內(nèi)容。3 .系統(tǒng)設(shè)計(jì)3.1 設(shè)計(jì)背景隨著我國的餐飲企業(yè)的蓬勃發(fā)展,餐飲行業(yè)成為國內(nèi)最早的一個(gè)完全市場化的行業(yè),個(gè)體民營占絕對優(yōu)勢和主導(dǎo)的行業(yè),市場競爭非常充分,在廣大的餐飲企業(yè)的經(jīng)營者的不懈努力下,餐飲行業(yè)取得了非常突出的發(fā)展和進(jìn)步。3.2 設(shè)計(jì)意義傳統(tǒng)的點(diǎn)菜方式由人工來傳遞菜單,不僅浪費(fèi)時(shí)間、效率低下;一旦生意火熱,單據(jù)多,信息量大時(shí),分單、傳菜等環(huán)節(jié)很容易出現(xiàn)錯(cuò)誤,從而直接影響服務(wù)質(zhì)量。導(dǎo)致企業(yè)造成不必要的損失。而本文介紹的電子點(diǎn)菜系統(tǒng),大大降低人力資源成本,加快

3、各環(huán)節(jié)之間的數(shù)據(jù)流通,對企業(yè)軟環(huán)境的檔次有較大提高。在以特色服務(wù)吸引客戶的同時(shí),有效提高餐飲機(jī)構(gòu)的服務(wù)質(zhì)量和工作效率,為餐飲業(yè)創(chuàng)造更多利潤。3.3 總體設(shè)計(jì)圖1實(shí)驗(yàn)程序流程圖3.4 代碼編譯及注釋本實(shí)驗(yàn)要求實(shí)現(xiàn)部分:(1)、MainTask中按鍵消息獲取,處理(2)、按鍵處理函數(shù)OnKey()函數(shù)(3)、創(chuàng)建用口處理任務(wù)Serial_Receive_Task(void*Id)(4)、實(shí)現(xiàn)串口消息換取,處理(在LCD或數(shù)碼管上顯示)函數(shù)OnReceive(charnRdata)初始化操作:voidinitOSGUI()初始化操作系統(tǒng)的圖形界面initOSMessage();initOSList(

4、);initOSDC();initOSCtrl();initOSFile();/Mainfunction./intmain(void)(ARMTargetInit();/開發(fā)板初始化OSInit();/操作系統(tǒng)初始化uHALr_ResetMMU();/復(fù)位MMULCD_Init();/初始化LCD模塊LCD_printf("LCDinitializationisOK'n");/向液晶屏輸出數(shù)據(jù)LCD_printf("320x240TextModen");initOSGUI();/初始化圖形界面LoadFont();/調(diào)Unicode字庫LoadC

5、onfigSys();/使用config.sys文件配置系統(tǒng)設(shè)置LCD_printf("CreatetaskonuCOS-II.n");OSTaskCreate(Main_Task,(void*)0,(OS_STK*)&Main_StackSTACKSIZE*8-1,Main_Task_Prio);/創(chuàng)建系統(tǒng)任務(wù)3.4.1 觸摸功能設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)思想是讓LCD顯示屏每頁顯示六道菜,觸摸實(shí)現(xiàn)點(diǎn)菜確認(rèn),所以在觸摸屏上安排了九個(gè)區(qū)間的觸摸功能用以下代碼完成觸摸區(qū)域。recta.left=0;recta.top=0;recta.right=320;recta.bottom=3

6、0;/定義觸摸區(qū)域大小pTouch_Position=&Touch_Position;prect=▭precta=&recta;prectb=&rectb;prectc=&rectc;prectd=&rectd;precte=&recte;prectf=&rectf;如上,定義上下左右四個(gè)區(qū)間的大小來完成觸摸區(qū)域,六道菜六個(gè)觸摸區(qū)域區(qū)域大小根據(jù)圖片大小而定。觸摸區(qū)域完成后,就是實(shí)現(xiàn)觸摸點(diǎn)菜功能了,在這里,我們用到了消息循環(huán),即InitInterface();Uart_Printf("這是01號(hào)桌)for在進(jìn)入點(diǎn)

7、菜界面之前有一個(gè)歡迎界面,需要通過按鍵進(jìn)入點(diǎn)菜界面,這里使用循環(huán)用來判斷。for(;)pMsg=WaitMessage(0);/符待消息switch(pMsg->Message)caseOSM_KEY:這里的caseOSm_KEY表示按鍵事件,后面用了一個(gè)judge函數(shù)來進(jìn)行判斷if(judge=0)num=0;state=0;statea=0;stateb=0;statec=0;stated=0;statee=0;statef=0;if(onKey(pMsg->WParam,pMsg->LParam)judge=1;pdc=CreateDC();ShowBmp(pdc,bm

8、pnamelogo1,70,1);ShowBmp(pdc,bmpnamelogo2,200,1);ShowBmp(pdc,bmpnamelogo3,70,80);ShowBmp(pdc,bmpnamelogo4,200,80);ShowBmp(pdc,bmpnamelogo5,70,160);ShowBmp(pdc,bmpnamelogo6,200,160);OSTimeDly(100);judge=1表示發(fā)生了這個(gè)事件,進(jìn)入點(diǎn)菜界面。進(jìn)入點(diǎn)菜界面后,可以看見每排2道菜,一共六道菜,這是用到了消息循環(huán),同時(shí)用用了一次ifjudge來進(jìn)行點(diǎn)菜判斷,同時(shí)定義IsInRect2(prect1,pTo

9、uch_Position詢數(shù)來判斷prect1指向的區(qū)域是否有觸摸動(dòng)作,有則同樣跳轉(zhuǎn)到菜單畫面,caseOSM_TOUCH_SCREEN:表示觸摸屏動(dòng)作后系統(tǒng)需響應(yīng)的進(jìn)程。if(judge=1)if(IsInRect2(precta,pTouch_Position)if(statea=0)ShowBmp(pdc,dj_Pict,20,5);statea=1;Uart_Printf("01號(hào)桌點(diǎn)了小雞燉蘑菇t");sysnumber=sysnumber+price0;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,st

10、r,TRUE);num=sysnumber;ElseFillRect(pdc,20,5,40,25,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,5,40,25);statea=0;Uart_Printf("01號(hào)桌取消您點(diǎn)了小雞燉蘑菇t");sysnumber=sysnumber-price0;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseif(IsInRect2(prectb,pTouch_Posi

11、tion)DeleteMessage(pMsg);/刪除消息,釋放資源OSTimeDly(200);DestoryDC(pdc);用消息循環(huán)來實(shí)現(xiàn)點(diǎn)菜和取消點(diǎn)菜的過程,點(diǎn)一下圖片為點(diǎn)菜,再點(diǎn)一下就取消了點(diǎn)菜。3.4.2 菜單記錄的設(shè)計(jì)實(shí)現(xiàn)在最開始初始化完成之后,創(chuàng)建了文本框在點(diǎn)菜界面右下角用來記錄菜單,具體代碼如下:pTextCtrl=CreateTextCtrl(101,&rect,FONTSIZE_MIDDLE,CTRL_STYLE_FRAME,NULL,NULL);SetTextCtrlText(pTextCtrl,str,TRUE);/設(shè)置文本框內(nèi)容在定義圖片之前設(shè)置了每道菜的

12、單價(jià):intprice6=50,50,80,280,180,80;之后每點(diǎn)一道菜,系統(tǒng)自動(dòng)判斷類別并進(jìn)行菜單記錄,增刪菜價(jià)。SetTextCtrlText(pTextCtrl,str,TRUE);4 .系統(tǒng)實(shí)現(xiàn)(1)在ADS1.2中,新建一個(gè)項(xiàng)目menu,把操作系統(tǒng)所需要的頭文件(*.h)和庫文件(*alf)加入工程中。(2)在創(chuàng)建的Main.c文件中,在Main_Task任務(wù)中添加代碼,初始化一些變量包括:創(chuàng)建繪圖用的DC(createDC)并在繪圖完成后刪除它(DestoryDC);啟動(dòng)消息循環(huán),等待鍵盤掃描任務(wù)和觸摸屏任務(wù)發(fā)來的消息,并調(diào)用相應(yīng)的函數(shù)進(jìn)行處理。(3)創(chuàng)建界面函數(shù)e.c并添

13、加代碼,主要定義InitInterface()函數(shù),進(jìn)行界面初始化并顯示圖像,包括創(chuàng)建列表框控件InitCtrl()和顯示初始圖片InitPicture()。(4)編譯通過后,下載到試驗(yàn)臺(tái)中運(yùn)行。(5)附(系統(tǒng)源代碼Main.c):#include".ucos-iiincludes.h"#include".ucos-iiaddosaddition.h"#include".incdrv.h"#include".incdrvzlg7289.h”#include<string.h>#include".inct

14、emplate.h"#include".incexperiment.h"#include".incOSFile.h"#include".incdrvUstring.h"/*uC/OSinterface*/#include<math.h>#include".UCOS-IIuhaluart.h"/#include".incexio.h"externintZlg7289SIOBand;externintZlg7289SIOCtrl;intnum=0;#pragmaimport(_

15、use_no_semihosting_swi)/ensurenofunctionsthatusesemihosting/*任務(wù)定義*/OS_STKMain_StackSTACKSIZE*8=0,;Main_Test_Task堆棧voidMain_Task(void*Id);#defineMainTaskPrio13/MainTestTaskOS_STKDynamic_Display_Task_StackSTACKSIZE*8=0,;voidDynamic_Display_Task(void*Id);#defineDynamic_Display_Task_Prio52/*已經(jīng)定義的OS任務(wù)*tc

16、p監(jiān)控任務(wù)11以太網(wǎng)物理層監(jiān)控任務(wù)8觸摸屏任務(wù)鍵盤任務(wù)lcd刷新任務(wù)系統(tǒng)任務(wù)910591*/*事件定義*/OS_EVENT*Nand_Rw_Sem;/andyoucanuseitasfolloeing:/Nand_Rw_Sem=OSSemCreate(1);值為1滿足W叁"/NandFlash讀寫控制權(quán)旗語/創(chuàng)建Nand-Flash讀寫控制權(quán)旗語,初/OSSemPend(Nand_Rw_Sem,0,&err);OSSemPost(Nand_Rw_Sem);-6-OS_EVENT*Uart_Rw_Sem;/Uart讀寫控制權(quán)旗語/andyoucanuseitasfolloein

17、g:/Uart_Rw_Sem=OSSemCreate(1);/創(chuàng)建Uart讀寫控制權(quán)旗語,初值為1滿足互斥條件/一/OSSemPend(Uart_Rw_Sem,0,&err);/OSSemPost(Uart_Rw_Sem);/voidinitOSGUI()/初始化操作系統(tǒng)的圖形界面(initOSMessage();initOSList();initOSDC();initOSCtrl();initOSFile();)/Mainfunction./intmain(void)(ARMTargetInit();/開發(fā)板初始化OSInit();/操作系統(tǒng)初始化uHALr_ResetMMU();/

18、復(fù)位MMULCD_Init();初始化LCD模塊LCD_printf("LCDinitializationisOKn");/向液晶屏輸出數(shù)據(jù)LCD_printf("320x240TextModen");initOSGUI();/初始化圖形界面LoadFont();/調(diào)Unicode字庫LoadConfigSys();/使用config.sys文件配置系統(tǒng)設(shè)置LCD_printf("CreatetaskonuCOS-II.n");OSTaskCreate(Main_Task,(void*)0,(OS_STK*)&Main_Sta

19、ckSTACKSIZE*8-1,Main_Task_Prio);/創(chuàng)建系統(tǒng)任務(wù)/創(chuàng)建串口任務(wù)/OSTaskCreate(Dynamic_Display_Task,(void*)0,(OS_STK*)&Dynamic_Display_Task_StackSTACKSIZE*8-1,Dynamic_Display_Task_Prio);/OSAddTask_Init();/創(chuàng)建系統(tǒng)附加任務(wù)LCD_printf("StartinguCOS-II.n");LCD_printf("Enteringgraphmode.n");LCD_ChangeMode(D

20、spGraMode);/變LCD顯示模式為文本模式IMtRtc();初始化系統(tǒng)時(shí)鐘Nand_Rw_Sem=OSSemCreate(1);創(chuàng)建Nand-Flash讀寫控制權(quán)旗語,初值為1滿足互斥條件/一OSStart();/臊作系統(tǒng)任務(wù)調(diào)度開始/不會(huì)執(zhí)行到這里return0;)/*char*KeyTable="NumLock","/","*","-","7","8","9","+","4","5",

21、"6"T,"2","3","Enter","0";"voidonKey(intnkey,intfnkey)PDCpdc;/創(chuàng)建繪圖設(shè)備上下文結(jié)構(gòu)U16ch10;ClearScreen();/青屏pdc=CreateDC();/fi!j建繪圖設(shè)備上下文Uart_Printf("key=%sn",KeyTablenkey);strChar2Unicode(ch,KeyTablenkey);將數(shù)據(jù)轉(zhuǎn)化成Unicode轉(zhuǎn)化函數(shù)參考INCDRVustring.hSetPenC

22、olor(pdc,RGB(255,0,0);LCD_printf(KeyTablenkey);LCD_printf("n");/TextOut(pdc,100,100,ch,TRUE,FONTSIZE_MIDDLE);/文本模式下顯示文字DestoryDC(pdc);/刪除繪圖設(shè)備上下文*/voidMain_Task(void*Id)/Main_Test_TaskPOSMSGpMsg=0;intjudge=0;intsysnumber=0;inti=0;intj=0;U16str20;PDCpdc;intprice6=50,50,80,280,180,80;chardj_P

23、ict12='1','2','8','_',3',7','','','B','M','P',0;chardj_Pict112=,1,2,8,_,3,5','','','B',M',P',0;chardj_Pict212='1','2','8','_',3,6,I1,B','M',

24、'P',0;charbmpnamelogo112='0','0','0','_','0','1','?','B','M','P',0;charbmpnamelogo212='0','0','0','_','0','2','','','B','M','P&#

25、39;,0;charbmpnamelogo312='0','0','0','_','0','3','','','B','M','P',0;charbmpnamelogo412='0','0','0','_','0','4','','','B','M','P

26、',0;charbmpnamelogo512='0','0','0','_','0','5','','','B','M','P',0;charbmpnamelogo612='0','0','0','_','0','6','','','B','M','

27、;P',0;intstate,statea,stateb,statec,stated,statee,statef;structPOINTTouch_Position,*pTouch_Position;structRECTrect,recta,rectb,rectc,rectd,recte,rectf;structRECT*prect,*precta,*prectb,*prectc,*prectd,*precte,*prectf;PTextCtrlpTextCtrl;state=0;statea=0;stateb=0;statec=0;stated=0;statee=0;statef=0

28、;recta.left=0;recta.top=0;recta.right=320;recta.bottom=30;rectb.left=0;rectb.top=32;rectb.right=320;rectb.bottom=62;rectc.left=0;rectc.top=64;rectc.right=320;rectc.bottom=94;rectd.left=0;rectd.top=96;rectd.right=320;rectd.bottom=126;recte.left=0;recte.top=128;recte.right=320;recte.bottom=158;rectf.l

29、eft=0;rectf.top=160;rectf.right=320;rectf.bottom=190;rect.left=80;rect.top=200;rect.right=300;rect.bottom=240;pTouch_Position=&Touch_Position;prect=&rect;precta=&recta;prectb=&rectb;prectc=&rectc;prectd=&rectd;precte=&recte;prectf=&rectf;ClearScreen();InitInterface();

30、Uart_Printf("這是01號(hào)桌)/消息循環(huán)for(;)pMsg=WaitMessage(0);/符待消息switch(pMsg->Message)caseOSM_KEY:/Uart_Printf("%d",pMsg->WParam);if(judge=0)num=0;state=0;statea=0;stateb=0;statec=0;stated=0;statee=0;statef=0;if(onKey(pMsg->WParam,pMsg->LParam)judge=1;pdc=CreateDC();ShowBmp(pdc,bmp

31、namelogo1,70,1);ShowBmp(pdc,bmpnamelogo2,200,1);ShowBmp(pdc,bmpnamelogo3,70,80);ShowBmp(pdc,bmpnamelogo4,200,80);ShowBmp(pdc,bmpnamelogo5,70,160);ShowBmp(pdc,bmpnamelogo6,200,160);OSTimeDly(100);SetRect(&rect,180,205,260,225);設(shè)置PID參數(shù)軸1P的文本框10-pTextCtrl=CreateTextCtrl(101,&rect,FONTSIZE_MIDDL

32、E,CTRL_STYLE_FRAME,NULL,NULL);/倉U建文本框Int2Unicode(sysnumber,str);/等整形數(shù)據(jù)轉(zhuǎn)換為Unicode數(shù)據(jù)/SetWndCtrlFocus(NULL,ID_MainTextCtrl);/將焦點(diǎn)移到文本框中SetTextCtrlText(pTextCtrl,str,TRUE);設(shè)置文本框內(nèi)容/EXIO_8255A_CTRL=0x80;/EXIO_8255A_PORTC=0xff;OSTaskCreate(Dynamic_Display_Task,(void*)0,(OS_STK*)&Dynamic_Display_Task_Sta

33、ckSTACKSIZE*8-1,Dynamic_Display_Task_Prio);/1elseif(judge=1)/Uart_Printf("%d",pMsg->WParam);switch(pMsg->WParam)case15:if(statea=0)ShowBmp(pdc,dj_Pict,20,5);statea=1;Uart_Printf("01號(hào)桌點(diǎn)了小雞燉蘑菇t");sysnumber=sysnumber+price0;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,

34、str,TRUE);num=sysnumber;elseFillRect(pdc,20,5,40,25,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,5,40,25);statea=0;Uart_Printf("01號(hào)桌取消您點(diǎn)了小雞燉蘑菇t");sysnumber=sysnumber-price0;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;break;case11:if(stateb=0)ShowBmp(

35、pdc,dj_Pict,20,37);stateb=1;Uart_Printf("01號(hào)桌點(diǎn)了酸菜燉粉條t");sysnumber=sysnumber+price1;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;11)else(FillRect(pdc,20,37,40,57,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,37,40,57);stateb=0;Uart_Printf("01號(hào)桌取消了酸

36、菜燉粉條t");sysnumber=sysnumber-price1;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)break;case12:if(statec=0)(ShowBmp(pdc,dj_Pict,20,69);statec=1;Uart_Printf("01號(hào)桌點(diǎn)了紅燒獅子頭t");sysnumber=sysnumber+price2;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,st

37、r,TRUE);num=sysnumber;)else(FillRect(pdc,20,69,40,89,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,69,40,89);statec=0;Uart_Printf("01號(hào)桌取消了紅燒獅子頭t");sysnumber=sysnumber-price2;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)break;case13:if(stated=0)(ShowBm

38、p(pdc,dj_Pict,20,101);stated=1;Uart_Printf("01號(hào)桌點(diǎn)了烤乳豬t");sysnumber=sysnumber+price3;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;12)else(FillRect(pdc,20,101,40,121,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,101,40,121);stated=0;Uart_Printf("01號(hào)

39、桌取消了烤乳豬t");sysnumber=sysnumber-price3;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)break;case8:if(statee=0)(ShowBmp(pdc,dj_Pict,20,133);statee=1;Uart_Printf("01號(hào)桌點(diǎn)了太子蟹t");sysnumber=sysnumber+price4;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,s

40、tr,TRUE);num=sysnumber;)else(FillRect(pdc,20,133,40,153,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,133,40,153);statee=0;Uart_Printf("01號(hào)桌取消了太子蟹t");sysnumber=sysnumber-price4;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)break;case9:if(statef=0)(Show

41、Bmp(pdc,dj_Pict,20,165);statef=1;Uart_Printf("01號(hào)桌點(diǎn)了文昌雞t");sysnumber=sysnumber+price5;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;13-else(FillRect(pdc,20,165,40,185,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,165,40,185);statef=0;Uart_Printf("0

42、1號(hào)桌取消了文昌雞t");sysnumber=sysnumber-price5;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)break;case14:ClearScreen();ShowBmp(pdc,dj_Pict1,60,40);judge=2;OSTimeDly(1500);ClearScreen();ShowBmp(pdc,dj_Pict2,0,0);judge=0;sysnumber=0;break;default:break;)break;caseOSM_LIS

43、TCTRL2_SELCHANGE:onListCtrl2SelChange(pMsg->WParam,pMsg->LParam);break;caseOSM_MENU_SELCHANGE:onMenuSelChange(pMsg->WParam,pMsg->LParam);break;caseOSM_TOUCH_SCREEN:/OSM_TOUCH_SCREEN:Touch_Position.x=pMsg->WParam&0xffff;Touch_Position.y=pMsg->WParam>>16;if(judge=1)if(IsInR

44、ect2(precta,pTouch_Position)(.if(statea=0)(ShowBmp(pdc,dj_Pict,20,5);statea=1;Uart_Printf("01號(hào)桌點(diǎn)了小雞燉蘑菇t");14-sysnumber=sysnumber+price0;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseFillRect(pdc,20,5,40,25,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,

45、20,5,40,25);statea=0;Uart_Printf("01號(hào)桌取消您點(diǎn)了小雞燉蘑菇t");sysnumber=sysnumber-price0;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseif(IsInRect2(prectb,pTouch_Position)if(stateb=0)ShowBmp(pdc,dj_Pict,20,37);stateb=1;Uart_Printf("01號(hào)桌點(diǎn)了酸菜燉粉條t");sysnumbe

46、r=sysnumber+price1;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseFillRect(pdc,20,37,40,57,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,37,40,57);stateb=0;Uart_Printf("01號(hào)桌取消了酸菜燉粉條t");sysnumber=sysnumber-price1;Int2Unicode(sysnumber,str);SetTextCtrl

47、Text(pTextCtrl,str,TRUE);num=sysnumber;elseif(IsInRect2(prectc,pTouch_Position)if(statec=0)-15-ShowBmp(pdc,dj_Pict,20,69);statec=1;Uart_Printf("01號(hào)桌點(diǎn)了紅燒獅子頭t");sysnumber=sysnumber+price2;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;else(FillRect(pdc,20,69,40,

48、89,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,69,40,89);statec=0;Uart_Printf("01號(hào)桌取消了紅燒獅子頭t");sysnumber=sysnumber-price2;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseif(IsInRect2(prectd,pTouch_Position)if(stated=0)ShowBmp(pdc,dj_Pict,20,101);sta

49、ted=1;Uart_Printf("01號(hào)桌點(diǎn)了烤乳豬t");sysnumber=sysnumber+price3;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseFillRect(pdc,20,101,40,121,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,101,40,121);stated=0;Uart_Printf("01號(hào)桌取消了烤乳豬t");sysnumber=sys

50、number-price3;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;16-)elseif(IsInRect2(precte,pTouch_Position)/FillRect(pdc,20,5,40,25,GRAPH_MODE_NORMAL,COLOR_WHITE);if(statee=0)ShowBmp(pdc,dj_Pict,20,133);statee=1;Uart_Printf("01號(hào)桌點(diǎn)了太子蟹t");sysnumber=sysnumber+pric

51、e4;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)elseFillRect(pdc,20,133,40,153,GRAPH_MODE_NORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,133,40,153);statee=0;Uart_Printf("01號(hào)桌取消了太子蟹t");sysnumber=sysnumber-price4;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtr

52、l,str,TRUE);num=sysnumber;)elseif(IsInRect2(prectf,pTouch_Position)if(statef=0)ShowBmp(pdc,dj_Pict,20,165);statef=1;Uart_Printf("01號(hào)桌點(diǎn)了文昌雞t");sysnumber=sysnumber+price5;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;)elseFillRect(pdc,20,165,40,185,GRAPH_MODE_N

53、ORMAL,COLOR_WHITE);DrawRectFrame(pdc,20,165,40,185);statef=0;17-Uart_Printf("01號(hào)桌取消了文昌雞t");sysnumber=sysnumber-price5;Int2Unicode(sysnumber,str);SetTextCtrlText(pTextCtrl,str,TRUE);num=sysnumber;elseif(IsInRect2(prect,pTouch_Position)ClearScreen();ShowBmp(pdc,dj_Pict1,60,40);judge=2;OSTimeDly(1500);ClearScreen();ShowBmp(pdc,dj_Pict2,0,0);judge=0;sysnumber=0;break;d

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論