欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于MCS51单片机的计算器设计.doc

    • 资源ID:10237396       资源大小:744.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)基于MCS51单片机的计算器设计.doc

    xxx学院毕业设计论文基于MCS-51单片机的计算器设计作者: xxx院系: xxxx学院机电工程系专业: 电气自动化年级: xx级学号: x指导教师: xxx摘要本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,六个八段共阴极数码管,一个4*4键盘,它可以实现两位数的基本加减乘除运算。关键词:MCS-51 单片机 计算器 数码管目 录引言:一、设计任务二、方案论证三、电路的硬件设计3.1系统框图3.2微处理器的选择3.3电源模块3.4、AT89S52单片机参数3.5、键盘的设计3.6、复位电路3.7、震荡电路设计3.8、数码显示的驱动电路3.9、数码管显示电路四、软件设计4.1、系统总体流程图4.2、显示程序设计4.3、键盘识别程序设计五、本次设计的体会与心得参考文献附录:基于51单片机的计算器硬件电路PCB图:引言:随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标计算器在人们的日常中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。该设计系统是以AT89C51为单片机, P2口作为输入端,外接4X5的键盘,通过键盘扫描来对输入数的控制,并外接驱动电路,用来保证数码管的工作正常。计算器将完成的功能有加,减,乘,除等功能。一、设计任务(1)设计键盘,其中有10个数字键09,和实现基本“+”、“”、“*”、“/”、“=”键;(2)设计显示电路能够显示按键的数值及计算结果;(3)实现2位数的简单运算二、方案论证方案一:采用计算器专用芯片实现。用计算器专用芯片进行设计并编程实现。这种设计方案计算效率高、速度快、而且成本也相对较低,是厂家做计算器的最佳方案。但是本人对计算器专用芯片掌握的不够,还不足以实现设计计算器,所以这个方案不可去。方案二:采用FPGA(现场可编程门阵列)作为系统的控制器。FPGA将所有器件集成到一块芯片上,体积小,节省空间,提高了稳定性;直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,工作可靠性好。可以实现各种复杂的逻辑功能,规模大,密度高,采用并行的输入输出方式,系统处理速度高,适合作为大规模实时系统的控制核心。由FPGA内部编程实现计算器功能,本设计对数据处理速度的要求不是很高,FPGA的高速处理的优势得不到充分的体现,由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物电路板布线复杂,加重了电路设计和实际焊接的工作。并且FPGA的价格相对较高,性价比太低。方案三:用单片机实现。由于单片机集成了运算器电路、控制电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等,所以用单片机设计控制电路省去了很多分立元器件。由于单片机是可编程芯片,并且它可以运用C语言编写,对于一些复杂的计算功能,可以调用C语言库函数。使编写程序变得非常简单。所以该课题用单片机实现,不仅功能易于实现,而且精确度高,稳定性好,抗干扰能力强。并且由于其成本低、体积小、技术成熟和功耗小等优点,且技术比较成熟。性价比也相当高。更重要的是本人经过几年的学习,对单片机已有深刻的理解,并且可以灵活运用。综上所述,并通过各个方面综合比较为达到最佳效果。我们采用方案三利用单片机控制器。三、电路的硬件设计3.1系统框图键盘输入数码显示驱动芯片AT89S52图1:系统框图3.2微处理器的选择 1、控制中心采用AT89S52来实现 2、驱动是74LS244实现 3、显示用六个共阴数码管完成 4、以7805芯片为核心,提供+5V,2A直流电源3.3电源模块图2:电源模块D1-D4为普通二极管,D6为发光二极管, C1为1000-4700uf的电解电容,C2、C4为0.1-1uF瓷片电容、C3为100-470uF的电解电容,系统的参数如上图所示。7805引脚的1、3两端加二极管D5,目的为了有效的保护电路。在电流过大时可以对7805的耐压起到了保护左右以免烧毁7805芯片。在C1的电容增大时可以提高电路的稳压效应,当然也不说是越大越好。C2为滤波电容可以有效的虑掉高电平信号产生的干扰。D6是一个发光二极管,可以在上电时看到电路是不是导通的。C3和C4够成了电容的反馈有效的虑底平波和保护电路。3.4、AT89S52单片机参数图3:单片机引脚与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符。其正常工作时Vcc为5V的电源,Vss为接地端,IO总线分别为P0、P1、P2、P3口,32根IO引线,每根都可以独立使用。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。3.5、键盘的设计图4键盘的设计图4是键盘的设计,用AT89S52芯片构成的4X5的键盘。P2口和P1口的7脚与其相接。矩阵键盘工作原理是。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键。确定矩阵式键盘上何键被按下,用“行扫描法”。 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法.判断键盘中有无键按下: 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交*的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交*处的按键就是闭合的按键。把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个位,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。键盘电路设计说明:1、 在安装前应首先确保开关无损坏。2、 看电路有无短接,虚焊等现象。3.6、复位电路图5:复位电路图中的RST接单片机的9号脚,当按键S按下时单片机复位。其中电阻R23和R6分别取200和1K,电容C4为电解性电容取值为16V/22UF。Vcc接5V电压。3.7、震荡电路设计图6: 震荡电路图中X1、X2分别接单片机的18和19号脚。时钟有内部电路产生,定时器件为石英晶体和电容组成的并联谐振回路,电容C1、C2的取之为30p,Y1的取值为12MHz。3.8、数码显示的驱动电路图7:数码显示驱动电路该设计采用74LS244芯片作为驱动,以保证数码管显示的亮度。其输入端接单片机的P1口,输出端串180的限流电阻接数码管的段码。1号脚和19号脚接底电平。74LS244芯片为244为三态输出的八组缓冲器和总线驱动器。其功能表如下图所示:图8:74LS244功能表图3.9、数码管显示电路图9:数码管显示电路设计采用六个共阴八段数码管显示,各数码管的段选线并接之后接入驱动电路。其六个公共端分别接P3口底六位,作为动态显示时选择数码管用。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。四、软件设计4.1、系统总体流程图开始初始化参数数码管显示零键盘行列扫描有健按下读取键码键码是?数字键运算功能键清零键记忆其对应的键值记忆其运算符数码管显示数码管显示是“=”?计算最后结果数码管显示是“=”其他键图10:系统总体流程图4.2、显示程序设计利用数码管动态显示的方法,设置显示循环次数,让六个数码管从左到右依次显示,之间要调用延时子程序,但延时时间小于人的视觉暂留。程序流程图如下图11:显示程序流程图4.3、键盘识别程序设计 该试剂利用5*4的小键盘,提供 0-9, “+”“-”“*”“/”,“=”,清零键。再利用数码管,对于即时按下的键和结果进行显示。向列扫描码逐列输出低电平,然后从行码地址读回。如果有键按下,则相应的行值应为低,如果无键按下,由于上拉电阻的作用,行码为高。这样可以通过输出的列码和读取的行码判断按下的是什么键,在判断有键按下后,要有一定的延时,防止键盘抖动。图12:键盘识别程序流程图五、本次设计的体会与心得在老师和同学的帮助下本次设计完成了对数字的两位计算功能,实现了所要求的功能,满足了题目的要求。尽量做到了硬件电路简单、稳定。充分发挥了软件编程的优点。由于时间有限和我们本身只是水平的限制其中还存在一些不足的地方,例如在做除法运算时也只能计算除数是被除数整数倍的情况,其次整体硬件的外观设置上还不是很整洁好看。但通过这次设计,加深了我对单片机课程的了解,学以致用,不但回顾了过去所学,更使我了解了现在的不足,弥补了一些知识漏洞。更重要的是在实际设计和试验中形成了更加科学合理的认识,不断形成更为合理和具有科学性的思想方式。在这次设计中接住了互联网等途径查询相关信息。这不但扩展了有关单片机领域的眼界,而且完善了以往的知识体系。提高了运用知识的综合能力。参考文献【1】王静霞 单片机应用技术(C语言版) 电子工业出版社,2009【2】郭天祥新概念51单片机C语言教程:入门、提高、开发、拓展全攻略 电子工业出版社 2009【3】赵建领、薛园园 51单片机开发与应用技术详解(珍藏版 电子工业出版社 2009【4】宋戈、黄鹤松、员玉良、等51单片机应用开发范例大全 人民邮电出版社 2010附录:基于51单片机的计算器硬件电路PCB图:

    注意事项

    本文(毕业设计(论文)基于MCS51单片机的计算器设计.doc)为本站会员(土8路)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开