基于51单片机的计算器的设计与制作_第1页
基于51单片机的计算器的设计与制作_第2页
基于51单片机的计算器的设计与制作_第3页
基于51单片机的计算器的设计与制作_第4页
基于51单片机的计算器的设计与制作_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1产品功能分析....................................................1

2设计方案遴选....................................................1

单片机的选择...............................................1

显示方式的选择.............................................1

按键的选择.................................................2

系统框图设计...............................................2

3产品硬件设计....................................................2

STC89C52RC单片机核心电路设计...............................2

按键电路设计...............................................3

LCD1602液晶显示模块电路....................................4

4产品软件设计....................................................6

主程序流程图...............................................6

程序清单...................................................7

5产品使用说明....................................................7

产品装配图.................................................7

产品使用说明...............................................8

6产品设计技术标准................................................8

7参考资料........................................................8

附录...............................................................9

附录1元器件清单...............................................9

附录2电路原理图..............................................10

附录3PCB设计图..............................................11

附录4产品实物图..............................................12

附录5主程序代码..............................................13

湖南商务职业技术学院毕业设计

基于51单片机的计算器的设计与制作

1产品功能分析

计算器是一种用于进行数学运算的便携式电子设备。以下是常见计算器的

产品功能分析:

1、基本数学运算:计算器可以进行基本的数学运算,包括加法、减法、

乘法和除法等。

2、复杂运算:除了基本的四则运算,一些高级计算器还能进行复杂的运

算,如开平方、立方根、指数运算、对数运算等。

3、记忆功能:计算器可以存储若干个结果或中间值,以便后续使用。

4、统计功能:某些计算器可以进行简单的统计分析,如平均值、标准

差、求和等。

5、数据输入输出:计算器通常提供数码显示屏或者液晶屏来显示运算结

果,同时可以使用按键或者触摸屏进行数据输入。

2设计方案遴选

单片机的选择

经过精心研究,我们决定采用MCS-51单片机作为我们的核心操作机,并

且在此基础上,我们还将增加一些额外的外部接口,从而更好地完成我们的计

算机设备。stc89c52单片机是一种具有多种功能的单片机,它由CPU、程序存

储器(ROM)、数据信息寄存器、时序器/计数器、串行接口、以及可程序设计

的中断接口组成,此外,还拥有三大总线:数据传输、地理位置传输以及控制

传输。

显示方式的选择

LCD1602是一种具备高性价比的工业级液晶显示器,它的特点之一就是16

列2行,每列包含32个字符,而1602仅仅包含16*2个字符,因此,LCD1602

的显示性能更加出色,它的特殊的设计,比LCD1602更加精细,更加便捷。

1

湖南商务职业技术学院毕业设计

按键的选择

选择矩阵按键,可以通过比较少的IO实现对多个按键的控制,节省IO

口。

系统框图设计

根据产品的功能和指示要求,本系统选用以MCS-51单片机为主控机。通

过扩展外围接口电路的方式,实现对计算器的设计,如图1所示。

电源

显示电路

STC89

晶振电路C52

单片机

按键控制

运算控制

电源开关

图1系统框图设计

3产品硬件设计

STC89C52RC单片机核心电路设计

通过应用STC89C52单片机,可以有效地利用控制技术,从而提升系统的

效率和稳健性,达到预期的性能目标。单片机的独特之处:操纵简易、操纵迅

速、操纵灵活。

2

湖南商务职业技术学院毕业设计

图2单片机核心电路设计

按键电路设计

为了满足复杂的应用场景,我们选择了4*4矩阵式键盘,它们具有更好的

集成度和更高的精度,而且与传统的独立式操作相比,它们的接口更加灵活,

不会消耗太多的I/O端口资源。此外,它们还具有更高的稳定性和更强的抗干

3

湖南商务职业技术学院毕业设计

扰性,如图3所示。

图3按键电路设计

LCD1602液晶显示模块电路

LCD显示器(LCD)是一种具有极高功耗的显示设备,它的应用范围十分广

泛,从电子表、电脑、数码相机到液晶TV,它都可以满足人们对清晰度的需

求,并且具有极高的可靠性和可操作性。使用总线和排阻进行简化连接方式,

能够更加直观的看到结果,并且美化了设计。为了更好地显示计算器的信息,

我们采用液晶显示屏LCD,以便更加直观地查看结果,同时也保证了设计的美

