基于AT89C51单片机的简易计算机设计

这篇具有很好参考价值的文章主要介绍了基于AT89C51单片机的简易计算机设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87715642?spm=1001.2014.3001.5503
基于AT89C51单片机的简易计算机设计

源码获取
主要内容:
本设计是以单片机AT89C51为核心的简易计算器设计,要通过芯片AT89C51实现计算器程序运行来完成加、减、乘和除的简单计算功能。
基本要求:
1、采用软件设计与硬件设计相结合的方法。
2、熟悉掌握单片机相关操作原理。
3、完成对应的系统设计,硬件设计,仿真调试。
主要参考资料:
[1] 裴岩、刘利民单片机系统综合设计与实践[J].内蒙古大学出版.2003.1
[2] 杨国林.C语言程序设计[J].内蒙古大学出版社.2001.9
[3] 郭天祥.新概念51单片机C语言程序[J].电子工业出版社.2009.1

完 成 期 限
指 导 教师签名
课程负责人签名

目录

引言 1
第一章 设计原理及要求 2
1.1 设计方案的确定 2
1.2 系统的设计方案 2
1.3 系统的设计要求 2
第二章 硬件模块设计 4
2.1 单片机AT89C51 4
2.2矩阵键盘的工作原理 4
2.3 键盘电路主要器件介绍 5
2.4 显示电路 6
第三章 软件设计 7
3.1 功能介绍 7
3.2系统流程图 7
第四章 系统调试 9
4.1软件介绍 9
4.1.1 Keil uVision4仿真软件简介 9
4.1.2 protues简介 9
4.2 软件调试 11
4.2.1 软件分析及常见故障 11
4.2.2 仿真结果演示 12
总结 13
参考文献 14

引言
计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。
近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢。
17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。

第一章 设计原理及要求
1.1 设计方案的确定
本设计是以单片机AT89C51为核心的简易计算器设计,要通过芯片AT89C51实现计算器程序运行来完成加、减、乘和除的简单计算功能。
本设计运算模块由AT89C51实现,数据输入模块由4*4矩阵键盘电路实现,输出数据模块由LCD显示电路实现,再外加一个时钟电路和一个复位电路完成整个简易计算器的设计。
1.2 系统的设计方案
本设计由以下几部分组成:AT89C51单片机系统(运算模块)、键盘电路、显示电路、时钟电路和复位电路构成,计算器系统框图如图1-1所示。
基于AT89C51单片机的简易计算机设计

图1-1 计算器系统框图
1.3 系统的设计要求
为了更好地实现系统的功能,硬件电路的设计应该遵循以下原则:
1、优化硬件电路
采用软件设计与硬件设计相结合的方法。尽管采用软件来实现硬件系统的功能时,也许响应的时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间;但是,用软件实现硬件的功能可以简化硬件结构,提高电路的可靠性。所以,在设计本系统的时候,在满足可靠性和实时性的前提下,尽可能地通过软件来实现硬件功能。
2、可靠性及抗干扰设计
根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越长。而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。因此,系统的设计思想是在满足功能的情况下争取较少数量的芯片。
3、灵活的功能扩展
功能扩展是否灵活是衡量一个系统优劣的重要指标之一。一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。进行功能扩展时,应该在原有设计的基础上,通过修改软件程序和少量硬件完成。对于本系统而言,就是要求在系统硬件不变的情况下,能够通过修改软件程序,完成功能的升级和扩展。
根据提出的系统设计方案,结合以上三条原则,确定了系统硬件的设计。计算器主要由以下一些功能模块组成:非编码键盘模块、运算模块(单片机内部)和LCD液晶显示模块等。
该系统的硬件设计采用了模块化的设计方法。AT89C51单片机、LCD液晶显示屏显示电路和键盘电路是整个电路的核心,它们能实现系统的功能要求。
简易计算器主要包括:键盘电路、运算电路和输出显示电路。

第二章 硬件模块设计
在本设计中主要用到的硬件:单片机AT89C51、液晶显示屏LCD1602 、4*4矩阵键盘。
单片机AT89C51的硬件资源分配:
(1)P3口:作为输入口,与键盘连接,实现数据的输入;
(2)P0、P2口:作为输出口(P2口为高位,P0口为低位),控制LCD液晶显示屏显示数据的结果;
(3)P1口和部分P3口:作为液晶显示屏LCD1602显示输出。
2.1 单片机AT89C51
本设计所用单片机采用AT89C51单片机,它兼容于MCS-51系列单片机,而且具有1000次可擦写的FLASHMEMORY,方便于系统的开发以及参数的修改。尽管它是8位机,但它的处理精度完全满足系统的设计要求。该种单片机的最高频率可达到24MHz。在12MHz时,其处理速度完全达到设计要求,AT89C51的实物图及引脚图如图2-1所示。
2.2矩阵键盘的工作原理
键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合;当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。
通用计算机使用的键盘就是编码键盘。在智能仪器中,使用并行接口芯片8279或串行接口HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。

