欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于AT89C51单片机的秒表设计.doc

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

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

    毕业设计(论文)基于AT89C51单片机的秒表设计.doc

    浙江工商职业技术学院毕业设计题 目 秒表设计 姓 名 * 学 号 * 专业班级 * 系 别 机电工程学院 指导教师 * *年*月*日秒表设计摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计内容为以AT89C51单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计内容以硬件电路设计,软件设计和PCB板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生活中应用广泛。 关键词:秒表;89C51;定时器;计数器目 录摘要 11绪论32设计方案论证32.1 设计要求32.2方案论证 33系统硬件电路设计 4 3.1电路设计4 3.1.1晶振电路5 3.1.2复位电路6 3.1.3核心控制元件的确定与介绍6 3.1.4数码管简介7 3.1.5键盘输入部分 8 3.1.6芯片擦除84 系统程序的设计 84.1主程序 84.2 显示子程序 94.3定时器T0中断服务程序 105调试125.1 硬件调试125.2 软件调试125.3 软硬件联调125.4 性能分析126系统调试127结束语 13谢辞 13参考文献13附表A元器件清单14附录B程序15附录C实物图19附录D PCB图20附录E原理图211绪 论最早的计时工具为水漏和沙漏,时间以时辰计,虽然中国在唐朝最早发明了机械钟表,但是并没有产生更精确的计时量度。秒表的发明是西方科技进步的结果更是里程碑的意义。由于有了秒表,才有了瞬时速度的概念,才能够诞生物理学。由于要求的提高,能精确定时对于AT89C51在实际应用有着重要的意义.但是传统的软件定时方式由于时钟周期考虑不全容易引起累积误差,而采用定时器中断方式定时由于中断响应周期不确定性而产生的误差更具有非固定性的特点.文中从合理考虑各种指令执行周期、巧妙设置计数器初值、巧妙利用计数器溢出值、适时开关中断的角度出发给出了4种纠正各种误差方法。单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能做到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就集于单片机来设计秒表。,通过串口通信动态传输数据,使秒表有了更多更完善的功能。单片机系统的硬件结构给予了秒表“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在秒表面前具有电路简单、成本低、运行可靠等特色。所以这次的毕业设计对我们来说应该是很好的锻炼机会,这一课题让我对秒表的制作过程有了更深的了解。在硬件或软件方面更加熟悉其中的步骤和捷径,并且开发了自己的动手能力和对软件组织的思维方式。2设计方案论证2.1 设计要求:1)秒表最大计时值为98.9999秒。2)六位数码管显示,分辨率为0.0001秒。3)通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统拥有正确的计时、暂停、清零功能。4)操作控制键三个。2.2 方案论证:方案1:可以用分立元件来做,成本高、反而来的复杂些。方案2:可以用单片机来做,只要一块心片编写程序就可以。利用单片机来的简单。为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些。显示只有6位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED的显示。单片机用AT89C51系列。硬件系统的总体构成框架如图2.1所示。AT89C51 P0单片机控制器P2 P0ppp2六位LED显示器列驱动图2-1硬件系统的总体设计框架3系统硬件电路设计31系统硬件电路设计秒表的硬件电路如图3.1所示,采用AT89C51单片机,最小化应用设计;采用共阴七段LED显示器,P0口输出段码数据,P2.0-P2.5口作列扫描输出,P1.1;P1.2口接三个按钮开关,用以功能设置。为了提供共阴LED数码管的驱动电压,用74HC541作电源驱动输出。采用12MHZ晶振,有利于提高秒表计时的准确性。图3-1硬件显示电路图3-2硬件控制电路3.1.1晶振电路单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。电路中,电容器C1和C2对振荡频率有微调作用,通常取(30±10)pF。石英晶体选择6MHz或12MHz都可以。如图3-3:图3-3电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。3.1.2复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。如图3-4所示: 图3-43.1.3 核心控制元件的确定与介绍以89C51为CPU,设计方案的析,设计这样一个简单的应用系统,可选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。ATMEL公司生产的AT89C××系列单片机。采用MSC-51系列的单片机相比有两大优势:(1)片内程序存储器采用闪速存储器,使程序得写入方便,还有任意的擦写1000次使之更为方 便。(2)提供了更小的芯片,使整个硬件电路的体积更小。它的体积较小、良好的性价比倍受电子爱好者青睐。本设计采用了MSC-51 89C51单片机,具有程序加密功能且物美价廉,经济实用。如图3-5图3-5 8051单片机AT89C51是一种带4K字节可编程可檫除只读存储器(FPEROMFalshProgrammableandErasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。是一种单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多 功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了灵活性高且价廉的方案。3.1.4数码管简介:1)数码管结构数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 9、字符A F、H、L、P、R、U、Y、符号“-”及小数点“.”。数码管的外型结构如图3-2(a)所示。数码管又分为共阴极和共阳极两种结构,分别如图3-2(b)和图3-2(c)所示。(a) 外型结构 (b) 共阴极 (c)共阳极图3-6 数码管结构图设计时,LED显示器的驱动是一个非常重要的问题,显示电路由LED显示器、段驱动电路和位驱动电路组成。由于单片机的并行口驱动电流太小不能直接驱动LED显示器,所以必须通过PNP三极管,使之产生足够大的电流,来驱动LED达到足够的亮度,显示器才能正常工作。如果驱动电路能力差,即驱动电流过小,数码管显示亮度不够,而且驱动电路驱动电流太大容易损坏数码管。这个尺度是设计者要把握好的。LED显示器显示控制方式有两种:静态和动态。本设计方案选择的是动态控制方式。由于一位数据的显示是由段码和位码信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。3.1.5键盘输入部分1) 键盘设置KEY1是开始按键:按下,数码管运行数字KEY2是停止按钮, 按下、数码管停止数字KEY3是清零按钮,按下、数码管全部初始化还有个复位按钮当数码管运行数字的时候,不能直接按清零按钮,只能按停止按钮才能停止,在按清零按钮全部显示初始化0。2) 键盘输入分析键盘输入部分由三个按键直接接单片机I/O口,哪个键按下,对应的I/O口由高电平变成底电平,经单片机读键处理后,由对应的执行I/O口输出信号来控制整个系统的工作。3.1.6芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器, 计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。4系统程序的设计41主程序本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。其主程序执行流程见图4-1。在“键按下?”中先去抖动查有没有键按下,有的话是哪个键?再根据不同的键进入不同的功能程序。图4-1主程序执行流程图42显示子程序从P0口输出,P2口将对应的数码管选中供电,就能显示地址单元的数据值。1S定时有硬件定时和软件定时两种,由于软件定时浪费CPU的资源,在很多的地方都不才用。相比之下,硬件定时他不浪费CPU资源,且定时准确,使用方便,因此得到了广泛的使用。加1子程序:mov a,set0add a,#91h da a anl a,#0fh mov set0,a mov a,set1 addc a,#90h da a anl a,#0fh mov set1,a mov a,set2 addc a,#90h da a anl a,#0fh mov set2,a mov a,set3 addc a,#90h da a anl a,#0fh mov set3,a mov a,set4 addc a,#90h da a anl a,#0fh mov set4,a mov a,set5 addc a,#90h da a anl a,#0fh mov set5,a ret43定时器T0中断服务程序定时器T0用于时间计时。定时溢出中断周期可分别设为0.1MS。中断进入后,先判断是时钟计时还是秒表计时,时钟计时累计中断1次时,对秒计数单元进行加1操作,秒表计时每0.0001S进行加1操作。最大计时值为99.5999秒。在计数单元中采用十进制BCD码计数,满60(0.0001毫秒进1秒时为100)进位,T0中断服务程序执行流程图如4-2。12M晶振:因为12M晶振的一个机器周期定时为1US,而6M晶振的一个机器周期定时为2US。故而用12晶振来的精确点。 X=65436,转化为二进制为:1111111110011100取高八位放入TH1,低八位放入TL1,则TH1=0FFH,TL1=9CH。工作方式0(十三位计数定时):由TH0的高八位和TL0的低五位构成。在方式0下,若为计数工作,则计数值的范围为:8192(2) 工作方式1(十六位计数定时):由TH1的高八位和TL1的低八位构成。在方式1下,若为计数工作,则计数值的范围为:65536(2)两个工作方式比较起来工作方式1定时计数范围比较广。保护现场T0断加0.0001毫秒处理恢复现场,中断返回秒表图4-2 T0中断服务程序执行流程图T0中断入口程序:T00:PUSH ACC PUSH PSW CLR TR1 lcall k1 MOV TH1,#0ffH MOV TL1,#9Ch SETB TR1 POP PSW POP ACC RETI4.4字形码的定义由于系统LED显示器使用的是共阴极的显示器,而显示器不能直接识别十进制和别的进制,他这样根据给定的字行码进行显示,有了十进制对应的字行码,就能实现十进制数通过编译然后在LED显示器上显示,准确无误。字行码程序清单如下:ORG 0030HTAB:DB 7Bh,41h,37h,67h,4Dh,6Eh,7Eh,43h,7Fh,6Fh5调试根据方案设计的要求,调试过程共分三大部分:硬件调试、软件调试和软硬件联调。电路按模块调试,各模块逐个调试通过之后再联调。单片机软件先在仿真器上调试,确保工作正常之后,再与硬件系统联调。5.1 硬件调试 在硬件调试时,先检查电路板及焊接的质量情况,在检查无误后,通电检查LED显示器的点亮状况。亮度不理想,可调整P0口的饿电阻大小,一般情况下,取200欧姆电阻即可获得满意的亮度效果。在实验室制作时,结合示波器测试晶振及P1 、P2端口的波形情况,进行综合硬件测试分析。5.2 软件调试 在软件调试时,用编译软件进行程序的编写。程序检查无误后,把程序烧到89C51芯片里。弄到硬件上进行调试。看有没有达到预期的设计要求,如果没有达到,进行进一步的修改。有就最好不过了,证明软件方面已经成功。 5.3 软硬件联调软硬接连上后,用软件仿真来调试。一个一个对89C51的端口输出电压后,看各口连的显示电路等的变化。只到实验和题目要求的功能能完成。遇到不同时分析软硬件,在一个一个的调试,结合后改好。从发现问题到分析问题,最后得出解决方法,实现我们的目的。5.4 性能分析按照设计程序分析,LED显示器动态扫描的频率为167HZ实际使用观察时完全没有闪烁。由于计时中断程序中加了中断延时误差处理,所以实际计时的走时精度很高,可满足多种场合的应用需要。我制作的是一个秒表,在体育方面很实用,几乎都有。硬件做起来很简单,做的也很快。它的主要一些要求与功能:显示六位、第二位带小数点、最大计时值为98.9999秒,具有正确的计时、暂停、清零功能。6系统调试测试后发现电路不起振或振荡弱,可能有以下几点故障:1,在CC两端并联一个7pF电容(注意:该电容不可过大,否则你会发现调制失效);2,调振荡级偏置电阻;3,改变C6容量一试,如果上述方法不能解决,也有可能是元件布局不合理引起,可重新对电路板进行布线。经上述的一系列调试后,达到我们需要的结果后。就把编好的程序烧入89C51芯片后。接上电源,就可以看到我们做的结果了。7结束语踉踉跄跄地忙碌了两个月,我的毕业设计课题也终将告一段落。点击运行,也基本达到预期的效果,虚荣的成就感在没人的时候也总会冒上心头。但由于能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能不全、外观粗糙、底层代码的不合理数不胜数。可是,我又会有点自恋式地安慰自己:做一件事情,不必过于在乎最终的结果,可贵的是过程中的收获。以此语言来安抚我尚没平复的心。毕业设计,也许是我大学生涯交上的最后一个作业了。想籍次机会感谢三年以来给我帮助的所有老师、同学,你们的友谊是我人生的财富,是我生命中不可或缺的一部分。我的毕业指导老师叶华杰老师,曾经也是我的科目老师相处了也一年。在这一年里我学到了很多,交会了我很多。在这次毕业设计中不厌其烦的指导。通过设计制作该系统,让我从中收获很多,对整个系统用89C51单片机实现过程,整体编程思想有了更深的理解并对软件的编写能力也有了提高。在制作过程中遇到很多难题,从而使我更有目的性和针对性的去找资料,然而本系统经过我们努力下还是做出来,使我在今后的学习的道路上对自己更有了信心。致 谢在整个设计过程中,我们小组认真负责和彼此互相帮助配合,使我们的设计作品顺利的开展。同时得到了指导老师的大力支持和帮助及其他在这过程中给我们帮助的人员,同时,要感谢翁正国、周庆红、吴根法、邵振祥、张青波、指导老师叶华杰老师在我困惑时的指点迷津。此外,感谢邵国华老师无私的帮助。在此我表示衷心的感谢!参考文献1付晓光.单片机原理与实用技术.北京:清华大学出版社;北方交通大学出版社,20042张俊谟.单片机中级教程原理与应用.北京:航空航天大学出版社,20023付家才. 单片机控制工程实践技术. 北京:化学工业出版社,20044赵家贵.电子电路设计.北京:中国计量出版社,20055余锡存 曹国华.单片机原理及接口技术.陕西:西安电子科技大学出版社,2000附表A:元器件清单序号名称型号、规格数量1晶振12MHz12数码显示管共阴极63单片机89C5114电阻1K15磁片电容33P26电解电容50V22UF17驱动芯片74HC54118排阻4.7K19按钮SW-JB3附录B:程序run0 bit p2.5run1 bit p2.4run2 bit p2.3run3 bit p2.2run4 bit p2.1run5 bit p2.0set0 equ 30hset1 equ 31hset2 equ 32hset3 equ 33hset4 equ 34hset5 equ 35hORG 0000HLJMP STARTorg 001bhljmp t00ORG 0030HSTART: mov set0,#0 mov set1,#0 mov set2,#0 mov set3,#0 mov set4,#0 mov set5,#0 main:lcall display lcall key3 lcall key2 ljmp main mm:lcall display lcall key1 ajmp mm display: MOV A,set0 MOV DPTR,#TAB MOVC A,a+DPTR MOV P0,A clr run0 LCALL delay setb run0 mov a,set1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A clr run1 LCALL delay setb run1 mov a,set2 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A clr run2 LCALL delay setb run2 mov a,set3 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A clr run3 LCALL delay setb run3 mov a,set4 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A setb p0.5clr run4 LCALL delay setb run4 mov a,set5 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A clr run5 LCALL delay setb run5 retdelay:mov r7,#1delay1:mov r6,#100 nopdelay2:djnz r6,delay2 djnz r7,delay1 ret TAB:db 9fh,06h,5bh,4fh,0c6h,0cdh,0ddh,07h,0dfh,0cfh,00h T00:PUSH ACC PUSH PSW CLR TR1 lcall k1 MOV TH1,#0ffH MOV TL1,#9CH SETB TR1 POP PSW POP ACC RETI k1: mov a,set0 add a,#91h da a anl a,#0fh mov set0,a mov a,set1 addc a,#90h da a anl a,#0fhmov set1,a mov a,set2 addc a,#90h da a anl a,#0fhmov set2,a mov a,set3 addc a,#90h da a anl a,#0fhmov set3,a mov a,set4 addc a,#90h da a anl a,#0fhmov set4,a mov a,set5 addc a,#90h da a anl a,#0fh mov set5,a retkey1:jb p1.1,key32 key31:lcall display jnb p1.1,key31 clr ea ljmp main key32:ret key2:jb p1.0,key52 key51:lcall display jnb p1.0,key51 MOV SP,#5FH MOV TMOD,#10H MOV TH1,#0ffH MOV TL1,#9CH SETB ET1 SETB TR1 setb ea ljmp mm key52:ret key3:jb p1.2,key22 key21:lcall display jnb p1.2,key21 mov set0,#0 mov set1,#0 mov set2,#0 mov set3,#0 mov set4,#0 mov set5,#0 ljmp START key22:retend附录C:实物图附录D:PCB图附录E:原理图

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开