单片机秒表设计报告_第1页
单片机秒表设计报告_第2页
单片机秒表设计报告_第3页
单片机秒表设计报告_第4页
单片机秒表设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

■9-ml僵—Ini-BET■■I1TTITTTrTTIHHILI!MIIMLUU':iniLlHllll1Hlll1UIIIH1llllHllimillllllHIHHUniIHJHIIIihHIIilll;-■士土』-广西科技大学单片机课程设计说明书课题名称 单片机秒表系统的设计系别职业技术教育学院专业电子信息工程班级电子Z112姓名(学号)红头巾组合指导教师廖贵成摘要近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的电子秒表设计。本设计主要特点是计时精度达到0.1s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。本设计是基于AT89C51单片机设计的,我们是分为几个模块来设计的。首先对秒表的硬件进行了设计,它包括时钟电路设计、复位电路设计以及外部显示电路。利用89C51单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。计时精度为0.1s。其次是软件进行了设计,软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等。最后通过仿真调试,在proteus环境下建立了仿真模型,仿真和调试结果表明本设计是正确的。关键词:单片机;秒表;系统设计目录TOC\o"1-5"\h\z摘要 I\o"CurrentDocument"1课题内容要求及目的 1\o"CurrentDocument"1.1课题内容 1\o"CurrentDocument"1.2课题要求 1\o"CurrentDocument"1.3课题目的 2\o"CurrentDocument"2硬件设计 2\o"CurrentDocument"AT89C51单片机简介 2\o"CurrentDocument"2.2设计思路 3\o"CurrentDocument"2.3硬件电路设计 3\o"CurrentDocument"3软件设计 6\o"CurrentDocument"3.1程序设计 63.2源程序 74系统调试与仿真 11proteus简介 12\o"CurrentDocument"4.2仿真调试 125总结 15\o"CurrentDocument"参考文献 16\o"CurrentDocument"致谢 161课题内容要求及目的1.1课题内容用AT89C51设计一个秒表,该秒表课可显示0.0〜9分59.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示分一位和秒(两位)和十分之一秒,十分之一秒的数码管计数从0〜9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用四位的数码管,当计数超过范围是所有数码管全部清零重新计数。1.2课题要求本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:实物参见下图,设计一个精度为0.1s的秒表系统设计,启动按钮、暂停按钮及清零按钮3*.设计每到一秒钟有声音提醒功能,可通过按钮打开及关闭该提醒音1.3课题目的通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。(1) 通过本次课程设计加深对单片机课程的全面认识。(2) 掌握定时器、外部中断的设置和编程。(3) 该实验通过单片机的软件延时设计,设计简单的计时器系统,能正确的计时。(4) 通过本次课程设计能够对程序进行编辑,校验。2.硬件设计AT89C51单片机简介AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。引脚分别如图2.1所示。PDIPP1.DL140□VCCP1J匚239□P0.O(ADO:Pt.2匚330□P0.1(AD1)P1.3匚437□P0.2(AD2)P1.4匚5□Pp.3(AM)(MOSIJPl.S匚635□PO.A[AD4}(MISD)PI.GE734□P0.6(AD5)(SCK)P1.7E833□PO.e(AD6}RSTE932□P0.7(AD7}(RXD)P3.DC1031□eX*vpp(TXD)P3.1匚1130□A.LETROG(ItTR)P3.2匚1229□PSEN(TTITT)P3.3E1320□P2.7(A15)(TO)P3.4匚1427JP2.6(A14)(T1)P2.5r1526□P2.5(A13)网匚16252P2.若(A1^J(RD)P3.7H1724□P2.3(A11)XTAL2r1823_:P2.2(A10)XTAL1L1922□P2.1(A9]GND匚2021jP2.0(AS)图2.1单片机引脚分布图图2.1所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。P0口作输入口使用时,应先向口锁存器写入1。P1口是一个带有内部上拉电阻的8位双向1/0端口。P1的输出缓存可驱动4个TTL输入。P2口是一个带有内部上拉电阻的8位双向I/O端口。P3口也是一个带有内部上拉电阻的8位双向I/O端口,P3端口还用于一些复用功能。2.2设计思路这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构,确定用p2并行端口进行数码管控制输入,使用P2.0,P2.1,P2.2,P2.3进行选择0.1秒位,个位秒位,十位秒位,分位,以P1.0为开始和暂停控制,P1.1为清零控制。本次实验设计的基本思路是要求借助AT89C51单片机做出一个9分59.9s的秒表从十位秒到0.1位秒数这些计时的位数是存在一个内嵌的结构,就是0.1秒位满足条件然后进行跳位使秒位加一的过程,当0.1s到0.9s时该位自动清零并且秒位加一,秒位个位达到9时也自动清零并向十秒位加一当十秒位和个位秒位同时到达59时向分位进1。当计数超过范围是所有数码管全部清零重新计数。其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由P1.5输出,通过一个延时子程序加以控制。最后就是根据硬件的条件进行编程,要求软硬件相互兼容。这也是设计的关键之处。因此需查阅相关书籍。2.3硬件电路设计开始/停止和清零电路利用两个开关并联接地,分别接到芯片上的P1.0和P1.1接口,P1.0上的开关控制秒表的开始/停止,P1.1控制清零,如下图

