简易计算器系统设计大学论文.docx

上传人:b****4 文档编号:27165353 上传时间:2023-06-27 格式:DOCX 页数:31 大小:482.55KB
下载 相关 举报
简易计算器系统设计大学论文.docx_第1页
第1页 / 共31页
简易计算器系统设计大学论文.docx_第2页
第2页 / 共31页
简易计算器系统设计大学论文.docx_第3页
第3页 / 共31页
简易计算器系统设计大学论文.docx_第4页
第4页 / 共31页
简易计算器系统设计大学论文.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

简易计算器系统设计大学论文.docx

《简易计算器系统设计大学论文.docx》由会员分享,可在线阅读,更多相关《简易计算器系统设计大学论文.docx(31页珍藏版)》请在冰豆网上搜索。

简易计算器系统设计大学论文.docx

简易计算器系统设计大学论文

 

目录

课程设计任务书………………………………………………………………………I

摘要……………………………………………………………………………………1

关键词…………………………………………………………………………………1

引言………………………………………………………………………2

1课程设计用的仪器和器件………………………………………………………3

1.1单片机的选择方案和论证………………………………………………………3

1.2显示器的选择方案和论证………………………………………………………3

1.3按键部分的选择方案和论证……………………………………………………3

2课程设计方法和内容……………………………………………………………3

3元件介绍……………………………………………………………………………4

3.1STC89C51单片机特点及引脚图…………………………………………………4

3.2LCD1602液晶显示器……………………………………………………………5

3.2.1LCD1602基本组成………………………………………………………5

3.2.2LCD1602基本参数及引脚功能…………………………………………………6

3.2.3LCD1602指令说明及时序………………………………………………………6

4系统概述…………………………………………………………………………7

4.1系统设计结构图………………………………………………………………7

4.2简易计算器工作流程……………………………………………………………7

5系统硬件设计……………………………………………………………………7

5.1时钟电路……………………………………………………………………8

5.2复位电路………………………………………………………………………8

5.3键盘电路……………………………………………………………………9

5.4显示电路……………………………………………………………………9

6程序流程图………………………………………………………………………10

7.课程设计总结………………………………………………………………11

参考文献……………………………………………………………………………12

附录……………………………………………………………………………13

简易计算器系统设计

摘要:

本文主要介绍了简易计算器系统设计,用51单片机作为主控芯片,通过矩阵键盘作为输入,计算器可以进行2位数的四则运算。

在设计过程中,选择STC89C51系列单片机,单片机通过采集键盘上的输入,自行判断运算数字和运算法则。

同时将输入的结果和运算结果通过1602显示屏输出。

简易计算器的设计,极大的降低了人们的计算量,尤其在大数据的计算上有明显的优势,计算器还具有连续计算功能,能提高人们的工作效率。

关键词:

单片机;矩阵键盘;1602显示;

TheDesignOfSimpleCalculatorSystem

Abstract:

Thispapermainlyintroducesthedesignofsimplecalculatorsystem,thesystemchoosesthe51singlechipmicrocomputerasmaincontrolchipandusesthematrixkeyboardasinput,thecalculatorcancomputein2digits.ThedesignprocesschoosesSTC89C51microcontrollerseriesandthesingle-chipmicrocomputerjudgecrunchingNumbersandalgorithmsautomaticallythroughacquisitiononthekeyboardinput,.Atthesametime1602displaycanoutputtheinputresultsandcomputationresults.Thedesignofsimplecalculatorgreatlyreducestheburdenofthehuman’scomputingespeciallyinthebigdata’computionandthecalculatorcanalsocomputecontinuouslyinthatenhancepeople'sworkingefficiency.

Keywords:

singlechip;matrixkeyboard;1602display;

 

引言

当今时代,是一个新技术层出不穷的时代。

在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。

过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。

它所给人带来的方便也是不可否定的,它在一块芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。

20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

本次做的计算器是以单片机STC89C51为核心结合相关的元器件LCD1602液晶、矩阵键盘等再配以相关的程序达到制作计算器的目的电子计算器是日常生活中常用的电子计算仪器广泛应用于超市、大中型商场、大小企业。

电子计算器具有精度高、体积小、应用范围广、易于操作使用等优点。

目前科技的进步告别了以前复杂的模拟电路一块几平方厘米的单片机可以省去很多繁琐的电路。

