




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 JIU JIANG UNIVERSITY毕 业 论 文(设 计)题 目 倒数计时器系统的设计 英文题目院 系 电子工程学院专 业 电子信息工程技术姓 名 余江川年 级 二零零五级指导教师 查兵二零零七年十二月倒数计时器系统的设计摘 要在实际应用当中,倒数计时器随处可见,比如在香港回归和澳门回归时,大陆同胞以设立倒计时器的方式表示其迫切的心情。在单片机应用系统中, 常常需要一个实时时钟供定时,测控之用。单片机中都集成有定时器,配合软件可以作为系统的时间基准,构成一个实时时钟。通常定时器工作在中断方式,因此它将频繁地中断CPU 的工作。倒计时系统中采用DS12C887时钟芯片实现其功能。倒计时系
2、统中采用8个LED 显示日时分秒。【关键词】单片机、时钟芯片DS12C887、倒计时Design of Countdown systemAbstractMiddle the practice application, countdowns obviously everywhere, for instance when Hong Kong and the Macao return, the main land compatriot sets up countdowns the way to express urgent mood. In the monolithic integrated cir
3、cuit application systems, a long need real-time clock supplies fixed time, using of the observation and control. In the monolithic integrated circuit all integrates has the timer, coordinates software to be allowed to take the system the time datum, constitutes a real-time clock. Usual timer in seve
4、rance way, therefore it frequently will sever CPU the work. In countdown the system uses the DS12887 clock chip to realize its function. In countdown the system uses when 8 LED show minutes and seconds.【Key words】 :Single Chip Microprocessor 、Clock chip DS12C887 、Countdown目录前言.5第一章 设计要求与方案论证.61.1设计要
5、求 . . 61.2 方案论证 . 613本章小结 . 8第二章 时钟芯片DS12C887 .92.1. DS12C887的概述和功能特点 . . . 92.2. DS12C887的内部功能 . . 102.3 硬件接口电路 . 112.4 本章小结 . 12第三章 整体方案设计及工作原理.13 3.1典型硬件电路原理图 .133.2 各模块功能介绍 . 143.3 倒计时转换计算 . 173.4 本章小结 . 17第四章 本设计相应部分的软件介绍.184.1总体功能程序实现的流程图. .184.2时钟芯片DS12C887的初始化程序 . . 194.3实时时间的读取程序 . . 214.4倒
6、计时部分的软件实现原理 .224.5 本章小结 . 23结论与结果分析 .24参考文献.25致谢.26前 言在实际应用当中,倒计时器随处可见,2008年的 奥运会,即将举行的高考都用到倒计时系统,方便大家准确的知道需要准备的时间,DS12C887是美国达拉斯半导体公司最新推出的时钟芯片,采用CMOS 技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,同时它与目前 IBM AT计算机常用的时钟芯片MC146818B 和DS1287管脚兼容,可直接替换。采用DS12C887芯片设计的时钟电路勿需任何外围电路并具有良好的微机接口。用作计时器的方法有几种,但是随着单片机应用越来越广泛,倒
7、计时系统采用单片机和时钟芯片制作比较简单且价格合理,工作稳定可靠、响应速度快、实时性强,具有数字显示和工作状态显示功能,是大部分工作人员的首选。 电路中采用了AT89C51,4511 DS12C887等,采用共阴型数码管,本设计原理简单,易懂,操作方便,实用性能比较好。倒计时系统是单片机系统的简单应用。它是由硬件和软件相配合使用的,这样可以弥补硬件成本高,结构复杂的特点,提高响应速度。该倒计时系统经济实惠, 适用于家庭以及学校。第一章 设计要求与方案论证实现倒计时系统可以有多种方案,不同的方案要求与实现的功能不一样,本章主要是对几种方案进行论证与比较,选择比较合适的方案来实现基本要求和功能。1
8、.1 设计要求本设计要求用单片机和日历时钟芯片实现一个倒计时系统,能够准确显示出设定时间和当前时间之间的倒计时间值,分别用8个LED 数码管显示天数、时、分、秒的数值。1.2 方案论证该系统的总体设计方案:整个系统由时钟芯片、中央处理单元、译码、驱动、显示、键盘几部分构成。系统框图如图1.1所示 图1.1方案一的系统设计框图这个方案的实用性较强的倒计时系统,可用于大型节日或活动的倒计时间实现。硬件电路和软件实现都比较完整。但它硬件结构较为复杂,简单的设计制作难以完成该电路,因此不适合选用这个方案来实现。基于GPS 的高精度,倒计时牌是卫星测时技术,计算机技术及通信技术三者的有机结合。从功能模块
9、上看,整个系统分为GPS 测时接收系统和时钟显示系统,它主要完成以下功能:(1) 定时接收GPS 卫星发送的数据并进行识别和缓存; (2)对GPS 测时数据进行格式转换,以使编码格式适于接收; (3)在给定时间内刷新DS12C887型时钟的时间; (4)读DS12C887时间,进行倒计时换算并显示。基于GPS 的高精度倒计时牌的硬件结构较为简单,它包括控制模块和显示模块两部分。本方案系统的精度高,硬件电路和软件实现都比较简单,能准确显示出倒计时的天数、时、分、秒,具有很强的实用功能。但其硬件电路的实现价格比较高。不适合简单的实验性制作使用,因此不采用这个方案来实现。这个方案是用实时时钟芯片DS
10、12C887来产生实时的时间,单片机读取时钟芯片DS12C887的时间后,将其转化为与预设时间的倒计时间。再通过显示部分显示出来,显示部分由8个LED 数码管构成,能够显示出倒计时的天数、时、分、秒的数值。其原理框图如图1.2所示图1.2 方案三原理框图 这个方案的硬件结构和软件实现都较简单,所用硬件价格合理。很适合用较简单的设计制作来实现倒计时系统的功能。所以本设计选用这个方案来 实现目的,本设计将详细论述这一方案的实现过程及原理。1.3 本章小结该章明确了设计要求与任务,详细阐述了用PCF8563实现户外倒计时系统、基GPS 的高精度倒计时系统的实现、用 AT89C51和时钟芯片DS12C
11、887来实现倒计时系统这三种方案的优缺点,对每个方案都进行了说明并比较最终确定了选用AT89C51和时钟芯片DS12C887来实现倒计时系统,这个方案比较适合实验制作软件硬件都比较完整,硬件价格合理,以下章节都对选定的这个方案进行详细的解释和原理说明。第二章 时钟芯片DS12C887实时时钟芯DS12C887是这个设计方案选用的核心部件之一,本章对DS12C887的芯片做一下简单介绍以及其内部功能有一个简单了解,对它如何与单片机联合工作以及硬件接口电路。2.1 DS12C887的概述和功能:DS12C887是美国达拉斯半导体公司最新推出的时钟芯片,。采用DS12C887芯片设计的时钟电路勿需任
12、何外围电路并具有良好的微机接口。,可广泛用于各种需要较高精度的实时时钟场合中。其主要功能如下: (1内含一个锂电池,断电情况运行十年以上不丢失数据。 (2计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。 (3二进制码或BCD 码表示时间、日历和定闹。(412小时或24小时制,12小时时钟模式带有PM 和AM 指导,有夏令时功能。 (5MOTOROLA和INTEL 总线时序选择 (6)SQW 方波输出信号(7)有128个RAM 单元与软件音响器,其中14个作为字节时钟和控制寄存器,114字节为通用RAM ,所有RAM 单元数据都具有掉电保护功能。2.2 DS12C887的内部功能时间和日历
13、信息通过读相应的内存字节来获取,时间、日历和定闹通过写相应的内存字节设置或初始化,其字节内容可以是十进制或BCD 形式。时间可选择12小时制或24小时制,当选择12小时制时,小时字节搞位为逻辑“1”代表PM 。时间、日历和定闹字节是双缓冲的,总是可访问的。每秒钟这10个字节走时1 秒,检查一次定闹条件,如在更新时,读时间和日历可能引起错误。三个字节的定闹字节有两种使用方法。第一种,当定闹时间写入相应时、分、秒定闹单元,在定允许闹位置高的条件下,定闹中断每天准时起动一次。第二种,在三个定闹字节中插入一个或多个不关心码。不关心码是任意从C 到FF 的16进制数。当小时字节的不关心码位置位时,定闹为
14、小时发生一次由于相线小时和分钟定闹字节置不关心位时,每分钟定闹一次;当三个字节都置不关心位时,每秒中断一次。DS12C887每秒执行一次更新周期还比较每一定闹字节与相应的时间字节,如果匹配号三个字节都是不关心码,则产生一次定闹中断。(如表2.1所示)表2.1 周期中断速率和输出方波频率 2.3硬件接口电路DS12C887时钟芯片和89C51单微机的接口电路如图2.1所示。模式选择脚MOT 拉地,不选择INTEL 时序,选择DS12C887时钟芯片的地址总线及AS 端口和89C51单片微机的P0及ALE 端直接相联,DS 、R/W读写控制线与单片机的RD 、WR 控制线相连;DS12C887的高
15、位地址由 89C51单片机的P2.7端口来片选,则DS12C887的高8位地址定为7FH ,而其低8位地址则由芯片内部各单元的地址来决定(00H3FH ; DS12C887的中断输出端IRQ 和89C51的外部INT0端相联,给单片机提供中断信号;DS12C887的SQW 端口产生方波输出信号。 1K图2.1 DS12C887与单片机的硬件连接图2.4本章小结前一章论证并选定了设计方案,在选定的方案中使用了DS12C887这个核心的时钟芯片。该章主要对用到的时钟芯片DS12C887进行了详细阐述,首先从整体上阐述了DS12C887的功能与作用。它是一种高精度、实用性很强的实时时钟芯片;它具有掉
16、电存储功能,并内置充电电路可以掉电后保持运行以及外围设计电路简单等特点接下来介绍了DS12C887内部地址单元的分配情况,以及内部各个单元的作用,主要讲到了该设计方案中使用到的秒、时、分、日、月、年等地址,其中00H-09H 单元存放了秒到年的时间值,还介绍了对DS12C887的读写方式和内部四个寄存器A 、B 、C 、D ,以及简要介绍了DS12C887的周期中断速率和输出方波频率。最后,以本方案中采用的硬件电路图为例,介绍了DS12C887与单片机的典型硬件连接电路。其中包括了数据读写部分的连接、DS12C887工作方式的选择以及读写方式的设定,还简要介绍了该设计中用到的DS1C2887的
17、几个主要引脚。第三章 整体方案设计及工作原理前面两章论证了本倒计时系统的设计方案并介绍了所选方案中用到的核心芯片DS12C887的功能和使用。本章将在前面的基础之上,从整体设计思路到各个功能模块的作用和原理进行详细的阐述。3.1典型硬件原理图 图3.1典型硬件原理图DS12C887输出时间信息,经CPU 处理后,转换为倒计时时间,并显示出来,所以本设计共可分为三个主要部分:时钟信号产生模块、控制模块、显示模块三个单元。3.2 各模块功能介绍该部分以实时时钟芯片DS12C887为核心,单片机对时钟芯片DS12C887初始化后,这部分将产生高精度的年、月、日、时、分、秒等实时时间信息,如图3.2所
18、示。 图3.3控制模块这一部分是整个电路的核心模块,包含两个主要的控制部分,如图3.3所示。 第一部分主要由AT89C51单片机控制,首先对时钟芯片进行初始化,使之按照预定的时间接着往下计时,输出实时时钟信号。并通过P0端口读取当前时间值,然后将读取的时间信息转化为与设定时间之间的倒计时间值。再通过P1端口的控制,将倒计时间信息送显示模块进行显示。第二部分是由按键控制的时间调整部分;首先可以在控制模块加入一个按键开关,使当前时间和倒计时时间进行相互转换显示,按一下开关显示当前时间,再按一下开关则转换成倒计时时间显示。这样用一个按键控制了倒计时间和当前时间之间的相互转换显示。其次是通过按键实现时
19、间的设定与调整,可以分为对当前时间的设定与调整以及对预设时间的调整。具体的实现方法是:先使用单片机的一个外部中断INT0接一个按键K1,按下K1后进入中断服务子程序,进入中断服务程序后,先对DS12C887的秒、分、小时、日期、月份、年所在的地址单元作清零的操作,在用K3键进行加1操作,调整和设定时间值,秒调整后按下K2键确认调整并将地址指针指向分单元地址,对分进行设定,依次类似可进行其他时间值的调整。 图3.4显示模块该模块是整个电路的倒计时间显示部分。由8个LED 数码管和相应显示驱动芯片4511和74LS138构成,如图3.4所示。要显示8位数值,所以选择用动态按位扫描的方式进行显示.
20、动态显示方式中,LED 数码显示器轮流工作,为了防止闪烁现象,每个LED 数码管刷新频率必须大于25HZ ,即相邻两次点亮时间间隔要小于40ms 。4511芯片和74LS138同时工作,4511芯片送入数据给LED 然后74LS138通过选通确定哪个数码管显示。位扫描码由P1.4,P1.5,P1.6译码产生。所以选择用动态按位扫描的方式进行显示.8个数码管显示出倒计时时间的天数、时、分、秒的数值。3.3倒计时转换计算具体实现如下,以从现在到2007年07月01日为例来说明其设计,首先由单片机读DS12887的时间单元,并将其存放在以30H 为起始的单元中,先读取月份,利用查表的方法计算其下月份
21、到预定时间的天数。然后再利用查表方式判断其月份是31天、30天、28天或29天,然后将查表得到的天数减去读取日期,这样将二个天数相加就会得到实际天数。进行时、分、秒的计算时,首先要把2007年07月01日0点0时0秒转化为2007年06月29日23点59时59秒,这样,直接利用时、分、秒相减就能得到相差的时、分、秒。3.4 本章小结本章是整个设计方案的整体实现章节,对本方案的具体实现方法从总体再到各个功能模块都作了详细的论述。在本章的首节首先给出了根据系统的设计要求及选用的方案所设计的整体硬件电路原理图。由时间单元、控制单元和显示部分三个模块构成。以实时时钟芯片DS12C887为核心的时间产生
22、模块讲述了该方案中用于计算倒计时的实时时间值的产生来源。控制模块(本系统的核心模块)阐述了该模块如何实现对整个系统的控制,分为对时钟芯片DS12C887的初始化;时间值的读取,倒计时的计算与转换;对显示部分的控制等。显示模块讲述了本系统中显示部分的工作原理,介绍了这个倒计时系统的动态扫描显示等内容。本章的最后就如何将读取的当前时间转化为与预设时间之间的倒计时时间作了详细介绍并给出了转化的具体方法。第四章 本设计相应部分的软件介绍到第三章为止,已经将这个倒计时系统从理论论证再到系统整体硬件电路进行了详细论述,本章将根据该方案的设计思路以及硬件电路图,介绍该倒计时系统的软件实现原理和思路。4.1
23、总体功能程序实现的流程图主程序流程如图4.1所示 图4.1 主程序流程图4.2主流程图的简要解释说明:首先对时钟芯片DS12C887进行初始化,设定当前时间值,初始化后时钟芯片将以设定时间为基准开始运行,然后通过89C51的P0口读取DS12C887的当前时间值,然后通过判断是否是中断如果是中断则显示当前时间,如果不是中断则计算倒计时时间并显示出来。假定采用每天24小时制的非夏令时,时间数据格式为BCD 码,初始化时间为2007年05月20 日00时00分00秒,1k 方波输出。时钟芯片每一秒种向单片机申请中断一次,一方面让单片机修改一次时钟显示,另一方面也给单片微机系统提供时间基准。DS12
24、C887时钟芯片的初始化写入程序MOV DPTR,#7F0AH;寄存器A 地址MOV A,#70H:DV2DV0=111,分频复位MOVX DPTR,AAINC DPTR:到寄存器B 地址MOV A,#8AH:停止更新,允许更新中断,选BCD 码,24小时制 MOVX DPRT,AMOV DPL,#00H,秒单元地址CLR A:00秒MOVX DPTR,AMOV DPL,#02H;分单元地址CLR A:00分MOVX DPTR,AMOV DPL,#04H;时单元地址MOV A,#09H;9时MOVX DPTR,AMOV DPL#07H;日单元地址MOV A,01H:1日MOVX DPTR ,A
25、INC DPTR :到月单元地址MOV A ,01H ;1月MOVX DPTR,AINC DPTR:到年单元地址MOV A,#96H;1996年MOVX DPTR,AINC DPTR;到寄存器A 地址MOV A,#26H;DV2DV0=010 RS3RS0=0110MOVX DPTR,A :周期中断率为976.5625µs,允许方波输出,频率1kHz INC DPTR:到寄存器BMOV A,#1AH;每秒更新一次,允许方波输出,24小时制MOVX DPTR,A :时钟开始运行4.3 实时时间的读取程序DS12C887的日历时钟通常有中断和查询两种方法读出。但在读数据时,首先要判断数据
26、是否更新结束,只有在数据更新结束时数据读出才有效。 本设计方案采用查询法读取数据:查询寄存器A 的UIP 位,当UIP=0时,数据更新结束,可以读出。以下是采用查询方法,从秒至年单元的数据读出后存入89C51内部RAM 的3035H 单元中,该部分程序流程图和读取程序如图4.2所示。 图4.2 读取时间的流程图对DS12C887的时间读取程序(查询法)MOV DPTR,#7F0AH;寄存器A 地址MOVX A,DPTRWAIT:JB ACC,7,WAIT;UIP=1则等待更新完毕MOV DPL,00H;秒地址MOV R0,#30H;取目标首地址MOVX A,DPTR;取秒数据MOV R0,A
27、:送入80C51的内部RAM 缓冲区INC DPTR:移指针INC R04.4 倒计时部分的软件实现原理倒计时流程如图4.3所示。图4.3 倒计时转化流程图以从现在到2007年07月01日为例来说明其设计,首先由单片机读DS12C887的时间单元,并将其存放在以30H 为起始的单元中,先读取月份,利用查表的方法计算其下月份到预定时间的天数。然后再利用查表方式判断其月份是31天、30天、28天或29天,然后将查表得到的天数减去读取日期,这样将二个天数相加就会得到实际天数。进行时、分、秒的计算时,首先要把2007年07月01日 0点0时0秒转化为2007年06月29日23点59时60秒,这样,直接
28、利用时、分、秒相减就能得到相差的时、分、秒。这只是一个简单的固定时间设置,有待于实现的功能是调解预定时间,可以在中断INT1加一个开关,这个开关就可以调解预定时间。按下中断INT1进入中断程序,然后按开关K2后开始进入时间调整,先调整天然后按下K3确认,指针自动指向小时,在按下K2进行调整,重复操作调整好时间后自动跳出中断程序, 就修改了预设时间。4.5 本章小结本章是该倒计时系统设计的软件实现部分。从整体的软件设计流程图到各个主要的子程序部分分别进行讲述。首先介绍了本系统整体功能实现的流程图,先对时钟芯片DS12C887进行初始化,然后通过89C51的P0口读取DS12C887的当前时间值,
29、再计算出读取时间与预设定时间之间的倒计时时间值并送显示模块显示出来。在时间读取子程序的介绍中,解释对DS12C887读取时间的方法。DS12C887的日历时钟通常有中断和查询两种方法读出,这里以查询法为例作了介绍。最后是本倒计时系统在软件设计中最为关键的部分倒计时时间转化方法。通过实例和程序流程图详细介绍了在软件实现过程中是如何将得到的当前时间转化为与预设时间之间的倒计时的。结论与结果分析这个设计主要是单片机的一个应用系统,利用单片机和实时时钟芯片构成了一个简单实用的倒计时系统。通过数码管的显示可以清晰的看出设定时间与现在实时时间之间的倒计时间值。通过这个必要设计的学习和写作过程,使我比较系统
30、的了解和掌握了51系列单片机的基本原理及其应用。在这个系统的制作与测试过程中,遇到的第一个问题是对时钟芯片的初始化问题,因为DS12C887并不需要每次复位后进行初始化,如果每次运行都初始化的话就会不断的重复修改它的基准时间,也就读不出准确的当前时间。因为DS12C887具有掉电存储功能,系统掉电后它可以继续维持时钟的运行状态。所以只对DS12C887进行一次的初始化后再换用不带初始化的程序,只需要读取时间和转换显示就避免了这个问题。遇到的第二个问题是倒计时时间的显示模块,因为要进行单个的显示,显示时一分钟倒计时完后前一位不能自动的减一。这主要是因为对要显示的数进行位操作时处理不当造成的,后来通过设定DS12C887的时间读取方式,使之能直接读出二进制码,再进行倒计时计算和位操作就解决了这个问题。这个系统的硬件现在已经实现的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑设计规范与法规理解考核试卷
- 安全专业培训讲义动火作业安全专业知识考核试卷
- 液压系统在塑料加工机械中的应用考核试卷
- 年金保险业务在保险业风险防范中的举措考核试卷
- 煤制合成气产品质量控制考核试卷
- 企业成长合同标准文本
- 木材的防火性能和阻燃技术考核试卷
- 产品保密合同范例
- 农资加盟合作合同标准文本
- 出租单元合同标准文本
- GB∕T 41441.1-2022 规模化畜禽场良好生产环境 第1部分:场地要求
- 社区卫生服务站管理制度管理办法
- 大型活动报备申请表(样本)
- 品质异常奖罚规定001
- 2006年上海市中考数学试题及答案(共10页)
- 螺纹标准螺距表
- 新能源小客车购车充电条件确认书
- 扁桃体癌的护理查房
- SF6气体检漏仪说明书
- 最新高人总结长期股权投资-通俗易懂式讲解资料
- 离心泵设计计算说明书
评论
0/150
提交评论