■1J11939>JCTiuiL1 PDULuiD□PD.1.WD1PD2^.02T!3?18AliuiLJpniwDi叩龄,口5PD.&ftDbRST PD-T^DT339叩PW口明P2.1jM P22^10PSEN P23^11ftLE PZ.WSISEA P2J&W13P2.WAUP2.7A1521a331j1pm pih'RXDF1.1 P3.1HXDF12 FJ^INTUP1^ Pl^'lNTTP14 P3.4E1P1J5 P35/T1P1J6 P3j6Jv5r"F1.7 P"前2JI1 15,6'-IAT芸j4TS9C51=TE:'T-图a开始/停止和清零电路两种操作皆采用按键操作,简单快捷,易于完成。硬件电路设计使用proteus软件设计的硬件电路包含了两个功能键及蜂鸣器控制开关。具体如图b所示。F:P1■■FELi.frU1FDi'IWRD^3.1131:<rFTJ.WHFTJS.iXBF:P1■■FELi.frU1FDi'IWRD^3.1131:<rFTJ.WHFTJS.iXBFun.ixnrau.ura.ii.uP2Z5.I.IDranPZ3JLII■LELFl.^JLIZETPI3JLI3FSAA旭Ri.njLiapijnjiFTTTpijLEjiirnpigp□且ripijPiJFS.nHT3JLrmirFL!4.rr图b硬件电路连接图由电路图我们可以看到,我们用P2.0,P2.1,P2.2,P2.3进行0.1秒位,秒位,十秒位,分位进行位选,蜂鸣器用P1.5做输出口,按下开始按钮,秒表开始工作,蜂鸣器发出声音(无响应电路控制蜂鸣器停止和开始,所以按下“开始”按钮,蜂鸣器开始发声,再按一下“开始/停止”按钮,蜂鸣器停止发声,秒表计时停止)。&1DJVC01211Kk# .1*KK2h疝■ M1 1- :A1 1■ H1 1■ :土r I lJ■ MI J3i- J «】f_bJ■f_"■d_XJ「fl_A4d:•£,疝bU 15J J■ gr」I1taI1U 1-5△J5-*■ 1g1p 1 1S15fJ1。JikfJ1任fe,lcJ5f」1c6feLi(x f11i:E iili1I I111I1I 1 11I1X i1ljira.r新,,■,,■J,,■,,■J,,■7, ,Ka J^.1t i_y.io i_y.iis!1赤>:■dooGM:'斗IjNI'-蛔斗i费TD土GKD叫GNDO'-.-6』a--.卜0-.'55SE&1SEK2SE64SEIj5图3-6为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89C51控制组合0—9十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。

3软件设计3.1程序设计根据课题内容,可做出主程序流程图如图c所示。图c主程序流程图流程图体现着设计程序的思路程序,开始后首先进行数据初始化然后是条件判断满足条件或不满足则进行对应的处理,如首先依次判断是否暂停是否清零,然后十分之一妙位计数,再判断是否进位,若是秒位就加一,秒位加一后进行声音提示,接着再判断是否有进位,若有则十秒位加一,若十秒位有进位则向十分位进一,十分位计满则重新开始。

