




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
陕西理工学院毕业设计可调式六位倒计时秒表的设计(陕西理工学院物电学院电子信息科学与技术专业电信1202班,陕西 汉中 723001)指导教师:摘要 以AT89C51单片机为核心芯片,结合时钟电路、复位电路、蜂鸣器驱动电路等,以四位一体的LED数码管作为显示装置,74HC245为驱动,实现了可调式六位倒计时秒表的设计。所设计的秒表可以简单便捷的实现正计时、倒计时、暂停、复位的功能,并能通过按键对其进行操作,当倒计时到零时,蜂鸣器响。与传统的机械时钟相比较,所设计的秒表更为直观和准确,而且没有传统机械装置,所以可以使用更长时间。而且电子元件测量显示,可精确至千分之一秒,广泛应用于科学研究、体育运动及国防等方面,有着巨大的实用价值。 关键词 可调式;倒计时秒表;设计The design of a tunable six countdown stopwatchWang Shirong(Grade12,Class02,Major Electronic Information Science and Technology,School of Physics and Telecommunication Engineering,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor: Huang ChaojunAbstract:The core chip is AT89C51 microcomputer, combined with the clock circuit, reset circuit, buzzer driver circuit, with four in one of the LED digital tube as display device. 74hc245 driven, adjustable a tunable six countdown stopwatchix countdown stopwatch. The stopwatch can be simple and convenient to achieve timing, countdown, pause, reset function, and the key to its operation, when the countdown to zero, the buzzer ringing. Compared with the traditional mechanical clock, stopwatch design more intuitive and accurate, and there is no traditional mechanical devices, so it can be used for a longer time. And electronic components measurement display, can be accurate to 1/1000 seconds, widely used in scientific research, sports and national defense, etc., has a huge practical value.Key words:tunable, countdown stopwatch, design目 录1.引言11.1研究目的及意义11.2研究现状及发展趋势11.3主要研究内容12.系统设计概述12.1设计指标12.2设计方案22.3设计原理22.4主要元器件33.系统硬件93.1时钟电路93.2复位电路103.3显示电路103.4按键113.5蜂鸣器驱动电路114.系统软件124.1软件系统框图124.2程序流程图134.3中断设计135.安装与调试145.1软件的仿真与调试145.1.1仿真图155.1.2调试及功能实现155.2硬件的安装与调试155.2.1原理图155.2.2硬件的焊接165.2.3硬件调试176.结语18致谢.18参考文献19附录A:元器件清单20附录B:程序211. 引言21世纪以来,电子科技技术十分迅速的的发展,现代电子产品的性能变得越来越好,产品更新换代的节奏也日益变快。随着集成技术的发展,尤其是在中、大规模和超大规模集成电路的发展,在国民经济的各个部门中,数字电子技术将会更广泛的被应用,已经有许多人开始将电子设计应用于生产实践,倒计时秒表的应用就是一个很好的实例,倒计时秒表的设计基于集成电路,改进了以往很多的不足,了解它的主要设计原理和其设计过程,对于改良和提高倒计时秒表的设计是有很大的益处的。1.1 研究目的及意义在当今这个十分注重时间观念的快节奏的社会中,时间对我们来说显得越发珍贵。忙碌的工作和繁杂的事情很容易使我们忘记当前的一些重要的事,有时可能稍稍耽误,就会酿成不可挽回的错误,这时,就体现出了计时器的重要作用。合理的使用计时器能够为我们节省许多时间用于工作、生活、娱乐中,大大的提高我们的工作效率。充分利用计时器,可以很好的提高我们的工作效率。在电子技术高速发展的今天,人们对计时器的了解越来越全面,从而设计出功能更加完善,时间更加精准的电子秒表。而且在现代测量技术当中,数字化的测量仪表不仅要比模拟的测量仪表功能强,精度高,而且更加智能,更加自动化。因此,在研究数字秒表以及扩大其应用方面,有着非常重要的意义1-3。1.2 研究现状及发展趋势随着信息产业的高速发展,电子秒表用途不断增多而且越来越重要,它同时也在增加功能及性能改进,大大扩展了秒表原先的功能。随着科学技术的发展,它先后经历了几个阶段,最早的秒表是纯机械的设计,其工艺十分复杂,并且即使不很精确,很易损坏,这给应用带来了很多不便。随后,电子秒表开始随着电子设计应用的普及,逐渐出现在人们生活中。而且它的功能,精准度,还有性能都越来越高2。在我们平时的生活中,计时器也随处可见,像我们手机上的时间显示,手上的电子表等,这些都是利用了数字电路而实现的装置。与传统的机械时钟不同,电子计时器更为直观和准确,而且因为没有传统机械装置,所以可以使用更长时间。它主要是由单片机中常见的模块和计数器模块组成的。还可以设计更多以计时器为基础的对日常生活密切相关的设备,比如到时间自动打铃、到时报时或广播、设定时间开关烘箱、到时自动启闭路灯、甚至可以到时启动定时电器等等,这些全部都离不开计时器。1.3 主要研究内容可调式六位倒计时秒表的设计方法有多种,其中,利用单片机实现的电子秒表具有编程灵活,便于电子秒表功能的扩充,即可用该电子秒表发出各种控制信号,精确度高等特点。本设计以单片机为核心,利用单片机内部时钟电路,在数码管上显示时间,通过复位电路以及外围按键等实现对该秒表的计时、暂停、清零等功能。2. 系统设计概述2.1 设计指标利用单片机内部定时/计数器和中断功能,实现分、秒、十分之一秒的倒计时,并将计时时间通过八位数码管实时动态显示出来。可通过键盘上的按键分别对分、秒进行定时设定,在计时过程中,有对应的按键可以对计时进行开始、暂停、清零的控制,以此来实现了六位倒计时秒表的各项功能。采用动态同步修正方法,使秒表的定时、计时更加精确。采用Proteus 软件仿真以及硬件调试相结合的方法实现该设计的功能2-4。2.2 设计方案(一)单片机选择方案一: 采用STC系列芯片作为核心硬件。STC系列芯片内部具有8KB ROM 存储空间, 带有2K字节的EEPROM存储空间,512字节的数据存储空间,能够与MCS-51系列单片机完全兼容,STC系列可以通过串口进行下载。方案二:采用AT系列芯片作为核心硬件。AT系列芯片内部具有8K字节程序存储空间,256字节的数据存储空间,也能够完全兼容51系列单片机,而且在编程的同时也可以擦除。虽然两种单片机都完全能够满足设计的需要,但STC系列单片机需要一个冷启动的过程,这个过程是比较影响效率的,而且AT系列单片机耐压性比较好,稳定性也相对来说更高,因此,选用方案二,AT系列单片机作为核心硬件。(二)显示模块选择方案一:采用点阵式数码管显示。点阵式数码管用来显示文字比较适合,它是由八行八列的发光二极管组成,如果采用在显示数字上显得太浪费,而且成本也相对比较高,因此不用点阵式数码管作为显示。方案二:采用LCD液晶显示屏。液晶显示屏虽然功能强大,可以显示大量种类多样的文字,但价格相对昂贵,因此也不用LCD数码管作为显示。方案三:采用LED数码管动态显示。对于显示数字来说LED数码管的价格便宜比较合适,它的功耗虽然较大,但是足以完成显示,综上所述,采用方案三,使用LED数码管作为显示。2.3 设计原理本设计由AT89C51单片机和单片机最小系统、74HC245驱动、以及外围的按键和数码管显示等部件组成,设计为一个基于单片机的简易计时器。本设计时钟电路采用的是单片机内部时钟振荡电路,显示模块是通过两个四位一体的共阴极数码管显示。当单片机接上电源工作后,通过P2口输出信号,经过74HC245的驱动作用在数码管上显示动态数字。此外,通过按键手动复位电路改变芯片的电平,使电路实现复位的功能。除此之外,通过P3口外接开关分别来控制秒表的开始计数、停止计数以及计数清零的功能。硬件设计主要包括六个模块:显示电路、振荡电路、复位电路、按键电路、蜂鸣器5,其设计框图如图2.1所示。图2.1 设计原理框图各模块的功能如下:1) 按键电路可以控制系统的开始、停止、复位和模式选择。2) 显示电路用来显示秒表所计的时间。3) 振荡电路用来产生时钟信号。4) 复位电路可以实现计时的清零复位。5) 当倒计时到零时蜂鸣器会响。2.4 主要元器件选择元器件的时候主要三个方面便是稳定性,可操作性,以及性价。元器件的可操作性是首选,因为有操作性才可以最快的实现所具有的功能,而稳定性是系统功能实现的必要基础,只有元器件具有稳定性系统功能才能准确的实现,廉价性是作品推广的主要因素,廉价而又有稳定的功能才会有广大的市场。本次设计就从这三个方面考虑,选择了设计所需的元器件。现将主要的元器件介绍如下。(一)AT89C51介绍AT89C51是一块集成了CPU、 ROM、RAM、计数器/定时器以及具有各种功能的I/O接口等多项基本功能部件的芯片。其中具体包含以下几个部件:1) 具有一个8位CPU;2) 具有一个片内振荡器和时钟电路;3) 具有4K字节只读程序存储器(ROM);4) 具有128字节随机存取数据存储器(RAM);5) 具有一个数据指针(DPTR); 6) 具有两个 16位计数器/定时器;7) 具有32条可编程的I/O线(四个6位并行I/O端口);8) 具有一个可编程全双工串行口可编程串行通信接口;9) 具有可寻址 64K外部数据存储器和 64K外部程序存储器空间的控制电路;10) 含有4KB的FLASH存储器,可以反复擦写1000次;11) 具有6个中断源、5个中断矢量和2级优先权的中断结构;12) 具有两种低功耗的工作模式分别是空闲模式和掉电模式; 13) 具有可编程的3级程序锁定定位。AT89C51单片机的管脚图如图2.2所示。图2.2 AT89C51单片机的管脚图AT89C51单片机各管脚功能说明如下: 电源引脚(2个):供电电压。 GND:接地。 I/O引脚(48=32个):P0,P1,P2,P3。P0口(Pin39Pin32):名称为P0.0P0.7,8位漏级开路型双向I/O口,每个管脚可吸收8个TTL逻辑门电流。P1口(Pin1Pin8):名称为P1.0P1.7,带有内部上拉电阻的8位双向IO口。P1的输出缓冲级可吸收或输出4个TTL逻辑门电流。P2口(Pin21Pin28):名称为P2.0P2.7,带有内部上拉电阻的8位双向IO口。P2的输出缓冲级可吸收或输出4个TTL逻辑门电流。P3口(Pin10Pin17):名称为P3.0P3.7,带有内部上拉电阻的8位双向IO口。P3口输出缓冲级可吸收或输出4个TTL逻辑门电流。P3口也可作为AT89C51的一些特殊功能口,如表2.1所示。表2.1 P3口的第二功能P3口的位第二功能说明P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0P3.3外部中断1P3.4T0定时/记时器0外部输入P3.5T1定时/记时器1外部输入P3.6外部数据存储器写选通P3.7外部数据存储器读选通 控制引脚(4个)RST:复位输入。ALE/:地址锁存允许信号。:外部程序存储器选通。 EA /VPP:程序存储器的内部和外部选通,当低电平外部程序存储器读取指令,如果接高电平从内部程序存储器中读取指令。 时钟晶体引脚(2个)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:反向振荡放大器的输出。单片机的最小系统包括芯片和必要的电源、时钟、复位等部件,它可以使单片机正常工作状态。电源、时钟等电路是能够使单片机运行的必备条件,我们可以将应用系统的核心部分设置为最小系统,通过对其进行A/D扩展、存储器扩展等,使单片机完成为较复杂的功能。AT89C51最小系统是可靠和简单的因为他片内有ROM,因此。当时用AT89C51单片机构成最小系统时,只需要将单片机连接时钟电路及复位电路。但由于集成度的局限性,使得最小系统只能作为一个小控制单元。单片机最小系统的原理框图如图2.3所示。图2.3 单片机最小系统原理框图(二)数码管介绍LED数码管是,是由许多个发光二极管组组合在一起的“8”字型的器件,可以将它通过不同的组合,显示1到9的数字或A到F的字符以及小数点“ ”。四位一体的数码管的引脚图如图2.4所示。图2.4 四位一体的数码管引脚图数码管又可以分为两种结构即共阴极和共阳极,其结构图分别如图2.5和图2.6所示。图2.5 共阴极数码管结构图图2.6 共阳极数码管结构图因为此次设计采用的是共阴极数码管,所以现将共阴极数码管的工作原理介绍如下:共阴极数码管是将8个发光二极管的阴极(二极管的负端)连接在一起。在一般情况下,公共阴极要接低电平(一般是接地),和其它的管引脚链接到驱动电路的输出端。当驱动电路的输出为高时,该驱动电路被接通和点亮。发光字段可以通过不同的组合,以显示出各种字符或数字。此时,需要段来吸收额定电流,但也需要根据额定电流和外部电源的额定电流来确定相应的限流电阻。共阳极数码管的工作原理与共阴极数码管的工作原理是相反的。数码管之所以能够显示字符或数字,是因为段数据口输出了与其对应的字形编码。其对应关系可以在字形码表中看出。如表2.2所示。表2.2 LED显示字形码表显示字符共阴极共阳极03FHC0H106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90HA77H88HB7CH83HC39HC6HD5EHA1HE79H86HF71H8EH(三)上拉电阻介绍其实排阻就是由8个其中一端接在一起的电阻组成的,103是8个10K的电阻组成的,102为8个1K的电阻组成,他们在电路中起到“上拉”的作用,又称上拉电阻。上拉电阻与下拉电阻的作用如表2.3所示表2.3 上拉电阻与下拉电阻的作用上拉下拉将不确定的信号嵌位在高电平,起限流作用将不确定的信号嵌位在高电平,起限流作用对器件注入电流对器件输出电流把电位拉高,比如拉到VCC把电压拉低,拉到GND当集电极开路输出型电路刚上电的时候,它的端口的电压是十分不稳定的。如果加上上拉电阻的话,可以让它稳定到高电平或者低电平。当遇到以下几种情况的时候,我们就要使用上拉电阻。1)当芯片输入信号很容易受干扰时,可以加上上拉电阻,提高输出电平,这样便可以使噪声容的限抗干扰能力增强。2)当TTL电路驱动COMS电路的时候,如果TTL电路输出的高电平仍低于COMS电路的低水平(通常为3.5V),为了提高输出高电平的值,我们需要在TTL的输出端接上拉电阻。3)当长线传输中产生的反射波干扰是由于电阻不匹配而引起的时候,我们可以通过加下拉电阻的方法来抑制反射波从而减少其干扰。4)在COMS芯片上,为了防止静电损坏,所以所有的管脚都不能悬空,一般会与上拉电阻降低的输入阻抗,提供泄荷通路。5)要使用OC门电路则必须加上拉电阻。6)提高总线的抗电磁干扰能力。使管脚悬空,使其更容易接受外界的电磁干扰。7)为了增大输出引脚的驱动力时,可以使用上拉电阻。有些芯片的内部集成了上拉电阻(比如单片机的P1、P2、P3口),如果加上上拉电阻会增加负载,所以外部就不用加上拉电阻了。但是有一些漏极开路(比如单片机的P0口),外部必须加上上拉电阻。P0口必须要加上拉电阻原因有以下几点:1)因为P0口片内无上拉电阻,其上方的场效应晶体管被关断又被关断,所以P0输出1时不能拉升端口电平。2)因为P0口为I/O口工作状态时,其上方的场效应晶体管被关断,使输出脚浮空。因此当P0口用于输出线的时候为开漏输出。(四)74HC245介绍74HC245译码器可以接受3位二进制的加权地址输入(A0, A1和A2),并且能够提供8个相互排斥的低有效输出(Y0到Y7)。74HC245有3个独特的使能输入:一个高有效(E3)和两个低有效(E1和E2)。除非E1和E2置低并且E3置高,否则74HC138将一直保持所有的输出为高。这种复合使能特性,你只需要4片74HC245芯片和1个逆变器,变可以轻松的实现并行扩展,并组合成为一个1-32(5线到32线)的译码器。任选一个低有效的使能输入端作为数据输入,并把其余的作为选通端,则74HC245也可以作为8输出信号分离器,而且未使用的使能输入端则必须保持绑定在他们适当的高有效或低有效状态。74HC245主要用于实现数据总线的双向异步通信。为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。当主控芯片与受控设备之间需要实现双向异步通信时,就可以选择74HC245。74HC245还有一个非常有用的功能,那便是驱动功能。在LED显示屏中,单元板/模组是由多块串接在一起的,而控制信号是比较弱的,在信号传递过程中需要将它的功率进行放大,这时74HC245就可以起到将接收到的控制信号进行放大的作用。74HC245电路图如图2.7所示。图2.7 74HC245电路图本设计中将1脚接到VCC,19脚接到地,整个芯片是如果输入端输入高则输出端也输出高,如果输入端输入低则输出端也输出低,故只充当于驱动的作用。(五)自锁开关说明自锁开关的原理图如图2.8所示。自锁开关在电路中主要起电源的开关作用。其中一个常开的脚接DC电源插口的电源脚,另一个常开的脚接电路的VCC。图2.8 自锁开关原理图3. 系统硬件3.1 时钟电路AT89C51单片机所需的控制信号由时钟信号。常用的时钟电路有两种方式,其中一种是内部时钟方式,而另一种是外部时钟方式。1)内部时钟方式:时钟振荡电路的作用是产生单片机正常工作的时候所需要的时钟信号,其电路由一个12MHz的晶振和两个30F的瓷片电容组成,并要接入到单片机的两个引脚XTAL1(18)和XTAL2(19)处,为了使单片机工作于内部震荡模式。此电路在加电后延迟大约10ms后振荡器起振,之后会在XTAL2引脚处产生幅度为3v左右的正弦波时钟信号,它的振荡频率主要是由石英振的频率决定的。为了使电路快速起振,提高电路的运行速度,在电路中还要加两个电容C4和C5。在AT89C51芯片的内部有一个高增益反相放大器我们可以用它来构成振荡器,它的输入端为引脚XTAL1,输出端为引脚XTAL2。可以在石英晶体和微调电容之间进行跨接从而构成一个稳定的自激振荡器。其内部时钟电路如图3.1所示。图3.1 AT89C51内部时钟电路2)外部时钟方式:这种方式通常用于多个单片机同时工作的时候,它是由外部现成的振荡器所产生脉冲信号。因此时钟电路选用第一种,内部时钟方式。3.2 复位电路AT89C51的复位是由外部的复位电路而实现的。复位电路通常采用两种方式,即上电自动复位和按键复位。1)上电自动复位。上电自动复位是由外部复位电路给电容C充电加至RST引脚一个短的高电平信号,此信号随着Vcc对电容C的充电过程而逐渐回落。因此为保证系统能可靠的复位,RST引脚上的高电平必须维持足够长的时间。2)按键手动复位。按键手动复位有脉冲和电平两种方式。要实现按键手动电平复位需要通过RST端经电源Vcc和电阻接通,当时钟频率选用11.0592MHz的时候,R应该取值为10K ,C的典型取值为10uF。而要实现按键手动脉冲复位则需要利用RC微分电路来产生正脉冲。其中按键手动复位电路如图3.2所示。图3.2 AT89C51复位电路通过比较上述的两种复位方式,本次的复位电路采用第二种,按键手动复位。3.3 显示电路LED数码管有两种方式分别是静态显示和动态显示。1)静态显示指的是每个数码管的每一个段码都由一个单片机的I/O端口驱动,或者使用如BCD码二-十进制译码器译码驱动。静态驱动有一些很好的优点那就是它显示亮度高而且编程又简单。但同时它也有缺点,比如占用的I/O端口多,像如果驱动5个数码管静态显示的话就需要58=40根I/O端口,这样的话在实际应用的时候会使硬件电路变得更加的复杂,因为这样一来它必须增加译码驱动器来驱动了。2)动态显示则是指无论在什么时候,只有一个LED数码管处于显示状态,即单片机采用“扫描”方式控制各个数码管轮流显示。即在某一个时刻,只允许某一位的位选线处于选通状态,而其他各位的位选线都必须处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样,在同一时刻,2位数码管中只有被选通的那一位显示出字符。如此循环下去就可以显示出要显示的字符。虽然这些字符时不同时刻显示的,但由于LED数码管的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”,达到同时显示的效果。在显示为数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这个时候一般采用动态显示方式。动态显示的优点是硬件电路简单,显示器越多,优势越明显;缺点是显示亮度不如静态显示的亮度高,如果扫描速率较低,会出现闪烁现象。我们可以用动态的扫描显示方式来使数码管显示出相对应的字符,而且它有更低的功耗,节省许多I/O端口。因此倒计时数字秒表的显示电路选用第二种,动态显示方式。3.4 按键单片机键盘有独立键盘和矩阵式键盘两种:独立键盘是一端接I/O 口,另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式虽然占用的I/O少,但是程序十分复杂。结合本次设计的实际情况,我选择了使用独立式键盘。独立式键盘的实现是否有键按下可以透过单片机I/O口读取口的电平高低来来反映出来。我们可以将常开按键的那一端接上地,另一端接一个I/O 口,这样就会使得程序开始时此I/O口置于高电平,在平时没有按键按下的时候,I/O口保护高电平。而当有按键按下的时候,这个I/O 口就会因为与地短路的原因使I/O 口转为低电平。当按键释放之后,由于单片机内部的上拉电阻的原因,使I/O口仍然保持高电平。我们如果想判断我们是否有按键动作只需要在程序中查寻此I/O口的电平状态就可以了6。在用单片机对处理键盘时,有一个十分重要的一点,那就是键盘的去抖动。当然,主要就是要去除机械的抖动了,机械抖动指的的是当键盘在按与未按的临界状态,即不满足完全按下的条件时,在临界区产生的电平不稳定的现象。这个现象是十分正常的,并不是只要我们在按键时注意就可以避免的。而且这种抖动持续的时间是极短的,一般是对于人来说极快的10到200毫秒之间,然而这对于单片机而言就是很长的了,尤其是对时钟是微秒级别的单片机而言更是慢长。硬件去抖动原理其实很简单,就是设计一些电路对抖动部分进行处理。还有软件去抖动的方法,但是这种方法也不是真正的去掉了抖动,而是巧妙地避开抖动的那一部分的时间,等到键盘变得稳定了之后再对其进行处理。经过多方面的考虑,我在这里选择了用软件去抖动。要先查寻按键,如果低电平出现的话,就立即延时10到200毫秒(经典值为20毫秒),先以避开抖动,等到延时结束之后再读一次I/O 口的值,如果读出来的值如果是1 ,则表示低电平的时间还不到10到200 毫秒,就将它看作是干扰信号。如果读出的值是0,则表示真的有按键按下,这时就调用相应的程序去处理它了。键盘控制电路图如图3.3所示。图3.3 键盘控制电路图3.5 蜂鸣器驱动电路蜂鸣器电路由三极管放大电路和蜂鸣器组成。由单片机产生特定方波信号,信号经由9012三极管放大后驱动蜂鸣器产生声音。蜂鸣器采用的是5V有源蜂鸣器,给指定的方波信号经过的放大电路放大后就可以发出声音了。蜂鸣器发声模块的电路图如图3.4所示。图3.4 蜂鸣器发声模块电路图4. 系统软件本次设计采用C语言开发,它程序阅读性强,还有很强的移植性。与汇编相比,C语言在结构性、功能上、可维护、可读性性上有明显的优势。虽然汇编语言执行速度快,占用的资源少,但是可阅读性极差,维护成本比较高。现在的单片机内部存储空间越来越大,程序的存储空间也早已不是那么宝贵。集成开发环境采用的是Keil C51。Keil C51具有全Windows界面,而且有很丰富的库函数以及调试工具。它的生成代码效率非常高,生成的代码结构紧凑,很容易理解。4.1 软件系统框图在设计过程中,首先先设计出总体的框图,然后再具体到各部分,之后进行程序的编写。软件整体的系统框图如图4.1所示。图4.1 软件设计图4.2 程序流程图 整个设计的程序需要包含初始化程序,按键扫描、显示程序,时钟程序以及倒计时程序等部分4,6-8,主要的程序流程图如图4.2所示。图4.2 程序流程图4.3 中断设计中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片内的中断系统来实现的。当中断请求源发出中断请求的时候,如果发出的中断请求被允许的话,单片机就会暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。在中断服务处理程序处理完中断服务的请求后,再次回到之前被中止的程序(断点)之处,继续执行被中断的主程序。整个中断响应和处理过程如图4.3所示。图4.3 中断响应和处理过程如果单片机没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上。采用中断技术就完全消除了单片机在查询方式中的等待现象,这样可以大大地提高单片机的工作效率和实时性。5. 安装与调试5.1 软件的仿真与调试我在本次设计中采用的仿真软件是Proteus。Proteus是英国Labcenter electronics公司出版的。它不但有其他仿真软件的功能,而且还能对单片机和一些外围器件进行仿真,并且在这一方面可以算得上是目前最好的仿真软件。Proteus有一些其他单片机软件所没有的强大功能。它可以对单片机CPU 的工作情况进行仿真,同时,无论有没有单片机参与的电路的工作情况都可以用它进行仿真。这样的话,在仿真或者程序的调试时,我们就不用再担心某些语句执行时单片机存储器和寄存器中内容的改变,直接从工程的角度观察程序运行以及电路工作的过程和结果就可以了。这样很直观,而且也使实验和工程应用间脱节的问题的到了一定程度的缓解。Proteus还有十分丰富的资源。无论是仿真数字还是模拟、交流还是直流所需要的数千种元器件它都可以提供,而且还有30多个元件库。在仪表方面无论是示波器或信号发生器或模式发生器还是交直流电压表或交直流电流表以及逻辑分析仪或虚拟终端还有SPI调试器和I2C调试器等仪器都可以在Proteus中随意的调用。这而且些仪器仪表都具有理想的指标参数,这一点大大地减少了仪器对测量结果的影响。Proteus除了有现实存在的仪器外,还有一个十分强大的功能,那就是图形显示的功能。从此线路上只要有信号的变化都可以时地以图形的方式显示出来,这一点与示波器功能相似,但功能更多。Proteus还可对单片机硬件电路和软件进行调试,并且有两种方法可以供我们选择,其中一种是系统总体执行效果,另一种则是通过对软件的分步调试来看具体的执行情况。Proteus不仅可以多单片机硬键电路和软件进行调试,它还有丰富的测试信号用于电路的测试其中包括数字信号和模拟信号9-10。5.1.1 仿真图使用Proteus对整个设计进行仿真,仿真图如图5.1所示。图5.1 仿真图5.1.2 调试及功能实现首先使用Keil C51软件对程序进行设计与编译。软件设计首先创建一个工程选择芯片,本设计基于AT89C52单片机,工程创建完后编写程序代码,单击菜单中的【Save】选项,本设计采用C语言编写,因此代码扩展名必须为c,然后保存,之后在文件编辑窗口编写代码。开始编译,成功后生成Hex文件。然后用单片机仿真软件Protues来仿真此次设计,看个模块能否正常运行,找出并修改错误,最终达到预期结果11。5.2 硬件的安装与调试5.2.1 原理图本次设计的原理图如图5.2所示。图5.2 原理图5.2.2 硬件的焊接按照之前设计好的可调式六位到计时秒表的原理图,详细计算系统中各个元件的参数,选择相应器件,并考虑万能板大小及元件之间连线及布局问题,之后便开始焊接实物。实物图如图5.3和5.4所示。图5.3 实物图图5.4 实物图5.2.3 硬件调试 制作好的电路板可以用万用表(200欧姆档)的红、黑表笔测试电路板的每条走线,当其电阻非常小时,证明走线没有断开,当其电阻很大时,证明该条走线断了,应该重新走线,使电路板在电气上得到正确地连接。选用万用表的20K欧姆档,检测电路中是否存在短路。因为系统采用的是共阴极数码管作为显示电路,必须确保数码管的公共端接的是低电平。 (1)晶振电路的测试。在单片机正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系统时钟是否振是通电检查的首要环节。在系统通电的状况下,用万用表的直流电压档(20V),测量引脚XTAL1和引脚XTAL2的电压是否正常。 (2)复位电路的测试。复位不正常也会导致系统不能工作。复位引脚始如果一直为高电平的话,系统将会一直在复位状态;但如果一直为低电平,则又不能产生复位所需的高电平信号脉冲此时系统也可能不能正常工作。正常情况下,RST复位引脚的电压应为0V,当按下复位按键的时候,复位引脚的电压应该是5V左右。 (3)显示电路的测试。显示电路是数字电子秒表正常运行最直观的观察窗口,我们可以通过观察显示电路的显示结果观察系统能否正常运行。当显示电路按照电路图焊接好后,用万用表的黑表笔接共阴数码管的公共段,同时红表笔接数码管的各段,各点焊接正常,则说明数码管的段能可正常显示。在整体的调试完成以后,开始开机,就能看到LED数码管上有数字出现。当按下开始/停止键时,开始进行正计时,再次按下该键计时暂停。按下复位键后数字会清零。按下设置键后可以通过开始/停止键和复位键设置倒计时秒数,设置完成后按下开始/停止键进行倒计时,当倒计时到0时,报警响起,按下复位按键报警关闭12。6. 结语在本次制作过程中遇到了一些问题,其中最主要的是在调试的过程中遇到时亮时不亮的情况,经过老师的指导,我发现板子上有虚焊现象。这是由于当时焊接的时候,在焊点处的焊锡太少,导致看上去好似焊住了,但其实没有焊住,稍微一动就会接触不良,这为我之后的调试带来了一些麻烦。我在发现问题后又把所出现问题的地方重新焊接了一下,问题等到了解决。通过本次设计,我加深了对51系列单片机的认识,更加深入地了解了定时计数器、中断系统、串行通信接口等方面的知识。同时,我也熟悉了基本的单片机设计的开发及仿真过程,加深了对单片机和模拟电路基础知识的理解及应用,学会了LED数码管接法,熟识了动态数码管显示的基本原理和程序编写,提高了将单个电子器件组合到一起构成所需电路系统的能力,在平时的理论学习中遇到的问题都一一解决,加深了我对专业的了解。;在绘制电路图和仿真图的过程中,巩固了最基本软件要求,提高了对Protues单片机仿真软件及汇编程序编写软件keil uVision3的认识;通过这次设计学习,我越发感觉电子设计不是死板的东西,是有很大科学性与艺术性的。不同芯片的使用,不同的接线方法,不同的变量,不同的实现思路,经过组合后几乎可以称之为艺术。同时,让我明白:电子设计容不得纸上谈兵,只有自己动手实际操作才会有深刻理解,才会有收获。学习知识是一个长期的过程,这个过程也就是我们不断的遇到问题、解决问题。通过我们解决问题,就可掌握新的知识。这次设计对我来说是一个难得的历练机会,从中我收获了许多,相信对我以后的设计制作及工作中会有很大的帮助。致谢在本次毕业设计的过程中有许多人都给予我了指导和帮助,我十分感谢他们。其中我最为感谢的便是我的老师黄朝军老师。他很关注我的设计进度,在我的设计遇到瓶颈的时候耐心的关于我的设计提出了宝贵的意见,并及时地为我提供给许多技术上的指导,使我所学的知识能够运用到实践中。从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱。他严谨的教学态度深深的感动着我,不仅教会了我如何学习,更重要的是对我以后的人生有着重大的指导作用其次,我也要感谢我实验室的同学们,在做设计过程中给过我很大的帮助,在我困难的时候提供思路与参考,在学术交流中给予我很大的启发。最后,我还要感谢我的学校。是学校给我了设备和实验室,让我可以完成我的设计。最后,再一次向大家说声谢谢,我将铭记大家对我的支持和帮助。第27 页 共27页参考文献1 胡晓颖. 电子秒表的设计J. 高科技产品研发, 2012, (11): 50.2 郭海丽. 基于单片机的数字秒表设计J. 电子元器件应用, 2012, 14 (1): 27-29.3 高文庆, 吕英英. 基于AT89C51单片机的数字秒表设计J. 电脑知识与技术, 2012, 8 (22): 5344-5346.4 雷跃荣, 詹旭, 杜玲艳, 陈健陵. 基于单片机的智能秒表设计J. 四川理工学院学报:自然科学版, 2010, 23 (5): 602-604.5 刘维红, 谭永超. 基于STC89C52单片机的电子时钟研究J. 机电产品开发与创新, 2012, 25 (5): 57-43.6 黄龙, 孙晓亭. 多功能电子时钟的硬件设计J. 多媒体应用技术, 2016, (6): 150-151. 7 Destefani, Jim, Electronic Timer Versus StopwatchJ. Products Finishing, 2008, 73 (1), 34.8 谢志平. 可调式六位倒计时秒表的研究设计J. 机电工程技术, 2011, 40 (6): 89-90.9 Li Dan,He Erhu,Zhang Yanrong, Zhang Yu.Teaching and practice innovation of embedded system design course based on proteus and Keil-electronic stopwatch as an example.J.International Journal of Smart
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年远程协作工具的效率提升分析
- 2025年江苏南京医科大学招聘专职辅导员3人(第一批)笔试备考题库含答案详解
- 助听器验配师题库检测试题打印(含答案详解)
- 2024银行招聘考试历年机考真题集含答案详解【突破训练】
- 人教版8年级数学上册《轴对称》同步练习试卷(含答案详解版)
- 工地安全员考及答案类型
- 安全员考试及答案二
- 难点详解自考专业(小学教育)试卷1套附答案
- 2023年度重庆科技大学单招《英语》通关题库含答案详解【模拟题】
- 地理题玄学高考真题及答案
- 爱国教育主题班会课件:山河已无恙吾辈当自强
- 第3课 展望物联网教学设计-2025-2026学年初中信息技术(信息科技)八年级上册鲁教版(信息科技)
- 2025秋新教材统编版八年级上册道德与法治第十一课 军强才能国安 教案(共2课时)
- 电梯安全总监培训记录课件
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考模拟试题及答案解析
- 房地产中介居间服务合同5篇
- 童话中的英雄勇敢的小矮人作文10篇范文
- 康复科的科室介绍
- 公安校园欺凌课件大纲
- 人教PEP版(2024)四年级上册英语全册教案(单元整体教学设计)
- 2025年江苏省南京市中考历史真题卷含答案解析
评论
0/150
提交评论