电子计算器Word文件下载.docx

上传人:b****1 文档编号:13564901 上传时间:2022-10-11 格式:DOCX 页数:20 大小:101.87KB
下载 相关 举报
电子计算器Word文件下载.docx_第1页
第1页 / 共20页
电子计算器Word文件下载.docx_第2页
第2页 / 共20页
电子计算器Word文件下载.docx_第3页
第3页 / 共20页
电子计算器Word文件下载.docx_第4页
第4页 / 共20页
电子计算器Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

电子计算器Word文件下载.docx

《电子计算器Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子计算器Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

电子计算器Word文件下载.docx

tan);

4)未工作时显示北京时间;

5)当数据超出范围,可声音提示或报警。

本系统采用4X4矩阵键盘作为输入部分,实现数据输入功能。

本系统规定的键盘上的各按键功能如下所示:

1(+)

2(-)

3(*)

ON

4(/)

5(sqrt)

6(power)

OFF

7(sin)

8(cos)

9(tan)

Clear

Fuction

.

=

各按键功能如下:

Fuction:

功能键。

按下此键,显示数字1至9括号里的运算符;

未按此键,显示数字。

ON显示北京时间时,按下此键之后进入计算器状态。

OFF在计算器状态下,按下此键之后显示北京时间。

Clear:

清除键。

2系统的工作流程图

 

C

off

功能键(F)

清除

数字键

3系统程序设计

3.1主程序模块设计

#include<

aduc848.h>

#include<

Keyprocess.h>

LCD.h>

#include<

math.h>

stdio.h>

zifuc.h>

iic.h>

sin.h>

cos.h>

#defineucharunsignedchardoublexdataFirst,End1,End2;

voiddelay(intn)

{inti,j;

for(i=0;

i<

n;

i++)

{for(j=0;

j<

25;

j++)

;

}

doubleadd(doublex,doubley){doublez;

z=x+y;

//

延时程序

加法程序

return(z);

doublesub(doublex,doubley){doublez;

if(x>

=y)

z=x-y;

else

z=y-x;

doublemul(doublex,doubley){doublez;

z=x*y;

doublediv(doublex,doubley)

{doublez;

z=x/y;

doublepower(doublex,inty)

inti;

z=1;

for(i=1;

=y;

z=z*x;

doubletan(doublex)

{doublez;

z=sin(x)/cos(x);

//tan(x)

乘法程序

除法程序

乘方程序

程序

voidmain(void)

{intn,k,h,g,t=0;

unsignedchartime[7]={00,00,12,4,9,6,11};

unsignedcharf,m,key=0x80;

unsignedcharfp[16];

l2CCON=0xE8;

m功能键,g小数转换,k按键次数,n判

n=0;

f=0;

m=0;

k=-1;

h=0;

/*h有小数,

断前后数,f算法,t时间计算切换*/

First=0;

g=1;

//LCD初始化

LCDInitialize();

SetTime(time);

SwitchRTC

(1);

while

(1)

{key=GetKey();

if(t==0)

key=100;

switch(key)

{case1:

if(m==0)

{if(h==0)

{First=First*10+key;

k++;

else{First=First+(double)key/(g*10);

g=g*10;

LCDPrintString(k,1,"

1"

);

/*

不断查询是否有按键动作获取返回键值

时间状态*/

{f=1;

n=1;

+"

break;

case2:

2"

{f=2;

-"

case3:

3"

{f=3;

x"

case4:

4"

{f=4;

/"

case5:

5"

{f=5;

m=0;

n=1;

sqrt"

k=k+3;

case6:

6"

{f=6;

^"

case7:

7"

{f=7;

sin"

);

k=k+2;

case8:

8"

{f=8;

cos"

}break;

case9:

态*/

case0:

if(h==0)

}LCDPrintString(k,1,"

0"

case15:

switch(f)

First=add(End1,End2);

if(First>

30000){buzzer();

key=14;

}else{ecvt(First,fp);

LCDPrintString(0,2,fp);

}break;

case2:

First=sub(End1,End2);

30000)

{buzzer();

else{ecvt(First,fp);

First=mul(End1,End2);

First=div(End1,End2);

First=sqrt(End2);

First=power(End1,End2);

case7:

First=sin(End2);

case8:

First=cos(End2);

case9:

First=tan(End2);

n=0;

b

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1