而非编码键盘成本低廉。从简易和成本角度出发,本设计选用的是非编码键盘。如图2-2所示。一般由16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。其矩阵图所对应的仿真图如图2-1所示。

基于AT89C51单片机的简易计算机设计

图2-1 矩阵键盘内部电路图

2.3 键盘电路主要器件介绍
为了进一步节省单片机I/O口资源,我们在设计中使用了MM74C922芯片。MM74C922是一款44键盘扫描IC,它可检测到与之相连的44键盘的按键输入,并通过数据输出口将按键相应的编码输出。其引脚图如图2-4所示。
基于AT89C51单片机的简易计算机设计

图2-2 MM74C922芯片引脚图

2.4 显示电路
当系统需要显示少量数据时,采用LCD液晶显示屏进行显示是一种经济实用的方法。P1口作为液晶显示的数据端口,P3.4-P3.6口作为其控制端口,控制LCD液晶显示屏显示输出数据。
显示电路图如图2-3所示。
基于AT89C51单片机的简易计算机设计

图2-3 LCD液晶显示电路

第三章 软件设计
3.1 功能介绍
实际运用中人们熟悉的计算器,其功能主要如下:
1、键盘输入;
2、显示数值;
3、加、减、乘、除四则运算;
4、对错误输入和输出的控制及提示。
3.2系统流程图
在软件设计中程序分别要完成键盘输入检测、LCD初始化及显示、算术运算和错误处理及输出等功能。对主程序进行初始化,其他的程序选择模块式的方式。首先对每个模块进行调试,当模块调试成功后,逐一地加入主程序中,最后完成整个软件部分的设计。系统流程图如图3-1所示。
基于AT89C51单片机的简易计算机设计

图3-1 系统流程图
第四章 系统调试
4.1软件介绍
4.1.1 Keil uVision4仿真软件简介
Keil uVision4是德国Keil公司开发的基于Windows平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE工具。其中Keil C51是一种专门为单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。Keil uVision5的界面如图4-1所示,Keil uVision4允许同时打开、浏览多个源文件。

基于AT89C51单片机的简易计算机设计

图4-1 Keil uVision的界面
4.1.2 protues简介
protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。它是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年已经增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器,界面图如图4-2所示。

基于AT89C51单片机的简易计算机设计

图4-2 protues界面图

4.2 软件调试
4.2.1 软件分析及常见故障
在此次设计中使用Keil uVision4和Proteus软件仿真,其中使用Keil uVision4软件编译源程序,使用Proteus软件对硬件电路进行模拟。正确连接电路图,使其能按照题目要求及设计初衷正常工作。
通过编译,连接程序。使其生成.hex文件,并连入连好的Proteus图中。测试该计算器是否能正常工作。若不能,首先要检查有没有漏掉元器件,元器件是否都连接好。其次,要看元件各引脚是否都连接正确,有无接反的。最后要看元件的参考值是否选择合理,电源电压是否能带动元器件正常工作。
系统仿真图如图4-3所示。

基于AT89C51单片机的简易计算机设计

图4-3 系统仿真图
4.2.2 仿真结果演示
下面以加、减、乘和除分别做仿真演示:
(1)加法:以2和8作为加数和被加数运算,结果为10。加法仿真结果图如图4-4所示。

基于AT89C51单片机的简易计算机设计

图4-4 加法仿真结果图
(2)减法:以2和1作为被减数和减数运算,结果为1。减法仿真结果图如图4-5所示。
基于AT89C51单片机的简易计算机设计

图4-5 减法仿真结果图
(3)乘法:以2和8作为乘数和被乘数运算,结果为16。乘法结果仿真图如图4-6所示。

基于AT89C51单片机的简易计算机设计

图4-6 乘法结果仿真图
(4)除法:以2和1作为被除数和除数运算,结果为2。除法结果仿真图如图4-7所示。

基于AT89C51单片机的简易计算机设计

图4-7 除法结果仿真图
由以上四种运算结果可知软件仿真均正确,没有显示错误。

