arm嵌入式系统计算器设计Word文档下载推荐.docx
《arm嵌入式系统计算器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《arm嵌入式系统计算器设计Word文档下载推荐.docx(21页珍藏版)》请在冰点文库上搜索。
inti,j,k;
intm,n;
ARMTargetInit();
//开发版初始化
LCD_Init();
//LCD初始化
/*for(i=0;
i<
9;
i++)
{switch(i)
{case0:
jcolor=0x00000000;
//RGB均为0黑色
break;
case1:
jcolor=0x000000e0;
//R红色
case2:
jcolor=0x0000d0e0;
//RandG橙色
case3:
jcolor=0x0000e0e0;
//RandG黄
case4:
jcolor=0x0000e000;
//G绿色
case5:
jcolor=0x00e0e000;
//GB青色
case6:
jcolor=0x00e00000;
//B蓝色
case7:
jcolor=0x00e000e0;
//RandB紫色
case8:
jcolor=0x00e0e0e0;
//RGB白色
}
*/
jsqInit();
getNum(235,7,0);
LCD_Refresh();
while
(1){
TchScr_Test();
Delay(1000);
return0;
}
getNum(intx,inty,intnum){
inti,j;
for(i=x;
=x+8;
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;
case2:
if(j==y||j==y+7||j==y+14)LCDBuffer[j][i]=0x0000e000;
if((i==x&
&
j>
=y+7)||(i==x+8&
=y+7))LCDBuffer[j][i]=0x0000e000;
case3:
if(i==x+8)LCDBuffer[j][i]=0x0000e000;
case4:
if(j==y+7)LCDBuffer[j][i]=0x0000e000;
if(i==x&
=y+7)LCDBuffer[j][i]=0x0000e000;
case5:
case6:
if(i==x||(i==x+8&
case7:
if(j==y)LCDBuffer[j][i]=0x0000e000;
case8:
if(i==x||i==x+8)LCDBuffer[j][i]=0x0000e000;
case9:
=y+7)||i==x+8)LCDBuffer[j][i]=0x0000e000;
}
}
getOp(){
for(i=235;
=243;
for(j=7;
21;
switch(signal){
case'
+'
:
if(j==14||i==239)LCDBuffer[j][i]=0x00e00000;
break;
-'
if(j==14)LCDBuffer[j][i]=0x00e00000;
*'
if(j+i==245||j-i==221)LCDBuffer[j][i]=0x00e00000;
/'
if(j-i==221)LCDBuffer[j][i]=0x00e00000;
}
jsqInit(){
intk,i,j;
for(k=0;
k<
260;
k++)
for(j=i*32;
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;
10;
LCDBuffer[57][k+100]=0x00e00000;
//‘2’的位置
LCDBuffer[67][k+100]=0x00e00000;
LCDBuffer[77][k+100]=0x00e00000;
LCDBuffer[57][k+165]=0x00e00000;
//‘3’的位置
LCDBuffer[67][k+165]=0x00e00000;
LCDBuffer[77][k+165]=0x00e00000;
LCDBuffer[112][k+35]=0x00e00000;
//‘4’的位置
LCDBuffer[102][k+100]=0x00e00000;
//‘5’的位置
LCDBuffer[112][k+100]=0x00e00000;
LCDBuffer[122][k+100]=0x00e00000;
LCDBuffer[102][k+165]=0x00e00000;
//‘6’的位置
LCDBuffer[112][k+165]=0x00e00000;
LCDBuffer[122][k+165]=0x00e00000;
LCDBuffer[147][k+35]=0x00e00000;
//‘7’的位置
LCDBuffer[147][k+100]=0x00e00000;
//‘8’的位置
LCDBuffer[157][k+100]=0x00e00000;
LCDBuffer[167][k+100]=0x00e00000;
LCDBuffer[147][k+165]=0x00e00000;
//‘9’的位置
LCDBuffer[157][k+165]=0x00e00000;
LCDBuffer[167][k+165]=0x00e00000;
LCDBuffer[192][k+35]=0x00e00000;
//‘0’的位置
LCDBuffer[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;
60;
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;
for(i=0;
40;
if(i==80||i==160)
jcolor<
<
=8;
for(j=288;
320;
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;
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;
//‘9’
LCDBuffer[i+197][170]=0x00e00000;
//‘+’
20;
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;
case2:
number=number*10+7;
case3:
number=number*10;
case1:
number=number*10+2;
number=number*10+5;
number=number*10+8;
signal='
;
clear();
getOp();
number1=number;
number=0;
case2:
number=number*10+3;
number=number*10+6;
number=number*10+9;
clear();
getOp();
number1=number;
number=0;
return;
case3:
number1=0;
getNum(235,7,0);
return;
number=0;
operation();
}
showNum()
//tchNum();
intws=1;
intn;
n=number;
Uart_Printf("
$$$$$$$$number=%d"
n);
number);
0){isFu();
n=-n;
while(n!
=0||n/10!
=0){
switch(ws){
case1:
getNum(235,7,n%10);
case2:
getNum(220,7,n%10);
case3:
getNum(205,7,n%10);
case4:
getNum(190,7,n%10);
case5:
getNum(175,7,n%10);
case6:
getNum(160,7,n%10);
case7:
getNum(145,7,n%10);
b