您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页计算器

计算器

来源:抵帆知识网


计算器设计说明书

系 部:电气与信息工程系

学生姓名: 指导教师: 专 业: 自动化 班 级: 自本1001 完成时间:2012年11月08日

目 录

摘要................................................................ I ABSTRACT........................................................... II 第1章 计算器的设计与构思........................................... 1 1.1计算器功能模块构思 ............................................ 1 1.1.1 计算功能.................................................. 1 1.1.2 温度计功能................................................ 1 1.2 输入键盘构思.................................................. 2 第2章 设计方案分析及论证........................................... 3 2.1设计方案: .................................................... 3 2.2 工作原理和电路图.............................................. 3 第3章 实际设计电路及电路的各部分分析............................... 5 3.1设计课题硬件系统各模块功能简要介绍 ............................ 5 3.1.1计算器2*14键盘的设计分析 ................................. 5 3.1.2单片机外部中断的分析 ...................................... 5 3.1.3 温度计模块................................................ 6 3.1.4 LCD1602液晶显示屏 ........................................ 7 3.1.5 单片机ATS52电路图..................................... 9 第4章 设计课题的仿真.............................................. 10 4.1计算器模块的仿真 ............................................. 10 4.1.1 按键输入并计算计算器基本运算加减乘除:................... 10 4.1.2 按键输入并计算基本运算三角函数sin,cos,tan: ........... 10 4.1.3 按键输入并计算基本运算开根号,阶乘,X的Y次方,Ln等运.... 11 4.1.4 按键输入并转化八进制,十六进制........................... 11

4.2 温度计模块的仿真............................................. 11 4.3 秒表模块的仿真............................................... 12 第5章 设计心得 .................................................. 13 参考文献........................................................... 14 致 谢............................................................. 15 附件1:总电路图和实物图 ........................................... 16 附录2,计算器所用芯片引脚图 ....................................... 18 附录3 计算器所用程序设计 .......................................... 20

摘要

在我们的学习生活中,常会遇到一些繁杂的计算,耗费我们的时间,而且,有些计算过程复杂,通过笔算,难以得到正确的答案,比如说ln、sin、cos、tan等,就此我们设计了一款科学计算器,便于我们平时的计算使用。

我们设计的这款计算器,是具有多功能的,它除了包括了四则运算、三角函数运算、开根号、ln、阶乘、求幂、十进制与八进制转换、十进制与十六进制转换外,还添加了温度计功能,以及秒表的功能,实现了多功能合与一体的设计。

伴随电子行业的发展,单片机在我们的生活中占有举重轻重的地位,而这个计算器正是基于单片机来设计的,所以这次的设计真正的达到了学以致用效果,也很具有现实意义。 关键字:计算器、温度计、秒表、单片机。

I

ABSTRACT

We always meet some multifarious computation in our school life which take lots of our time. What’s more, some calculation process, such as ln, sin, cos, tan and so on, is so complicated that through the manual computation, we get low efficiency and probability. Thus, we design a calculator to facilitate our usual calculation.

The calculator is of multiple function and realizes Multi function in one, which adds the thermometer function, as well as the stopwatch function, except for the four operations, the operation of trigonometric function, open radical sign, LN, factorial, exponentiation, decimal and octal, decimal and hexadecimal conversion.

With the development of electronics industry, single chip computer (SCM) plays a more and more important role in our life. The design of this calculator is based on SCM. That is to say, this design put what we learn into practice, and also it has practical significance.

Key words: calculator, thermometer, stopwatch, single chip computer

II

第1章 计算器的设计与构思

1.1计算器功能模块构思

1.1.1 计算功能

随着社会的发展,单纯的四则运算,已经不能满足人们的需求了,所以出了四则运算以外,还应添加平时常用的三角函数、ln、开根号、十进制转八进制、十进制转十六进制 、求幂,以满足平常运算的需求。

1.1.2 温度计功能

环境温度和我们平常的生活息息相关,对农业、工业、商业以及日常的生活都有很大的影响,而温度的测量也就成为了人们生产生活必不可少的工作,因此,我们可以在计算器中添加温度计的功能,以拓展计算器的多功能使用。

1.1.3电子秒表功能

