基于单片机的简易计算器设计
1设计目的
我所设计的基于ATMEL公司AT89C52单片机的简易计算器,是利用该51单片机和数码管显示设计的简易计算器。
本设计满足计算器的基本要求,可以基本的运算(加减乘除),数据归零,利用51系列单片机设计符合功能的计算器,并用LED码管显示数据,4*4的矩阵键盘实现数据输入,同时,可以在流水灯处显示出相应数字。在进行运算时,按等号键能将最后结果输送给数码管并显示出来。设计仿真和调试要用到Protues、Keil等软件。
通过对简易计算器的设计制作与调试,学习掌握
2 设计方案
本设计采用以AT89C52单片机为核心的低成本、高精度、微型化数字显示简易计算器的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、按键子程序、延时子程序、显示子程序等模块组成。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块,利用软件方面使用C语言编程,并用Protues仿真。
(1)硬件设计:
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件,中央处理器,存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。计算器在人们的日常中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。
1.系统模块图为:
简易计算器按模块可化分为:
·1 单片机主控芯片
·2 矩阵键键
·3 数码管显示
·4 点亮发光二极管
最小系统由复位电路、输入输出设备、电源和单片机芯片组成。
数码管通过PO口输入高低电平控制每个LED灯的亮灭,公共端接地线P0口接1K的上拉电阻。由于并未用到小数点显示,所以DP引脚悬空。
(2)软件设计
显示程序
初始化-->写命令-->写数据
*将各类函数声明都写到同一个头文件中,方便查看各个函数的参数以及功能
主控芯片如图
4.软件程序
5调试结果及说明
(1)键盘对应有效值表
0 | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | 9 | 移位 | = |
+ | - | * | / |
键盘分布如上图所示,该计算器可以计算简单的256以内的加减乘除运算,右侧复位键为“清零”。
如果要再次计算,可以按下“ON/C”键清零,或者按下单片机的复位键,重新初始化。
(3)实物图
例如11*11=121
最大的数字到
实习收获 | ||||
通过这次单片机课程设计,不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。设计结果能够符合题意,成功完成了此次课程设计要求,不只在乎这一结果,更加在乎的,是这个过程。这个过程中,花费了大量的时间和精力。在老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习及工作有极大的帮助。 然而我们也有许多不足之处。在软件编程时一定要考虑周到,要有耐心要仔细。还要与硬件相联系起来,脱离了实物一切都是假的。在理论上往往是可行的,然而当把程序烧入芯片,进行调试时就会遇到这样那样的的问题。最糟的是当我们辛苦把实物完成,而那电路有完全没反应,与我们的设想完全不同,而我们又不知道是软件问题还是硬件问题时,就要静下心来,一步一步来,从硬件的芯片开始检查是否短路等等,而软件又要不断地进行仿真调试。然而我们遇到的问题除了焊接时可能导致的短路外,还应电压不稳定或过大而导致芯片被烧毁,总而言之,我们还是缺少对芯片和各种器件的了解,无法准确的判断出什么样的现象将是由原因引起的。 以后还是要努力学习基础知识,把基础知识理解透彻,去更好的应用和实践。 |
爱吃土豆的猫 发表于 2018-11-26 10:57
请问答主的板子是买的吗?毕业设计可以用这种板子的吗
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |