arm触摸屏简易计算器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式系统课程设计报告
设计题目:触摸屏简易计算器
班级:
姓名:
学号:
指导教师:
调试地点:
调试时间:
成绩:
一、设计任务及要求
设计任务:设计一个能在触摸屏上进行操作的计算器。

设计要求:
(1)支持整数以及小数基本加减乘除运算;
(2)支持触摸屏输入;
(3)程序任务开始后,等待触摸屏的输入。

输入键有0~9数字键、+-*/运算符、clear清屏键、“=”等号键、‘.’小数点键,输入后能在LCD上显示运算,计算得出结果,能将内容和结果显示在LCD上。

每当有字符输入时, LCD屏幕上显示相应字符。

当输入“clear”清屏键时,LCD上显示初始状态。

当输入'='号后,得出计算结果,结果显示于表达式的下一行。

二、总体设计思路及功能描述
(一)硬件设计
本次设计方案就是利用ARM的多功能性的特点来设计的,具体思路为利用S3C2410和触摸屏的驱动对产生的信号进行触摸屏显示,设计框图如下图。

总体框图
本次课题是由嵌入式系统S3C2410作为核心控制器,具有在线编程功能、低功耗;通过程序在屏幕绘制按键,然后对按键进行处理,并将处理记过在LCD触摸屏。

LCD触摸屏工作原理
S3C2410 中具有内置的LCD 控制器,它能将显示缓存(在SDRAM存储器中)中的LCD 图像数据传输到外部的LCD驱动电路上的逻辑功能。

它支持单色、4级、16级灰度LCD显示,
以及8位彩色、12位彩色LCD显示。

在显示灰度时,它采用时间抖动算法(time-based dithering algorithm)和帧率控制 (Frame Rate Control)方法,在显示彩色时,它采用RGB的格式,即RED、GREEN、BLUE,三色混合调色。

通过软件编程,可以实现332的RGB 调色的格式,565全彩输出,5551全彩输出等。

对于不同尺寸的LCD显示器,它们会有不同的垂直和水平象素点、不同的数据宽度、不同的接口时间及刷新率,通过对LCD 控制器中的相应寄存器写入不同的值,来配置不同的LCD 显示板。

另外,还可以设置虚拟屏幕,增加显示的面积。

LCD模块内部电路结构
常用的控制寄存器有:
LCDCON1:LCD显示器类型控制寄存器
CLKVAL决定LCD的刷新率,一般刷新率应大于50Hz
LCDCON2:LCD垂直尺寸控制寄存器
LCDCON3:LCD水平尺寸控制寄存器
LCD缓冲区设置:
LCDSADDR1
LCDSADDR2
LCDSADDR3:用于设置虚拟屏幕行宽设置offsize+pagewidth=虚拟屏幕大小
内存中的数据与显示像素的对应关系,低16位在低地址。

