ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:561.90KB ,
资源ID:16083818      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16083818.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机的简易计算器要点.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

51单片机的简易计算器要点.docx

1、51单片机的简易计算器要点华侨大学厦门工学院单片机控制系统 课程设计报告题 目: 基于51单片机的简易计算器 专业、班级: 学生姓名: 学 号: 指导教师: 2014年 5 月 20 日目录一、设计任务目的 2二、计任务要求 2三、设计方案选取与论证 2四、电路设计 34.1总体电路图 34.2 硬件设计 44.2.1矩阵按键 44.2.2AT89C52主芯片 44.2.3 LCD显示 74.3软件设计 84.3.1 键盘模块 84.3.2 计算模块 94.3.3 显示模块 9五.制作及调试过程 105.1 制作过程 105.2 软件调试 105.3 硬件调试 11结论 12致谢 13参考文献

2、 13一、设计任务目的设计一个计算器,可以进行简易的四则运算。二、计任务要求 1、能够进行简单的四则运算,包括带负数的运算。用LCD显示数据和结果(6位即可) 2、采用键盘输入方式,键盘包括数字键(09)、符号 (+、-、)、清除键(c)和等号键(=),故只需要16个按键即可。 3、在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。4、错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的

3、结果大于计算器的表示范围时,计算器会在LCD上提示OV;当除数为0时,计算器会在LCD上提示ERR。三、设计方案选取与论证1、单片机部分 单片机以AT89C51来做为核心元器件。2、按键部分 设计思路:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。但是这种方式采用了大量的I/O口线。 3、显示部分在单片机应用系统中,使用的显示器主要有LED(发光二极管显示器)、LCD液晶显示器以及CRT接口。思路:使用液晶显示器来显示。液晶是介于固态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的混浊固态。在电的作用下,产生冷热变化,从而

4、影响它的透光性,来达到显示的目的。LCD还具有以下几个优点(1)低压、微功耗(2)显示信息量大(3)长寿命(4)无辐射,无污染。其系统结框图如下:选取此种设计方案,可以基本满足任务要求,并且在电路板焊接中更清晰明了的知道该如何去焊接电路。但是,这种方案还是存在着不足,如:按键的缺少导致取消了一些特殊函数的实现。和我们真正可以的计算器有很大的差距,功能的单一,在实际中没有使用价值。使用3字节的浮点数表示,不可避免的带来了数表示的不精确,加上有效数字比较少,因此计算结果很容易产生误差,尤其是进行连续多次运算后。四、电路设计4.1总体电路图 根据方案的选取,其硬件的电路图在protues软件中设计如

5、下图所示,本电路图可以满足设计要求。4.2 硬件设计4.2.1矩阵按键键盘是单片机系统中最常用的人机对话输入设备,用户通过按键向单片机输入指令和数据。该模块利用16个的小按键,提供0-9,+、-、*、/、=、清零键。键盘控制程序需完成的任务有:给电路提供输入的符号,让LCD显示屏显示输入的按键是什么。在编写的程序中,可以检查是否有按键按下,有键按下时,如无硬件去抖动电路时,应用软件延时方法消除按键抖动;当有多个按键按下时,只响应一个按键,不管持续多长时间,仅执行一次按键功能程序。其结构图如下所示:矩阵键盘结构图4.2.2AT89C52主芯片AT89C52是一种带8K字节闪烁可编程可檫除只读存储

6、器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。ST89C52单片机包含中央处理器、程序存储器、数据存储器、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。 时钟电路:STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图42(a)

7、所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图42(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)外部方式时钟电路 (b)内部方式时钟电路复位及复位电路:(1)复位操作,复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片

8、机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,;(2)复位信号及其产生,RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操

9、作有上电自动复位相按键手动复位两种方式。本系统的复位电路采用上电复位方式。AT89C52具体介绍如下:主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序

10、存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7,P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7AT89C52的外部结果如下图:AT89C52主要功能:4.2.3 LCD显示本次设计在显示部分采用的是LCM1602B,它是一个双行显示

11、的液晶显示器。其中采用标准的16脚接口,其中:LCD结构图第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命

12、令。第714脚:D0D7为8位双向数据线。第1516脚:分别为背光灯正负极,A接正极, K接负极。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)4.3软件设计软件设计和硬件设计一样也由三部分组成,其中包括:键盘模块、显示模块、计算模块,现分别对这三部分分别介绍。4.3.1 键盘模块矩阵按键扫描程序是一种节省IO口的方法,按键数目越多节省IO口就越可观,思路:先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。但是,在程序的写法上,采用了最简单的方法,使得程序效率最高。本程序中,如果检测到某键按下了,就不再检测其它的按键,这完全能满足绝大多

13、数需要,又能节省大量的CPU时间。本键盘扫描程序的优点在于:不用专门的按键延时程序,提高了CPU效率,也不用中断来扫描键盘,节省了硬件资源。另外,本键盘扫描程序,每次扫描占用CPU时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。 矩阵键盘需要初始化,并且分别对其行、列进行扫描,在扫描过程中判断是否有键按下,根据以上要求,键盘模块设计的流程图: 4.3.2 计算模块AT89C52单片机是一块芯片中集成了CPU、RAM、ROM、定时器、计数器、和多功能I/O等一台计算器所需要的基本功能部分。如果按功能划分,它由如下功能部分组成,即微处理器(CPU)、数据处理器(RAM)、程序处理器