电子秒表在我们的平常生活中无处不见,是一种常见的测量仪器,广泛用于科学实验、体育运动等方面。就此,我们可以将电子秒表的功能合于计算器中,以进一步加强计算器的功能和实用性,达到多功能合一的设计理念。

1

1.2 输入键盘构思

出于多功能的集成,传统的4*4的键盘,已不能满足于我们本次设计要求,对此我们可以借助74HC148编码器和74LS00芯片的功能,进行键盘的扩展,以满足本次设计的需要。

2

第2章 设计方案分析及论证

2.1设计方案:

计算器模块的设计温度计模块的设计计算器的设计秒表模块的设计显示屏模块的设计键盘模块的设计 2.2 工作原理和电路图

由于单片机引脚过少,用两个8-3编码器74ls148以及 与非门电路74ls00来实现4*7键盘的扩展;用与非门74ls00根据74ls148的使用与否来实现单片机的外部中断;用温度传感器ds18b20来实现温度的测量;用单片机ats52来根据它的结构及功能用编程来实现计算器,温度计,秒表的组合;用液晶显示屏lcd1602来实现计算器,温度计,秒表的显示。

3

图2.1 计算器总电路图

4

第3章 实际设计电路及电路的各部分分析

3.1设计课题硬件系统各模块功能简要介绍

3.1.1计算器2*14键盘的设计分析

由于计算器设计中计算器要实现sin,cos,tan等功能的计算,按传统4*4键盘按键会很少,所以利用8-3编码器74ls148来实现2*14键盘的应用。

图3.1 2*14键盘的设计

将按键一端接在8-3编码器的输入端,且将8-3译码器输入端都通过10k电阻接上电源正级,另一端上单片机p21或p20口,

3.1.2单片机外部中断的分析

单片机外部中断用于键盘输入,由于用到两个8-3编码器

5

74ls148且74ls148在工作时候GS端口输出为“0”,用与非门74ls148将其两个GS端口相与输入单片机的p32端口(单片机第十二个引脚),以实现外部中断。实现键盘的输入。

图3.2 中断电路的设计

3.1.3 温度计模块

温度计模块用的是温度传感器ds18b20,利用温度传感器温度感知送入单片机ats52的p37口(第17引脚),通过编程把结果输出到显示屏lcd1602中。

图3.3 温度计模块

6

3.1.4 LCD1602液晶显示屏

液晶屏LCD1602接线是利用10k排阻将D0~D8脚与电源正极连接,在单片机p00~p07口无输出时将无输出的引脚电频置“1”,以实现LCD的显示功能。

图3.4 液晶屏LCD接法图

LCD1602共有16个引脚,其功能如下表所示:

7

表3.1 LCD1602引脚功能表

8

单片机ATS52电路图

图3.5

ATS52引脚分部及原理图定义

9

3.1.5

第4章 设计课题的仿真

4.1计算器模块的仿真

在打开计算器之后或按功能复位键后将直接进入功能选则提示0or1or2,待提示信息消失,按键“0”+“=”进入计算器功能。

4.1.1 按键输入并计算计算器基本运算加减乘除:

(注:+加法;-:减法;*:乘法;/:除法)

4.1.2 按键输入并计算基本运算三角函数sin,cos,tan:

(s:sin函数;c:con函数;t:tan函数)

10

4.1.3 按键输入并计算基本运算开根号,阶乘,X的Y次方,Ln等运