观性,我们将总线和排阻简化连接方式,如图4所示。

4

湖南商务职业技术学院毕业设计

图4液晶显示电路模块

5

湖南商务职业技术学院毕业设计

4产品软件设计

主程序流程图

图5主程序流程图

6

湖南商务职业技术学院毕业设计

程序清单

5产品使用说明

产品装配图

:LCD液晶显示器

:STC89C52RC芯片

:电源开关

:按键控制

图6产品装配图

7

湖南商务职业技术学院毕业设计

产品使用说明

1、使用前检查产品是否完好安全,准备好相关的材料。

2、打开产品开关,连接好电脑烧入程序。

3、进行简单的加减乘除运算。

4、不使用时,收好设备,放置干燥平稳处。

6产品设计技术标准

[1]J-STD-001E电气与电子组件的焊接要求;

[2]IPC-A-610D(中文版),IPC-A-610E电子组件的可接受性要求;

[3]IPC-7711/21电子组件和电路板的返工&返修;

[4]GB/T11457-2006信息技术软件工程术语;

[5]GB/T8566-2007信息技术软件生存周期过程标准;

[6]GB/T8567-2006计算机软件文档编制规范。

7参考资料

[1]实用电子电路大全[M].2004,28-36

[2]单片机典型系统设计实例精讲[M].2006,69-88

[3]基于单片机的智能系统设计与实现[M].2005,35-38

[4]单片机原理与应用技术[M].2006,14-16

[5]新编单片机原理与应用[M].2003,78-86

8

湖南商务职业技术学院毕业设计

附录

附录1元器件清单

9

湖南商务职业技术学院毕业设计

附录2电路原理图

10

湖南商务职业技术学院毕业设计

附录3PCB设计图

11

湖南商务职业技术学院毕业设计

附录4产品实物图

12

湖南商务职业技术学院毕业设计

附录5主程序代码

#include<reg52.h>

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#defineucharunsignedchar

#defineuintunsignedint

floatnum1;

floatnum2;

ucharjjcc;

ucharLcd_Str[17];

ucharNum_str[17];

ucharLcd_num2_add=0;

ucharLcd_dis1_i=0;

ucharLcd_num1_i=0;

ucharLcd_num2_i=0;

ucharDian_i=0;

sbitrs=P1^0;

sbitrw=P1^1;

sbite=P1^2;

voiddelay_uint(uintq)

{

while(q--);

}

voidwrite_com(ucharcom)

{

rs=0;

rw=0;

P0=com;

delay_uint(25);

e=1;

delay_uint(100);

e=0;

}

voidwrite_data(uchardat)

{

rs=1;

rw=0;

P0=dat;

delay_uint(25);

13

湖南商务职业技术学院毕业设计

e=1;

delay_uint(100);

e=0;

}

voidDis_str(ucharadd,uchar*p)

{

write_com(add);

while(*p>0)

{

write_data(*p);

p++;

}

}

voidinit_1602()

{

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

}

voiddelay_1ms(uintq)

{

uinti,j;

for(i=0;i<q;i++)

for(j=0;j<120;j++);

}

ucharKey_io;

ucharkey_new;

ucharkey_can;

ucharKey_D_bit;

voidkey(void)

{

key_can=18;

P3=0xf0;

Key_io=P3;

if(Key_io!=0xf0)

{

Key_io|=0x0f;

P3=Key_io;

14

湖南商务职业技术学院毕业设计

Key_io=P3;

if(key_new==0)

{

key_new=1;

switch(Key_io)

{

case0x7e:key_can=10;break;

case0x7d:key_can=0;break;

case0x7b:key_can=11;break;

case0x77:key_can=15;break;

case0xbe:key_can=7;break;

case0xbd:key_can=8;break;

case0xbb:key_can=9;break;

case0xb7:key_can=14;break;

case0xde:key_can=13;break;

case0xdd:key_can=6;break;

case0xdb:key_can=5;break;

case0xd7:key_can=4;break;

case0xee:key_can=12;break;

case0xed:key_can=3;break;

case0xeb:key_can=2;break;

case0xe7:key_can=1;break;

}

}

}

else

{

key_new=0;

}

}

ucharXS_JG(ucharadd,floatn)

