倒数计时器系统的设计修改Word格式文档下载.docx
- 文档编号:8299215
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:16
- 大小:134.86KB
倒数计时器系统的设计修改Word格式文档下载.docx
《倒数计时器系统的设计修改Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《倒数计时器系统的设计修改Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。
1.3本章小结8
第二章时钟芯片DS12C887........................................9
2.1.DS12C887的概述和功能特点.9
2.2.DS12C887的内部功能10
2.3硬件接口电路11
2.4本章小结12
第三章整体方案设计及工作原理................................133.1典型硬件电路原理图.......................................13
3.2各模块功能介绍14
3.2.1时钟信号产生单元14
3.2.2控制模块15
3.2.3显示模块16
3.3倒计时转换计算17
3.4本章小结17
第四章本设计相应部分的软件介绍..............................184.1总体功能程序实现的流程图...................................18
4.2时钟芯片DS12C887的初始化程序19
4.3实时时间的读取程序21
4.4倒计时部分的软件实现原理................................22
4.5本章小结23
结论与结果分析.................................................24
参考文献........................................................25
致谢............................................................26
前言
在实际应用当中,倒计时器随处可见,2008年的奥运会,即将举行的高考都用到倒计时系统,方便大家准确的知道需要准备的时间,DS12C887是美国达拉斯半导体公司最新推出的时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,同时它与目前IBMAT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。
采用DS12C887芯片设计的时钟电路勿需任何外围电路并具有良好的微机接口。
用作计时器的方法有几种,但是随着单片机应用越来越广泛,倒计时系统采用单片机和时钟芯片制作比较简单且价格合理,工作稳定可靠、响应速度快、实时性强,具有数字显示和工作状态显示功能,是大部分工作人员的首选。
电路中采用了AT89C51,4511DS12C887等,采用共阴型数码管,本设计原理简单,易懂,操作方便,实用性能比较好。
倒计时系统是单片机系统的简单应用。
它是由硬件和软件相配合使用的,这样可以弥补硬件成本高,结构复杂的特点,提高响应速度。
该倒计时系统经济实惠,适用于家庭以及学校。
第一章设计要求与方案论证
实现倒计时系统可以有多种方案,不同的方案要求与实现的功能不一样,本章主要是对几种方案进行论证与比较,选择比较合适的方案来实现基本要求和功能。
1.1设计要求
本设计要求用单片机和日历时钟芯片实现一个倒计时系统,能够准确显示出设定时间和当前时间之间的倒计时间值,分别用8个LED数码管显示天数、时、分、秒的数值。
1.2方案论证
1.2.1方案一用PCF8563实现户外倒计时系统
该系统的总体设计方案:
整个系统由时钟芯片、中央处理单元、译码、驱动、显示、键盘几部分构成。
系统框图如图1.1所示
户外倒计时显示LED点阵
驱动ULN2003
时钟芯片PCF8563
时间显示数
码管
译码MC14513
移位LED
中央处理器CPU
选择74LS145
键盘
图1.1方案一的系统设计框图
这个方案的实用性较强的倒计时系统,可用于大型节日或活动的倒计时间实现。
硬件电路和软件实现都比较完整。
但它硬件结构较为复杂,简单的设计制作难以完成该电路,因此不适合选用这个方案来实现。
1.2.2方案二基于GPS的高精度倒计时系统的实现
基于GPS的高精度,倒计时牌是卫星测时技术,计算机技术及通信技术三者的有机结合。
从功能模块上看,整个系统分为GPS测时接收系统和时钟显示系统,它主要完成以下功能:
(1)定时接收GPS卫星发送的数据并进行识别和缓存;
(2)对GPS测时数据进行格式转换,以使编码格式适于接收;
(3)在给定时间内刷新DS12C887型时钟的时间;
(4)读DS12C887时间,进行倒计时换算并显示。
基于GPS的高精度倒计时牌的硬件结构较为简单,它包括控制模块和显示模块两部分。
本方案系统的精度高,硬件电路和软件实现都比较简单,能准确显示出倒计时的天数、时、分、秒,具有很强的实用功能。
但其硬件电路的实现价格比较高。
不适合简单的实验性制作使用,因此不采用这个方案来实现。
1.2.3方案三用AT89C51和时钟芯片DS12C887来实现倒计时系统
这个方案是用实时时钟芯片DS12C887来产生实时的时间,单片机读取时钟芯片DS12C887的时间后,将其转化为与预设时间的倒计时间。
再通过显示部分显示出来,显示部分由8个LED数码管构成,能够显示出倒计时的天数、时、分、秒的数值。
其原理框图如图1.2所示
数码管显示部分
单片机处理单元
时钟信号产生单元
图1.2方案三原理框图
这个方案的硬件结构和软件实现都较简单,所用硬件价格合理。
很适合用较简单的设计制作来实现倒计时系统的功能。
所以本设计选用这个方案来实现目的,本设计将详细论述这一方案的实现过程及原理。
1.3本章小结
该章明确了设计要求与任务,详细阐述了用PCF8563实现户外倒计时系统、基GPS的高精度倒计时系统的实现、用AT89C51和时钟芯片DS12C887来实现倒计时系统这三种方案的优缺点,对每个方案都进行了说明并比较最终确定了选用AT89C51和时钟芯片DS12C887来实现倒计时系统,这个方案比较适合实验制作软件硬件都比较完整,硬件价格合理,以下章节都对选定的这个方案进行详细的解释和原理说明。
第2章时钟芯片DS12C887
实时时钟芯DS12C887是这个设计方案选用的核心部件之一,本章对DS12C887的芯片做一下简单介绍以及其内部功能有一个简单了解,对它如何与单片机联合工作以及硬件接口电路。
2.1DS12C887的概述和功能:
DS12C887是美国达拉斯半导体公司最新推出的时钟芯片,。
,可广泛用于各种需要较高精度的实时时钟场合中。
其主要功能如下:
(1)内含一个锂电池,断电情况运行十年以上不丢失数据。
(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。
(3)二进制码或BCD码表示时间、日历和定闹。
(4)12小时或24小时制,12小时时钟模式带有PM和AM指导,有夏令时功能。
(5)MOTOROLA和INTEL总线时序选择
(6)SQW方波输出信号
(7)有128个RAM单元与软件音响器,其中14个作为字节时钟和控制寄存器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能。
2.2DS12C887的内部功能
2.2.1时间、日历和定闹单元
时间和日历信息通过读相应的内存字节来获取,时间、日历和定闹通过写相应的内存字节设置或初始化,其字节内容可以是十进制或BCD形式。
时间可选择12小时制或24小时制,当选择12小时制时,小时字节搞位为逻辑“1”代表PM。
时间、日历和定闹字节是双缓冲的,总是可访问的。
每秒钟这10个字节走时1秒,检查一次定闹条件,如在更新时,读时间和日历可能引起错误。
三个字节的定闹字节有两种使用方法。
第一种,当定闹时间写入相应时、分、秒定闹单元,在定允许闹位置高的条件下,定闹中断每天准时起动一次。
第二种,在三个定闹字节中插入一个或多个不关心码。
不关心码是任意从C到FF的16进制数。
当小时字节的不关心码位置位时,定闹为小时发生一次由于相线小时和分钟定闹字节置不关心位时,每分钟定闹一次;
当三个字节都置不关心位时,每秒中断一次。
2.2.2更新周期
DS12C887每秒执行一次更新周期还比较每一定闹字节与相应的时间字节,如果匹配号三个字节都是不关心码,则产生一次定闹中断。
(如表2.1所示)
表2.1周期中断速率和输出方波频率
RS3
RS2
RS1
RS0
周期性中断频率
SQW方波频率
不允许
无输出
1
30.517us
32.768khz
61.035us
16.384khz
122.070us
8.192khz
244.141us
4.096khz
488.281us
2.048khz
976.5625us
1.024khz
1.953125ms
512hz
3.90625ms
256hz
7.8125ms
128hz
15.625ms
64hz
31.25ms
32hz
62.5ms
16hz
125ms
8hz
250ms
4hz
500ms
2hz
2.3硬件接口电路
DS12C887时钟芯片和89C51单微机的接口电路如图2.1所示。
模式选择脚MOT拉地,不选择INTEL时序,选择DS12C887时钟芯片的地址总线及AS端口和89C51单片微机的P0及ALE端直接相联,DS、R/W读写控制线与单片机的RD、WR控制线相连;
DS12C887的高位地址由89C51单片机的P2.7端口来片选,则DS12C887的高8位地址定为7FH,而其低8位地址则由芯片内部各单元的地址来决定(00H~3FH);
DS12C887的中断输出端IRQ和89C51的外部INT0端相联,给单片机提供中断信号;
DS12C887的SQW端口产生方波输出信号。
P0
INT0
ALE
RD
WR
P2.7
89C51
AD0-AD7
SQW
IRQ
AS
DS
R/W
CS
RESET
MOT
DS12C887
方波输出
VCC
1K
0.005uf
图2.1DS12C887与单片机的硬件连接图
2.4本章小结
前一章论证并选定了设计方案,在选定的方案中使用了DS12C887这个核心的时钟芯片。
该章主要对用到的时钟芯片DS12C887进行了详细阐述,
首先从整体上阐述了DS12C887的功能与作用。
它是一种高精度、实用性很强的实时时钟芯片;
它具有掉电存储功能,并内置充电电路可以掉电后保持运行以及外围设计电路简单等特点
接下来介绍了DS12C887内部地址单元的分配情况,以及内部各个单元的作用,主要讲到了该设计方案中使用到的秒、时、分、日、月、年等地址,其中00H---09H单元存放了秒到年的时间值,还介绍了对DS12C887的读写方式和内部四个寄存器A、B、C、D,以及简要介绍了DS12C887的周期中断速率和输出方波频率。
最后,以本方案中采用的硬件电路图为例,介绍了DS12C887与单片机的典型硬件连接电路。
其中包括了数据读写部分的连接、DS12C887工作方式的选择以及读写方式的设定,还简要介绍了该设计中用到的DS1C2887的几个主要引脚。
第3章整体方案设计及工作原理
前面两章论证了本倒计时系统的设计方案并介绍了所选方案中用到的核心芯片DS12C887的功能和使用。
本章将在前面的基础之上,从整体设计思路到各个功能模块的作用和原理进行详细的阐述。
3.1典型硬件原理图
图3.1典型硬件原理图
DS12C887输出时间信息,经CPU处理后,转换为倒计时时间,并显示出来,所以本设计共可分为三个主要部分:
时钟信号产生模块、控制模块、显示模块三个单元。
3.2各模块功能介绍
3.2.1时钟信号产生单元
该部分以实时时钟芯片DS12C887为核心,单片机对时钟芯片DS12C887初始化后,这部分将产生高精度的年、月、日、时、分、秒等实时时间信息,如图3.2所示。
图3.2时钟产生模块
3.2.2控制模块
图3.3控制模块
这一部分是整个电路的核心模块,包含两个主要的控制部分,如图3.3所示。
第一部分主要由AT89C51单片机控制,首先对时钟芯片进行初始化,使之按照预定的时间接着往下计时,输出实时时钟信号。
并通过P0端口读取当前时间值,然后将读取的时间信息转化为与设定时间之间的倒计时间值。
再通过P1端口的控制,将倒计时间信息送显示模块进行显示。
第二部分是由按键控制的时间调整部分;
首先可以在控制模块加入一个按键开关,使当前时间和倒计时时间进行相互转换显示,按一下开关显示当前时间,再按一下开关则转换成倒计时时间显示。
这样用一个按键控制了倒计时间和当前时间之间的相互转换显示。
其次是通过按键实现时间的设定与调整,可以分为对当前时间的设定与调整以及对预设时间的调整。
具体的实现方法是:
先使用单片机的一个外部中断INT0接一个按键K1,按下K1后进入中断服务子程序,进入中断服务程序后,先对DS12C887的秒、分、小时、日期、月份、年所在的地址单元作清零的操作,在用K3键进行加1操作,调整和设定时间值,秒调整后按下K2键确认调整并将地址指针指向分单元地址,对分进行设定,依次类似可进行其他时间值的调整。
3.2.3显示模块
图3.4显示模块
该模块是整个电路的倒计时间显示部分。
由8个LED数码管和相应显示驱动芯片4511和74LS138构成,如图3.4所示。
要显示8位数值,所以选择用动态按位扫描的方式进行显示.动态显示方式中,LED数码显示器轮流工作,为了防止闪烁现象,每个LED数码管刷新频率必须大于25HZ,即相邻两次点亮时间间隔要小于40ms。
4511芯片和74LS138同时工作,4511芯片送入数据给LED然后74LS138通过选通确定哪个数码管显示。
位扫描码由P1.4,P1.5,P1.6译码产生。
所以选择用动态按位扫描的方式进行显示.8个数码管显示出倒计时时间的天数、时、分、秒的数值。
3.3倒计时转换计算
具体实现如下,以从现在到2007年07月01日为例来说明其设计,首先由单片机读DS12887的时间单元,并将其存放在以30H为起始的单元中,先读取月份,利用查表的方法计算其下月份到预定时间的天数。
然后再利用查表方式判断其月份是31天、30天、28天或29天,然后将查表得到的天数减去读取日期,这样将二个天数相加就会得到实际天数。
进行时、分、秒的计算时,首先要把2007年07月01日0点0时0秒转化为2007年06月29日23点59时59秒,这样,直接利用时、分、秒相减就能得到相差的时、分、秒。
3.4本章小结
本章是整个设计方案的整体实现章节,对本方案的具体实现方法从总体再到各个功能模块都作了详细的论述。
在本章的首节首先给出了根据系统的设计要求及选用的方案所设计的整体硬件电路原理图。
由时间单元、控制单元和显示部分三个模块构成。
以实时时钟芯片DS12C887为核心的时间产生模块讲述了该方案中用于计算倒计时的实时时间值的产生来源。
控制模块(本系统的核心模块)阐述了该模块如何实现对整个系统的控制,分为对时钟芯片DS12C887的初始化;
时间值的读取,倒计时的计算与转换;
对显示部分的控制等。
显示模块讲述了本系统中显示部分的工作原理,介绍了这个倒计时系统的动态扫描显示等内容。
本章的最后就如何将读取的当前时间转化为与预设时间之间的倒计时时间作了详细介绍并给出了转化的具体方法。
第4章本设计相应部分的软件介绍
到第三章为止,已经将这个倒计时系统从理论论证再到系统整体硬件电路进行了详细论述,本章将根据该方案的设计思路以及硬件电路图,介绍该倒计时系统的软件实现原理和思路。
4.1总体功能程序实现的流程图
主程序流程如图4.1所示
开始
计算倒计时时间
显示当前时间
F0=1
INT0
读DS12C887的内容
初始化
显示
YN
返回
图4.1主程序流程图
4.2主流程图的简要解释说明:
首先对时钟芯片DS12C887进行初始化,设定当前时间值,初始化后时钟芯片将以设定时间为基准开始运行,然后通过89C51的P0口读取DS12C887的当前时间值,然后通过判断是否是中断如果是中断则显示当前时间,如果不是中断则计算倒计时时间并显示出来。
4.2.1时钟芯片DS12C887的初始化程序
假定采用每天24小时制的非夏令时,时间数据格式为BCD码,初始化时间为2007年05月20日00时00分00秒,1k方波输出。
时钟芯片每一秒种向单片机申请中断一次,一方面让单片机修改一次时钟显示,另一方面也给单片微机系统提供时间基准。
DS12C887时钟芯片的初始化写入程序
MOVDPTR,#7F0AH;
寄存器A地址
MOV
A,#70H:
DV2~DV0=111,分频复位
MOVX
@DPTR,AA
INC
DPTR:
到寄存器B地址
A,#8AH:
停止更新,允许更新中断,选BCD码,24小时制
@DPRT,A
MOV
DPL,#00H,秒单元地址
CLR
A:
00秒
@DPTR,A
MOVDPL,#02H;
分单元地址
00分
MOVX@DPTR,A
MOVDPL,#04H;
时单元地址
MOV
A,#09H;
9时
DPL#07H;
日单元地址
A,@01H:
1日
MOVX @DPTR,A
INC DPTR:
到月单元地址
MOV A,#01H;
1月
到年单元地址
A,#96H;
1996年
DPTR;
到寄存器A地址
A,#26H;
DV2~DV0=010
RS3~RS0=0110
@DPTR,A:
周期中断率为976.5625μs,允许方波输出,频率1kHz
到寄存器B
A,#1AH;
每秒更新一次,允许方波输出,24小时制
时钟开始运行
4.3实时时间的读取程序
DS12C887的日历时钟通常有中断和查询两种方法读出。
但在读数据时,首先要判断数据是否更新结束,只有在数据更新结束时数据读出才有效。
本设计方案采用查询法读取数据:
查询寄存器A的UIP位,当UIP=0时,数据更新结束,可以读出。
以下是采用查询方法,从秒至年单元的数据读出后存入89C51内部RAM的30~35H单元中,该部分程序流程图和读取程序如图4.2所示。
转到DS12C887的时间单元
UIP=0
N
计算倒计时记时
读取时间数据
Y
显示
图4.2读取时间的流程图
对DS12C887的时间读取程序(查询法)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 倒数 计时器 系统 设计 修改