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