14、(ROM/CPROM)、并行I/O口、串行口、定时器、计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊一些功能,通过使用单片机编写的程序可以凸显高智能、高效率以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快实现运算功能。在计算模块中,必须保证按键按下的数和LCD液晶显示的数保持一致,则需要把+、-、*、/等字符转换成数据,根据以上要求,计算模块的程序流程图:4.3.3 显示模块本电路采用的是LCD液晶显示输出数据,在流程图中应包括对LCD液晶显示器初始化,取要显示的数据,要是有两位数据需要显示,则在显示完

15、第一位数据后需要进行延迟来显示第二位数据,则根据以上要求,显示模块的流程图如图:五、制作及调试过程5.1 制作过程根据设计的电路图焊接电路板,操作注意事项有:保持烙铁头的清洁,因为焊接时烙铁头长期处于高温状态,其表面很容易氧化并沾上一层黑色杂质形成隔热层,使烙铁头失去加热作用。采用正确的加热方法,要靠增加接触面积加快传热,而不要用烙铁对焊件加力。应该让烙铁头与焊件形成面接触而不是点接触。加热要靠焊锡桥,要提高烙铁头加热的效率,需要形成热量传递的焊锡桥。在焊锡凝固之前不要使焊件移动或振动用镊子夹住焊件时,一定要等焊锡凝固后再移去镊子。焊锡量要合适,过量的焊锡会增加焊接时间,降低工作速度。不要用过

16、量的焊剂,适量的焊剂是非常有必要的。过量的松香不仅造成焊后焊点周围脏不美观,而且当加热时间不足时,又容易夹杂到焊锡中形成“夹渣”缺陷。在我自己的焊接当中,也出现了焊锡量不足和过多的状况,最后导致接入电源后无法正常使用的现象。同时注意元件的焊接顺序也很重要,选择合适的焊接顺序,不仅便于焊接,而且不至于导致元件破损。5.2 软件调试本电路软件设计采用C语言编写程序(具体程序在附件中给出)。程序设计主要包括简易计算的编程,按键编程,时间控制编程,液晶屏LCD1602的显示编程。编写好c文件后,用keil软件生成hex文件。在Proteus布置的电路图中,点击芯片,将生成的的hex文件导入芯片中,进行

17、软件仿真。其仿真结果如下:对于计算器的性能,主要的衡量指标就在于计算的精度,本次制作的计算器性能情况如下:按第一个数,再按+*/,再按第二个数,然后按= 显示出结果,然后按C清屏;加最大999999+999999=1999998;减最大9999990 =999999;乘最大99999*99999=9999800001;除 1/3=0.3333 保留小数点后4位,若分母为0则显示ERROR。5.3 硬件调试焊接好的电路板接入电源后,若LCD的15脚16脚有接,则LCD背景灯光发光。调节继电器的电阻值,可以调节背景灯光的亮度。按下按键,LCD显示按下的字符,根据课设的任务要求,调试结果如下图所示,

18、可以看到,实物调节可以实现了课设要求。结论课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。通过这次课程设计,最大的一点体会是单片机学的不够扎实,不会的很多啊,当然这次的课程设计做计算器程序用的是c语言,不是课上初学的汇编,所以很难适应,尽管大家都知道汇编编这个程序也很困难,但还是互相学习,到处找资料看,问同学,所以我的软件主程序才能编译成功,系统才

19、能调试出结果。很感谢那些热心教导我的同学和指导我的老师。首先在硬件电路的制作中,在焊接电路板的途中,由于我的粗心,将两个接口焊接在了一起,导致了两个接口短路了,在后来的检测中才发现。同时在焊接完了,接上电源才发现那个晶振是坏的,后来换了才使电路板可以使用。在这次课设中,整个硬件电路还是做得令自己比较满意的。在软件方面,感觉困难更多一些,一开始真的很着急,毫无头绪啊,一时间,XX,论坛,贴吧逛了个遍,找了很多资料,也参考了同学的程序,其中每一个子程序模块都认真去读,去分析,化为己用,程序是一遍一遍的改啊,可是怎么没编译比通过啊,后来在同学的帮助下才使程序能过编译通过。且,在这之前从来没有使用ke

20、il这个软件,使用keil软件生成hex文件完全是自己摸索的情况下完成的。在使用开发板烧入程序中也出现了错误,导致出现了LCD乱码的情况,在后来中这些问题都在一次次修改过,纠错中解决了。总的来说,软件设计能够把结果调出来还是很激动的,尽管还有很多未知的问题没有出现。致谢本次课设是在汪弦老师的带领下完成的。在此要感谢老师和同学们的帮助,使我能够圆满的完成这次课设的任务。在这次为期约一个多月的课程设计里,大大培养了我的动手能力和同学间的相互合作精神。通过这次课程设计我们进一步加深了对所用到的各种元器件的功能的理解,这对我以后的学习会很有帮助。本次课程设计是一个要求动手能力很强的设计,而且也是一个有

21、严谨的态度才能完成的设计,它要求我必须一丝不苟,在此还要感谢学校开了这次课设课题,这次课不仅使我加深了单片机的课程知识,更是加强了我的动手能使,非常感谢!参考文献1丁元杰单片微机原理及应用(第三版)北京:机械工业出版社,20057 2李建忠. 单片机原理及应用(第一版). 西安电子科技大学出版社,20023李维绨.郭强.液晶显示与应用技术。北京 电子工业出版社,2003单片机控制系统课程设计成绩评定表序号评价指标满分值得分1任务书及设计要求全面、准确102方案的选择及其论证充分、合理103基本原理框图的设计思路正确、有新意104各功能模块的电路仿真155系统的安装调试,基本功能的实现256作品的扩展功能与创新107报告结构合理、规范,条理清晰108课程设计过程中的学习态度认真、出勤率高10总 评教师评语:指导教师 年 月 日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2