


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式系統(tǒng)設計報告題目:觸摸式計算器設計姓名:姜濤學號:x05610117班級:05電子(11)班指導老師:沈軍民一、課程任務本電子系統(tǒng)的功能是借助ARM7S3C44B0LCD示屏等硬件編寫程序來實現(xiàn)計算器的設計。實驗要求:1、要用觸摸屏來實現(xiàn)2、能夠具有觸摸按鍵選擇功能,并且具有顯示數字功能3、可以實現(xiàn)四則運算功能二、軟件實現(xiàn)流程圖三、主程序:#include"44b.h"#include"uhal.h"#include"option.h"#include"def.h"#include"tchScr.h"#include"myuart.h"#include"tchScr.h"#include"maro.h"#pragmaimport( use_no_semihosting_swi)//ensurenofunctionsusesemihostingexternU32LCDBuffer[240][320];U32jcolor;intnumber=0;//intnumber1=0;charsignal;intmain(void){inti,j,k;intm,n;ARMTargetInit();//開發(fā)版初始化LCD_Init(); //LCD初始/*for{(i=0;i<9;i++)switch(i){case0:jcolor=0x00000000;//RGB黑色break;case1:jcolor=0x000000e0;//R紅色break;case2:jcolor=0x0000d0e0;//RandG橙色break;case3:jcolor=0x0000e0e0;//RandG黃break;case4:jcolor=0x0000e000;//G綠色break;case5:jcolor=0x00e0e000;//GB 青色break;case6:jcolor=0x00e00000;//B 藍色break;case7:jcolor=0x00e000e0;//RandB 紫色break;case8:jcolor=0x00e0e0e0;//RGB 白色break;}*/jsqInit();getNum(235,7,0);LCD_Refresh();while(1){TchScr_Test();Delay(1000);}return0;}getNum(intx,inty,intnum){inti,j;for(i=x;i<=x+8;i++)for(j=y;j<=y+14;j++){LCDBuffer[j][i]=0x00000000;switch(num){case0:if(i==x||i==x+8)LCDBuffer[j][i]=0x0000e000;if(j==y||j==y+14)LCDBuffer[j][i]=0x0000e000;break;case1:if(i==x+8)LCDBuffer[j][i]=0x0000e000;break;case LCDBuffer[j][i]=0x0000e000;if((i==x&&j>=y+7)||(i==x+8&&j<=y+7))LCDBuffer[j][i]=0x0000e000;break;case LCDBuffer[j][i]=0x0000e000;if(i==x+8)LCDBuffer[j][i]=0x0000e000;break;case4: if(j==y+7)LCDBuffer[j][i]=0x0000e000;if(i==x&&j<=y+7)LCDBuffer[j][i]=0x0000e000;if(i==x+8)LCDBuffer[j][i]=0x0000e000;break;case LCDBuffer[j][i]=0x0000e000;if((i==x&&j<=y+7)||(i==x+8&&j>=y+7))LCDBuffer[j][i]=0x0000e000;break;case 6:if(j==y||j==y+7||j==y+14)LCDBuffer[j][i]=0x0000e000;if(i==x||(i==x+8&&j>=y+7))LCDBuffer[j][i]=0x0000e000;break;case7:if(i==x+8)LCDBuffer[j][i]=0x0000e000;if(j==y)LCDBuffer[j][i]=0x0000e000;break;case LCDBuffer[j][i]=0x0000e000;if(i==x||i==x+8)LCDBuffer[j][i]=0x0000e000;break;case LCDBuffer[j][i]=0x0000e000;if((i==x&&j<=y+7)||i==x+8)LCDBuffer[j][i]=0x0000e000;break;}}}getOp(){inti,j;for(i=235;i<=243;i++)for(j=7;j<21;j++){switch(signal){case '+':if(j==14||i==239)LCDBuffer[j][i]=0x00e00000;break;case'-':if(j==14)LCDBuffer[j][i]=0x00e00000;break;case'*':if(j+i==245||j-i==221)LCDBuffer[j][i]=0x00e00000;break;case'/':if(j-i==221)LCDBuffer[j][i]=0x00e00000;break;}}}jsqInit(){intk,i,j;for(k=0;k<260;k++)for(j=i*32;j<i*32+32;j++){LCDBuffer[2][k+10]=0x00e00000;LCDBuffer[42][k+10]=0x00e00000;LCDBuffer[215][105]=0x00e00000;//'.'LCDBuffer[107][235]=0x00e00000;//'/'LCDBuffer[117][235]=0x00e00000;//'/'}for(k=0;k<10;k++)for(j=i*32;j<i*32+32;j++){LCDBuffer[57][k+100]=0x00e00000;//2LCDBuffer[67][k+100]=0x00e00000;LCDBuffer[77][k+100]=0x00e00000;LCDBuffer[57][k+165]=0x00e00000;//3LCDBuffer[67][k+165]=0x00e00000;LCDBuffer[77][k+165]=0x00e00000;LCDBuffer[112][k+35]=0x00e00000;//4’的位置LCDBuffer[102][k+100]=0x00e00000;//5LCDBuffer[112][k+100]=0x00e00000;LCDBuffer[122][k+100]=0x00e00000;LCDBuffer[102][k+165]=0x00e00000;//6LCDBuffer[112][k+165]=0x00e00000;LCDBuffer[122][k+165]=0x00e00000;LCDBuffer[147][k+35]=0x00e00000;//7’的位置LCDBuffer[147][k+100]=0x00e00000;//8LCDBuffer[157][k+100]=0x00e00000;LCDBuffer[167][k+100]=0x00e00000;LCDBuffer[147][k+165]=0x00e00000;//9LCDBuffer[157][k+165]=0x00e00000;LCDBuffer[167][k+165]=0x00e00000;LCDBuffer[192][k+35]=0x00e00000;//0LCDBuffer[212][k+35]=0x00e00000;LCDBuffer[157][k+230]=0x00e00000;//LCDBuffer[202][k+165]=0x00e00000;//LCDBuffer[200][k+230]=0x00e00000;//LCDBuffer[204][k+230]=0x00e00000;LCDBuffer[112][k+230]=0x00e00000;//'/'}for(k=0;k<60;k++)for(j=i*32;j<i*32+32;j++){LCDBuffer[47][k+10]=0x00e00000;LCDBuffer[87][k+10]=0x00e00000;LCDBuffer[47][k+75]=0x00e00000;LCDBuffer[87][k+75]=0x00e00000;LCDBuffer[47][k+140]=0x00e00000;LCDBuffer[87][k+140]=0x00e00000;LCDBuffer[47][k+205]=0x00e00000;LCDBuffer[87][k+205]=0x00e00000;LCDBuffer[92][k+10]=0x00e00000;LCDBuffer[132][k+10]=0x00e00000;LCDBuffer[92][k+75]=0x00e00000;LCDBuffer[132][k+75]=0x00e00000;LCDBuffer[92][k+140]=0x00e00000;LCDBuffer[132][k+140]=0x00e00000;LCDBuffer[92][k+205]=0x00e00000;LCDBuffer[132][k+205]=0x00e00000;LCDBuffer[137][k+10]=0x00e00000;LCDBuffer[177][k+10]=0x00e00000;LCDBuffer[137][k+75]=0x00e00000;LCDBuffer[177][k+75]=0x00e00000;LCDBuffer[137][k+140]=0x00e00000;LCDBuffer[177][k+140]=0x00e00000;LCDBuffer[137][k+205]=0x00e00000;LCDBuffer[177][k+205]=0x00e00000;LCDBuffer[182][k+10]=0x00e00000;LCDBuffer[222][k+10]=0x00e00000;LCDBuffer[182][k+75]=0x00e00000;LCDBuffer[222][k+75]=0x00e00000;LCDBuffer[182][k+140]=0x00e00000;LCDBuffer[222][k+140]=0x00e00000;LCDBuffer[182][k+205]=0x00e00000;LCDBuffer[222][k+205]=0x00e00000;}jcolor=0x00e00000;for(i=0;i<40;i++){if(i==80||i==160)jcolor<<=8;for(j=288;j<320;j++){LCDBuffer[i+2][10]=0x00e00000;LCDBuffer[i+2][270]=0x00e00000;LCDBuffer[i+47][10]=0x00e00000;LCDBuffer[i+47][70]=0x00e00000;LCDBuffer[i+47][75]=0x00e00000;LCDBuffer[i+47][135]=0x00e00000;LCDBuffer[i+47][140]=0x00e00000;LCDBuffer[i+47][200]=0x00e00000;LCDBuffer[i+47][205]=0x00e00000;LCDBuffer[i+47][265]=0x00e00000;LCDBuffer[i+92][10]=0x00e00000;LCDBuffer[i+92][70]=0x00e00000;LCDBuffer[i+92][75]=0x00e00000;LCDBuffer[i+92][135]=0x00e00000;LCDBuffer[i+92][140]=0x00e00000;LCDBuffer[i+92][200]=0x00e00000;LCDBuffer[i+92][205]=0x00e00000;LCDBuffer[i+92][265]=0x00e00000;LCDBuffer[i+137][10]=0x00e00000;LCDBuffer[i+137][70]=0x00e00000;LCDBuffer[i+137][75]=0x00e00000;LCDBuffer[i+137][135]=0x00e00000;LCDBuffer[i+137][140]=0x00e00000;LCDBuffer[i+137][200]=0x00e00000;LCDBuffer[i+137][205]=0x00e00000;LCDBuffer[i+137][265]=0x00e00000;LCDBuffer[i+182][10]=0x00e00000;LCDBuffer[i+182][70]=0x00e00000;LCDBuffer[i+182][75]=0x00e00000;LCDBuffer[i+182][135]=0x00e00000;LCDBuffer[i+182][140]=0x00e00000;LCDBuffer[i+182][200]=0x00e00000;LCDBuffer[i+182][205]=0x00e00000;LCDBuffer[i+182][265]=0x00e00000;}}jcolor=0x00e00000;for(i=0;i<10;i++){if(i==80||i==160)jcolor<<=8;for(j=288;j<320;j++){LCDBuffer[i+67][100]=0x00e00000;//‘2’LCDBuffer[i+57][110]=0x00e00000;LCDBuffer[i+102][35]=0x00e00000;//‘4’LCDBuffer[i+102][100]=0x00e00000;//‘5’LCDBuffer[i+112][110]=0x00e00000;LCDBuffer[i+112][175]=0x00e00000;//‘6’LCDBuffer[i+147][165]=0x00e00000;//LCDBuffer[i+197][170]=0x00e00000;//‘+’}}jcolor=0x00e00000;for(i=0;i<20;i++){if(i==80||i==160)jcolor<<=8;for(j=288;j<320;j++){LCDBuffer[i+62][40]=0x00e00000;//‘1’LCDBuffer[i+57][175]=0x00e00000;//‘3’LCDBuffer[i+102][40]=0x00e00000;//‘4’LCDBuffer[i+102][165]=0x00e00000;//‘6’LCDBuffer[i+147][45]=0x00e00000;//‘7’LCDBuffer[i+147][100]=0x00e00000;//‘8’LCDBuffer[i+147][110]=0x00e00000;LCDBuffer[i+147][175]=0x00e00000;//‘9’LCDBuffer[i+192][35]=0x00e00000;//‘0’LCDBuffer[i+192][45]=0x00e00000;}//
}//return;}tchNum(intx,inty){inti;intx1,y1;x1=(x-5)/65;y1=(y-42)/45;if(number<99999999||(x1==1&&y1==3)||(x1==2&&y1==3)||x1==3){switch(x1){case0:switch(y1){case0:number=number*10+1;return;case1:number=number*10+4;return;case2:number=number*10+7;return;case3:number=number*10;return;}case1:switch(y1){case0:number=number*10+2;return;case1:number=number*10+5;return;case2:number=number*10+8;return;case number1=number;number=0;return;}case2:switch(y1){case0:number=number*10+3;return;case1:number=number*10+6;return;case2:number=number*10+9;return;case3:signal='+';clear();getOp();number1=number;number=0;return;}case3:switch(y1){case0:number=0;number1=0;clear();getNum(235,7,0);return;case number1=number;number=0;return;case2:signal='-';clear();getOp();number=0;return;case3:operation();return;}}}}showNum(){//tchNum();intws=1;intn;n=number;Uart_Printf("$$$$$$$$number=%d",n);Uart_Printf("$$$$$$$$number=%d",number);if(number<0){isFu();n=-n;}while(n!=0||n/10!=0){switch(ws){case1:getNum(235,7,n%10);break;case2:getNum(220,7,n%10);break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同范本txt
- 2024年招商銀行鄭州分行招聘考試真題
- 二手電線買賣合同范本
- 2024年銀川市永寧三沙源上游學校招聘筆試真題
- 光維護分包合同范本
- 中醫(yī)診所轉讓合同范本
- 創(chuàng)作類英文合同范本
- 勞動爭議合同范本
- 個人賓館轉讓合同范本
- 中國果品購銷合同范本
- 施工安全管理培訓資料
- 第16課數據管理與編碼(教案)四年級全一冊信息技術人教版
- 0-3歲嬰幼兒基礎護理知到智慧樹章節(jié)測試課后答案2024年秋杭州師范大學
- 掛靠免責協(xié)議書范本
- 2024-2030年中國新媒體市場前景規(guī)模及發(fā)展趨勢分析報告
- Python金融數據分析與挖掘(微課版) 教案全套 黃恒秋
- 中建10t龍門吊安拆安全專項施工方案
- 國內外測井技術現(xiàn)狀與展望文檔
- 《銷售人員的培訓》課件
- 國防動員課件教學課件
- 特殊作業(yè)安全管理監(jiān)護人專項培訓課件
評論
0/150
提交評論