{

ucharlen,p=0;

memset(Lcd_Str,0,16);

sprintf(Lcd_Str,"%e",n);

while(Lcd_Str[p]!='e')

{

p++;

}

if(Lcd_Str[p+2]==0x30&&Lcd_Str[p+3]<0x37)

{

sprintf(Lcd_Str,"%f",n);

15

湖南商务职业技术学院毕业设计

len=strlen(Lcd_Str);

while(len)

{

if(Lcd_Str[len-1]=='.')

{

Lcd_Str[len-1]=0;

break;

}

len--;

}

}

else

{

while(p)

{

if(Lcd_Str[p-1]=='.')

{

Lcd_Str[p-1]='';

break;

}

p--;

}

}

Dis_str(add,"");

Dis_str(add,Lcd_Str);

returnlen;

}

voidfuhao(uchars)

{

if(jjcc<5)

{

if(jjcc==0)

{

Num_str[Lcd_dis1_i]=s;

Lcd_dis1_i++;

Lcd_num2_add=Lcd_dis1_i;

}

else

{

if(Num_str[Lcd_num2_add]==0)

16

湖南商务职业技术学院毕业设计

Num_str[Lcd_dis1_i-1]=s;

}

Dis_str(0x80,Num_str);

}

if(jjcc==5)

{

Lcd_dis1_i=4;

Lcd_num2_i=0;

Lcd_num2_add=4;

memset(Num_str,0,16);

Num_str[0]='A';

Num_str[1]='n';

Num_str[2]='s';

Num_str[3]=s;

Dis_str(0x80,"");

Dis_str(0x80,Num_str);

}

}

voidmain(void)

{

init_1602();

write_data('0');

memset(Num_str,0,16);

while(1)

{

key();

delay_1ms(10);

if(key_can<18)

{

delay_1ms(30);

switch(key_can)

{

case11:

if(Num_str[Lcd_num2_add]<=0x39&&Num_str[Lcd_num2_add]>=0x30)

num2=atof(Num_str+Lcd_num2_add);

else

break;

Lcd_num2_i=0;

17

湖南商务职业技术学院毕业设计

switch(jjcc)

{

case1:num1+=num2;

break;

case2:num1-=num2;

break;

case3:num1*=num2;

break;

case4:num1/=num2;

break;

}

XS_JG(0xc0,num1);

Dis_str(0x80+Lcd_dis1_i,"=");

jjcc=5;

break;

case12:if(Num_str[0]==0||Lcd_num2_i>0)

break;

fuhao('+');

jjcc=1;Dian_i=0;

break;

case13:if(Num_str[0]==0||Lcd_num2_i>0)

break;

fuhao('-');

jjcc=2;Dian_i=0;

break;

case14:if(Num_str[0]==0||Lcd_num2_i>0)

break;

fuhao('*');

jjcc=3;Dian_i=0;

break;

case15:if(Num_str[0]==0||Lcd_num2_i>0)

break;

fuhao('/');

jjcc=4;Dian_i=0;

break;

case10:if(Dian_i==0&&(Lcd_num1_i!=

0||Lcd_num2_i!=0))

18

湖南商务职业技术学院毕业设计

{

Dian_i++;

Num_str[Lcd_dis1_i]='.';

Lcd_dis1_i++;

Dis_str(0x80,Num_str);

}

break;

case16:jjcc=0;

Dis_str(0x80,"0");

Dis_str(0xc0,"");

case17:if(Lcd_dis1_i==0)

break;

if(((Num_str[Lcd_dis1_i-

1]<=0x39&&Num_str[Lcd_dis1_i-1]>=0x30)||Num_str[Lcd_dis1_i-

1]=='.')&&jjcc!=5)

{

if(Num_str[Lcd_dis1_i-1]=='.')

{Dian_i=0;}

else

{

if(jjcc==0)

{

Lcd_num1_i--;

}

else

{

Lcd_num2_i--;

}

}

Lcd_dis1_i--;

Lcd_num2_add=Lcd_dis1_i;

Num_str[Lcd_dis1_i]=0;

Dis_str(0x80,"");

Dis_str(0x80,Num_str);

}

if(Lcd_dis1_i==0)

write_data('0');

19

湖南商务职业技术学院毕业设计

break;

default:if(key_can<10&&Dian_i<7)

{

if(jjcc==5)

{

jjcc=0;

Lcd_dis1_i=0;

Lcd_num1_i=0;

Lcd_num2_i=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论