(二)软件设计
主要模块包括以下几个:
1、触摸屏驱动程序
2、触摸屏校正程序
3、LCD键盘设计
4、触摸屏按键判断
5、计算器程序设计
6、按键按下时按键状态更新
程序流程图
以下为主要程序:LCD键盘设计
{
Set_Color(GUI_RED);
Fill_Circle(250,230,30);
Fill_Circle(250,230+65,30);
Fill_Circle(250,230+130,30);
Fill_Circle(250,230+195,30);
Fill_Circle(250+65,230,30);
Fill_Circle(250+65,230+65,30);
Fill_Circle(250+65,230+130,30);
Fill_Circle(250+65,230+195,30);
Fill_Circle(250+130,230,30);
Fill_Circle(250+130,230+65,30);
Fill_Circle(250+130,230+130,30);
Fill_Circle(250+130,230+195,30);
Fill_Circle(250+195,230,30);
Fill_Circle(250+195,230+65,30);
Fill_Circle(250+195,230+130,30);
Fill_Circle(250+195,230+195,30);
Fill_Circle(250+195,170,30);
Set_BkColor(GUI_RED);
Set_Color(GUI_BLACK);
Set_Font (&GUI_Font8x16);
//设定字体类型API
Disp_String ("/",247,223);
Disp_String ("*",247,230+58);
Disp_String ("-",247,230+123);
Disp_String ("+",247,230+188);
Disp_String ("=",250+62,223);
Disp_String (".",250+62,230+58);
Disp_String ("9",250+62,230+123);
Disp_String ("8",250+62,230+188);
Disp_String ("7",250+127,223);
Disp_String ("6",250+127,230+58);
Disp_String ("5",250+127,230+123);
Disp_String ("4",250+127,230+188);
Disp_String ("3",250+192,223);
Disp_String ("2",250+192,230+58);
Disp_String ("1",250+192,230+123);
Disp_String ("0",250+192,230+188);
Disp_String ("AC",250+190,163);
}
触摸屏按键判断
Set_BkColor(GUI_WHITE);
Set_Color(GUI_BLACK);
Set_Font (&GUI_Font8x16);
if(touchok)
{if((220+8*j)<480)
{if(TOUCH_X>=(220+195)&&TOUCH_X<=(28 0+195)&&TOUCH_Y>=(200+195)&&TOUCH_Y< =(260+195))
{
Disp_String ("0",220+8*j,80);
a=15;
key_touch();
Delay(2000);
showkey();
j++;
n=0;
NUM();
}touchok=0;
}Delay(1000);}
计算器程序设计
void jisuan()
{
Set_Color(GUI_BLACK);
Set_BkColor(GUI_WHITE);
Set_Font (&GUI_Font8x16);
if(jia&&dengyu)
{
if(h>=l)
{
d1=h;
num1=num1_0*d1+num1_1;
num2=num2_0*d1+num2_1*h/l;
jg=num1+num2;
}
else
{
d1=l;
num1=num1_0*d1+num1_1*l/h;
num2=num2_0*d1+num2_1;
jg=num1+num2;
}
shownum();
}
if(jian&&dengyu)
{
if(h>=l)
{
d1=h;
num1=num1_0*h+num1_1;
num2=num2_0*h+num2_1*h/l;
jg=num1-num2;
}
else
{
d1=l;
num1=num1_0*l+num1_1*l/h;
num2=num2_0*l+num2_1;
jg=num1-num2;
}
if(jg<0)
{
jg=num2-num1;
flog=1;
}
shownum();
}
if(cheng&&dengyu)
{
d1=h*l;
num1=num1_0*h+num1_1;
num2=num2_0*l+num2_1;
jg=num1*num2;
shownum();
}
if(chu&&dengyu)
{
if(h>=l)
{
num1=num1_0*h+num1_1;
num2=num2_0*h+num2_1*h/l;
jg=num1/num2;
}
else
{
num1=num1_0*l+num1_1*l/h;
num2=num2_0*l+num2_1;
jg=num1/num2;
}
shownum();
}
} 按键按下时按键状态更新
{
Set_Color(GUI_GREEN);
Set_BkColor(GUI_GREEN);
Set_Font (&GUI_Font8x16);
switch(a)
{
case0: Fill_Circle(250,230,30);
Set_Color(GUI_BLACK);
Disp_String ("/",247,223);
break;
case1: Fill_Circle(250,230+65,30); Set_Color(GUI_BLACK);
Disp_String ("*",247,230+58);
break;
case2: Fill_Circle(250,230+130,30); Set_Color(GUI_BLACK);
Disp_String ("-",247,230+123); break;
case3: Fill_Circle(250,230+195,30); Set_Color(GUI_BLACK);
Disp_String ("+",247,230+188); break;
case4: Fill_Circle(250+65,230,30); Set_Color(GUI_BLACK);
Disp_String ("=",250+62,223);
break;
case5:
Fill_Circle(250+65,230+65,30);
Set_Color(GUI_BLACK);
Disp_String(".",250+62,230+58); break;
case6: Fill_Circle(250+65,230+130,30);
Set_Color(GUI_BLACK);Disp_String ("9",250+62,230+123);break;
case7:Fill_Circle(315,230+195,30); Set_Color(GUI_BLACK);
Disp_String("8",250+62,230+188); break;
case8: Fill_Circle(250+130,230,30); Set_Color(GUI_BLACK);
Disp_String ("7",250+127,223); break;
case9:
Fill_Circle(250+130,230+65,30);
Set_Color(GUI_BLACK);Disp_String ("6",250+127,230+58);break;
case10:
Fill_Circle(250+130,230+130,30);
Set_Color(GUI_BLACK);
Disp_String("5",250+127,230+123); break;
case11:
Fill_Circle(250+130,230+195,30);
Set_Color(GUI_BLACK);
Disp_String("4",250+127,230+188); break;
case12:Fill_Circle(250+195,230,30); Set_Color(GUI_BLACK);
Disp_String ("3",250+192,223);break; case13:Fill_Circle(250+195,295,30); Set_Color(GUI_BLACK);
Disp_String("2",250+192,230+58); break;
case14:
Fill_Circle(250+195,230+130,30); Set_Color(GUI_BLACK);
Disp_String("1",250+192,230+123); break;
case15:
Fill_Circle(250+195,230+195,30); Set_Color(GUI_BLACK);Disp_String ("0",250+192,230+188);break;
case16: Fill_Circle(250+195,170,30); Set_Color(GUI_BLACK);
Disp_String("AC",250+190,163);break;
}
}
三、调试结果
整体效果图
加法运算(6+527=533)
减法运算(9.62-1.63=7.99)
乘法运算(6*32=192)
除法运算(48/3=16)
结论:本计算已经实现四则运算功能,但是美观度和稳定性有待提高,功能也需要扩展。

