基于单片实现的计算器.doc
《基于单片实现的计算器.doc》由会员分享,可在线阅读,更多相关《基于单片实现的计算器.doc(34页珍藏版)》请在沃文网上搜索。
1、目录摘要3概述4二、设计方案简述4 2.1、功能介绍.42.1.1、基本功能.42.1.2、扩展功能.4 2.2、总体设计方案.42.2.1、总体设计思路.42.2.2、方案论证与比较.52.2.3、系统组成7三、详细设计9 3.1、设计目标和实现方法9 3.2、设计.93.2.1、 输入模块:键盘扫描.93.2.2、 运算模块:单片机控制.10 3.2.2、 显示模块:LCD1602显示.10 3.3、 硬件电路设计10 3.3.1、 硬件连接10 3.4、软件设计11 3.5、仿真和调试12 3.5.1、 KEIL uVision调试.12 3.5.2、 Proteus 对于本设计的仿真.
2、13 3.6、元件的介绍15 3.6.1、 MCS-51单片机组成.15 3.6.2、 MCS-51单片机引脚功能.16 3.6.3、 复位和复位电路.17 3.6.4、 LCD1602显示器.18四、 设计结果及分析23 4.1、功能和操作23 4.2、硬件调试23 4.3、技术要点23五、 总结24六、 参考资料附录 主要程序代码摘 要 随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。计算器在人们的日常中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现
3、功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。该设计系统是以AT89C51 为单片机,p0口作为输入端,外接4X4 的键盘,通过键盘扫描来对输入数的控制,用LCD液晶作为显示。计算器将完成的功能有加,减,乘,除等功能。关键词:计算器,单片机,C语言,1602LCDAbstract The design uses a single-chip microcomputer as the control chip, using C programming language of its input from 4 * 4 matrix keyboard control, the
4、 output of the use of human LCD1602-type liquid crystal to achieve.Before the calculation,it showed some words.and the clear button is used to switch into the mode of calculation.For this part of the calculation I used the keyboard matrix, 10 numeric keys,an equal key,four symbol keys,a clear key,ca
5、lculated up to three decimal places.C language library function as a result of many, so I used to call C language library function to solve a wide range of operator types, such programming is much simpler, it is also more reliable.Keywords: calculation,Single-chip,C language,1602 LCD.一 概述计算器(calcula
6、tor)是微型电子计算机的一种特殊类型,它与一般通用计算器主要区别在于程序输入的方式不同。计算器的程序一般都已经固定,只要输入数据和运算符号就会得出结果,很容易就能掌握。而一般计算机的程序可以根据需要随时改动,或重新输入新程序。简易计算器主要用于加减乘除,我所做出的就是按键与显示结合(即在显示器上显示数字键和加减乘除),程序已经完整实现。二 设计方案简述2.1、功能介绍2.1.1、基本功能根据所学知识,自行设计一个计算器,要求自行设计供电电源,该计算器能够实现加减乘除四则混合运算,能够实现连续计算。2.1.2、扩展功能(1)、该计算器能够实现精确到小数点三位的运算。(2)、该计算器在不进行计算
7、时能够显示文字。2.2、总体设计方案2.2.1、总体设计思路本设计主要采用以下基本模块来实现,控制器模块,输入模块,输出模块和电源模块。通过对控制器进行编程。使其对输入模块的信号进行处理计算,然后通过输出模块反馈给使用者以计算结果。2.2.2、方案论证与比较2.2.2.1、控制部分的设计方案论证与选择根据设计要求,控制器主要用于红外信号的接收和辨认、控制步进电机的动作,控制显示步进电机的转速等。对于控制器的选择有以下三种方案。方案一:采用计算器专用芯片实现。用计算器专用芯片进行设计并编程实现。这种设计方案计算效率高、速度快、而且成本也相对较低,是厂家做计算器的最佳方案。但是本人对计算器专用芯片
8、掌握的不够,还不足以实现设计计算器,所以这个方案不可去。 方案二:采用FPGA(现场可编程门阵列)作为系统的控制器。FPGA将所有器件集成到一块芯片上,体积小,节省空间,提高了稳定性;直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,工作可靠性好。可以实现各种复杂的逻辑功能,规模大,密度高,采用并行的输入输出方式,系统处理速度高,适合作为大规模实时系统的控制核心。由FPGA内部编程实现计算器功能,本设计对数据处理速度的要求不是很高,FPGA的高速处理的优势得不到充分的体现,由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物电路板布线复杂,加重了电路设计和
9、实际焊接的工作。并且FPGA的价格相对较高,性价比太低。 方案三、用单片机实现。由于单片机集成了运算器电路、控制电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等,所以用单片机设计控制电路省去了很多分立元器件。由于单片机是可编程芯片,并且它可以运用C语言编写,对于一些复杂的计算功能,可以调用C语言库函数。使编写程序变得非常简单。所以该课题用单片机实现,不仅功能易于实现,而且精确度高,稳定性好,抗干扰能力强。并且由于其成本低、体积小、技术成熟和功耗小等优点,且技术比较成熟。性价比也相当高。更重要的是本人经过几年的学习,对单片机已有深刻的理解,并且可以灵活运用。综上所述,并通过各个方面综
10、合比较为达到最佳效果。我们采用方案三利用单片机控制器。2.2.2.2、显示电路的设计方案论证与选择方案一:数码管显示方案。数码管显示使用两个四位一体动态数码管显示方案,此设计电路如图1-1所示。采用动态数码管显示,具有程序简单, 对外界环境要求低,易于维护,同时其精度比较高,精确可靠,操作简单。显示直观的特点。但只能显示数字和一些代码,不能显示汉字及一些常用的符号,且硬件设计比较复杂。图1-1、两个四位一体数码电路图方案二;采用AT1602型液晶显示(一)、基本特性a、显示特性b、物理特性c外形尺寸如图1-2所示图1-2、液晶的外形尺寸(二)、接口定义综上,AT1602的显示效果好、功能齐全,
11、所以我们选用AT1602液晶显示。其与单片机的接口电路如图1-4所示。AT1602与单片机的接口电路如图1-3所示,该液晶有16个引脚,它能显示32个字符,并且硬件电路设计简单,显示美观。 图1-3、AT1602与单片机接口电路2.2.2.3、键盘设计方案与选择方案一:独立键盘。独立键盘为一端接地,另一端接I/O口,并且要接上拉电阻。这种键盘的硬件都很容易实现,但每一个按键就要用一个I/O口,非常的浪费单片机的I/O口资源,不适合本次设计。方案二:通过PS2协义,用键盘同单片机相接,从而实现单片机与键盘通信。其电路如图1-4所示。现在PC机广泛采用的PS/2接口为miniDIN 6引脚的连接器
12、。1数据线(DATA);未用;3电源地(GND);4电源(+5 V);5时钟(CLK);6未用。 图1-4、键盘与单片机接口图由此图可知,使用键盘硬件结构比较简单,但键盘的体积太大,所以此系统不采用此方案。方案三:自制编码键盘。编码键盘的电路如图1-5所示,这种键盘有编程简单,占用资源少,但其硬件比较复杂,要用很多的二极管,不是很理想。 图1-5、自制编码键盘电路图方案四:4*4矩阵式键盘。其电路图如图图1-6所示,这种键盘的硬件简单,使用的I/O口也不多,而且这种键盘的编程方法已很成熟。所以本次设计采用这种矩阵式键盘。其电路图如图图1-6、4*4矩阵式键盘电路图2.2.3、系统组成经过方案比
13、较与论证,最终确定的系统组成框图如图1-7所示。其中单片机作为主控设备对采集输入信号后并进行处理,最后通过输出设备输出给使用者。,该系统的结构框图如图。图1-7、系统组成方框图三 详细设计3.1、设计目标和实现方法为了满足计算器的基本要求,可以基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于单片机设计计算器,并用LED 数码管显示数据,4*4 的矩阵键盘实现数据输入。设计仿真和调试要用到Protues 、Keil 和Protel DXP 等软件。3.2、设计根据功能和指标要求,本系统选用MCS 51 单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计考虑如下:
14、由于要设计的是简单的计算器,可以进行四则运算,对数字的大小范围要求不高,故我们采用可以进行四位数字的运算,选用LCD1602显示数据和结果。另外键盘包括数字键(09)、符号键(+、-、)、清除键和等号键,故只需要16 个按键即可。3.2.1、 输入模块:键盘扫描计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式。为此,我们引入了矩阵键盘的应用,采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为44个。这种行列式键
15、盘结构能有效地提高单片机系统中I/O 口的利用率。矩阵键盘的工作原理:计算器的键盘布局如图2-1所示:一般有16 个键组成,在单片机中正好可以用一个P 口实现16 个按键功能,这种形式在单片机系统中也最常用。 图2-1键盘布局 图2-2矩阵键盘内部电路由图2-2矩阵键盘内部电路图可以知道,当无按键闭合时,P10P13 与P14P17 之间开路。当有键闭合时,与闭合键相连的两条I/O 口线之间短路。判断有无按键按下的方法是:第一步,置列线P14P17 为输入状态,从行线P10P13 输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P14P17
16、读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。3.2.2、 运算模块:单片机控制MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改
17、。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能。3.2.3、 显示模块:LCD1602显示LCD1602 是单片机应用系统中的一宗简单而常用的输出设备,其在系统中的主要作用是显示单片机的输出数据、状态等。因而作为典型的外围器件,LCD1602 显示单元是反映系统输出和操作输入的有效器件。3.3、 硬件电路设计 主要器件:单片机采用80S51 单片机,它能够满足数据的采集、控制和数据处理的需求。显示LCD1602,输入采用按键方式。3.3.1 硬件连接
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片 实现 计算器