单片机控制时钟芯片DS12887的时分秒定时系统设计.docx
- 文档编号:26102683
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:16
- 大小:529.77KB
单片机控制时钟芯片DS12887的时分秒定时系统设计.docx
《单片机控制时钟芯片DS12887的时分秒定时系统设计.docx》由会员分享,可在线阅读,更多相关《单片机控制时钟芯片DS12887的时分秒定时系统设计.docx(16页珍藏版)》请在冰豆网上搜索。
单片机控制时钟芯片DS12887的时分秒定时系统设计
课程设计任务书
1.设计目的:
在学习专业基础课和专业课的基础上,主要在电子仪器、微机综合设计与实践、单片机综合应用等几个方面开展实践活动,巩固所学知识、培养动手能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
a)、掌握AT89C51系列单片机软、硬件知识;
b)、掌握时钟芯片DS12887的使用方法;
c)、会设计应用电路、并会对时钟芯片DS12887进行编程处理;
d)、利用protel绘制相关电路图。
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
1)设计说明书、相关图纸符合要求;
2)相应器件的工作原理及应用;
3)系统工作原理图;
4)参考文献原文不少于5篇。
课程设计任务书
4.主要参考文献:
要求按国标GB7714—87《文后参考文献著录规则》书写,例:
1傅承义,陈运泰,祁贵中.地球物理学基础.北京:
科学出版社,1985
(5篇以上)
5.设计成果形式及要求:
设计说明书及相关电路图
6.工作计划及进度:
2012年12月31日~2013年1月3日:
了解设计题目及查找资料;
2013年01月04日~01月08日:
确定各题目要求计算相关参数;
2013年01月09日~01月10日:
结合各题目确定具体设计方案;
2013年01月11日~01月16日:
结合要求具体设计并编程仿真;
2013年01月17日~01月17日:
整理课程设计说明书;
01月18日~01月18日:
答辩或成绩考核。
系主任审查意见:
签字:
年月日
前言5
设计简介5
总体设计方案6
一、系统基本工作原理6
二、系统设计框图6
硬件系统设计7
一、芯片简介7
1、单片机89C517
2、时钟芯片DS1288710
3、液晶LCD160212
二、总体电路设计13
软件系统设计14
1、程序流程图14
2、程序代码15
系统的仿真与调试33
心得体会34
参考文献34
前言
数字时钟已经成为人们日常生活中必不可少的必需品,广泛应用于个人家庭以及办公室公共场所,给人们的生活、学习、工作、娱乐带来了极大地方便。
由于数字集成电路技术的发展和采用了新进的石英技术,是数字钟具有走时准确、性能稳定、携带方便等优点。
它还用于计时、自动报时等各个领域。
尽管目前市场上已有现成的数字集成电路芯片出售,价格便宜,使用也方便,但鉴于单片机的定时器功能也可以完成数字中电路的设计,因此进行数字钟的设计是必要的。
在这里我们将以学过的比较零散的电路知识有机的、系统的结合起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。
文中详细论述了以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的引脚如图所示。
图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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
此外,和分别作定时器/计数器2的外部计数输入(T2)和时器/计数器2的触发输入(T2EX),具体如表所示[8]。
在flash编程和校验时,P1口接收低8位地址字节。
表引脚号第二功能
引脚
第二功能
T2(定时器/计数器T2的外部计数输入),时钟输出
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
MOSI(在系统编程用)
MISO(在系统编程用)
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特殊功能(第二功能)使用,如表所示。
第二功能
功能
RXD(串行输入口)
TXD(串行输出口)
(外部中断0)
(外部中断1)
T0(定时/计数器0)
T1(定时/计数器1)
(外部数据存储器写选通)
(外部数据存储器读选通)
表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、时钟芯片DS12887
DS12887是美国DALLAS半导体公司最新推出的8位串行接口并自带RAM的实时日历时钟芯片,内部有14个时钟控制寄存器,包括10个时标寄存器,4个状态寄存器和114bit作掉电保护用的低功耗RAM。
CPU通过读DS12887的内部时标寄存器得到当前的时间和日历,也可通过选择二进制或BCD码初始化芯片的10个时标寄存器,其4个状态寄存器用来控制和指出DS12887的当前工作状态,114bit非易失性静态RAM可在掉电时保存一些重要数据。
DS12887功能强大,应用广泛。
DS12C887管脚如图所示。
图3、DS12C887管脚图
DS12887引脚功能:
GND:
接地端
VCC:
直流电源+5V电压。
当5V电压在正常范围内时,数据可读写;当VCC低于4.25V,读写禁止,计时功能仍继续;当VCC下降到3V以下时,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(复位输出):
当保持低电平时间大于200ms,保证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)。
3、液晶LCD1602
1602液晶显示模块,是点阵字符型液晶显示模块,可以用来显示字母,符号,数字以及简单的汉字和图案等信息。
“1602”的含义是这类液晶显示模块每行能够显示16个字符,一共可以显示两行。
该液晶显示模块,分为带背光和不带背光两类,两者在应用过程中功能基本类似,只是带背光的模块更厚一些,通常的背光颜色以黄绿色和蓝色为主。
目前,多数1602液晶显示模块的生产厂商使用的控制芯片都是日立公司的HD44780,这使得单片机对1602液晶显示模块的控制更加统一和方便。
1602液晶显示模块的主要技术参数如下:
显示容量:
为16个字符X两行,即每行最多显示32个字符;
模块工作电压:
在之间,模块的最佳工作电压为5V;
模块工作电流:
再最佳工作电压5V式,工作电流是2mA;
显示字符的大小:
每个被显示的字符大小为4.35mm(字符的宽度乘高度)。
1602液晶模块的管脚介绍
第1脚:
GND为电源地,接GND。
第2脚:
VCC接5V正电源。
第3脚:
VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为指令寄存器或数据寄存器的选择。
高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为读或写操作的使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
BGVCC背光电源正极(+5V)输入引脚。
第16脚:
BGGND背光电源负极,接GND。
二、总体电路设计
根据各芯片、元件的引脚功能和特性,以及设计的需要连接电路如图所示:
图4、总体电路原理图
图5、PCB图
软件系统设计
1、程序流程图
在这个设计中,89C51主要功能是存储程序、根据程序的内容对各个端口进行判断并做出相应的处理;DS12887主要的功能是控制年、月、日、时、分、秒的显示效果;LCD1602主要的功能是将所要显示的显示出来。
主程序主要实现了从DS12887各时间单元中读出数据并送到LCD1602中显示的功能,同时检测有没有按键按下,如果有键被按下,则执行按键处理子程序。
首先进行DS12887时钟芯片和LCD1602的初始化函数,然后进行按键扫描,不断地检测按键是否按下,读取DS12887时钟芯片的数据,并且送到液晶显示器显示;当数据发生变化时候,重新进行扫描写入。
流程图如图6所示,
图6、主程序流程图。
2、程序代码
根据各个芯片的操作时序以及指令,结合硬件电路和设计所要实现的功能,编写程序代码如下:
#include<>
#defineuintunsignedint
#defineucharunsignedchar
sbitbeep=P1^2;
sbits1=P1^0;
sbits2=P1^1;
sbits3=P1^3;
sbits4=P3^7;
sbitrs=P3^4;
sbitlcden=P3^5;
sbitdsas=P1^4;
sbitdsrw=P1^5;
sbitdsds=P1^6;
sbitdscs=P1^7;
bitflag1,flag_ri;...................*/
..............................*/
0A0c0f0c0a0a0c0a0c2013/1/15
片机应用与设计.电子工业大学出版社,1998年
[2]钟睿.MCS-51单片机原理及应用开发技术.北京:
中国铁道出版社,2006
[3]郭天祥.新概念51单片机C语言教程:
入门、提高、开发、拓展全攻略.电子工业出版社,2009
[4]莫树,培刘夏.基于DS12887的时钟设计.科技创新导报,2011
[5]孙佳玲.基于单片机的多功能数字时钟系统设计分析.吉林工程技术师范学院学报,2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 时钟 芯片 DS12887 时分 定时 系统 设计