总结
通过这次简易计算器的设计,很大程度的提高了我的理解力和动手能力,也拓宽了知识面。在图书馆和网上查阅资料使我了解了更多的资料,也方便了我们以后的使用。在查询的资料中让我对单片机有了更深入的了解,能把学到的知识用活,而不只局限于理论方面。
在硬件的制作过程中我走了好多的弯路,主要是在系统还没有设计很有把握就开始动手制作了。后来发现与设计的要求还有偏差,反复的改过了几次,浪费了大量的时间和体力。感受到设计人员要有耐心,要认真的从要求开始研究。软件的编写过程中费了很大的力气,因为软件的编写要求很高,要很细心,一不小心就会调用错误,很深刻的体会到作为软件编程人员是绝不能粗心大意的。一个程序的完成的速度和质量高低与细心与否有着很大联系。
编程时,充分使用了结构化的思想。这样一来,因为语句较少,程序调试也比较方便,功能模块可以逐一地调试,充分体现了结构化编程的优势。当每个模块都完成时,将其功能互相整合就完成了整体的设计。经历了从最初的不了解设计内容到最后做出仿真结果的过程使我从根本上提高了对专业的认识及兴趣,对于我们工科学生来说,学习了这些对我们以后工作有重大的影响。很感谢学校和老师给我们提供了这样的平台,能使我们的动手能力增强。感谢老师对我们提供的帮助。
参考文献
[1] 裴岩、刘利民单片机系统综合设计与实践[J].内蒙古大学出版.2003.1
[2] 杨国林.C语言程序设计[J].内蒙古大学出版社.2001.9
[3] 郭天祥.新概念51单片机C语言程序[J].电子工业出版社.2009.1
[4] 基于单片机的简易计算器设计.http://www.doc88.com/p-14265767228.html
[5] 计算器模拟系统设计. http://www.doc88.com/p-90657023744.html
[9] 基于单片机的计算器. http://www.doc88.com/p-48737185877.html
[10] AT89C51单片机简介http://www.hbfydz.com/xxyd/103.htm文章来源地址https://www.toymoban.com/news/detail-472632.html

到了这里,关于基于AT89C51单片机的简易计算机设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于AT89C51单片机的交通灯设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779238?spm=1001.2014.3001.5503 源码获取 主要内容: 在日常生活中,交通灯是一项必不可少的公共设施,可 以维护道路的畅通和交通的秩序。如若交通灯发生故障,那 么后果可想而知。因此,交通灯

    2024年02月08日
    浏览(18)
  • 基于AT89C51单片机的温度计设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87773445 源码获取 主要内容: 设计一个简易温度计;要求电路实现如下功能: 设计通过单片机和数码管、led灯等组成,可以显示温度,并且可以显示大于零度的温度和小于零度的温度,还可以超出

    2024年02月05日
    浏览(22)
  • 基于AT89C51单片机的电子万年历系统

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87708258 源码获取 主要内容: 电子万年历系统以实时时钟芯片DS1302和AT89C52单片机为主要研究对象,着重进行51单片机控制系统的设计研究和如何读取DS1302内部时钟信息的研究。以及运用18B20进行实

    2024年02月09日
    浏览(27)
  • 基于AT89C51单片机的电子秒表设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87775018添加链接描述 源码获取 主要内容: 设计一个电子秒表,至少具有以下功能:开始/暂停、记录、复位等。设计方案主要分为实验的系统分析,具体的设计方案,以及最终的测试,最终完成实

    2024年02月16日
    浏览(27)
  • 基于AT89C51单片机的倒数计时器设计

    1.设计任务 利用AT89C51单片机为核心控制元件,设计一个简易的数字电压表,设计的系统实用性强、操作简单,实现了智能化、数字化。 本设计采用单片机为主控芯片,结合 周边 电路组成 LED 彩灯的 闪烁 控制系统器,用来控制 红色 的LED 闪烁 发光,实现 LED灯在倒计时结束后

    2024年02月03日
    浏览(30)
  • 基于AT89C51单片机的电子时钟设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779867?spm=1001.2014.3001.5503 源码获取 主要内容: 使用DS1302芯片作为计时设备,用6个7段LED数码管或者LCD162作为显示设备,实现时钟功能; 基本要求: (1)可以分别设定小时、分钟和秒,复位后时

    2024年02月06日
    浏览(24)
  • 基于AT89C51单片机的电子琴设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87848430?spm=1001.2014.3001.5503 源码获取 主要内容: 设计一个简易的电子琴,至少具有可以弹奏并发出不同的音调。电子琴方案主要分为实验的系统分析,具体的实施方案,以及最终的实验检验,最终

    2024年02月07日
    浏览(25)
  • 基于AT89C51单片机的智能浇花系统设计

    目 录 摘 要 I ABSTRACT I 1 绪论 1 1.1 课题背景和意义 1 1.1.1选题背景 1 1.1.2研究意义 1 1.2 国内外发展现状及趋势 2 1.3研究主要内容 3 2 总体设计方案 5 2.1 浇灌系统设计的需求 5 2.2 总体设计方案选定 5 3 系统硬件设计 6 3.1 LCD1602显示接口线路 6 3.2 ADC0832简介 6 3.3 湿度传感器介绍 7

    2024年02月05日
    浏览(22)
  • 基于AT89C51单片机的计算器设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87759134?spm=1001.2014.3001.5503 源码获取 主要内容: 本次设计所提出的一种基于单片机技术的简易计算器的方案,能更好的解决计算机计算的问题,随着数字生活的到来,单片机在生活中越来越重要,它

    2024年02月03日
    浏览(16)
  • 基于AT89C51单片机的交通灯设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87763760?spm=1001.2014.3001.5503 源码获取 主要内容: 设计一个能够控制十二盏交通信号灯的模拟系统,:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。 基本要

    2024年02月08日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包