现在应用较广泛的是科学计算器与我们日常所用的简单计算器有较大差别除了能进行加减乘除科学计算器还可以进行正数的四则运算和乘方、开方运算具有指数、对数、三角函数、反三角函数及存储等计算功能。

未来的智能化计算器将是我们的发展方向,所以对计算器的研究十分有意义。

综述国内外有关本课题的研究进展状况。

随着社会的不断发展科技的不断创新。

计算器已在数十年间遍布千家万户。

计算器拥有几百年历史,1946年2月15日在美国宾夕法尼亚大学世界上第一台电子计算器ENIAC正式投入了运行。

数学家把“智慧”给了电子计算器,电子计算器将使数学家变得更加聪明。

而且电子计算器不仅是一种工具,它与其它的工具都不相同,电子计算器是人脑的一个侧面的延伸。

因为电子计算器不仅具有非凡的计算能力,速度之快令人望尘莫及而且还能够仿真人的某些思维功能按照一定的规则进行逻辑判和逻辑推理代替人的部分脑力劳动。

1976年数学家凭借电子计算器去证明四色定理“依靠机器完成了人没有能够完成的事情”轰动了整个国际数学界。

计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器,使用ASCII码设计的计算器,如使用纯软件实现的计算器等未来的智能化计算器将是我们的发展方向更希望成为应用广泛的计算工具。

1课程设计用的仪器和器件

1.1单片机的选择方案与论证

方案一:

采用STC89C51单片机。

STC89C51单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,而且价格优惠。

STC89C51使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

方案二:

采用STC12C5A60S2系列单片机。

STC12C5A60S2系列单片机是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容8051,但速度快8~12倍。

内部集成MAX810专用复用电路,2路PWM,8路10位高速A/D转换(80K/S),针对电机控制,强干扰场合。

STC12C5A60S2系列单片机适合程序大,储存器容量大使用,但价格较昂贵。

由于STC89C51价格实惠,又可实现系统需要,因此采用方案一。

1.2显示器的选择方案和论证

方案一:

使用8位LED数码管来做显示。

LED显示器是由发光二极管显示字段组成的显示器件,在单片机应用系统中通常使用的是七段LED,这种显示器有共阴极和共阳极两种,它具有成本低廉、配置灵活和单片机接口方便等特点。

方案二:

使用LCD1602液晶显示器来显示。

液晶是介于固态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的混作固态。

在电极的作用下,产生冷热变化,从而影响它的透光性,来达到显示的目的。

LCD1602液晶显示器还具有以下几个优点:

低压、微功耗、显示信息量大、长寿命、无辐射、无污染。

考虑到是否能清晰地实现本系统的要求,我们决定采用方案二实现本系统的显示功能。

1.3按键部分的选择方案和论证

方案一:

使用独立式键盘。

对于独立式键盘来说,当某个按键按下时,对应的单片机I/O口线为低电平,反之为高电平,但会占用大量的I/O口。

方案二:

使用矩阵式键盘。

矩阵式键盘不会占用很多的I/O口,是一种比较节省资源的方法。

为了能减少所占用的I/O口,我们采用方案二。

2课程设计方法和内容

设计一个可以进行2位数四则运算的计算器,要求:

1、用按键输入数和运算符号;

2、用LED显示运算过程和结果(十进制数);

3、可以表示出当前的运算类型;

4、具有清零和复位功能;

5、具有连续运算功能。

3元件介绍

3.1STC89C51单片机特点及引脚图

STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C51使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,STC89C51拥有灵巧的8位CPU和在系统可编程Flash,使STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

STC89C51具有以下标准功能:

与MCS51兼容;

8K支持在线编程(ISP)的FLASH结构程序存储器,1000次擦写寿命;

工作电压为4.0V~5.5V;

全静态工作:

0~24MHz;

3级程序安全加密保护;

256*8位内部RAM;

32个可编程I/O端口;

3个16位定时器/计数器;

8个中断源;

一个全双工异步串口;

支持低功耗及掉电模式;

高抗静电(ESD保护);

宽温度范围,-40~85;

典型功耗低<0.1ua;

掉电模式可由外部中断唤醒

支持中断从掉电模式唤醒;

内置看门狗;双数据指针;

