《基于MCS-51单片机的简易计算器的设计与实现》由会员分享,可在线阅读,更多相关《基于MCS-51单片机的简易计算器的设计与实现(28页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上基于MCS-51单片机的简易计算器的设计与实现作者 陈俐园 指导老师 刘雪兰【摘要】当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用,可是它还在发展之中,以后必将出现功能更加强大的计算器,所以本次设计是基于51单片机来设计的计算器,实现基本功能加减乘除,采用LCD显示结果数据。【关键词】MCS-51;MM74C922;Protues;矩阵键盘;计算器Design and implementa
2、tion of a simple calculator based on MCS-51 single chip microcomputer【Abstract】Nowadays, with the continuous improvement of peoples living, electronic products have already walked into each and every family, whether life or learning, or entertainment and recreation almost everything cannot do withou
3、t the electronic products, computing capability of large and complex is the human brain are not competent, and relatively easy to go wrong. The calculator as a fast general-purpose computing tools are easy to use, but it is still in development, later will appear a calculator function more powerful,
4、 so this design is to design based on 51 single chip computer, the realization of the basic functions of add, subtract, multiply and divide, uses LCD to display the results of data.【Keywords】MCS-51;MM74C922;Protues;Matrix keyboard ;calculator专心-专注-专业目 录第一章 绪论11.1 设计背景11.2 设计内容11.3 设计意义1第二章 设计方案及技术基础
5、12.1 设计方案12.2 方案论证及设计12.3 MCS-51单片机及开发环境介绍22.3.1 MCS-51系列单片简介22.3.2 MM74C922芯片3第三章 硬件设计43.1 硬件电路设计43.1.1 电路设计原理43.1.2 硬件电路设计53.2 时钟电路53.3 复位电路63.4 输入模块:键盘接口电路6第四章 软件设计84.1 主程序设计84.2 外部中断0处理程序84.2.1 键值转化为键盘上按键值程序94.2.2 算术运算程序104.3 LCD显示程序10第五章 开发体会135.1 Keil软件调试135.2 Protues软件仿真14第六章 总结15参考文献16致 谢17附
6、 录18第一章 绪论1.1 设计背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了, 单片机的应用已经越来越贴近生活。计算器在人们的日常中就是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计一个简易计算器。1.2 设计内容本次设计是基于MCS-51单片机来设计的计算器。计算器将完成的功能有加,减,乘,除等功能。设计的关键所在,必须非常熟悉单片机的原理与结构,同时还要对整个设计流程有很好的把握,将单片机和其他模块完整的衔接。1.3 设计意
7、义此次论文的价值和核心在于倡导自己把所学知识运用到现实生活,为现实生活服务,把自己的知识转化为实物哪怕是很简单的物件,很简单的功能,但真真切切的让自己感受到创造的快乐,为自己今后的工作做好铺垫,往后通过更多的学习,更多的尝试,把知识的作用真正发挥出来,改变大家的生活。第二章 设计方案及技术基础2.1 设计方案为了满足计算器的基本要求,可以基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于51单片机,结合MM74C922芯片设计一个简易的计算器,用4*4的矩阵键盘实现数据输入,实现基本功能加减乘除,并用LCD显示数据。设计仿真和调试要用到Keil、Protues等软件。2.2 方案论证
8、及设计根据功能与要求,本系统选用MCS-51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。(2)另外键盘包括数字键(09)、符号键(+、-、)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘。(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。(4)错误提示:当计算器执行过程中
9、有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD上提示错误。2.3 MCS-51单片机及开发环境介绍2.3.1 MCS-51系列单片简介MCS-51单片机较之前的单片机相比,功能增强许多,就其指令和运行速度而言,超过了Intel8085的CPU和Z80的CPU,成为工业控制系统中较为理想的机种。目前与MCS-51单片机兼容的一些单片机的时钟频率达到40MHz甚至更高。51系列单片机的特点:(1)8位cpu;(2)片内带振荡器,频率范围为1.2MHz12MHz;(3)片内带128M 的数据存储
10、器;(4)片内带4KB的程序存储器;(5)程序存储器的寻址空间为64KB;(6)片外数据存储器的寻址空间为64KB;(7)128个用户位寻址空间;(8)21个字节特殊功能寄存器;(9)4个8位的I/O并行接口:P0、P1、P2、P3;(10)两个16位定时、计数器;(11)两个优先级别的五个中断源;(12)一个全双工的串行I/O接口,可多机通信;(13)111条指令,包含乘法指令和除法指令;(14)片内采用单总线结构;(15)有较强的位处理能力;(16)采用单一+5V电源图2-1 MCS-51结构图2.3.2 MM74C922芯片为了进一步节省单片机I/O口资源,我们在设计中使用了MM74C9
11、22芯片。MM74C922是一款4*4键盘扫描IC,它可检测到与之相连的4*4键盘的按键输入,并通过数据输出口将按键相应的编码输出。其引脚图如图2-2所示:图2-2 MM94C922硬件图MM74C922引脚说明:(1) Y1Y4(脚1脚4):4*4键盘第一列至第四。(2) X1X4(脚11、10、8、7):4*4键盘第一行至第四行。(3) DOA DOD(Dataout AD,脚1417):按键之BCD码输出,其中DOA为LSB,DOD为MSB。(4) VCC(脚18):电源脚,+3V+15V。(5) GND(脚9):接地管脚。(6) OSC(Oscillator,脚5):键盘扫描电路之频率
12、所需外加电容的连。(7) KBM(Keyboard Mask,脚6):内部消除开关弹跳电路所外加电容的。(8) OE(Output Enable,脚13):芯片使能脚,接低电位可使芯片使能。(9) DA(Data Available,脚12):数据有效输出脚。任一按键按下时,此脚位会输出高电位,按键释放后此脚又会恢复为低电位。MM74C922对各按键的响应如下表所示:图2-3 MM74C922对各按键的响应第三章 硬件设计3.1 硬件电路设计3.1.1 电路设计原理单片机采用AT89C51单片机,它能够满足数据的采集、控制和数据处理的需求。结合时钟电路、复位电路、键盘输入完成简易计算器总电路设
13、计。单片机输入模块LCD显示电源电路时钟电路复位电路图3-1 电路设计原理3.1.2 硬件电路设计图3-2 总电路设计3.2 时钟电路时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。在MCS51单片机片内部有一个高增益的反相放大器,它的的输入端为引脚XTAL1,输出端为引脚XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式,晶振频率均为30pF。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式。我们采用内部时钟方式。在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路。图3
14、-3 时钟电路连接图3.3 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。无论是单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。所以,必须弄清楚MCS-51单片机复位的条件、复位电路和复位后的状态。复位信号从单片机的RST引脚输入,高电平有效,其有效电平应维持至少2个机器周期。复位操作有上电自动复位与按键手动复位两种方式,为了方便系统的硬件初始化,我们采用按键手动复位。图3-4 复位电路连接图3.4 输入模块:键盘接口电路计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的
15、I/O口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。计算器的键盘布局如图3-5与图3-6所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。图3-5 矩阵键盘布局图图3-6 矩阵键盘内部电路图如下图3-7所示,在本设计中,计算器输入键盘的4条行线、列线分别连接到MM74C922的X1X4、Y1Y4引脚,MM74C922的数据输出口与单片机的P2口相连,MM74C922的DA引脚经过一个非门连接到单片机的/INT0脚,当MM74C922检测到键盘输入时,DA产生高电平,与之相连的/INT0检测到低电平,给单片机一个中断,单片机从P2口的低四位读入键盘上按下的键的值。图3-7 键盘接口电路图第四