(注:屏幕上显示#:开根号;$:阶乘;y:x的y次方;k:以e为底的对数;)

4.1.4 按键输入并转化八进制,十六进制

(x:八进制转换;X:十六进制转换)

4.2 温度计模块的仿真

在打开计算器之后火按功能复位后将直接进入功能选择提示0or1or2,按键“1”+“=”进入计算器功能。

11

4.3 秒表模块的仿真

在打开计算器之后火按功能复位后将直接进入功能选择提示0or1or2,按键“2”+“=”进入计算器功能。

12

第5章 设计心得

通过本次课程设计,我们懂得了要完成一个电路的设计,理论基础是根基,实践操作是完成事物的重要部分,而创新能力则决定了一个电路的价值,因为设计一个电路,绝不是简单的按课本的电路图进行焊接成型,我们要进行电路各个元件参数的计算,这个涉及我们所掌握的理论知识,元件的计算是设计中较为重要的一部分,计算准了,则设计出来的电路误差不大,否则,设计出来的电路性能指标根要求相差甚远。最困难的是当电路出现问题时如何检测出错误之处,如何排除错误,它考验了我们如何运用理论知识和实际的调试的能力,另外,通过这次课程设计,我掌握了常用元件的识别和测试,熟悉了常用的仪器,了解了电路的连接,焊接方法,巩固了基础,提高了实际操作技能,并养成注重设计,追求创新的思维习惯。总而言之,这次课程设计极大的提高我们在电子电路方面的各项能力。

13

参考文献

(1)康华光,《电子技术基础(模拟部分 第五版)》,高等教育出版社

(2)曹才开,《电路与电子技术试验》,中南大学出版社 (3)李广弟、朱月秀、冷祖祁,《单片机基础(第三版)》,北京航空航天大学出版社 (4)阎石,《数字电子技术基础(第五版)》14

高等教育出版社

致 谢

大学两年半,这次圆融杯设计是我们这大学期间干的最有意义的事之一。从最初的选题,开题到写课程设计直到完成课程设计。其间,查找资料,老师指导,与同学交流,反复修改设计,每一个过程都是对自己能力的一次检验获很多,比如学会了查找相关资料相关标准,分析数据,提高了自己的制作能力。开始着手计算器设计的制作,一步一步的做下来。等做好设计的时候才发现这是个美好的过程,也不枉费我们对这次设计花的时间和精力。其实这么一次的锻炼可以学到书本里许多学不到的知识,坚韧、、思考等。

但是课程设计也暴露出我们专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对材料的不了解等等。这次实践是对单片机及数电,模电知识所学和充实。通过这次实践,我们了解了计算器工作原理,熟悉了计算器的设计步骤,锻炼了设计实践能力,培养了我们团队设计能力。此设计是对我们专业知识和专业基础知识一次实际检验和巩固。

感谢所有支持和帮助过我们的同学和老师!谢谢你们的关照与宽容,与你们一起走过的缤纷时代,将会是我们一生最珍贵的回忆。

此外,我还要感谢在我们的课程设计中所有被援引过的文献的作者们,他们是我们的知识之源!

最后,再次向所有给予我们帮助和鼓励的同学和老师致以最诚挚的谢意!

15

附件1:总电路图和实物图

附图 1: 计算器总电路图

16

附图2 计算器实物图正/反面

17

附录2,计算器所用芯片引脚图

附图3 74ls00引脚及其逻辑图

附图4 ATS52引脚图

18

附图5 74ls148引脚图及其功能表

19

附录3 计算器所用程序设计

#include #include #include #include

#define _Nop() _nop_() //定义空指令 #define uchar unsigned char #define uint unsigned int

sbit DQ =P3^7; //DS18B20温度 sbit RS =P2^6; //1602寄存器 sbit RW =P2^5; //1602读/写 sbit EN =P2^7; //1602使能

20

sbit SPK=P2^4; //蜂鸣器 sbit FF=P2^0; sbit GG=P2^1;

code uchar mayuan[28]=

{'1','2','3','c','4','5','6','s','7','8','9','t','n','0','.','=','+','-','*','/','#','y','x','X','%','!','$','k'};

uchar code

keycode[28]={0x78,0xB8,0x47,0x87,0x70,0xB0,0x46,0x86,

0x68,0xA8,0x45,0x85,0x60,0xA0,0x44,0x84,0x58,0x98,0x43,0x83,0x50,0x90,0x42,0x82,0x48,0x88,0x81,0x41};//键盘编码值()

uchar code MCUEXP[]={\" 51_MCU EXP \uchar code welcome[]={\" Welcome! \

/**************定义全局变量************************/ bit flag; int j,t,zz=0;

21

float c=0;

char m,g=0,f=0,i,e=0,d=0,k=0,z=0;

char date1[15]; //要操作的数 //计算器输出值的各位

/********** 延时函数**********************/ void DelayMs(uint n) //毫秒延时 {

uint i=0,j=0; for (i=n;i>0;i--) for (j=246;j>0;j--); }

void DelayUs(uchar us) //微秒延时 {

while(us--); }

22

/*******************************************/ /** LCD1602程序模块

**/

/*******************************************/

/*读LCD状态*/ uchar Read_LCD_State() { uchar state; RS=0; RW=1; EN=1; DelayMs(1); state=P0; EN=0; DelayMs(1); return state; }

23

/*忙则等待*/

void LCD_Busy_Wait()

{ while((Read_LCD_State()&0x80)==0x80); DelayMs(5); }

/*LCD写数据*/

void Write_LCD_Data(uchar dat) { LCD_Busy_Wait(); RS=1; RW=0; EN=0; P0=dat; EN=1; DelayMs(1);

24

EN=0; }

/*LCD写指令*/

void Write_LCD_com(uchar i) { LCD_Busy_Wait(); RS=0; RW=0; EN=0; P0=i; EN=1; DelayMs(1); EN=0; }

/*LCD初始化*/

25

void LCD_Init() {

Write_LCD_com(0x38); //显示模式设置 DelayMs(1);

Write_LCD_com(0x38); DelayMs(1);

Write_LCD_com(0x08); DelayMs(1);

Write_LCD_com(0x01); DelayMs(1);

Write_LCD_com(0x06); DelayMs(1);

Write_LCD_com(0x0C); }

/*设置LCD位置*/

26

//显示关闭 //显示清屏 //显示光标移动设置 //显示开及光标设置

void SET_LCD_POS(uchar p) { Write_LCD_com(p|0x80); }

/*LCD写程序*/

void LCD_string(uchar p,uchar *s) { uchar i;

SET_LCD_POS(p); for(i=0;i<16;i++) { Write_LCD_Data(s[i]); } }

/*********开中断*********/ void initial()

27

DelayMs(5);

{

EA=1;//总开关

EX0=1;//中断方式0开启

IT0=0; //设置中段方式为电平触发方式 }

uint keyscan() { uint i; uchar temp; FF=1; GG=0;

DelayMs(10);//延时 if(P1!=0x40)//有键按下 {

temp=P1;//保存键盘此刻的键植 DelayMs(10);//延时 while(P1!=0x40);//松手检测

28

} FF=0; GG=1;

DelayMs(10);//延时 if(P1!=0x80)//有键按下 { temp=P1; DelayMs(5); while(P1!=0x80);

}

for(i=0;i<28;i++) if(temp==keycode[i]) return(i); return(-1); }

29

