当前位置:文档之家› 单片机控制时钟芯片DS12887的时分秒定时系统设计.

单片机控制时钟芯片DS12887的时分秒定时系统设计.

目录前言 (4)设计简介 (4)总体设计方案 (5)一、系统基本工作原理 (5)二、系统设计框图 (5)硬件系统设计 (6)一、芯片简介 (6)1、单片机89C51 (6)2、时钟芯片DS12887 (9)3、液晶LCD1602 (11)二、总体电路设计 (12)软件系统设计 (13)1、程序流程图 (13)2、程序代码 (14)系统的仿真与调试 (32)心得体会 (33)参考文献 (33)前言数字时钟已经成为人们日常生活中必不可少的必需品,广泛应用于个人家庭以及办公室公共场所,给人们的生活、学习、工作、娱乐带来了极大地方便。

由于数字集成电路技术的发展和采用了新进的石英技术,是数字钟具有走时准确、性能稳定、携带方便等优点。

它还用于计时、自动报时等各个领域。

尽管目前市场上已有现成的数字集成电路芯片出售,价格便宜,使用也方便,但鉴于单片机的定时器功能也可以完成数字中电路的设计,因此进行数字钟的设计是必要的。

在这里我们将以学过的比较零散的电路知识有机的、系统的结合起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。

文中详细论述了以89C51单片机位核心,应用新型时钟芯片DS12887的数字时钟设计原理以及使用的各种芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序代码。

设计简介本设计是以89C51单片机为核心,结合新型实时时钟芯片DS12887,并利用液晶LCD1602显示的数字时钟。

在液晶上显示出年、月、日、以及周几、时、分、秒等信息。

同时辅以硬件电路,实现校时、定时、闹钟等功能。

同时因为DS12887本身的特点,本设计还具有掉电后继续计时的功能。

另外,它的计时周期为24小时,采用24小时制的计时方式,显示满刻度为23时59分59秒,计时范围为2100年前100年,这也是DS12887的计时范围。

本设计的数字时钟,可以通过按键来设置时间,包括年、月、日、周几等信息,同时,也可以通过按键来设置闹钟的时间,不过与设置正常时间相比,仅限于设置时、分、秒。

每按一次按键,蜂鸣器就会发出很短的滴声,当达到设定的时间时,数字时钟会也发出声音,来提醒使用者时间到了。

以上是本设计的大致功能和简介。

总体设计方案一、系统基本工作原理本次设计的题目是单片机控制时钟芯片DS12887的时分秒定时系统设计,可以正常的显示年、月、日、时、分、秒。

本系统利用89C51单片机和时钟芯片DS12887实现具有计时、校时以及定时等功能,同时应用液晶LCD1602动态显示年、月、日、时、分、秒的数字时钟。

本设计总体可大致分为两部分:硬件部分、软件部分。

硬件部分包括:89C51单片机、DS12887时钟芯片、1602LCD液晶显示器。

主要由89C51单片机、实时时钟芯片电路、液晶显示输出电路、键盘输入电路组成等几大部分组成。

软件部分包括了主程序模块,DS12C887模块,LCD1602模块,按键控制模块。

以硬件系统为基础,通过软件编程,实现对硬件系统的控制,从而实现设计的数字时钟的各个功能。

二、系统设计框图图1、系统设计框图硬件系统设计一、芯片简介1、单片机89C51单片机89C51来承担单片机在系统中对其他模块进行控制,是整个系统的核心部件,主要是对其他模块进行控制和数据交换。

89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器。

89C51单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。

89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

89C51的引脚如图3.1所示。

图2、89C51引脚的引脚图89C51的各个引脚的说明如下:VCC:电源电压GND:接地P0口:P0口是一个8位漏极开路的双向I/O口,即地址/数据总线复用口。

作为输出口时,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻,在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示[8]。

在flash编程和校验时,P1口接收低8位地址字节。

表3.1 引脚号第二功能引脚第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR,A)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX @R1,A)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4 个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。

P3口亦作为89C51特殊功能(第二功能)使用,如表3.2所示。

第二功能功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 0INT(外部中断0)P3.3 1INT(外部中断1)P3.4 T0 (定时/计数器0)P3.5 T1 (定时/计数器1)P3.6 W R(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)表3.2 AT89S52特殊功能(第二功能)表此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号。

RST——复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

XTAL1:振荡器反相放大器的输出端及时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端及时钟发生器的输入端。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H~ FFFFH),EA端必须保持低电平(接地)。

需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源VPP。

2、时钟芯片DS12887DS12887是美国DALLAS半导体公司最新推出的8位串行接口并自带RAM的实时日历时钟芯片,内部有14个时钟控制寄存器,包括10个时标寄存器,4个状态寄存器和114 bit作掉电保护用的低功耗RAM。

CPU通过读DS12887的内部时标寄存器得到当前的时间和日历,也可通过选择二进制或BCD码初始化芯片的10个时标寄存器,其4个状态寄存器用来控制和指出DS12887的当前工作状态,114 bit非易失性静态RAM可在掉电时保存一些重要数据。

DS12887功能强大,应用广泛。

DS12C887管脚如图3.2所示。

图3、DS12C887管脚图DS12887引脚功能:GND:接地端VCC:直流电源+5 V电压。

当5 V电压在正常范围内时,数据可读写;当VCC低于4.25 V,读写禁止,计时功能仍继续;当VCC下降到3 V以下时,RAM和计时器被切换到内部锂电池。

MOT(模式选择):MOT引脚接到VCC时,选择MOTOROLA时序,当接到GFND时,选择INTEL时序。

SQW(方波信号输出):SQW引脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。

AD0~AD7(双向地址/数据复用线):总线接口,可与MOTOROLA微机系列和INTEL 微机系列接口。

AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。

DS(数据选通或读输入):DS/RD有2种操作模式,取决于MOT引脚的电平,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总的时刻;在写周期,DS的后沿使DS12887锁存写数据。

选择INTEL时序时,DS称作(RD),RD与典型存储器的允许信号(OE)的定义相同。

R/W(读/写输入):也有两种操作模式。

选MOTOROLA时序时,是一电平信号,指示当前周期是读或写周期,DSO为高电平时,高电平指示读周期,低电平指示写周期;选INTEL时序,信号是一低电平信号,称为WR。

在此模式下,R/W与通用RAM的写允许信号(WE)的含义相同。

CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。

IRQ(中断申请输入):低电平有效,可作微处理的中断输入。

没有中断条件满足时,IRQ处于高阻态。

IRQ线是漏极开路输入,要求外接上接电阻。

RESET(复位输出):当保持低电平时间大于200 ms,保证DS12887有效复位。

DS12887的内部地址分配:地址00H和03H单元取值范围是00H~3BH(十进制为0~59);04H~05H单元按12小时制取值范围是上午(AM)01H~0CH(十进制为1~12),下午(PM)51H~5CH(十进制为81~92),按24小时制取值范围是00H~17H(十进制为0~23);06H单元的取值范围是01H~07H(十进制为1~7);07H 单元取值范围O1H~1FH(十进制为1~31);08H单元取值范围是01H~0CH(十进制为1~12);09H单元取值范围是00H~63H(十进制为0~99)。

相关主题