资源描述
毕业设计任务书1设计的主要任务及目标 设计多功能数字电子钟,能显示时,分,秒,具备时间调整、定时、延时、计数功能;选定各元器件,完成系统整体设计、硬件设计;并通过Proteus软件的学习完成程序编制及调试。2 设计的基本要求和内容(1) 查阅相关文献资料,进行设计构思并撰写开题报告(2) 进行框架设计,熟悉开发环境(3) 系统硬件设计(4) 系统软件设计 (5) 完成毕业设计说明书3主要参考文献1 卢毅,赖杰.VHDL与数字电路设计M.北京:科学出版社,2002.2刘丽华.专用集成电路设计方法M.北京:北京邮电大学出版社,2000.3张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:电子工业出版社,2007.4 进度安排设计各阶段名称起 止 日 期1查阅资料,学习基于单片机控制系统设计思路2013.12-2014.022撰写开题报告,进行开题答辩2014.03-2014.033设计硬件电路,绘制电路原理图2014.04-2014.044系统软件设计,编写程序2014.05-2014.055修改毕业设计说明书,进行毕业答辩2014.05-2014.06基于Proteus的多功能数字电子钟的设计摘要:本设计采取单片机ATC89C51、按键开关与数码显示管、译码驱动器和一些简单的辅助电路相结合实现多功能数字电子钟的设计,此次设计主要主要实现了数字电子钟的时间显示功能、闹钟功能、计时功能、计数功能,并通过Proteus软件的学习,完成程序编制及调试。关键词:多功能数字电子钟,AT89C51单片机,Proteus The design of the multi-function digital electronic clock based on ProteusAbstract:This design adopts single-chip microcomputer ATC89C51 switches, buttons and digital display tube, decoding drive and some simple auxiliary circuit to realize the combination of the design of the multi-function digital electronic clock, this design is mainly mainly realize the time display function of digital electronic clock, alarm clock, timing, counting functions, and through the study of Proteus software, complete the programming and debugging.Key words: multi-function digital electronic clock, AT89C51, Proteus目 录1 前言11.1 课题产生的背景11.2 数字电子钟简介41.3 数字电子钟的基本特点51.4 数字电子钟的发展史51.5 数字电子钟的意义51.6 数字电子钟的应用51.7 数字电子钟的工作原理62 系统总体设计72.1 设计方案72.1.1 核心控制部分方案72.1.2 单片机选型72.1.3 显示部分方案102.1.4 键盘部分方案102.1.5 驱动部分选择方案102.2 方案选择113 系统硬件设计123.1 系统主要功能123.1.1 系统的硬件构成及功能123.2 硬件电路说明123.2.1 按键模块设计123.2.2 复位模块设计133.2.3 晶振模块设计143.2.4 发声指示模块设计153.2.5 时间显示模块设计164 系统软件设计214.1 主程序设计214.2 中断程序设计214.3 延时程序设计231I4.4 按键程序设计245 仿真与调试25结论26参考文献27致谢29附录一、系统硬件原理图30附录二、源程序清单31I11 前言单片机技术被广泛应用于各种嵌入式系统中,单片机的发展极大地推动了电子技术和自动化技术的发展和应用。传统的单片机系统设计开发,需要借助各种类型的单片机硬件仿真设备,但由于硬件仿真设备资金投入过大,近年来,单片机虚拟仿真软件Proteus开始逐渐受到关注,也有越来越多的人开始尝试使用。 Proteus仿真软件是目前世界上最先进最完美的嵌入式系统设计与仿真平台,在全球有庞大的用户群,它不仅具有其他EDA工具的仿真功能,还能仿真单片机及外围电器。该软件的特点是:1.实现了单片机仿真和电路仿真相结合。具有模拟仿真、数字电路仿真、单片机及其外围电路组成的系统仿真;有各种虚拟仪器。2.支持主流单片机系统的仿真。3.提供软件调试功能等。总之,该软件是一款集单片机和电路分析于一身的仿真软件,功能强大。 时间对于人们来说总是最宝贵的,时钟,是人们生活中一种必不可少的工具,在当今社会,工作忙碌和繁杂的同时,使得人们对效率的要求越来越高,时钟在人们的生活、生产、学习等多个领域中得到了广泛的应用1。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。钟表的数字化给人们的生产生活带来了极大的便利,而且大大的扩展了钟表原先的功能。设计一种多功能数字电子钟及扩大其应用,有着非常现实的意义。这次设计我使用单片机技术、Proteus软件仿真模拟等来实现。1.1 课题产生的背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦事情重要,一时的耽误可能酿成大祸。II1目前,单片机正朝着高性能和多品种的方向发展,它的发展趋势将是进一步向着科技化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势2。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机也被称为微控制器(Microcontroller Uni),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元1。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上34 甚至可能有数百台单片机在同时工作。单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可。用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机(比如家用PC)的主要区别。 图1.1 单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块太原工业学院毕业设计大PCB板。但是如果用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为通过单片机编写的程序可以实现高智能,高效率,以及高可靠性。 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸。对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代3。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。1.2 数字电子钟简介电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。太原工业学院毕业设计1.3 数字电子钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。1.4 数字电子钟的发展史电子钟有着很长的历史,从民国19年的电钟,研制始于60年代中期的国内电晶体、半导体管钟,到研制始于70年代末的石英电子钟,再到今天我们所用的智能电子钟。以前的电子钟存在着很多缺点,其外观体积庞大,在功能上有死摆、走时时间不长、走时精确度不高等缺点。如今无论是外观,还是在功能上,电子钟都有了很大的改进。1.5 数字电子钟的意义数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能4。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.6 数字电子钟的应用数字电子钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。太原工业学院毕业设计1.7 数字电子钟的工作原理一般电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整。而该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中调试的控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。2 系统总体设计2.1 设计方案2.1.1 核心控制部分方案方案一:采用单片机作为数字电子时钟的核心控制部分方案二:采用555定时器作为电子时钟的核心控制部分2.1.2 单片机选型(1) 单片机的介绍单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元,即可用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。它主要是作为控制部分的核心部件5。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机(比如家用PC)的主要区别。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板。但是如果用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为通过单片机编写的程序可以实现高智能,高效率,以及高可靠性。(2)单片机型号的选择 通过对多种单片机性能的分析,最终认为AT89C51是最理想的电子时钟开发芯片。AT89C51是一种带4K字节闪烁可编程可擦除且只读存储器的低电压芯片,它具有高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。(3)AT89C51单片机的引脚说明AT89C51是一个有20个引脚的芯片,引脚配置如图2.1所示。与8051相比,AT89C51减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减小5。图2.1 AT89C51引脚配置(4)AT89C51单片机的存储器说明MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于AT89C51,如果EA接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。储存器的结构如图2.2:图2.2 AT89C51储存器结构图(5)AT89C51单片机的振荡器说明XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(6)AT89C51单片机的定时/计数器说明AT89C51有两个16位可编程定时器/计数器T0/T1。 T0由TH0,TL0构成,T1由TH1,TL1构成。T0/T1在定时控制寄存器TCON和方式选择寄存器TMOD控制下,可实现定时或计数。(7)AT89C51单片机的芯片擦除功能说明整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平来完成。在芯片擦除操作中,代码阵列全被写“1”,且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作6。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.1.3 显示部分方案(1)LED与LCD的选择LCD与LED是两个完全不同的概念,LCD是液晶屏幕,用于显示;而LED是光源器件,用于照明。而LED与LCD也有相同处,LED是有机发光二极管,可以用于显示,用了LED就不需要背光源了,它自身即发光又显色,可替代LCD。所以选用LED用于显示时间。(2)方案方案一:静态显示就是当CPU将要显示的字或字段码送到输出口,显示器就可以显示出所要显示的字符,如果CPU不去改写它,它将一直保持下去;静态显示硬件开销大,电路复杂,信息刷新速度慢。方案二:动态显示则是一位一位地轮流点亮显示器的各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态显示硬件连接简单,信息刷新速度快。2.1.4 键盘部分方案方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接线口占用也不多。所以,独立式按键常用于按键数量不多的场合。方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上(当接口线数量为8时,可以将4根接线口定义为行线,另4根接线口定义为列线,形成43键盘,可以配置12个按键)。2.1.5 驱动部分选择方案LED译码驱动器选择:4511是输出高电平有效的CMOS显示译码器,其输入为8421BCD码。所以选用此译码驱动器作为译码驱动部分电路元件4。2.2 方案选择经过论证,决定采用AT89C51单片机作为数字电子时钟的核心部分,采用6位LED数码管作为显示系统,采用独立式键盘作为数字电子钟的控制系统的方案,同时采用4511译码驱动器作为驱动部分。3 系统硬件设计3.1 系统主要功能数字电子钟的主要功能有:时间显示及时间调整;六只LED数码管显示当前时间;并且具有闹钟功能、计数功能、整点报时功能、计数功能等。3.1.1 系统的硬件构成及功能数字电子钟的原理框图如图3.1所示,它由以下几个部件组成:单片机AT89C51、电源、时分秒显示部件、按键部分、译码驱动部分。电源部分:是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作。 图3.1 数字电子钟系统原理框图3.2 硬件电路说明3.2.1 按键模块设计独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接线口占用也不多。所以,独立式按键常用于按键数量不多的场合。按键模块如图3.2所示:图3.2 按键模块在该模块中,采用四个按键作为电子时钟的控制输入,通过按键来实现时钟的时间设置、定时、秒表功能。电路中将四个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,则该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。按键的去抖动由软件来实现。3.2.2 复位模块设计在嵌入式应用系统的设计中,复位问题是设计中一个基本而又重要的问题,复位电路的设计是相当重要的一步。复位的目的是为了在仿真时将设计强制定位在一个可知状态,合理选择复位方式是电路设计的关键。在应用系统中,会经常要求进入到复位状态,因此要求系统的复位电路必须能够准确、可靠地工作。同时,在设计中不论是采用同步复位还是异步复位,复位信号都必须尽量与时钟信号同步,否则设计可能被复位到一个无效状态。单片机的复位电路,如图3.3所示:图3.3 单片机的复位电路当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作7。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间。3.2.3 晶振模块设计 晶振输入输出连接的电阻作用是产生负反馈,保证放大器工作在高增益的线性区,输出端的电阻与负载电容组成网络,提供180度相移,同时起到限流的作用,防止反向器输出对晶振过驱动,损坏晶振。 和晶振串联的电阻常用来预防晶振被过分驱动。晶振过分驱动的后果是将逐渐损耗减少晶振的接触电镀,这将引起频率的上升,并导致晶振的早期失效。 Xin和Xout的内部一般是一个施密特反相器,反相器是不能驱动晶体震荡的。因此,在反相器的两端并联一个电阻,由电阻完成将输出的信号反向180度反馈到输入端形成负反馈,构成负反馈放大电路。 电阻的作用是将电路内部的反向器加一个反馈回路,形成放大器,当晶体并在其中会使反馈回路的交流等效按照晶体频率谐振,由于晶体的Q值非常高,因此电阻在很大的范围内变化都不会影响输出频率。 单片机的晶振电路,如图3.4所示:图3.4 单片机的晶振电路石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式分压电容, 接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看, 形成一个正反馈以保证电路持续振荡。3.2.4 发声指示模块设计发声指示模块,如图3.5所示:图3.5 发声指示模块发声指示模块分为发声部分,指示部分两部分。指示部分由电源,380欧限流电阻R1,LED发光二极管三部分组成。正常情况下,LED引脚(P2_0)为高电平,LED两端没有电压差,不发光,一旦按键按下,或定时时间到,LED引脚(P2_0)被拉低,LED被点亮。发生部分由蜂鸣器、电源、9018三极管、限流电阻组成。蜂鸣器由PNP三极管驱动,当BZ管脚(P2_1)为高时,三极管BE级没电压差,三极管截止;反之,三极管导通,有电流流经蜂鸣器,蜂鸣器发声。3.2.5 时间显示模块设计时间显示模块如图3.6所示:图3.6 显示电路(1)数码管的选择连接选择二极管的阴极连接在一起,通常此为共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为反映出半导体材料的特性。常见管芯材料有磷化镓(GaP)、砷化镓(GaAs)、磷砷化镓(GaAsP)、氮化镓(GaN)等,其中氮化镓可发蓝光。发光颜色不仅与管芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。其他颜色LED数码管的光谱曲线形状与之相似,仅输入值不同。LED数码管的产品中,以发红光、绿光的居多,这两种颜色也比较醒目。根据AT89C51单片机灌电流能力强,拉电流能力弱的特点,我们选用共阴极数码管连接。将AT89C51的P1.0P1.7分别与共阴数码管的ag及dp相连,高电平的位对应的LED数码管的段亮,低电平的位对应的LED数码管的段暗,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符。例如:当P0口输出的段码为1100 0000,数码管显示的字符为0。工作方式选择数码管显示器有二种工作方式,即静态显示方式和动态扫描显示方式。为节省端口及降低功耗,本系统采用动态扫描显示方式。动态扫描显示方式需解决多位LED数码管的“段控”和“位控”问题,本电路的“段控”(即要显示的段码的控制)通过P1口实现;而每一位的公共端,即LED数码管的“位控”,则由P3口控制。这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态。(2)数码管结构及工作原理LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。LED数码管广泛用于仪表,时钟,车站,家电等场合7。选用时要注意产品尺寸颜色,功耗,亮度,波长等。众所周知,LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。所谓软件译码,即由单片机软件完成从数字到显示码的转换8。从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节。需说明的是当用数据口连接LED数码管adp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系。通常数据口的D0位与a段连接,D1位与b段连接,.,D7位与dp段连接,如表3.1,表3.2所示为用于LED数码管显示的十六进制数和空白字符与P的显示段码。表3.1 各段码位的对应关系段码位D7D6D5D4D3D2D1D0显示段dpgfedcba 表3.2 LED显示段码字型共阳极段码共阴极段码字型共阳极段码共阴极段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3BOH4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H(3)系统显示组成系统的时分显示部件由4只7段共阴LED数码管构成,前两只用于时的显示,后两只用于分的显示8。值得一提的是,在设计中需要实现时与分之间的两个闪烁点,为此,将第三只LED数码管倒置摆放,这样就形成了两个很自然的闪烁点。与此同时,为了能使两点显示能够形象的表示时钟“秒”的变化,设计时,将两个点由P1.7单独控制,每隔一秒使P1.7发送一个正脉冲,从而实现了两个点的闪烁显示,闪烁周期为一秒。时间显示部分的电路也很简单,由三个两位的共阳8段数码管、六盏LED灯,加上一个4511译码驱动电路组成。在显示过程中,单片机将要显示的数字传递给4511芯片,同时通过位选选通要显示的数码管。4511芯片实现将BCD码数字转换为七段数码管段选码通过其输出端输出,同时提供约500mA的电流驱动数码管。4511译码驱动器如图3.7所示:图3.7 数码管译码驱动驱动器CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。CD4511的引脚CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,用以驱动LED。CD4511的工作原理译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态控制。当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数据B、C进行组合,得出四项,然后将输入的数据A、D一起用或非门译码。消隐BI为消隐功能端,该端施加某一电平后,迫使B端输出为低电平,字形消隐。CD4511是一片CMOSBCD锁存/7段译码/驱动器。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障11。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时,B1端应加高电平。另外CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。ag是7段输出,可驱动共阴LED数码管。另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观。4 系统软件设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。4.1 主程序设计主程序的功能是完成系统的初始化,程序流程如图4.1所示。 开始 系统初始化 初始化并启动定时器时分缓冲区的数值输出到显示 图4.1 系统主程序流程图4.2 中断程序设计中断程序(如图4.2所示)完成时间计数,时间调整,误差消除等功能。中断采用AT89C51内部T0中断实现,当时间到达125ms 8,即1分钟时,分种数增加1,到达1小时,则小时数增加1,并将分、时的个位、十位放入显示缓冲器。当分别到达60min、24h时,则对它们清零,以便重新计数12。定时中断器是否到1秒N Y秒值增加1是否整分N Y 分钟值增加1 是否整时 NY小时值增加1中断返回图4.2 定时计数中断程序定时计数中断程序:MOV TMOD,#00H ;写控制字MOV TH0,#0F0H ;写定时常数MOV TLO,#0CHSETB TR0 ;启动T0SETB ETO ;允许T0中断SETB EA ;开放CPU中断AJMP $4.3 延时程序设计定时器T0初始化启动T0 T0溢出NY重装T0初值20ms?N Y延时返回 图4.3 延时流程图延时程序:1MS延时程序,LED显示程序用DL1MS: MOV R6,#14H DL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET; 20MS 延时程序,采用调用显示子程序以改善LED的显示闪烁现象DS20MS:ACALL DISPLAY ACALL DISPLAY ACALL DISPLAY RET4.4 按键程序设计开始秒按键按NY秒加1分按键按NY分加1小时按键按下NY小时加1显示时间结束图4.4 按键流程图5 仿真与调试本次设计功能不是很多,只能实现时分秒的显示、闹钟功能、计时功能,设计比较简单。在仿真过程中,六位数码显示管显示不出数字,通过多次的修改程序并在PROTEUS软件环境中进行仿真,最终还是没有解决了这个问题,同时也透露出本人在单片机电路设计和程序设计方面的不足,所以仿真没有成功。软件调试是在仿真图上进行,这样会比较方便,可以及时发现错误,分析错误,以便于修改,直至结果正确,然后再下载程序,看是否符合要求,程序的调试,是需要极大的耐心和毅力的,同时,要有心细严谨的态度去调试,直至程序无误,可以生成可下载.hex文件。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。结论经过这段时间的设计,我学到了许多东西,对课本上内容的理解加深了很多。本设计采取单片机AT89C51、按键开关与数码显示管、译码驱动器和一些简单的辅助电路相结合实现多功能数字电子钟的设计,此次设计主要实现了数字电子钟的时间显示功能、闹钟功能、计时功能、计数功能,并通过Proteus软件的学习,完成程序编制及调试。在设计整体电路图的过程中,用Proteus画出原理图,不过一开始对这款软件不是很熟悉,所以查阅课本重新学习了Proteus软件,最后画出了电路原理图。这次设计让我看到理论与实践的差别和联系,理论固然重要,然而我们要在实践中发现错误,并解决错误,也提高了自己的动手能力和实际解决问题的能力。在这次毕业设计过程中,我收获了许多,我仍然记得将设计做出来的时候,那种喜悦的心情,是难以形容的。参考文献1卢毅,赖杰.VHDL与数字电路设计M.北京:科学出版社,2002.2刘丽华.专用集成电路设计方法M.北京:北京邮电大学出版社,2000.3王炜,包卫东,张茂军.虚拟仿真系统导论M.长沙:国防科技大学出版社,2007.4单美贤,李艺.虚拟实验原理与教学应用M.北京:教育科学出版社,2005.5周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真M.北京:北京航天空航天出版社,2006.6周润景,张丽娜,刘印群.PROTEUS入门实用教程M.北京:机械工业出版社,2007.7张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:电子工业出版社,2007.8陈思明,卞玺,孙宝娟.电脑仿真技术的应用与研究J.福建电脑,2006.9李继萍,张岩.仿真技术在教学中的应用J.内蒙古石油化工.2005.10李学礼,林海峰.基于Proteus软件的单片机实验室建设J.单片机与嵌入式系统应用,2005.11林志琦,郎建军,李会杰.基于PROTEUS的单片机可视化软硬件仿真M.北京:北京航空航天大学出版社,2006.12夏益民.电子设计自动化技术发展对电子类专业教学的影响J.广东工业大学学报,2005.13Laurent Villegas.Autothermal syn-gas production from model gasoline over Ni, Rh and Ni-Rh/Al2O3 monolithic catalysts.J.International Journal of Hydrogen Energy,2014 14Albreht Alen.Applicability of analytical and preparative monolithic columns to the separation and isolation of major whey proteins.J.Journal of Chromatography A,2012 15Han Y.Response surface modeling for the inactivation of Escherichia coli O157:H7 on green peppers (Capsicum annuum L.) by chlorine dioxide gas treatments.J.Journal of Food Protection,2001 16Troconis-Torres Ivonne Guadalupe.Biochemical and molecular analysis of some commercial samples of chilli peppers from Mexico.J.JOURNAL OF BIOMEDICINE AND BIOTECHNOLOGY,2012,2012 17OHara C M.Classification of Proteus vulgaris biogroup 3 with recognition of Proteus hauseri sp. nov., nom. rev. and unnamed Proteus genomospecies 4, 5 and 6.J.International Journal of Systematic and Evolutionary Microbiology,2000致谢在毕业论文即将完成之际,首先我要特别感谢我的论文指导老师张焕梅老师。在论文写作的过程中,我得到了张老师的大量指导的帮助,张老师的谆谆教导和殷殷鼓励给了我极大的支持,张老师极其认真的工作作风以及严谨的教学态度令我受益匪浅。在此,学生谨向张老师致以崇高的敬意和由衷的感谢。其次,还要感谢所有在大学期间传授我知识的老师,每一位老师的悉心教导都是我完成这篇论文的基础。回首大学生涯,有过渴望、有过追求、有成功也有失败。在这个过程中我不断的挑战自我,充实自我,为我的未来打下了坚实的基础。总之四年的大学生涯,使我的知识水平、思想境界、工作能力等方面都上了一个层次。感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予了我很多素材,还在论文的撰写和排版过程中提供热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师批评和指正。附录一、系统硬件原理图附录二、源程序清单定时计数中断程序:MOV TMOD,#00H ;写控制字MOV TH0,#0F0H ;写定时常数MOV TLO,#0CHSETB TR0 ;启动T0SETB ETO ;允许T0中断SETB EA ;开放CPU中断AJMP $时间调整程序:SETMM: cLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电) MOV R2,#06H ;进入调时状态,赋闪烁定时初值 SETB ET1
展开阅读全文