




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xxxx学院毕业设计论文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, “+”“-”“*”“/”,“=”,清零键。再利用数码管,对于即时按下的键和结果进行显示。向列扫描码逐列输出低电平,然后从行码地址读回。如果有键按下,则相应的行值应为低,如果无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省2024年普通高中学业水平合格性考试生物考题及答案
- 2025年水利水电安全员考试题库(带答案)
- 2025年乡村全科医生考试题库及答案
- 2025年熔化焊接与热切理论考试题及答案
- 单位消防工作重点总结与计划撰写
- 2025年电梯安全总监安全员考试题(附答案)
- 高校创新创业大赛项目计划书模板
- 2025年临床试验伦理委员会成员理论知识考核试题及答案
- 核桃果仁茶创新创业项目商业计划书
- 智慧养老社区养老服务超市创新创业项目商业计划书
- HY/T 0404-2024潮流能、波浪能发电装置海试过程控制规范
- 设备维护服务方案(2篇)
- 监所防疫知识培训
- DL∕T 781-2021电力用高频开关整流模块-PDF解密
- T∕CACM 024-2017 中医临床实践指南 穴位埋线减肥
- 【ZYJ7型电液转辙机道岔工作原理与故障维修11000字(论文)】
- 学生心理健康一人一档、一人一案表
- 毕业设计(论文)-水果自动分拣机设计
- 食品科技的未来2024年的食品创新与食品安全
- 我国的宗教政策课件
- 老年抑郁量表GDS、焦虑自评量表SAS、心理状态评估量表MSSNS、汉密尔顿抑郁量表(HAMD)
评论
0/150
提交评论