3.2源程序:ORG0000HLJMPMAINORG000BH;BCDSECONDLJMPTIME;BCDSECONDMAIN:MOVSP,#50HMOVTCON,#01H;定义中断方式MOV10H,#0AHMOV20H,#00H;BINm_SECONDMOV21H,#00H;BINSECONDMOV22H,#00H;BINMINUTEMOV31H,#00H;BCDm_SECONDORG0100HMOV32H,#00HMOV33H,#00HMOV34H,#00H;BCDMINUTEMOVTMOD,#01H;16位计数器MOVTH0,#0D8H ;10msMOVTL0,#0F0HMOVIE,#10000010BML1:LCALLDISPKEY:JNBP1.0,CONTROL;JNBP1.1,CLEARCONTROL:LCALLDL1JB P1.0,ML1LOOP1:LCALLDISPLOOP1:JNB P1.0,LOOP1CPL TR0CLEAR:LCALLDL1LCALL DISPJB P1.1,ML1CLR TR0MOV 20H,#0MOV 21H,#0MOV 22H,#0m_SECONDSECONDMINUTETOC\o"1-5"\h\zMOV 31H,#00H ; BCDm_SECONDSECONDMINUTEMOV 32H,#00H ; BCDMOV 33H,#00HMOV 34H,#00H ; BCDJNB p1.1,CLEARLJMP ML1TIME: MOVTH0,#0D8HMOVTL0,#0F0HMOV10H,#0AHMOVA,20HINCACLRCCJNEA,#99,GO1;转换BCDMOV20H,#0MOV31H,#0MOVA,21HINCAMOVA,21HINCACJNEA,#3CH,GO2MOV21H,#0HMOV32H,#0MOV33H,#0MOVA,22HINCACJNEA,#0AH,GO3MOV22H, #00HMOV34H,#0AJMPRET0;退出中断GO1:MOV20H,AMOV B,#0AHDIV ABMOV 31H,AGO2:MOV21H,AMOV B,#0AHDIV ABMOV 33H,AMOV 32H,BAJMPRET0GO3:MOV22H,AMOVB,#0AHMOV 34H,BAJMPRET0RET0: POPPSWPOPACCRETIDISP: MOVR0,#31HMOVR3,#0FEHMOVA,R3PLAY:MOVP2,AMOVA,@R0MOVDPTR,#DSEG1MOVCA,@A+DPTRMOV P0,ALCALLDL1MOV P2,#0FFHRLAJNB ACC.4,LD1INCR0MOVR3,ALD1: RETSND:SETBP1.5DL1:MOVR7,#05H ;延时5*(255*2+2+1)=2,565usDL: MOVR6,#0FFHDL6:DJNZR6,$DJNZR7,DLRETDSEG1:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEnd4系统调试与仿真

4.1仿真软件简介(1)Proteus是英国Labcenterelectronics公司出版的仿真软件。它不仅具有其它仿真软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。(2)在Proteus绘制好原理图后,调入已编译好的目标代码文件: *.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能。4.2仿真调试RF1A 『rtX「「1(1)经过对程序的运行,并用wave软件编译后,用proteus仿真软件进行仿真,按下“开始”按钮之前,可以看到数码管上数字子显示为零如图1所示。JIxr.ijjRSrFSEJ7RF1A 『rtX「「1(1)经过对程序的运行,并用wave软件编译后,用proteus仿真软件进行仿真,按下“开始”按钮之前,可以看到数码管上数字子显示为零如图1所示。JIxr.ijjRSrFSEJ7Jlllrlr!EnIl.n富M5FDFDF1]pzhjjiPZ.'I.UFT-SA'DFIJ1B.IIF2.<IAI2FTJiA'9P2_MI,F3X1F:WPS."|F>DmrmrpajaHTTuanPaa■•■ejiWTTra.nW图1开始状态图由图1可以清楚的看到,秒表的初始状态,三位数码管都显示为零,蜂鸣器也未工作。(2)当按下“开始”时秒表开始计时,秒表开始计时,其状态如图2所示。FTJJ-WFZJI-UEm,xrjujRtrA.HranwnF3.i|r:-£InjirmrFTJJ-WFZJI-UEm,xrjujRtrA.HranwnF3.i|r:-£InjirmrFsaFF1-pa*raE3rieuFTC"ra.nFrrFUJUXiiRDJ3W2K3MXBnn.iin图2开始计时图由图4.2可以看到,开始计时后,数码管数字在变化,图中为十分之一秒位的数码管显示情况。蜂鸣器发出“滴滴滴”的声音。(3)当再次按下“开始/停止”按钮时秒表停止计时,数码管显示的数字不再变化,如图3所示。

::<r«xinn^nF3「l■■侦ps-armrpn-nnTTE.Wr口EWIRannFn.nWJIpaEEEEmnlFa履:::<r«xinn^nF3「l■■侦ps-armrpn-nnTTE.Wr口EWIRannFn.nWJIpaEEEEmnlFa履:<ri_L2PiaF")JiREPAIDIP3>MA'2mtjugP3JIAI1PS.HAISRP1FEWJ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论