arm嵌入式系統(tǒng)計算器設計_第1頁
arm嵌入式系統(tǒng)計算器設計_第2頁
arm嵌入式系統(tǒng)計算器設計_第3頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

嵌入式系統(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論