工业级产品,温度范围(-40°C到85°C),PU为无铅环保产品。

另外,STC89C51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

其PDIP图如下图3-1所示:

图3-1单片机示意图

3.2LCD1602液晶显示器

3.2.1LCD1602基本组成LCD1602液晶显示器用5*7点阵图形来显示西文字符,有阿拉伯数字、英文字母的大小写、常用符号等。

单片机通过写控制方式访问驱动控制器来实现对显示屏的控制。

LCD主要由3个部分组成:

LCD控制器、LCD驱动器、LCD显示装置。

如图3-2所示。

DB0~DB7

 

图3-2LCD示意图

3.2.2LCD1602基本参数及引脚功能LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780。

1、主要技术参数

显示容量:

16×2个字符

芯片工作电压:

4.5—5.5V

工作电流:

2.0mA(5.0V)

模块最佳工作电压:

5.0V

字符尺寸:

2.95×4.35(W×H)mm

在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。

每次输入指令前都要判断液晶模块是否处于忙的状态。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

2、引脚功能说明

LCD1602采用标准的16脚(带背光)接口,各引脚接口说明如表3-1所示。

表3-1LCD1602引脚功能说明

引脚编号

名称

功能

操作

1

VSS

电源接地

0V

2

VDD

电源正极

+5V

3

VEE

LCD亮度调整电压输入

电压越低,屏幕越亮

4

RS

寄存器选择信号

1=选择数据寄存器

0=选择指令寄存器

5

R/W

读/写信号

1=读取0=写入

6

E

LCD响应信号

1=响应LCD0=禁用LCD

7~10

DB0~DB3

低4位总线

可用4位输入数据、命令及地址

11~14

DB4~DB7

高4位总线

配合DB0~DB3的8位输入数据、命令及地址

15

LED+

背光源正极

+5V

16

LED-

背光源负极

0V

3.23LCD1602的指令说明及时序

1602液晶模块内部的控制器共有11条控制指令,如表3-2所示。

表3-2控制命令表

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

4系统概述

4.1系统设计结构图

电源电路

简易计算器主要由STC89C51主控制器、键盘电路、显示电路等部分组成。

其中键盘电路用于数字法号的输入,进行加减乘除运算。

简易计算器的系统设计结构图如4-1所示。

图4-1系统结构图

4.2简易计算器工作流程

1、上电后,屏幕初始化,显示Welcomecommentsofteachers。

2、5S后清屏,开始进入计算。

3、计算。

按下0~9中的数字键,屏幕显示要运算的第一个数值,再按下“+-*/”中一个符号键,然后再按下数字键,屏幕显示要运算的第二个数值,最后按下“=”键,屏幕显示计算结果。

4、再次计算时,先按下清除键“ON/C”,清除屏幕上的计算结果,再重新计算。

5系统硬件设计

简易计算器电路由单片机最小系统、时钟电路、4*4矩阵式键盘、LCD1602液晶显示器等组成。

其原理图如图5-1所示。

图5-1计算器电路图

5.1时钟电路

在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机

的时钟方式。

根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式。

我们采用内部时钟方式,如图5-2所示。

图5-2晶振振荡电路

在内部方式时钟电路中,必须在X1和X2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,C1和C2取30pF左右,晶振的频率取值范围1.2MHz~12MHz。

根据实际情况,本设计采用12MHz作为系统的外部晶振,电容值取22pF。

5.2复位电路

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。

无论是单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。

所以,必须弄清楚MCS-51单片机复位的条件、复位电路和复位后的状态。

如图5-3

图5-3复位电路

单片机复位的条件是:

必须使RST/Vpd或RST引脚(9脚)加上持续两个机器周期(即24个振荡周期)的高电平。

例如,若时钟频率为12MHz,每机器周期为1us,则只需2us以上时间的高电平。

在RST引脚出现高电平后的第二个周期执行复位。

单片机常见的复位电路有上电复位电路和按键复位电路。

为了方便系统的硬件初始化,我们采用按键复位电路。

按键复位电路除具有上电复位功能外,若要复位,只需要按下S22键,在RST端产生一个复位高电平。

5.3键盘电路

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5-4所示。

图5-4矩阵键盘电路

在矩阵式键盘电路中,行连接线和列连接线分别占用4条I/O口线,共连接16个按键。

