1、- . 科技学院 单片机课程设计题 目学生 专业班级 学 号 院 系 指导教师 完成时间 2021 年1月9日 科技学院单片机课程设计任务书专业 11电科 班级 1班学号 202131006 军 一、设计题目电子秒表 二、设计任务与要求根本功能:1 使用AT89C51单片机的定时器/计数器定时和记数的原理,使秒表其能准确计时。2 能够稳定显示并能准确计时,计时精度到达0.01秒,最大计时59-59-99。3 能够实现开场、暂停、清零、保存、读取的功能三、主要参考文献1 艾运阶.单片机工程教程:理工大学,20212 泉溪.单片机原理与实例仿真:航空航天大学,20213 江世明.基于Protues
2、的单片机应用技术:电子工业,20214 朝青.单片机原理及接口技术第3版:航空航天大学,20065育才.MCS-51 系列单片微型计算机及其应用:东南大学,2021四、设计时间 2014年12月 29日 至 2015 年1月 9日 指导教师签名:年 月 日目录前言11 课程设计的目的及要求21.1 课程设计的目的21.2 课程设计的任务21.3 课程设计的要求22 设计的方案及论证22.1 方案设计22.2 方案选择32.3 方案确定43 硬件电路设计54 软件设计54.1 主要模块流程图64.2 程序的主要模块65电路仿真76 电路的焊接与调试86.1 电路的焊接86.2 电路的调试97 总
3、结11参考文献12附录1:总体电路原理图13附录2:元器件清单14附录3:编码程序15. word.zl.- .前 言近年来随着科技的飞速开展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件构造,以及针对具体的应用对象的软件结合,加以完善。人们在日常生活中,有很多时候要准确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。本设计利用AT89C51单片机的定时器/计数器定时和记数的原理,使其能准确计时。计时精度到达0.01s,P1口P2口接数码管显
4、示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开场、暂停、清零、保存、读取的功能。显示电路由两个四位共阴极数码管组成。电子秒表准确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。1 课程设计的目的及要求1.1 课程设计的目的(1) 掌握51单片机的根本使用方法和相关电子器件的应用。(2) 掌握键盘的使用,灵活运用中断。(3)掌握Proteus的仿真与调试。(4) 秒表具有启动/停顿、保存、读取、复位功能。(5) 单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真
5、。1.2 课程设计的任务本设计是基于AT89C51数码管显示的电子秒表,利用AT89C51单片机的定时器/计数器定时和记数的原理,使其计时精度到达0.01s,P1口P2口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开场、暂停、清零、保存、读取的功能。1.3 课程设计的要求(1) 设计基于单片机AT89C51数码管显示的电子秒表。(2) 通过按键控制开场、清零、暂停和停顿能够准确计时并显示。(3) 开场显示00-00-00。(4) 最大计时59-59-99,最大准确到0.01秒。2 设计的方案及论证2.1 方案设计(1) 在性价比满足应用系统要求的根底上,
6、选择更可靠、更熟悉的单片机,缩短研制周期。(2) 尽可能选择较成熟的典型应用电路,以提高系统的可靠性。(3) 单片机部的资源与外部扩展资源应在满足应用系统设计要求的根底上留有余地,为进一步升级和扩展其功能提供方便。(4) 应充分结合软件方案统筹考虑硬件构造,通常硬件功能较完善,其相应的软件就简单,但硬件本钱较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低本钱。2.2 方案选择在方案选取的时候有两个方案可以选:方案一如图2-1所示,能够最大显示99秒,准确度为1秒,具有开场/暂停,复位功能。图2-1 方案一原理图方案二如图2-2所示,能够最大显示59-59-99,准确度
7、为0.01秒。具有开场/暂停、复位、保存、读取功能。图2-2 方案二原理图2.3 方案确定总体设计案如图2-3所示:时钟电路复位电路电源电路LED显示按键电路单片机AT89C51LED显示图2-3方案总体设计我们选用较熟悉的具有部程序存储器的AT89C51单片机作为主控电路。选用时钟电路、复位电路和AT89C51单片机组成最小控制系统,再通过按键电路控制显示电路来组成的硬件电路。通过分析与比对,我们选用方案二,它能够准确0.01秒,并且能够显示时间更长,具有开场/暂停,复位,保存,读取功能。3硬件电路设计本次课程设计是基于单片机的秒表设计,其中硬件电路采用AT89C51单片机的定时器/计数器定
8、时和记数的原理;时钟电路及复位电路组成的最小控制系统,复位电路采用上电复位;显示模块是采用两个共阳极数码管;按键电路包含四个按键开关及74ls08与门芯片,四个开关分别具有开场/暂停,复位清零,保存数据,读取数据的功能,与门芯片与四个开关相与,然后接入外部中断接口。 与门芯片真值表如图3-1所示:A B 输 出0 0 00 1 01 0 01 1 1图3-1 74ls08真值表4 软件设计4.1 主要模块流程图主程序流程图如图4-1所示:开 始保存系统初始化启动并开场计时显示秒表停顿读取停顿暂停或复位否是图4-1 主程序流程图4.2 程序的主要模块本程序主要分为四局部:主程序模块、显示模块、按
9、键中断模块、定时模块。(1) 主程序分析:主程序负责整个程序的调用和转跳,实现启动与暂停、复位、保存、读取之间的切换。程序开场时进展系统初始化,之后显示“00-00-00”,接着等待“启动按键触发。(2) 显示模块分析:显示模块负责把分、秒、毫秒通过8位数码管显示出来,中间通过“-隔开。首先根据定时器用来保存分、秒、毫秒的存放器的值,判断得知每个数字的段码,把分的高位送到数码管的第一位,再把分的低位送到数码管的第二位,接着把“-的段码送到数码管的第三位,同样的方法把秒和微秒送到数码管,然后循环扫描每一位把时间显示出来。(3) 按键中断效劳程序分析:产生外部中断时,进展按键判断,程序采用3次条件
10、转跳进展按键判断,每个按键都标志相应的值:“启动/停顿时把定时器开放或与停顿,“复位时,把用来保存时间的存放器清0,“保存时,把用来保存时间的存放器的值保存到连续的单元中,“读取时把保存时间的单元依次读取出来放回到用来保存时间的存放器里。(4) 定时程序分析:当按了“启动键时,开放定时,以10MS作为一个计时单位,每计100个10毫秒即1秒,就进一位,用INC R6实现,R6加了60次之后,R7就加1,表示“分加1。5 电路仿真本次课程设计仿真所用到的软件有keil编译软件和proteus仿真软件,先把写好的程序用keil软件编译生成hex文件,在proteus仿真软件中查找元器件,连接电路图
11、,再把hex文件加载到仿真软件的单片机中,最后进展仿真测试。仿真图如图5-1所示:图5-1 电路仿真图6 电路的焊接与调试6.1 电路的焊接(1) 使用电烙铁时,首先检查焊头,焊头假设出现黑色的氧化物就先磨掉。上锡的具体方法是:插上电源插头,将电烙铁烧热,刚刚熔化焊锡时,涂上助焊剂,再用焊锡均匀地涂在烙铁头上,是烙铁头均匀地涂上一层锡。(2) 焊接时将引脚对应好焊接电路板的焊接位置上,接着先将焊丝接触然后电烙铁从下至上的较快速的上锡。焊接出来的焊点应该饱满,略有尖头。(3) 导线焊接:导线焊接前要出去末端绝缘层。导线焊接,搪锡是关键步骤,尤其多股导线。(4)焊接时间不宜过长,否那么容易烫坏元件
12、,必要时可用镊子夹住管脚帮助散热 (5) 焊点应呈正弦波峰形状,外表应光亮圆滑,无焊刺,锡量适中。焊接完成后,再对照电路图检查一遍接线有无错误,假设有及时更正,没有的话就可加电压测试了。加上电压后,假设正常工作且符合设计要求和目的,那么电路设计成功,否那么继续调试找出问题所在,修正错误直至到达正常工作且符合设计要求和目的。6.2 电路的调试硬件调试一般分为四步骤:第一个是目测法。只要是检查一些很明显的错误,如电解电容的电极是否连错、焊点否光亮饱满无虚焊,用万用板连的线是否连好了、焊盘有否脱落。对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线包括集成芯片引脚是否完整无损。通过
13、目测查出一些明显的器件、设备故障并及时排除。第二个是万用表测试。先用万用表复核目测中认为可疑的连接或接点,检查它们的通断状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细查出并排除。第三个是上电检查。首先检查所有插座或器件的电源端是否有符合要求的电压,接地端电压是否接近于零,接固定电平的引脚端是否电平正确。在对各芯片、器件加电过程中,是否出现打火、过热、变色、冒烟、异味的现象。如出现这些现象,应立即断电,仔细检查电源加载的情况、各个芯片是否插反等,找出产生异常的原因并加以解决;并且用万用表测各芯片的引脚电平是否合理。第四个是复位检查。在上电检查后,按一下复位按钮,看实
14、验板上的LED灯是否闪烁。如果不闪烁,那么说明复位有问题。就要仔细检查复位的电容是否接错了电极,线是否连错。刚开场时,我就把复位按键给接错了,把它和开场、停顿键同时接地了,应该是并联电容接的。实物图如图6-1所示:图6-1 实物图7 总结经过一个星期的课程设计,让我更加稳固了有关于单片机电路设计上的一些知识,运用所学的知识制作了一个基于AT89C51单片机的电子秒表设计。学会如何的去思考电路的制作,确定方案是这次课程设计的首要任务,确定了方案后,我们才知道如何的去实现它的功能,查找关于这方面的资料,然后动手去分析和制作电路。通过本次电子秒表的设计,让我对单片机知识的实际应用有了更深刻的理解和体
15、会,这次课程设计,不仅提高了动手能力,对设计的整个流程有了一定的了解,更了解到了单片机知识应用的广泛性和前景。设计的成功,极提高了自信心,促进了对单片机的学习兴趣,明白了理论联系实际的重要性。此次设计清楚了一项设计的整体流程:明确设计要求、功能及功能模块的设计,查阅相关资料并确定元器件,电路连接、调试、调整改良与检查,电路成型,总结;设计电路时,和伙伴上网查阅了很多资料,这培养了搜索的能力,开拓了视野。调试过程中掌握了一些电路调试的方法和规律,同时也掌握了如何来检查和排除实验中的所遇到的一些常见故障,明白了动手的重要性,懂得了实践出真知的道理。电路的连接和调试极提高了动手实践能力,这也是目前较
16、为缺乏的。作为工科的学生,就应该具备这样的动手能力。最后,设计报告的制作还培养了整理知识的能力。总之,这次设计,认识到了知识的局限性,培养了动手能力,懂得了团队合作精神,对今后的学习起到了极大的促进作用。参考文献1 艾运阶.单片机工程教程:理工大学,20212泉溪.单片机原理与实例仿真:航空航天大学,20213 江世明.基于Protues的单片机应用技术:电子工业,20214朝青.单片机原理及接口技术第3版:航空航天大学,20065育才.MCS-51 系列单片微型计算机及其应用:东南大学,2021附录1:总体电路原理图附录2:元器件清单序号名称型号规格数量1单片机STC89C5212数码管F5
17、461BH23电容22pF24极性电容10uF15电阻10K16晶振12MHZ17与门芯片74ls0819按键开关414导线假设干附录3:编码程序ORG 0000HLJMP MAINORG 0003HLJMP INTORG 000BHLJMP TIMEORG 0100HMAIN:MOV TMOD,#01HMOV TH0,#0D8HMOV TL0,#0F0HSETB EASETB ET0SETB IT0SETB EX0MOV R0,#50HCLR TR0LP:LCALL DISPLAYLJMP LPDISPLAY:MOV A,R7MOV B,#10DIV ABLCALL NUMMOV P1,R4
18、MOV P2,#01HLCALL DELAYMOV A,BLCALL NUMMOV P2,#00HMOV P1,R4MOV P2,#02HLCALL DELAYMOV P2,#00HMOV P1,#0BFHMOV P2,#04HLCALL DELAYMOV A,R6MOV B,#10DIV ABLCALL NUMMOV P2,#00HMOV P1,R4MOV P2,#08HLCALL DELAYMOV A,BLCALL NUMMOV P2,#00HMOV P1,R4MOV P2,#10HLCALL DELAYMOV P2,#00HMOV P1,#0BFHMOV P2,#20HLCALL DEL
19、AYMOV A,R5MOV B,#10DIV ABLCALL NUMMOV P2,#00HMOV P1,R4MOV P2,#40HLCALL DELAYMOV A,BLCALL NUMMOV P2,#00HMOV P1,R4MOV P2,#80HLCALL DELAYMOV P2,#00HRETNUM:CJNE A,#0,IF1MOV R4,#0C0HRETIF1:CJNE A,#1,IF2MOV R4,#0F9HRETIF2:CJNE A,#2,IF3MOV R4,#0A4HRETIF3:CJNE A,#3,IF4MOV R4,#0B0HRETIF4:CJNE A,#4,IF5MOV R4,
20、#99HRETIF5:CJNE A,#5,IF6MOV R4,#92HRETIF6:CJNE A,#6,IF7MOV R4,#82HRETIF7:CJNE A,#7,IF8MOV R4,#0F8HRETIF8:CJNE A,#8,IF9MOV R4,#80HRETIF9:MOV R4,#90HRETTIME:MOV TH0,#0D8HMOV TL0,#0F0HINC R5CJNE R5,#100,LP0INC R6MOV R5,#0CJNE R6,#60,LP0INC R7MOV R5,#0MOV R6,#0CJNE R7,#60,LP0MOV R5,#0MOV R6,#0MOV R7,#0L
21、P0:RETIRETIINT:CLR EX0 P3.7,IFP36MOV R1,#1 CPL TR0MOV 21H,R2LJMP BACKIFP36: P3.6,IFP35MOV R1,#2 MOV R5,#0MOV R6,#0MOV R7,#0MOV R2,#0MOV R0,#50HMOV R3,#00HLJMP BACKIFP35: P3.5,P34MOV R1,#3 MOV A,R5MOV R0,AINC R0MOV A,R6MOV R0,AINC R0MOV A,R7MOV R0,AINC R0INC R2LJMP BACKP34:CJNE R1,#4,NEW SJMP OLDNEW:CJNE R1,#1,BACKMOV R0,#50HOLD:MOV A,R0MOV R5,AINC R0MOV A,R0MOV R6,AINC R0MOV A,R0MOV R7,AINC R0DJNZ 21H,BACMOV 21H,R2MOV R0,#50HBAC:MOV R1,#4BACK:CLR P3.2SETB P3.2SETB EX0RETIDELAY:RETEND. word.zl.