四、调试过程遇到的问题与解决方案
1、原本想依据单片机的计算器程序进行改进、升级,但是调试过程发现单片机里使用的函数在arm里用不了,而且不植入操作系统的话找不到与其相似的函数,因此后面改变方案直接采用简单数学算法。

2、调试时发现无法计算浮点型,经过查阅资料才明白S3C2410是不支持浮点型运算,因此后面我做了一个小数点判断,当有小数点时对数值进行放大成整数,然后直接运算,最后确定小数点位置。

3、按键值与输出值不一样,经过调试发现程序并没有问题,问题出在按键的触摸范围太小,把范围改大之后就可以。

4、小数点显示的位置不对,经过调试发现在执行加减乘除时,数值的放大方法是不一样的,修改以后就可以了。

五、心得体会
这一次课程设计,我的计算器已经实现了设计任务与设计要求,但是采用的方法比较不实用;事后经过老师讲解与其他同学交流发现有更好的方案,特别是对浮点型的处理。

而且通过这次的课程设计我发现了自己许多不足之处,比如:对函数的使用不够熟悉;遇到问题独立解决能力不够等。

我会在以后的学习工作中不断完善自己,加强对arm的学习,争取有比较大得突破。

六、附录
#include "target.h"
#include "2410LIB.h"
#include "2410addr.h"
#include "..\..\Touch_driver\inc\touch2410.h"
#include "..\gui\glib\glib.h"
#include "..\..\lcddrv\inc\lcd.h"
#include "..\..\lcddrv\inc\lcdlib.h"
extern GUI_FONT GUI_Font8x16;
extern GUI_FONT CHINESE_FONT12;
extern GUI_FONT CHINESE_FONT16;
char i;
char sign=1,dh=0; //判断是否有按下+ - */标志位//判断是否=被按下
int num1=0,num1_0=0,num1_1=0; //数值1
int num2=0,num2_0=0,num2_1=0; //数值2
char jia,jian,cheng,chu,dengyu,fh;
char flog;
char y_dian=0; //有小数点标志位
char n_dian=1; //无小数点标志位
int m=10,h=1,l=1,s=0,d1=1,d2=0,jg=0;
/*
****************************************** ****************************************** *************************
- 函数名称: Main(void)
- 函数说明: 系统的主程序入口
- 输入参数: 无
- 输出参数: 无
****************************************** ****************************************** *************************
*/
void showkey(void)
{
Set_Color(GUI_RED);
Fill_Circle(250,230,30);
Fill_Circle(250,230+65,30);
Fill_Circle(250,230+130,30);
Fill_Circle(250,230+195,30);
Fill_Circle(250+65,230,30);
Fill_Circle(250+65,230+65,30);
Fill_Circle(250+65,230+130,30);
Fill_Circle(250+65,230+195,30);
Fill_Circle(250+130,230,30);
Fill_Circle(250+130,230+65,30);
Fill_Circle(250+130,230+130,30);
Fill_Circle(250+130,230+195,30);
Fill_Circle(250+195,230,30);
Fill_Circle(250+195,230+65,30);
Fill_Circle(250+195,230+130,30);
Fill_Circle(250+195,230+195,30);
Fill_Circle(250+195,170,30);
Set_BkColor(GUI_RED);
Set_Color(GUI_BLACK);
Set_Font (&GUI_Font8x16);
//设定字体类型API
Disp_String ("/",247,223);
Disp_String ("*",247,230+58);
Disp_String ("-",247,230+123);
Disp_String ("+",247,230+188);
Disp_String ("=",250+62,223);
Disp_String (".",250+62,230+58);
Disp_String ("9",250+62,230+123);
Disp_String ("8",250+62,230+188);
Disp_String ("7",250+127,223);
Disp_String ("6",250+127,230+58);
Disp_String ("5",250+127,230+123);
Disp_String ("4",250+127,230+188);
Disp_String ("3",250+192,223);
Disp_String ("2",250+192,230+58);
Disp_String ("1",250+192,230+123);
Disp_String ("0",250+192,230+188);
Disp_String ("AC",250+190,163);
}
void key_touch()
{
Set_Color(GUI_GREEN);
Set_BkColor(GUI_GREEN);
Set_Font (&GUI_Font8x16);
switch(a)
{
case 0: Fill_Circle(250,230,30);Set_Color(GUI_BLACK); Disp_String ("/",247,223); break;
case 1: Fill_Circle(250,230+65,30);Set_Color(GUI_BLAC K);Disp_String ("*",247,230+58);break;
case 2: Fill_Circle(250,230+130,30);Set_Color(GUI_BLA CK);Disp_String ("-",247,230+123);break;
case 3: Fill_Circle(250,230+195,30);Set_Color(GUI_BLA CK);Disp_String ("+",247,230+188);break;
case 4: Fill_Circle(250+65,230,30);Set_Color(GUI_BLAC K);Disp_String ("=",250+62,223);break;
case 5: Fill_Circle(250+65,230+65,30);Set_Color(GUI_BL ACK);Disp_String (".",250+62,230+58);break;
case 6: Fill_Circle(250+65,230+130,30);Set_Color(GUI_B LACK);Disp_String ("9",250+62,230+123);break;
case 7: Fill_Circle(250+65,230+195,30);Set_Color(GUI_B LACK);Disp_String ("8",250+62,230+188);break;
case 8: Fill_Circle(250+130,230,30);Set_Color(GUI_BLA CK);Disp_String ("7",250+127,223);break;
case 9: Fill_Circle(250+130,230+65,30);Set_Color(GUI_B LACK);Disp_String ("6",250+127,230+58);break;
case 10: Fill_Circle(250+130,230+130,30);Set_Color(GUI_ BLACK);Disp_String
("5",250+127,230+123);break;
case 11: Fill_Circle(250+130,230+195,30);Set_Color(GUI_ BLACK);Disp_String
("4",250+127,230+188);break;
case 12: Fill_Circle(250+195,230,30);Set_Color(GUI_BLA CK);Disp_String ("3",250+192,223);break;
case 13: Fill_Circle(250+195,230+65,30);Set_Color(GUI_B LACK);Disp_String ("2",250+192,230+58);break;
case 14: Fill_Circle(250+195,230+130,30);Set_Color(GUI_ BLACK);Disp_String
("1",250+192,230+123);break;
case 15: Fill_Circle(250+195,230+195,30);Set_Color(GUI_ BLACK);Disp_String
("0",250+192,230+188);break;
case 16: Fill_Circle(250+195,170,30);Set_Color(GUI_BLA CK);Disp_String ("AC",250+190,163);break;
}
}
void NUM()
{
if(sign==1)
{
dh=0;
if(n_dian==1&&y_dian==0)
{
num1_0=num1_0*10;
num1_0=num1_0+n;
}
if(n_dian==0&&y_dian==1)
{
num1_1=num1_1*10;h=h*10;
num1_1=num1_1+n;
}
}
if(dh==1)
{
sign=0;
if(n_dian==1&&y_dian==0)
{
num2_0=num2_0*10;
num2_0=num2_0+n;
}
if(n_dian==0&&y_dian==1)
{
num2_1=num2_1*10;l=l*10;
num2_1=num2_1+n;
}
}
}
void touch()
{
Set_BkColor(GUI_WHITE);
Set_Color(GUI_BLACK);
Set_Font (&GUI_Font8x16);
if(touchok)
{if((220+8*j)<480)
{if(TOUCH_X>=(220+195)&&TOUCH_X<=(280 +195)&&TOUCH_Y>=(200+195)&&TOUCH_Y< =(260+195))
{
Disp_String ("0",220+8*j,80);
a=15;
key_touch();
Delay(2000);
showkey();
j++;
n=0;
NUM();
}
if(TOUCH_X>=(220+65)&&TOUCH_X<=(280+6 5)&&TOUCH_Y>=(200+65)&&TOUCH_Y<=(260 +65))
{
Disp_String (".",220+8*j,80);
a=5;
key_touch();
Delay(2000);
showkey();
j++;
y_dian=1; n_dian=0;d2=1;
}
if(TOUCH_X>=220&&TOUCH_X<=280&&TOU CH_Y>=(200+195)&&TOUCH_Y<=(260+195))
{
Disp_String ("+",220+8*j,80);
a=3;
key_touch();
Delay(2000);
showkey();
j++;
jia=1;
dh=1;sign=0;y_dian=0; n_dian=1;
}
if(TOUCH_X>=(220+65)&&TOUCH_X<=(280+6 5)&&TOUCH_Y>=200&&TOUCH_Y<=260)
{
Disp_String ("=",220+8*j,80);
a=4;
key_touch();
Delay(2000);
showkey();
j++;
dengyu=1;dh=0;sign=1;y_dian=0;
n_dian=1;
}
if(TOUCH_X>=(220+195)&&TOUCH_X<=(280+ 195)&&TOUCH_Y>=(200+130)&&TOUCH_Y<=( 260+130))
{
Disp_String ("1",220+8*j,80);
a=14;
key_touch();
Delay(2000);
showkey();
j++;
n=1;
NUM();
}
if(TOUCH_X>=(220+195)&&TOUCH_X<=(280+ 195)&&TOUCH_Y>=(200+65)&&TOUCH_Y<=(2 60+65))
{
Disp_String ("2",220+8*j,80);
a=13;
key_touch();
Delay(2000);
showkey();
j++;
n=2;
NUM();
}
if(TOUCH_X>=(220+195)&&TOUCH_X<=(280+ 195)&&TOUCH_Y>=200&&TOUCH_Y<=260)
{
Disp_String ("3",220+8*j,80);
a=12;
key_touch();
Delay(2000);
showkey();
j++;
n=3;
NUM();
}
if(TOUCH_X>=220&&TOUCH_X<=280&&TOU CH_Y>=(200+130)&&TOUCH_Y<=(260+130))
{
Disp_String ("-",220+8*j,80);
a=2;
key_touch();
Delay(2000);
showkey();
j++;
jian=1;
//fh=jian;
dh=1;sign=0;y_dian=0; n_dian=1;
}
if(TOUCH_X>=(220+130)&&TOUCH_X<=(280+ 130)&&TOUCH_Y>=(200+195)&&TOUCH_Y<=(260+195))
{
Disp_String ("4",220+8*j,80);
a=11;
key_touch();
Delay(2000);
showkey();
j++;
n=4;
NUM();
}
if(TOUCH_X>=(220+130)&&TOUCH_X<=(280+ 130)&&TOUCH_Y>=(200+130)&&TOUCH_Y<=( 260+130))
{
Disp_String ("5",220+8*j,80);
a=10;
key_touch();
Delay(2000);
showkey();
j++;
n=5;
NUM();
}
if(TOUCH_X>=(220+130)&&TOUCH_X<=(280+ 130)&&TOUCH_Y>=(200+65)&&TOUCH_Y<=(2 60+65))
{
Disp_String ("6",220+8*j,80);
a=9;
key_touch();
Delay(2000);
showkey();
j++;
n=6;
NUM();
}
if(TOUCH_X>=220&&TOUCH_X<=280&&TOU CH_Y>=(200+65)&&TOUCH_Y<=(260+65))
{
dh=0;
Disp_String ("*",220+8*j,80);
a=1;
key_touch();
Delay(2000);
showkey();
j++;
cheng=1;
//fh=cheng;
dh=1;sign=0;y_dian=0; n_dian=1;
}
if(TOUCH_X>=(220+130)&&TOUCH_X<=(280+ 130)&&TOUCH_Y>=200&&TOUCH_Y<=260)
{
Disp_String ("7",220+8*j,80);
a=8;
key_touch();
Delay(2000);
showkey();
j++;
n=7;
NUM();
}
if(TOUCH_X>=(220+65)&&TOUCH_X<=(280+6 5)&&TOUCH_Y>=(200+195)&&TOUCH_Y<=(26 0+195))
{
Disp_String ("8",220+8*j,80);
a=7;
key_touch();
Delay(2000);
showkey();
j++;
n=8;
NUM();
}
if(TOUCH_X>=(220+65)&&TOUCH_X<=(280+6 5)&&TOUCH_Y>=(200+130)&&TOUCH_Y<=(26 0+130))
{
Disp_String ("9",220+8*j,80);
a=6;
key_touch();
Delay(2000);
showkey();
j++;
n=9;
NUM();
}
if(TOUCH_X>=220&&TOUCH_X<=280&&TOU CH_Y>=200&&TOUCH_Y<=260)
{
Disp_String ("/",220+8*j,80);
a=0;
key_touch();
Delay(2000);
showkey();
j++;
chu=1;
// fh=chu;
dh=1;sign=0;y_dian=0; n_dian=1;
}
if(TOUCH_X>(245+175)&&TOUCH_X<(250+195 +30)&&TOUCH_Y>140&&TOUCH_Y<200)
{
j=0;
a=16;
key_touch();
Delay(2000);
showkey();
Set_Color (GUI_WHITE);
Fill_Rect(200+20,60+20,500-20,130);
}
touchok=0;
}Delay(1000);
}
}
void shownum() //结果显示函数
{
while(jg!=0)
{
s=jg%10;
Set_Color(GUI_RED);
Set_BkColor(GUI_WHITE);
Set_Font (&GUI_Font8x16);
if(s==0) { Disp_String ("0",480-m,112); m=m+8;}
if(s==1) { Disp_String ("1",480-m,112); m=m+8;}
if(s==2) { Disp_String ("2",480-m,112); m=m+8;}
if(s==3) { Disp_String ("3",480-m,112); m=m+8;}
if(s==4) { Disp_String ("4",480-m,112); m=m+8;}
if(s==5) { Disp_String ("5",480-m,112); m=m+8;}
if(s==6) { Disp_String ("6",480-m,112); m=m+8;}
if(s==7) { Disp_String ("7",480-m,112); m=m+8;}
if(s==8) { Disp_String ("8",480-m,112); m=m+8;}
if(s==9) { Disp_String ("9",480-m,112); m=m+8;}
if(d2==1){d1=d1/10;if(d1==1){Disp_String (".",480-m,112); m=m+8;d2=0;}}
jg=jg/10;
if(jg==0&&flog==1)
{
flog=0;
Disp_String ("-",480-m,112);
}
}
jia=0;jian=0;cheng=0;chu=0;dengyu=0;jg=0;num1= 0;num2=0;
m=8;num1_0=0;num1_1=0;num2_0=0;num2_1=0; h=1;l=1;d1=0;
} void jisuan()
{
Set_Color(GUI_BLACK);
Set_BkColor(GUI_WHITE);
Set_Font (&GUI_Font8x16);
if(jia&&dengyu)
{
if(h>=l)
{
d1=h;
num1=num1_0*d1+num1_1;
num2=num2_0*d1+num2_1*h/l;
jg=num1+num2;
}
else
{
d1=l;
num1=num1_0*d1+num1_1*l/h;
num2=num2_0*d1+num2_1;
jg=num1+num2;
}
shownum();
}
if(jian&&dengyu)
{
if(h>=l)
{
d1=h;
num1=num1_0*h+num1_1;
num2=num2_0*h+num2_1*h/l;
jg=num1-num2;
}
else
{
d1=l;
num1=num1_0*l+num1_1*l/h;
num2=num2_0*l+num2_1;
jg=num1-num2;
}
if(jg<0)
{
jg=num2-num1;
flog=1;
}
shownum();
}
if(cheng&&dengyu)
{
d1=h*l;
num1=num1_0*h+num1_1;
num2=num2_0*l+num2_1;
jg=num1*num2;
shownum();
}
if(chu&&dengyu)
{
if(h>=l)
{
num1=num1_0*h+num1_1;
num2=num2_0*h+num2_1*h/l;
jg=num1/num2;
}
else
{
num1=num1_0*l+num1_1*l/h;
num2=num2_0*l+num2_1;
jg=num1/num2;
}
shownum();
}
}
void Main()
{
Target_Init();
GUI_Init();
Set_Font (&GUI_Font8x16);
Set_Color(GUI_GREEN); //设定前景颜色API
Fill_Rect(0,0,639,479);//填充底色
Set_Color (GUI_BROWN); //设定前景颜色API
Fill_Rect(200,60,500,460);
Set_Color (GUI_WHITE);
Fill_Rect(220,80,480,130);
showkey();
while(1)
{
touch();
jisuan();
}
}。

相关文档
最新文档