/*操作函数*/ void ABC(uint t) {

if(mayuan[t]=='=') {

d=1; //判断是否有等于号输入

k=1; //判断是否有确定键按下(=号两个功能) Write_LCD_Data('='); //输出‘=’ }

if(mayuan[t]=='n') e=1; //判断是否有清0健

if(mayuan[t]=='%') //有功能复位键按下 f=1;

if(mayuan[t]=='!') //有后退键按下 if(z>0)

30

{

Write_LCD_com(0x10); //屏幕后退一位 z--; //数组减一位 }

if(mayuan[t]!='n'&&mayuan[t]!='='&&mayuan[t]!='%'&&mayuan[t]!='!')

{

date1[z++]=mayuan[t]; //把输入的数放在数组中 Write_LCD_Data(mayuan[t]); //把输入的数显示在LCD上 if(z>14)

LCD_string(0x40,\"error\"); //提示输入太多 } }

/*********中断函数******/ void inter0() interrupt 0

31

{ uint n;

DelayMs(10);//延时 if(INT0==0)//有键按下 {

n=keyscan();

FF=0; //中段前提条件 GG=0; ABC(n); } }

/*计算器初始化*/ void JSQ_init() {

uint s;

32

EN=1; LCD_Init(); e=0; d=0; m=0; z=0; c=0;

for(s=0;s<15;s++) date1[s]=0; }

/***求阶层函数**/ double fun3(int a) {

int sum=1,i; double dd; for(i=1;i<=a;i++)

33

sum*=i; dd=(double)sum; return (dd); }

/***16进制转换函数**/ void fun2(double p) {

char a[15],j; int i=0; long h; h=(long)p; if(h==0) a[0]=0+48;

SET_LCD_POS(0x40); Write_LCD_Data(a[0]); while(h!=0)

34

{ j=h%16; h=h/16; if(j<=9) a[i]=j+48; if(j>9) a[i]=j+55; i++; }

SET_LCD_POS(0x40); while(i>0)

Write_LCD_Data(a[--i]); zz++; }

/***8进制转换函数**/

35

void fun1(double p) {

char a[15],i=0; long h; h=(long)p; if(h==0) a[0]=0+48;

SET_LCD_POS(0x40); Write_LCD_Data(a[0]); while(h!=0) {

a[i]=h%8+48; h=h/8; i++; }

SET_LCD_POS(0x40);

36

while(i>0)

Write_LCD_Data(a[--i]); zz++; }

/*算术函数*/ void DEF() { int s; uchar *q,*p,i; char e=0,g,t=1;

double f,a=0,b=0,j; p=date1; if(date1[0]=='-') { t=0-1;

/*f为小数位*/ 37

p++; }

for(q=p;*q<='9'&&*q>='0';q++) /*计算a的值*/ a=a*10+(*q-48); if(*q=='.') q++;

for(;*q<='9'&&*q>='0';q++) { e++; f=(*q-48); for(g=0;gm=*q; /*m为要进行的操作代码*/

38

q++;

for(;*q>='0'&&*q<='9';q++) /*计算b的值*/ b=b*10+(*q-48); e=0; if(*q=='.') q++;

for(;*q<='9'&&*q>='0';q++) { e++; f=(*q-48); for(g=0;gfor(i=0;i<15;i++) date1[i]=0;

39

j=a/180*(3.1415); s=(int)a; switch (m) {

case 'c' : c=cos(j); break; case 's' : c=sin(j); break; case 't' : c=tan(j); break; case '+' : c=a+b; break; case '-' : c=a-b; break; case '*' : c=a*b; break; case '/' : c=a/b; break; case '#' : c=sqrt(a); break;

case 'y' : c=pow(a,b); break; case 'x' : fun1(a); break; case 'X' : fun2(a); break; case 'k' : c=log(a); break;

40

//求x的y次方

case '$' : c=fun3(s); break; default : Write_LCD_com(0x01); LCD_string(0x00,\"error\"); } }

void out() //计算器输出操作函数**/ {

double b,j,m; char z=0,i,g,p,k=0; char l[15],n[6]; long a,d; if(c==0)

Write_LCD_Data(48); if(c<0) {

41

Write_LCD_Data('-'); m=c*(-1); a=(long)m; j=(double)a; b=m-j; d=b*100000;

for(i=0;a!=0;i++) { g=a%10; a=a/10; l[i]=g+48; }

n[0]=d/10000; d=d%10000; n[1]=d/1000; d=d%1000;

//整数部分42

n[2]=d/100; d=d%100; n[3]=d/10;

for(p=3;n[p]==0;p--) k++;

for(p=0;p<4;p++) if(n[p]!=0) z++; if(i==0)

Write_LCD_Data('0'); for(p=i-1;p>=0;p--) Write_LCD_Data(l[p]); if(z!=0)

Write_LCD_Data('.'); for(p=0;p<4-k;p++) Write_LCD_Data(n[p]+48);

43

} if(c>0) { a=(long)c; j=(double)a; b=c-j; d=b*100000;

for(i=0;a!=0;i++) { g=a%10; a=a/10; l[i]=g+48; }

n[0]=d/10000; d=d%10000; n[1]=d/1000;

//整数部分44

d=d%1000; n[2]=d/100; d=d%100; n[3]=d/10;

for(p=3;n[p]==0;p--) k++;

for(p=0;p<4;p++) if(n[p]!=0) z++; if(i==0)

Write_LCD_Data('0'); for(p=i-1;p>=0;p--) Write_LCD_Data(l[p]); if(z!=0)

Write_LCD_Data('.'); for(p=0;p<4-k;p++)

45

Write_LCD_Data(n[p]+48); } c=0; }

/*******************************************/ /** 18B20程序模块

**/

/*******************************************/ /*************DS18B20温度读取模块*************/ void tmpDelay(int u) //延时函数 {

while(u--) ; }

void Init_DS18B20() //初始化ds1820 {

unsigned char x=0;

46

DQ = 1; //DQ复位 tmpDelay(8); //稍做延时

DQ = 0; //单片机将DQ拉低 tmpDelay(80); //精确延时 大于 48 DQ = 1; //拉高总线 tmpDelay(14);

x=DQ; //稍做延时后如果x=0则初始化成功 x=1则初始化失败

tmpDelay(20); }

unsigned char ReadOneChar() //读一个字节 { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) {

DQ = 0; // 给脉冲信号 dat>>=1;

47

DQ = 1; // 给脉冲信号 if(DQ) dat|=0x80; tmpDelay(4); }

return(dat); }

void WriteOneChar(unsigned char dat) //写一个字节 { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat&0x01; tmpDelay(5); DQ = 1; dat>>=1;

48

} }

void Readtemp() //读取温度 {

unsigned char a=0; unsigned char b=0; float tt=0; Init_DS18B20();

WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 a=ReadOneChar(); //连续读两个字节数据 b=ReadOneChar(); t=b;

49

t<<=8;

t=t|a; //两字节合成一个整型变量

tt=t*0.0625; //得到真实十进制温度值因为DS18B20可以精确到0.0625度所以读回数据的最低位代表的是0.0625度

t= tt*10+0.5; //放大十倍这样做的目的将小数点后第一位也转换为可显示数字同时进行一个

}

/*温度BCD转换*/ void TEM_BCD() {

uchar a,b,c,i; for(i=0;i<5;i++) date1[i]=0; a=t/100; b=t%100/10;

50

c=t%10; date1[0]=a+'0'; date1[1]=b+'0'; date1[2]='.'; date1[3]=c+'0'; date1[4]='C';

SET_LCD_POS(0x00); for(i=0;i<5;i++)

Write_LCD_Data(date1[i]); date1[i]=0; }

/******功能选择函数***/ void use() { int r;

51

Write_LCD_com(0x01);

LCD_string(0x40,\" 0or1or2 \"); DelayMs(1000); Write_LCD_com(0x01); initial(); z=0; FF=0; GG=0; while(k==0) { };

i=date1[0]-48; k=0; d=0;

for(r=0;r<15;r++) date1[r]=0;

52

DelayMs(500); Write_LCD_com(0x01); }

/************************************/ void fun4() //秒表函数 {

int i,j,k,h,l=1; //i为秒数j分钟数k为小时数 char t[8];

for(k=0;k<60&&f==0;k++) for(j=0;j<60&&f==0;j++) for(i=0;i<60&&f==0;i++) { if(e==1) { k=0;

53

j=0; i=0; e=0; } if(d==1) { l=(-1)*l; d=0; k=0; }

while(l!=1) if(d==1) { l=(-1)*l; d=0; k=0;

//开启秒表暂停功能

}

DelayMs(425); Write_LCD_com(0x01); SET_LCD_POS(0x40); t[0]=k/10+48; t[1]=k%10+48; t[2]=0; t[3]=j/10+48; t[4]=j%10+48; t[5]=0; t[6]=i/10+48; t[7]=i%10+48; for(h=0;h<8;h++) Write_LCD_Data(t[h]); } }

55

/********************************************/ /******主函数*******************/ void main() { char r; LCD_Init(); SPK=1; //蜂鸣器

LCD_string(0x00,MCUEXP); LCD_string(0x40,welcome); DelayMs(500); SPK=0; //蜂鸣器 DelayMs(500);

LCD_Init(); //LCD再次初始化 FF=0; //中段前提条件 GG=0;

initial(); //开中段

56

while(1) {

f=0; //重置功能复位键

for(r=0;r<15;r++) //重置date1[]中的值 date1[r]=0;

SET_LCD_POS(0x00); use(); //功能选择函数 if(i==0) //启动计算功能 {

LCD_string(0x00,\" calculate \"); //提示进入计算器功能

DelayMs(500); Write_LCD_com(0x01); SET_LCD_POS(0x00); JSQ_init(); e=0;

57

while(i==0&&f==0) {

initial(); //开中段 FF=0; //中段前提条件 GG=0;

if(e==1) //有清零键按下 { JSQ_init(); e=0; }

if(d==1) //有等于号按下 {

SET_LCD_POS(0x40); zz=0; DEF(); d=0;

58

k=0; if(zz==0)

out(); //计算器输出操作函数**/ } } }

if(i==1) //温度显示 while(i==1&&f==0) {

LCD_Init(); Readtemp(); TEM_BCD(); DelayMs(2000); }

if(i==2&&f==0) //秒表 {

59

fun4(); } } }

60

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务