基于单片机的多功能数字电子钟_本科论文.doc

基于单片机的多功能数字电子钟_本科论文.doc

ID:14378870

大小:300.00 KB

页数:34页

时间:2018-07-28

上传者:zhaojunhui
基于单片机的多功能数字电子钟_本科论文.doc_第1页
基于单片机的多功能数字电子钟_本科论文.doc_第2页
基于单片机的多功能数字电子钟_本科论文.doc_第3页
基于单片机的多功能数字电子钟_本科论文.doc_第4页
基于单片机的多功能数字电子钟_本科论文.doc_第5页
资源描述:

《基于单片机的多功能数字电子钟_本科论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

XXXXXX毕业设计XXXXXXX毕业设计题目基于单片机的多功能数字电子钟姓名xxx学号xxx专业班级xxx分院xxx指导教师xxxxxxx年xxx月xxx日30 XXXXXX毕业设计摘要多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”,“分”,“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。简要介绍了LED显示的发展状况和其所特有的优势,简述了该系统中一些重要芯片的基本工作原理,着重论述了硬件线路各个模块的设计思想。数码管与单片机的接口采用动态显示技术,利用了时钟芯片的系统自带电池功能来实现断电时保存一些重要数据,以便来电时正确显示信息的功能。模块化的设计和调试方法在整个课题研究过程中至关重要,事实上在任何设计中也同样关键和有效。关键词:数字钟系统单片机LED液晶显示器30 XXXXXX毕业设计ABSTRACTMulti-functiondigitalclockintheapplicationisalreadyverycommon.SCMasadigitalclockfromthecorecontroller,itcanachievetheclocksignaltiming,itstimedatabytheMCUoutput,useofmonitorsdisplayed.Keyboardcanbecarriedoutattheschool,timing,andotherfunctions.Outputdevicescanbeusedliquidcrystaldisplaymonitorsanddigitaltechnologytodisplaythetechnology.    ThesystemusesMCUwithtime,theschoolfeaturessuchasthedigitalclock,SCMAT89C51isalsousedasthecorecomponentsoftheLEDdigitaldisplaydynamicdisplay"when"and"points"and"seconds"ofthemoderntimedevice.Inadditionaschoolfunction,stopwatchfunction,andthetimerfunctiontoachieveMCUuseofthedigitalclockwithprogrammingflexibilitytofacilitatetheexpansionoffunctionaladvantages.ThispapergivesageneraldescriptionofdevelopmentsituationofLEDdisplayandadvantagesofLEDproductsasdisplay.Italsointroducesthebasicfunctionsofsomerelativevitalchipsbriefly.Solutionsofthekeypartsarealsointroducedwithparticulardescription.DynamicdisplayinterfacebetweenLEDdisplayandMCUareused.Italsocansavesomeimportantdataatthemomentofpower-offbymakinguseofRTCchip'ssystemself-containedbatteryinordertomakesureaccurateinformationarepresentwheneverpower-on.Modularizeddesignanddebugaremostimportantinthewholecourseofthetopicresearch.Infact,itisaswellasvitalandeffectiveinanyotherdesigncourse.Keywords:DigitalclocksystemSCMLEDLCDMonitor30 XXXXXX毕业设计目录1引言11.1选题的目的和意义11.2主要技术的背景11.2.1发展历史11.2.2现状21.2.3发展趋势22系统总体设计方案42.1系统功能实现总体设计思路42.2LED显示器52.2.1LED显示器的结构52.2.2LED的接线形式62.3AT89C51简介62.3.1AT89C51主要性能参数72.3.2AT89C51单片机的功能特性概述72.4各部分功能实现102.5系统工作原理102.6时钟各功能分析及图解112.6.1电路各功能图解分析112.6.2电路功能使用说明133软件总体设计方案143.1主程序流程图143.2总中断程序流程144仿真结果分析19结束语20致谢22参考文献23附录2430 XXXXXX毕业设计1引言1.1选题的目的和意义随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。现代的数字钟不仅需要数字电路技术而且需要模拟电路技术和单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用数字钟通过数字电路实现时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。在此次设计中我们将用到集成电路。集成电路是一种微型电子器件,采用一定的工艺将包含三极管、二极管、电阻、电容等元件及其相互连线的整个电路,集中制造在一个或几个很小的半导体晶片或介质基片上,再经引线和封装,成为具有所需功能的微型结构。每片芯片(半导体晶片或介质基片)集成的元件数叫做集成度,小规模集成电路的集成度是1~100,中规模集成电路的集成度是100~1000,大规模集成电路的集成度是1000~10万,超大规模集成电路的集成度是10万~100万,极大规模集成电路的集成度大于100万。集成电路具有体积小、引出线和焊接点少、寿命长、成本低、可靠性高、性能好等优点,广泛应用于电子计算机、通讯设备、导弹、雷达、人造卫星和各种遥控、遥测设备中。1.2主要技术的背景1.2.1发展历史集成电路是信息产业和高新技术的核心,30 XXXXXX毕业设计是推动国民经济和社会信息化的关键技术。集成电路的产业规模和技术水平已成为国家综合国力的一个重要标志。集成电路是随着计算机技术的发展而不断进步,1946年2月15日世界上第一台通用电子数字计算机使用了18000个电子管,1500个继电器以及其他器件,安装在面积为9*15平方米的室内。在20世纪50年代中期第二代电子计算机问世,它是以晶体管代替了电子管,此时第一个集成电路诞生了,它包括一个晶体管、两个电阻和一个电阻、电容的组合.后来集成电路工艺日趋完善,大部分电路元件都已经以集成电路的形式出现,甚至在约1平方厘米的芯片上,就可以集成上百万个电子元件[1]。在1967年和1977年,分别出现了大规模集成电路和超大规模集成电路,不断的完善和改进计算机的性能与规模。但我国集成电路相对于世界先进水平存在一定的差距,所以有发展本国集成电路的需要。1.2.2现状现在我国集成电路产业已经经过30多年的发展现已形成了近百家的产业规模,其中具备一定设计规模的单位有20多家,其中北京华大、大唐、深圳华威和无锡矽科四家设计公司的销售额超过了1亿元。2000年,我国集成电路总产量为58.80亿块,销售额近200亿元,产量和销售额分别比1999年增长50.3%和75%。并且集成电路芯片目前主要采用5~6英寸硅片、0.8~1微米技术,大部分设计公司的技术水平在0.8~0.5微米之间,最高设计水平可达0.35微米。不少设计公司可以设计上万门的集成电路产品,而北京华大和深圳华威最高可设计80万门的电路。目前国内的通信芯片行业取得了突破性进展,例如南京东南大学射频与光电集成电路研究所设计的第一批芯片已成功通过测试,其中的3个芯片还达到世界先进水平,填补了我国高速CMOS集成电路设计的技术空白,在此基础上开发出的实用产品可以打入光纤通信接口设备市场。多家外国著名公司也纷纷在中国建立起集成电路设计公司。1.2.3发展趋势中国发展集成电路的主要目标为:达到大规模生产150mm和0.8微米的技术水平;200mm和0.5微米的制造技术的产业化;提高集成电路的设计能力以满足市场需求;跟踪0.3-0.4微米和先进封装技术的研发;开发200mm的硅片制造技术并在国内开始生产等。未来10年是我国微电子产业发展的关键时期。重点要推进超大规模集成电路和新技术的产业化。我国集成电路市场潜力巨大,30 XXXXXX毕业设计是因为近年来因特网持续爆炸式增长、移动通信终端设备市场的迅猛发展,以及数码相机、手持电脑等电子产品市场的兴旺,尤其是移动通信业的高速发展成为推动半导体产业新一轮发展的强大动力。信息产业的高速发展,为集成电路产业提供了巨大的市场空间。未来几年,我国集成电路市场需求主要来自以下几个方面:1.通信运营业的高速发展对集成电路提出新的需;2.国民经济和社会信息化建设给电子信息制造业创造了一个新市场;3.随着我国经济结构的战略性调整,传统产业改造升级,提高设计和制造水平推进机电一体化,为各行业提供先进和成套的技术准备,又会给集成电路产业带来新的市场。   综观中国集成电路的设计概况,可以看到从20世纪80年代末开始,经过90年代初的创业期,现正进入它的发展期,21世纪将是中国设计业的成熟期。30 XXXXXX毕业设计2系统总体设计方案本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。2.1系统功能实现总体设计思路本系统可模拟电子时钟,实现时钟,秒表,校时功能,主从CPU数据处理、键盘控制与数据显示。主控系统能响应按键,并对其进行相应的处理,再把其对应的结果数据在数码管LED上显示。具体设计基本任务是:1.用LED数码管显示时间,且能显示时、分、秒的24小时制的数字钟。2.具有校时功能,具体方法:设置三个按钮,其中两个按钮分别对“时”、“分”进行校时,另一个按钮则实现对“秒”位清零。闹铃电路数码管显示键盘控制区AT89C51芯片图2.1设计原理框图此设计原理框图如图2.1所示。方案一1.计时用的“秒”脉冲信号可用实验板中提供的800Hz分频产生。800Hz信号同时作为动态扫描显示电路的时钟信号。2.时、分校时控制,当校时按钮按下时,可对时、分计数器CP端输入秒脉冲来加速计数速度来达到校时目的。方案二1.用单片机定时器中断原理实现数码管动态10ms循环扫描,同时完成计数功能,并经过多次中断产生“秒”信号。30 XXXXXX毕业设计2.可控制按键实现时,分,秒加一,减一功能。考虑到设计硬件简单原则,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,故本设计采用方案二。详细元器件列表如表2.1所示:表2.1详细元器件列表AT89c511片7SEG-MPX8-CA-BlUE八位数码管1片NPN三极管1个104p电容6个30p电容2个10K电阻6个560欧姆电阻8个200欧姆电阻1个100欧姆电阻6个2.2LED显示器LED就是lightemittingdiode,发光二极管的英文缩写。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED的技术进步是扩大市场需求及应用的最大推动力。最初,LED只是作为微型指示灯,在计算机、音响和录像机等高档设备中应用,随着大规模集成电路和计算机技术的不断进步,LED显示器正在迅速崛起,近年来逐渐扩展到证券行情股票机、数码相机、PDA以及手机领域。LED显示器集微电子技术、计算机技术、信息处理于一体,以其色彩鲜艳、动态范围广、亮度高、寿命长、工作稳定可靠等优点,成为最具优势的新一代显示媒体,目前,LED显示器已广泛应用于大型广场、商业广告、体育场馆、信息传播、新闻发布、证券交易等,可以满足不同环境的需要。2.2.1LED显示器的结构LED显示块是发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是七段LED。七段LED内部由7个条形发光二极管和一个圆点发光二极管组成。30 XXXXXX毕业设计图2.2八段数码管本设计中采用的是7SEG-MPX8-CA-BlUE八位数码管,该数码管为蓝色数码管,每一段数码管内部相当于有一个蓝色发光二极管。发光二极管具有单向导电性,只有当外加的正向电压使得正向电流足够大时才发光,它的开启电压比普通二极管的大,红色的在1.8V-2.2V之间,绿色的约为2V。正向电流越大,发光越强。内部结构如图2.2所示。2.2.2LED的接线形式根据内部发光二极管的接线形式分成共阴极型(公共点接地)和共阳极型(公共点接电源)。计算机与七段显示器的接口,分成静态显示接口和动态显示接口。静态接口是每个七段显示器单独用一组寄存器控制,将其公共点接地。动态接口使用两组寄存器。几个显示器的七段用一组寄存器控制,该寄存器称作段选寄存器。另一组寄存器控制这几个七段显示器的公共点,控制这几个显示器逐个循环点亮。适当选择循环速度,利用人眼“视觉暂留”效应,使看上去好像这几个七段显示器同时在显示一样。控制公共点的寄存器称为位选寄存器。本次设计中采用共阳极型接法,公共级通过一个PNP三极管与+12V的电源相连。接口采用动态显示。2.3AT89C51简介AT89C51是美国ATMEL公司生产的低电压、高性能的CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随即存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准的MCS-51指令系统兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机适合于许多较为复杂控制应用场合。AT89C51单片机内部主要有以下部件:8031CPU、振荡电路、总线控制部件、中断控制部件、片内Flash存储器、并行I/O接口、定时器和串行I/O接口。30 XXXXXX毕业设计AT89C51是89系列单片机的标准型,它是与MSC-51系列单片机兼容的。在内部含有4KB或8KB可重复编程的Flash存储器,可进行1000次擦写操作。全静态工作为0-24MHZ,有3级程序缓存器,内部含有128-256字节的RAM,有32条可编程I/O口线,2-3个16位定时/计数器,6-8个中断源,通用的串行接口,低电压空闲及电源下降方式。AT89C51单片机内部CPU、4KB的FPEROM,128的RAM,两个16位的定时/计数器T0和T1,4个8位的I/O端P0、P1、P2、P3等组成。单片微机内部最核心的部分是CPU。CPU主要功能是产生各种控制信号,控制存储器、输入/输出端口的数据传输、数据的算数运算、逻辑运算以及操作处理等,CPU按其功能可分为运算器和控制器两部分。控制器由程序计数器PC、指令存储器、实时控制与条件转移逻辑电路等组成。它的功能是对来自存储器中的指令进行译码,通过实时控制电路在限定的时间发出各种操作所需要的内部和外部的控制信号,使各部分协调工作,完成指令规定的操作。运算器由算术逻辑器部件ALU、累加器ACC、暂存器、程序状态字寄存器PSW,BCD码运算调整电路等组成。2.3.1AT89C51主要性能参数AT89C51与MCS-51控制系列产品兼容,片内有4K可在线重复编程闪速电擦除存储器(FlashMemory),存储器可循环写入/擦除1000次;存储器数据保存时间可达10年;工作电压范围宽:Vcc可由2.7V到6V;全静态工作可由0HZ到16MHZ;中继结构具有3级所存保护;128*8位内部RAM;32条可编程I/O线;两个16位定时器/计数器;中断结构具有5个中断源和2个中断优先级;可编程全双工串行通信;空闲状态维持低功耗和掉电状态保存储存内容。2.3.2AT89C51单片机的功能特性概述AT89C51提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。1.MCS-51单片机的中断系统(1)中断源MCS-51单片机是一个多中断源的单片机,有五个中断源:外部中断0、定时器0中断、外部中断1、定时器1中断和串行接收或发送中断。各中断源的中断处理程序入口地址如下表2.2所示:30 XXXXXX毕业设计表2.2中断向量表中断源入口地址外部中断00003H定时器0000BH外部中断10013H定时器1001BH串行口0023H(2)中断控制1)中断的开放或禁止是由中断允许寄存器IE控制的。IE的格式如下:EA//ESET1EX1ET0EX0①EA-中断总允许位。EA=1,开放总中断,而各个中断源的中断请求是允许还是禁止,分别由各自的中断允许位确定;EA=0,禁止一切中断。②ES-串行口中断允许位。③ET1和ET0分别是定时器T1和T0的中断允许位。④EX1和EX0分别是外部中断1(INT1)和外部中断0(INT0)的中断允许位。以上五个中断允许位的意义是:0为禁止中断,1为允许中断。2)中断源优先级控制-中断优先级寄存器IP。MCS-51单片机有高、低两个中断优先级,5个中断源可由程序设置为高优先级中断或低优先级中断,实现二级中断嵌套。一个正在执行的低优先级中断源的中断服务程序,能被高优先级中断源所中断,但不能被同级别的另一个中断源所中断。MCS-51单片机的5个中断源的优先级由中断优先级寄存器IP的相应位设定。IP格式如下:///PSPT1PX1PT0PX0①PS是串行口的中断优先级控制位。②PT1和PT0分别是定时器T1和T0的中断优先级控制位。③PX1和PX0分别是外部中断INT1和INT0的中断优先级控制位。中断优先级控制位的意义是:0为设定为低优先级中断源;1为设定为高优先级中断。如果同优先级的多个中断请求同时出现时,则按MCS-51单片机的CPU查询次序确定那个中断请求被响应,其查询次序为:IE0、TF0、IE1、TF1、RI或TI。30 XXXXXX毕业设计2.MCS-51的定时系统在控制系统中,常常要求有一些实时时钟以实现定时或延时控制,如定时中断、定时检测、定时扫描等等,也往往要求有计数器能对外部事件计数。MCS-51单片机有2个定时器,称为定时器0(T0)和定时器1(T1)。(1)定时器的结构MCS-51单片机的定时器由计数器0、计数器1、方式控制寄存器和定时器控制寄存器组成。计数器0和计数器1分别由8位计数器TH0、TL0和TH1和TL1构成。TH0、TL0、TH1、TL1是不能位寻址的特殊功能寄存器,通过对TH0、TL0、TH1、TL1的初始化编程来控制T0和T1的计数初值。MCS-51单片机的两个计数器TH0、TL0和TH1、TL1可以构成16位的计数器、13位的计数器和8位的计数器。计数器是定时器T0和T1的核心,它可以对引线T0和T1来的外部事件计数;也可以对单片机的机器周期计数。一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。这样,不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。计数器是加法计数器,所以预置的计数初值应为计数值的补码。(2)定时器的工作方式MCS-51单片机的T0有方式0、方式1、方式2和方式3四种工作方式。T1有方式0、方式1和方式2三种工作方式。工作方式控制寄存器TMOD:TMOD寄存器是不能位寻址的特殊功能寄存器,用于控制T1和T0的工作方式。TMOD的高半字节和低半字节的定义相同,高半字节用于控制T1,低半字节用于控制T0,其中,GATE是门控位。GATE为1时,定时器的计数器受外部引线INT0或INT1输入电平的控制,输入高电平计数,输入低电平停止计数,这时可以用于测量在INTx引线出现的正脉冲宽度;GATE为0时,定时器的计数不受INT0或INT1引线的控制。C/T是定时器和计数器选择位。C/T为1,选择计数器方式,计数器THi和TLi对Ti引线输入的外部事件计数;C/T为0,选择定时器方式,计数器THi和TLi对机器周期进行计数。M1和M0是定时器的工作方式选择位。M1和M0这2位有00-11四个状态,分别选择方式0(13位定时器)、方式1(16位定时器)、方式2(8位自动重装载定时器)和方式3(T0分成两个8位的定时器)。30 XXXXXX毕业设计2.4各部分功能实现1.单片机发送的信号通过程序控制最终在数码管上显示出来。2.单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。3.为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。4.单片机通过控制闹铃电路来完成定时闹钟的功能。2.5系统工作原理设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。图2.3详细电路功能图本系统的设计电路如图3.3所示,左边按键控制时分秒加一减一操作,右边开关切换数码管显示时钟,秒表,倒计时定时器等功能。右上角是八位一体的数码管LED,用于显示。数码管左边的上拉电阻具有自动拉高P0I/O口的功能。本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”30 XXXXXX毕业设计规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。2.6时钟各功能分析及图解2.6.1电路各功能图解分析1.时钟运行图仿真开始运行时,或按下仿真软件的开始按键时,时钟从12:00:00开始运行,其中K3键对时进行调整,K2对分钟进行调整,K6键可以让钟表显示暂停。时钟运行图如图2.4所示:图2.4时钟运行图2.秒表计时图当按下K1键进入秒表计时状态,K6键是秒表暂停键,可按K4键跳出秒表计时状态。如图2.5所示:图2.5秒表计时图(3)闹铃设置图及运行图30 XXXXXX毕业设计当按下k5,开始定时,分别按k2调分,k3调时设置闹铃时间,然后按下k4键恢复时钟运行状态(图2.6)当闹铃设置时间到时,蜂鸣器将发出10秒钟蜂鸣声(图2.7)图2.6时钟运行状态图图2.7闹铃状态图30 XXXXXX毕业设计该数字钟是用一片AT89C51单片机通过编程去驱动8个数码管实现的。通过6个开关控制,从上到下6个开关K1-K6按键的功能分别为:K1键是切换至秒表;K2键是调节时间,每调一次时加1;K3键调节时间,每调一次分加1;K4键从其它状态切换至时钟状态;K5是切换至闹钟设置状态,也可以对秒表清零;K6键是秒表暂停.控制键分别与P1.0-P1.5口连接.其中:A通过P2口和P3口去控制数码管的显示如图所示P2口接数码管的a——g端,是控制输出编码,P3口接数码管的1——8端,是控制动态扫描输出.B从P0.0输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候发光,若有乐曲可以去驱动扬声器实现。2.6.2电路功能使用说明1.各个控制键的功能:可对时间进行校准调节(只能加1);按下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加1、分加1键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、归零,如果要重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。2.AT89C51单片机是整个数字时钟系统的核心所在,它通过预先要实现的功能对其进行编程。当程序经调试完全正确后,将程序烧录到单片机内,以完成用户对数字时钟各种需求的直接操作。30 XXXXXX毕业设计3软件总体设计方案3.1主程序流程图软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示。如图3.1:开始定时器及中断定时器初始化是否设定参数执行显示程序执行时钟秒表闹铃设定程序NY图3.1主程序流程图3.2总中断程序流程图3.2中断流程图图3-2中断流程图30 XXXXXX毕业设计恢复初值保A护Tcount加1Tcount1=100?秒数值time1.second加1second归零Time1.second=60?分数值time.minute加1time.second归零Time1.second=60?实数值time.hour加1time1minute归零Time1.hour>23时数值time1.hour归零执行闹钟程序p0.0=1闹钟程序是否执行完全判断时间与闹钟是否一致返回主程序图3.2主程序流程图时间的显示通过此中断程序来控制,并且通过与设定的时间进行比较来判断是否让闹铃工作。程序中包含时间的设定,如设定tcount来使秒等工作,进而来控制分和时。如上图图3.2。1.秒表中断程序流程秒表功能通过另一程序实现。通过保护主程序的数据来进行秒表功能,设置秒表的具体显示方法如图3.3所示。30 XXXXXX毕业设计恢复初值保护NY输出字码,中断结束,返回上级主程序分计数器加1,秒计数器归零,即minute++,sec=0秒计数器加1,10ms计数器归零,即sec++,ms=010ms计数器加1Nms>100?Ysec>60?3.3秒表中断程序流程图2.按键程序流程图3.4为时钟和闹钟的调节,程序中通过扫描来判断按键是否按下进行时间和闹钟的调节[7]。30 XXXXXX毕业设计图3.4按键程序流程图图3.5为进入中断和清零图,程序中通过扫描来判断按键是否按下进行执行相应的中断来事实现相应的功能。30 XXXXXX毕业设计判断分加键tminute是否按下,p1.1=0判断秒表miaobiao1是否按下判断清零键miaobiao2是否按下,p1.3=0清零所有的计数器,各个显示的字码进入秒表中断,执行秒表中断程序返回上级主程序YNYNN图3.5中断和清零程序流程图30 XXXXXX毕业设计4仿真结果分析此时钟设计是利用protues仿真软件进行仿真,基本上实现了课程设计要求实现的功能。硬件部分设置了的六个按键。当按键一按下时,进入秒表显示状态,秒表开始计时,当按键六按下时,秒表暂停;当按键四按下时恢复到时间显示功能;当按键二按下时,进入调分状态,按一次,分加一,60一循环;按键三按下时,进入调时状态,按一次,时加一,60一循环;按键五按下时,进入闹铃设置功能,紧接着按下按键二和按键三进行时和分的设置,再按下按键4恢复显示时间,当显示的时间和定时设置的时间一致时,蜂鸣器发出蜂鸣声,蜂鸣时间我们设置为10秒。另外,闹铃电路有音乐闹钟的扩展的功能(可以将蜂鸣器换成扬声器再加一段音乐程序即可实现)。调试阶段,出现一些问题。比如,实际小时显示到29才归零,分钟显示到60才进一……经过软件调试,以上问题均一一排除,结果达到预期目标。但时间有限,部分扩展功能不能及时实现,比如音乐闹铃。30 XXXXXX毕业设计结束语通过自己的不懈努力,我终于完成了毕业设计任务书上的任务要求。功能上基本达标:时钟的显示,秒表显示,校时功能,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需要;秒表功能,可以满足比赛计时的需要;调时功能,方便快捷;校时功能保证了时钟准确和可靠性,还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求功能。但是由于时间比较短,出现部分不足:使用定时和秒表功能时时间显示功能停止运行。经讨论只是软件部分还不完善。不过,我相信如果时间充足,将软件改进,我完全可以很好实现所有功能。可见技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的数字时钟。数字时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。无可否认机械时代已经过去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多去生活中探询所需要的。对于上述所提到的研究课题,我们应尽量考虑到人的因素,增强时钟的实用性和操作性,为使用者提供切实的方便,营造一种舒适的生活氛围。所以,在设计的时候,应该从多方面、多角度去考虑问题,而且应该进一步提高时钟的质量。另外,在本次设计的过程中,我发现很多的问题,虽然以前没有做过这样的设计但通过这次设计我学会了很多东西,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,比如写一个程序看其功能很少认为编写程序简单,但到编的时候才发现一些细微的知识或低级错误经常犯做不到最后常常失败,所以有些东西只有学精弄懂并且要细心才行,只学习理论有些东西是很难理解的,更谈不上掌握。经过大量查找资料和老师的不断指点,我们将所设计的六位数码管电子钟焊接成功,在这个过程中,我们了解了各个元器件的识别与测量,也了解了AT89C2051单片机及其引脚功能。同时明白了六位数码管电子钟的工作原理并实现了其功能。本程序设计时,只用了一个定时器T0,其他的中断全部关断,定时器工作在两个8位自动加载初始值状态。简短的定时中断程序只负责时间的计数和进位功能,这是保证走时精确。有三个轻触式按键:模式设定键K1,加调整键K2,减调整键K3。此数字钟采用了一只NPN型的三极管及蜂鸣器为闹时讯响电路。30 XXXXXX毕业设计通过这次的毕业设计,我对自己的动手能力有了信心。面临着就业,我将充分发挥我的主观能动性和在学校学到的一切知识。为母校添砖加瓦,为自己的前程奋斗!这次毕业设计的顺利进行,我深刻明白了理论知识与社会实践相结合的道理,从总得到了以前书本知识所不曾得到的知识。更加明白了如今信息时代电子技能知识的重要性。增强了我对实际工艺技术、电子技术和设备技术等方面的认识,掌握了分析处理方法,调试、计算等基本技能的训练,并具备了一定程度的实际工作能力。面对如此激烈的市场竞争体系,只有努力掌握好电子技能知识方可在竞争中立于不败之地,我对从事电子产品的开发和研究充满了兴趣。本次毕业设计是我的电子研发之路的良好开端。我会以此为契机,在日后的工作中深入学习、加深研究,在实际工作中创造自己的价值。30 XXXXXX毕业设计致谢首先,感谢学校四年来对我的培养。本课题的前期准备以及整个研究过程是在黄翠翠老师的耐心指导下完成的,她严谨的治学态度、扎实的理论基础、全身心投入工作的精神以及对学生尽心尽力的态度给了我极大的帮助与鼓励,使我受益匪浅,在此谨对她表示崇高的敬意和衷心的感谢!还要衷心感谢其他所有对本课题设计和论文撰写有过帮助的老师和同学。30 XXXXXX毕业设计参考文献[1]MCS_51单片机应用教程清华大学出版社.李叶紫.王喜斌.胡辉.孙东辉.编著.2008:15-16[2]单片机应用技术指导书.陆剑.河南工业职业技术学院2005:25-28[3]单片机系统设计与实践.汪道辉.电子工业出版社2006:50-59[4]51系列单片机设计实例.北京航空航天大学出版社:2006:81—89[5]单片机应用系统设计与实现.辛友顺、胡永生、薛小玲.福建科学技术出版社:2005:184-193[6]单片机开发与实例.黄庆华、张永格.电子工业出版社:2006:127-162[7]MCS-51单片机原理与应用(C语言版).闫玉德、俞红.机械工业出版社:2004:49-104[8]单片机典型模块设计实例导航.人民邮电出版社:2004:85-90[9]《单片机应用技术》.刘守义、王静霞.西安电子科技大学出版社.2002:95-98[10]单片机&DSP外围数字IC技术手册(第2版).李朝青.北京.北京航空航天大学出版社.2005:102-105[11]中国电子网.http://www.21ic.com.[12]51单片机学习网.http://www.51bs51.com.[13]电子电路图网.http://www.cndzz.com.[14]RichardJ.Higgins.DigitAndImitateIntegratedElectronics.北京.机械工业出版社.1985:169-213[15]IntroductoryCircuitsforElectricalandComputerEngineering.James.W.NilssonSusanA.Riedel.北京.电子工业出版社.2007:56-5930 XXXXXX毕业设计附录根据流程图,经过认真分析得出控制电路的源程序如下:#include#defineucharunsignedchar#defineuintunsignedint#definedelay_time3/*宏定义*/uchark,dat[]={0,0,0,0,0,0,0,0};uinttcount,t,u;uchardat1[]={0,0,0,0,0,0,2,1};uchardat2[]={0,0,0,0,0,0,0,0};ucharalarms[]={0,0,0,0,0,0,0,0};uchardis_bit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};unsignedcharcodeSEG7[11]={0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/0x80,/*8*/0x90,/*9*/0xBF,/*-*/};/*数字显示数组*/sbitmiaobiao1=P1^0;sbittminute=P1^1;sbitthour=P1^2;sbitmiaobiao2=P1^3;sbitalarm=P1^4;sbitP0_0=P0^0;sbitP1_5=P1^5;sbitP1_6=P1^6;sbitP1_7=P1^7;/*端口定义*/ucharms=0;ucharflag=0;ucharsec=0;ucharminit=0;structtime{ucharsecond;ucharminute;ucharhour;}time1;ucharn,i;voiddelay(n){while(n--){for(i=120;i>0;i--);}}/*延时子程序*/voidmodify(void){EA=0;30 XXXXXX毕业设计if(thour==0){if(flag==0){dat1[6]++;delay(280);if(dat1[6]>9){dat1[6]=0;dat1[7]++;}elseif((dat1[7]>1)&&(dat1[6]>3)){dat1[7]=0;dat1[6]=0;}}if(flag==1){alarms[6]++;delay(300);if(alarms[6]>9){alarms[6]=0;alarms[7]++;if(alarms[7]>2){alarms[7]=0;}}dat[6]=alarms[6];dat[7]=alarms[7];}}if(tminute==0){if(flag==0){dat1[3]++;delay(280);if(dat[3]>=9){dat1[4]++;dat1[3]=0;if(dat1[4]>5){dat1[4]=0;}}}if(flag==1){alarms[3]++;delay(300);30 XXXXXX毕业设计if(alarms[3]>9){alarms[4]++;alarms[3]=0;if(alarms[4]>5){alarms[4]=0;}}dat[3]=alarms[3];dat[4]=alarms[4];}}if(miaobiao1==0){TR0=0;ET0=0;TR1=1;ET1=1;}if(miaobiao2==0){TR0=1;ET0=1;TR1=0;ET1=0;dat2[0]=0;dat2[1]=0;dat2[3]=0;dat2[4]=0;dat2[6]=0;dat2[7]=0;ms=0;sec=0;minit=0;}if(P1_5==0){TR0=0;ET0=0;TR1=0;ET1=0;}if(alarm==0){TR0=0;ET0=0;TR1=0;ET1=0;flag=1;dat[0]=0;dat[1]=0;dat[2]=10;dat[3]=0;dat[4]=0;dat[5]=10;dat[6]=0;dat[7]=0;}EA=1;30 XXXXXX毕业设计}/*按键扫描*/voidinit(void){TMOD=0x11;TH0=0xDB;TL0=0xFF;TH1=0xDB;TL1=0xFF;ET0=1;//10msET1=1;//TR1=1;TR0=1;tcount=0;ms=0;sec=0;minit=0;EA=1;}/*初始化*/voidtest(void){for(k=0;k<8;k++){P3=dis_bit[k];P2=SEG7[dat[k]];delay(1);P3=0X00;}}/*数字显示*/voidmain(){init();delay(10);while(1){modify();test();}}/*主函数*/Voiddiplay()interrupt1{ET0=0;TR0=0;TH0=0xDB;TL0=0xff;TR0=1;tcount++;if(tcount==100){30 XXXXXX毕业设计time1.second++;tcount=0;dat1[0]=(time1.second)%10;dat1[1]=(time1.second)/10;}if(time1.second==60){dat1[0]=0;dat1[1]=0;time1.second=0;time1.minute++;dat1[3]=(time1.minute)%10;dat1[4]=(time1.minute)/10;}if(time1.minute==60){time1.minute=0;time1.hour++;dat1[6]=time1.hour%10;dat1[7]=time1.hour/10;}if(time1.hour>23){time1.hour=0;}dat[5]=10;dat[2]=10;dat[0]=dat1[0];dat[1]=dat1[1];dat[3]=dat1[3];dat[4]=dat1[4];dat[6]=dat1[6];dat[7]=dat1[7];flag=0;P0=0x01;if((alarms[7]==dat1[7])&&(alarms[6]==dat1[6])&&(alarms[4]==dat1[4])&&(alarms[3]==dat1[3])&&(dat1[1]<1)){P0=0x00;}ET0=1;}voidtime_2(void)interrupt3{EA=0;TR0=0;TH1=0xDB;30 XXXXXX毕业设计TL1=0xFF;TR1=1;ms++;dat2[0]=ms%10;dat2[1]=ms/10;if(ms>=100){ms=0;sec++;dat2[3]=sec%10;dat2[4]=sec/10;if(sec>=60){sec=0;minit++;dat2[6]=minit%10;dat2[7]=minit/10;}}dat[5]=10;dat[2]=10;dat[0]=dat2[0];dat[1]=dat2[1];dat[3]=dat2[3];dat[4]=dat2[4];dat[6]=dat2[6];dat[7]=dat2[7];EA=1;30 XXXXXX毕业设计30

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