行线连接的接口为输入口,用于输入按键的行位置信息,列线连接的接口为输出口,用于输出扫描电平。

5.4显示电路

显示电路由液晶显示器LCD1602取代普通的数码管完成。

P0口作为液晶显示的数据端口,P3.4、P3.5、P3.6作为其控制端口,控制LCD液晶显示屏显示输出数据。

其电路如图5-5所示。

 

图5-5LCD电路

6程序流程图

系统软件设计设计程序时,首先初始化参数,送LED低位显示“Welcomecommentsofteachers”,高位不显示。

延时5S后清屏,按下数字键输入数值,在LCD1602显示,然后按下“+-/*”符号键,再输入数值并在LED显示器上显示,最后按下“=”键得出运算结果。

若再次计算,需按下清除键“ON/C”清屏后再按数字键输入数值开始计算。

程序流程图如6-1所示。

图6-1程序流程图

7课程设计总结

本课程设计实现了一个简易计算器设计与制作,利用到了STC89C51、矩阵键盘、LCD1602显示器等,通过C语言编译的程序实现计算功能。

计算器实现的是将输入的数字及四则运算显示在LCD中。

这是一个非常基础的实验,在很多中型或大型的实验中,例如倒计时钟、交通灯实验中都需要实现这一部分的功能。

因此力求做到简洁和容易实现,并需要有较好的可移植性,可以比较容易的移植到其它复杂的程序。

这次课程设计锻炼了我多方面的能力。

在考虑逻辑图的具体设计方案时,经过查找各种资料先选出可用的芯片,最后通过比较他们的技术参数、特点及性价比等选出最适合本设计的硬件搭配。

简易计算器的设计,掌握了单片机中常用接口电路的应用和设计技术,了解了LCD显示器的显示原理。

在写控制程序前,首先应该准备好设计思路和画流程图,流程图的设计可以使我更有针对性的编写程序,可以有效的避免和及时发现错误。

通过本次设计,我最深的感触就是处理问题不要急于求成,要不断的对问题进行思考,以减少失败的概率。

对任何实际问题的处理,都是建立在我们所学的基础知识之上,只有牢固熟练的掌握了基础知识,才能够对问题的解决有个宏观准确的把握,找到解决问题的切入点,攻克难点。

同时要有严谨的态度,对问题的思考不要畏难,因为任何一点小的思路的错误或者语法的错误,都会导致功能不能实现。

参考文献:

[1]张永格.单片机C语言应用技术与实践[M].2版.北京:

北京交通大学出版社,2009

[2]胡辉.单片机原理与应用[M].第6版.北京中国水利水电出版社.2007年

[3]王东锋,董冠强.单片机C语言应用100例[M].第2版.电子工业出版社.2009年

[4]郭惠,吴迅.单片机C语言程序设计完全自学手册[M].第3版.电子工业出版社.2008年.

[5]国兵.模拟电子技术[M].第2版.高等教育出版社.2008.

附录

#include"reg52.h"

#defineucharunsignedchar

#defineuintunsignedint

ucharcodetable2[]="Welcomecomments";//“欢迎老师点评!

”英文字样

ucharcodetable3[]="ofteachers!

";//“欢迎老师点评!

”英文字样

ucharcodetable4[]="0";//初始化

sbitbusy=P0^7;

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

chari,j,temp,num;

longa,b,c;//a,第一个数b,第二个数c,得数

ucharflag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号

ucharcodetable[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0};

ucharcodetable1[]={7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0x2b-0x30};//按键显示编码表

sbitlcden=P3^6;

sbitlcdwrite=P3^5;

sbitlcdrs=P3^4;

//lcd的写指令

voidwrite_com(ucharcom)

{

lcdrs=0;

lcden=0;

P0=com;

delay

(1);

lcden=1;

delay

(1);

lcden=0;

}

//lcd的写数据

voidwrite_date(ucharda)

{

lcdrs=1;

lcden=0;

P0=da;

delay

(1);

lcden=1;

delay

(1);

lcden=0;

}

//初始化

voidinit()//初始化

{

ucharnum;

num=-1;

lcdwrite=0;

lcden=0;

write_com(0x38);

write_com(0x0c);

w

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

当前位置:首页 > 工程科技 > 材料科学

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

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