ds1302数字时钟芯片.docx

上传人:b****3 文档编号:10279001 上传时间:2023-05-24 格式:DOCX 页数:36 大小:630.47KB
下载 相关 举报
ds1302数字时钟芯片.docx_第1页
第1页 / 共36页
ds1302数字时钟芯片.docx_第2页
第2页 / 共36页
ds1302数字时钟芯片.docx_第3页
第3页 / 共36页
ds1302数字时钟芯片.docx_第4页
第4页 / 共36页
ds1302数字时钟芯片.docx_第5页
第5页 / 共36页
ds1302数字时钟芯片.docx_第6页
第6页 / 共36页
ds1302数字时钟芯片.docx_第7页
第7页 / 共36页
ds1302数字时钟芯片.docx_第8页
第8页 / 共36页
ds1302数字时钟芯片.docx_第9页
第9页 / 共36页
ds1302数字时钟芯片.docx_第10页
第10页 / 共36页
ds1302数字时钟芯片.docx_第11页
第11页 / 共36页
ds1302数字时钟芯片.docx_第12页
第12页 / 共36页
ds1302数字时钟芯片.docx_第13页
第13页 / 共36页
ds1302数字时钟芯片.docx_第14页
第14页 / 共36页
ds1302数字时钟芯片.docx_第15页
第15页 / 共36页
ds1302数字时钟芯片.docx_第16页
第16页 / 共36页
ds1302数字时钟芯片.docx_第17页
第17页 / 共36页
ds1302数字时钟芯片.docx_第18页
第18页 / 共36页
ds1302数字时钟芯片.docx_第19页
第19页 / 共36页
ds1302数字时钟芯片.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ds1302数字时钟芯片.docx

《ds1302数字时钟芯片.docx》由会员分享,可在线阅读,更多相关《ds1302数字时钟芯片.docx(36页珍藏版)》请在冰点文库上搜索。

ds1302数字时钟芯片.docx

ds1302数字时钟芯片

中文摘要

本文基于单片机,通过编程实现了数字钟,它不仅能够显示24小时制的时间,可以人为调整时间,并且可以显示具体的年、月、日,还带有闹钟的功能。

本文实现的数字时钟由三个部分构成,提供振荡信号的DS1302芯片,转换振荡信号、实现多种功能的AT89S52单片机,以及可根据需要将结果表达的LCD1602显示器。

本文设计的数字钟没有采用汇编语言,而是采用更为高级的C语言,与前者相比,后者语言更加凝练,程序结构更明了。

本文最终完成的程序能完成对DS1320芯片进行操作,使其产生秒振荡信号,控制AT89S52单片机实现相应功能,当然,也包括控制LCD1602按照想要的形式输出统计出来的时间结果,比如以数字形式显示当前时间,调整设定闹钟等。

本文设计的数字钟与其他相比,具有许多优点,用户体验更好。

对于使用者来说,操作非常简便,与时间相关的功能基本都具备,时间显示比较准确可靠。

另外,基于各种芯片、集成电路,大大减少了体积空间以及耗电量。

关键词:

DS1302数字时钟芯片;AT89S52单片机;LCD1602液晶显示器;C语言编辑。

 

ABSTRACT

Thispaperintroducesadesignofmulti-functiondigitalclocksystem.Itcandisplaythe24-hourtime,canadjustthetime,humanandcandisplayyear,month,day,alsowithalarmclockfunction.Thedigitalclockdesignsystemselectionusingsingle-chipmicrocomputerAT89S52singlechipmicrocomputer,choiceisuseddigitalclockchipDS1302andchoiceinthetimedisplayisLCDdisplayLCD1602display.

ThesystemsoftwaredesignusingClanguageforprogramming.Mainlyincludesthemainprogramofsystemsoftware,DS1302initializationprogramDS1302,read,write,DS1302procedures,LCD1602display,date/timeadjustment,timingalarmdesign.

Thissystemhasafriendlyuserinterface,simpleoperation,stableperformance.Thedigitalclocksystemisalong-term,continuous,reliable,steadywork,thesystemalsohassmallvolume,lowpowerconsumption,easytocarry,easytouse.

Keywords:

DS1302digitalclockchip;AT89S52Microcontroller;LCD1602liquidcrystaldisplayer;Clanguageprogramming.

1前言………………………………………………………………1

1.1课题研究的背景…………………………………………………1

1.2课题研究的意义…………………………………………………1

1.3数字时钟的应用及发展前景……………………………………1

1.4课题的研究内容及技术要求……………………………………2

2.核心芯片简介……………………………………………………3

2.1DS1302简介……………………………………………………3

2.2AT89S52简介……………………………………………………6

2.3LCD的结构及工作原理…………………………………………8

3系统的硬件设计与实现……………………………………………10

3.1电路设计框图……………………………………………………10

3.2系统硬件概述……………………………………………………10

3.3主要单元电路的设计……………………………………………10

4系统的软件设计……………………………………………………12

4.1系统软件设计概述……………………………………………12

4.2系统主程序设计………………………………………………12

4.3时钟芯片DS1302子程序设计…………………………………13

4.4时间调整子程序设计…………………………………………16

4.5定时报警子程序设计…………………………………………17

5测试与结果分析…………………………………………………19

5.1硬件测试…………………………………………………………19

5.2软件测试…………………………………………………………19

5.3测试结果分析与结论……………………………………………19

结论……………………………………………………………………20

参考文献………………………………………………………………21

附录………………………………………………………………22

 

1前言

1.1课题研究的背景

单片机的使用历史比较早,20多年前便被Intel设计,并将其应用到芯片中。

于单片机具有高集成、功耗低、易于使用、低价格和一系列的优势,已经成为人们工作和生活中不可替代的一部分。

作为微型集成电路,单片机在工业上的应用,电子设备的控制系统、智能系统中,包括卫星等都是基于单片机设计的,可以说它是现代信息技术的基础。

经过20多年的发展,单片机衍生出了许多不同的类型,但是大家依然比较认同51系列,主要是由其优越特性决定的。

与其他相比,它在满足使用者需求的同时,在体积、节能上更有优势,并且可开发性很强,许多新功能陆陆续续被开发出来,被许多领域所使用。

Intel设计出首个单片之后,为了进一步推广其应用,让更多的公司能够参与研发,于是将8051的计数专利授权给其他半导体芯片制造商共同使用。

这些制造商随后推出各自的单片机系列,种类繁多,为单片增加了许多非常实用的功能,收获了许多忠实的使用者,使得单片机进入了高速发展的时期。

但是无论这些单片机都有一个共同的特点,那就是采用MSC-51指令系统,它的结构与8051相似,相当于单片机统一交流的语言,这也是51系列名称的来源。

MCS-51系列及80C51单片机种类繁多。

这些不同的单片机都有相同的引脚,还有“交流语言”,他们的区别在于内部——程序和硬件设计。

1.2课题研究的意义

在平日,我们常常会用到定时这个功能,如每日早睡午睡起床的闹钟,定时煮饭,定时自动照相,定时的整点报时等等,这都需要用到单片机。

信息时代对单片机的依赖越来越大,各行各业都有相应的需求,这使得单片机的“身价”水涨船高,尤其是硬件上的进步,使得单片能承担更大的重任,其应用上也由简单系统到更大规模、更为复杂的系统中。

也可以用到家里一部分家电的时间控制方面,甚至还可以用到一部分电子玩具上边。

单片机凭借它强大的功能、小巧的体积、轻巧的质量、良好的灵活性等优点再配上工业工艺可以做成很多多功能的微电子产品。

伴着人们的生活质量不断提高,家用电器和办公电子设备在人们的日常生活中也越来越多,人们对各种电子设备和家电的需求也越来越大。

传统时钟的定义仅仅是为使用者提供时间信息,但是信息化时代赋予了时钟的更多功能,这些不同的功能需要不同的电路才能实现,如何统筹规划各个分电路或者分系统的功能,使其成为一个整体高效运转,便要依赖单片机的功能了。

在时钟应用中,它可以进行时间调整和设置闹钟,可以根据需求随时随地调整时间。

通过单片机,将多种功能在同一设备中实现,使得设备变得更加轻巧,使得人民使用起来更加方便,这也是本文工作的现实意义所在。

1.3数字时钟的应用及发展前景

数字时钟能准确的记录下我们随时随地的时间,并且还有多种功能,所以在平日里已经得到普遍的应用。

虽然现在市面上普遍存在一些价格低廉、使用方便、容易买到的电子钟芯片,但是这并不能满足人们对电子钟的要求。

对于传统的时钟,如果能准确地显示时间即可,但是电子产品非常普遍的年代,人们对时钟赋予了新的定义,人们更希望它能是集万千功能于一身,仅仅显示时间显然远远不够。

极大地方便了人们的日常生活。

另外数字钟还附带随时提醒人的闹钟功能,防止人们因各种因素忘记时间更能提高人们办事的效率。

无论什么时候,人们对于时间的“吝啬”都不会减,总是希望能将自己的时间最大化利用,在复杂的安排中挤出任何一丝可以利用的时间,对于一个繁忙的人,想要全部记住每一个时间点该干什么事情显然不可能,对于忘记应该做的事,如果这件事情不重要,那不会影响我们太多。

但是,一旦这件事情很重要,耽误一点时间就会对我们有很大的影响。

数字时钟已经成了个人平时僧火种缺一不可的东西,普遍用在我们的家里以及火车、汽车、轮船、戏院、办公室、KTV等人们经常去的场所,给我们平日的活动与出行带来了非常大的方便。

不同场合对于时钟的精度要求不一样,日常生活中我们可能要求它给我们准确到分钟就可以,但是对于火箭发射时间,我们就要求它能精确到秒,甚至更高。

传统的机械时钟无法做到,但是对于数字钟来说却很容易,这要得益于石英技术的进步。

数字时钟是采用单片机原理实现对时间的显示从年一直到秒以及整点提醒的计时器,广泛用在我们的家庭。

1.4课题的研究内容及技术要求

本文研究内容是基于单片机,编程设计出功能齐全的数字时钟,它不仅能为使用者提供完整、准确的时间信息——年月日时分秒,具备调整的功能,还要求能实现闹钟功能。

技术要求:

首先需要掌握单片的相关理论知识、电路设计知识,查阅资料,了解数字时钟的设计要求,以及实现过程,具有一定的编程能力,能熟练掌握C语言的使用,具备一定的动手实验能力。

2系统的硬件设计

2.1数字时钟的硬件设计及电路设计框图

本文数字时钟是在单片机的基础上实现的,这也是众多硬件中最重要的部分。

单片机作为微型CPU,在数学运算方面具有很强的处理能力,并且对于其他设备的控制很容易实现,对它的使用通过编程对输入、输出进行控制便能实现控制其他设备的目的,在本文设计中,我们选择AT89S52。

对于数字时钟的结果输出,我们选择液晶显示屏,这是因为液晶显示技术使用比较普遍,集成程度比较高,用起来方便,并且具有很好显示效果,被广泛使用,设计时,只需要为其提供信号输入电路即可。

对于时钟校时和定时功能的实现,需要一个专门的时钟芯片,将时间信息传送到单片机中,单片机能对其进行处理,并将其传送至液晶屏上,最终完成该项功能。

一个完善的电路还应包括复位、供电电路等,以上介绍的这些电路构成了完整的数字时钟。

需求决定设计,根据预先设定好的功能,本文初步确定了以下五个模块:

电路设计框图

2.2主控制模块

上图所示主动控制模块便是数字时钟的“大脑”——单片机,它起到指挥调度处理的功能,协调各个电路为同一个目的而工作。

它首先需要对振荡信号进行读取,然后将其处理,统计出当前时间,并将其输送到显示器中显示。

与此同时,它还要读取按键信息,将其转化为控制指令,实现对时钟的控制,比如复位等功能。

在本文设计中选用了AT89S52,它所具备的功能完全能满足本次设计的要求,而且它的价格不高,节省数字时钟的制作成本。

2.2.1AT89S52单片机的简介

AT89S52生产商位于美国,它的功能非常齐全,并且价格低廉,节能效果好,因此市场上对其比较认同,被广泛应用于单片机的初学者,可认为它是51系列的一个增强版,它的改进之处在于读取内存,比51系列增加了一倍,这是非常了不起的改进。

另外,它兼容性好,具备一千次摩擦周期,以及八个中断源,支持ISP下载,看门狗定时器等。

2.2.2AT89S52管脚说明

VCC:

供电电压。

GND:

接地。

P0口:

8位漏级开路双向I/O口,8TTL门电流能被接收。

P0能作为外部程序数据存储器使用,,被认为是数据/地址的第八位。

该管教有两种不同的模式,输入模式和输出模式,当对其进行FIASH编程,它的作用是前者,而对其校验,它的作用是后者,这个时候外部一定要上拉。

P1口:

P1口同P0一样也是8位双向I/O口,不同的是它的上拉电阻由内部产生,P1口缓冲器能输出的电流门数仅为P0的一半。

P1口写入1,先在内部电路中,上拉为高电平,此时为输入端,P1口在外部下拉为低电平时,则为输出端,也是因为内部电路上拉的原因。

同P0口,也是被看做第八位地址。

P2口:

同P1口,8位双向I/O口,上拉电阻由内部产生,输出电流门数相同。

P2口写入1,先在内部电路中,上拉为高电平,此时为输入端,P2口在外部下拉为低电平时,则为输出端,也是因为内部电路上拉的原因。

把P2口用在外部程序存储器或16位地址外部数据存储器,,P2口输出地址的高八位。

当输入为“1”时,内部电路将其上拉,这时读写外部八位地址数据存储器,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接受高八位地址信号和控制信号。

P3口:

通P2口,8个带内部上拉电阻的双向I/O口与4个TTL门电流。

P2口写入1,先在内部电路中,上拉为高电平,此时为输入端,P2口在外部下拉为低电平时,则为输出端,也是因为内部电路上拉的原因。

除此之外,P3口也有一些特许的备选功能,下面列举一些:

管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

RST:

复位输入。

如要要复位,该脚需要保持高电平,大概持续2个机器周期。

ALE/PROG:

对外部存储器进行查看,地址锁存所允许的输出电平用作它的地位字节。

FLASH编程时,ALE/PROG将编程脉冲传输进来。

一般时候,ALE输出的输出正脉冲信号是不动的频率周期,大约是振荡器频率的六分之一,所以,ALE能对外部输出脉冲,也可以将其运用在定时功能。

然而要注意的是:

每次作为外部数据存储器,都会跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

当微处理器在外部执行状态ALE禁止,则置位无效。

/PSEN:

外部程序存储器的选通信号。

在外部程序的存储器取指期间,每个机器周期的两次/PSEN是有效的。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

如果EA维持低电平,为外部程序存储器(0000H-FFFFH),此时内部程序存储器不影响。

需要注意的是,当加密方式为1,/EA将内部锁定为RESET;如果EA端维持高电平,为内部程序存储器。

对于FLASH编程时,EA/VPP用于施加12V编程电源(VPP)。

XTAL1:

作为输入端,接受的信号来自反向振荡放大器,或者单片的内部时钟。

XTAL2:

来自反向振荡器的输出

2.3显示模块

对于数字时钟的结果输出,我们选择液晶显示屏,这是因为液晶显示技术使用比较普遍,集成程度比较高,用起来方便,并且具有很好显示效果,被广泛使用。

我们平时用到的笔记本电脑、电视,以及数码产品等,选择的显示方式都是通过液晶技术实现的。

设计时,只需要为其提供信号输入电路即可,液晶显示是由电压实现的,如果要实现数字信息的显示,只需要将数字信息转化为电压信号,再将其输入到液晶显示屏中。

在本文研究中,根据设计要求以及成本考虑,我们采用的液晶显示屏型号是1602LCD。

2.3.11602LCD显示器的结构

11602LCD主要技术参数

显示容量为16×2个字符;

芯片工作电压为4.5~5.5V;

工作电流为2.0mA(5.0V);

字符尺寸为2.95×4.35(W×H)mm。

2接口,信号说明1602LCD采用标准的16引脚(带背光)接口

1602液晶接口引脚定义

下面是对其中的引脚功能进行介绍:

1、该显示器包括两组电源,分别为模块和背光板提供稳定的电量,它们的供电电压都是5V。

2、VL:

控制对比度

3、RS:

命令/数据选择。

高电平为数据操作,低电平为命令操作。

4、RW:

读写选择端。

高电平为读操作,低电平为写操作。

5、E:

必须要保证总线上信号平稳后,给一个正脉冲信号将数据读取,高电平不允许总线发生变化。

6、D0—D7:

8位双向并行总线,用来传送命令和数据。

7、BLA是背光源正极,BLK是背光源负极

2.3.21602LCD数据原理

1602LCD基本操作时序

1602LCD的指令码(命令码)

这里要特别介绍液晶显示初始化时,它用到的指令代码为38H,一般指令代码不能直接被识别,一般要通过调用其它函数对其进行读取,这里所用的读取函数为voidwritecmd(0x38)。

通过执行该函数,可以实现对液晶显示的初始化。

对于实现其它功能的指令代码,用法与初始化的代码相同,都是先通过调用函数对其进行识别,然后才能对液晶显示进行相应操作。

此液晶支持的指令码有

第一行指令主要能完成的功能是控制液晶显示否,光标显示否,光标闪烁否。

共有以下8种指令

第二行指令主要能完成的功能是写完字符光标或屏幕移动方向

2.4时钟模块

数字时钟最重要的功能是时间功能,用户需要用它实时显示时间,不仅要求要稳定,还要可靠。

如果对时间的准确度要求不高,我们可以采用更为简化的办法实现计时功能,主要是通过编程实现,给单片机写一个计时器即可,缺点是精度较差。

如果对时间的准确度要求比较高,比如作为比赛用的秒表,那就不能通过单片机的计时器,我们需要给单片机额外提供一个时钟芯片,由时钟芯片内部产生的稳定振荡信号计时,该信号比较稳定,转化成秒信号时非常准确,能满足要求。

比较常见的芯片有:

DS1302,DS12887,X1203等都可以满足高精度的要求。

本次设计采用DS1302芯片。

2.4.1DS1302的简介及性能特性

DS1302简介

DS1302芯片能够实现利用微小电流为芯片充电——非常节能的设计,对于数字时钟的续航有很大帮助,这也是本文设计选用它的原因之一。

DS1302精度不是很高,偶尔会出现较小的误差,适应于我们日常生活中对时间的一个大体的记录,使用DS1302作为时钟芯片的时候,要想时间比较精准,就需要我们勤快一点一两个月和电视上的北京时间进行一次校准,只有这样我们平时用DS1302来进行计时时才会得到一个相对而言精准点的时间。

特性

1.时间信息能够实时显示,小到秒,大到年;

2.31×8位RAM:

暂时存储高速数据

3.最少引脚的串行I/O;

4.2.5~5.5V电压工作范围;

5.数据传送方式:

单字节、多字节,实现时钟或RAM数据的读与写;

6.简单的3线接口

7.可选的慢速充电(至Vcc1)的能力

我们知道,完整的时间信息包括哪一年,哪一月,哪一天,以及每天中的小时,分钟,秒。

该功能实现起来不是那么容易,因为时间统计过程中,需要考虑到每年不都是365天,每月不都是31天,它需要自动识别闰年以及30和31的月份,还有比较特殊的2月份。

DS1302时钟的功能比较完整,小到秒,大到年,都能非常准确地统计出来,芯片内部具有静态RAM,具有非常快的数据传输能力,能对数据进行缓存,与外界CPU能够实时进行通讯。

说到DS1302不得不提的功能就是它的双电源设计,当主电源消耗完时,备份电源也能为系统提供电量,保证数据能够正常缓冲和输出。

DS1302由主电源Vcc1或备用电源Vcc2中较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电;当Vcc2小于Vcc1时,DS1302由Vcc1供电

2.4.2DS1302数据操作原理

我们在传输数据时,为了避免前后之间相互干扰,我们需要把前面的痕迹清楚。

前面提到了RST脚,能对DS1302进行初始化设置,因此我们要将RST拨到高电平上,再将8位地址,指令字写入移位寄存器,最终准确的数据被传输到单片机中。

最初的8个时钟内,将指令字节写入移位寄存器后,对于其他的始终周期,在进行“读”操作时,输出数据,在“写”操作时写入数据。

时钟脉冲的个数在单字节传输为“8+8”,而多字节传输为8+字节数,最多可至248字节。

传输数据过程中,将RST拨至低电平,传输数据会被终止,I/O转至高阻态状态。

上电运行时,在Vcc≧2.5V之前,RST脚必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

DS1302的引脚和控制字如图。

DS1302的控制字

DS1302的控制字如图2.6所示,它的控制字节最大有效位要求为逻辑1,见图中位7,如果它为0,则不能把数据写入到DS1302中。

位6如果为0。

则表示存取日历时钟数据;为1表示存取RAM数据。

位5~1(A4~A0)指示操作单元的地址。

最低有效位为0时对应于写操作,为1表示进行读操作。

寻址能力与数据传输的方式有关,把单字节改为多字节,处于多字节模式时,第一个读写地址0的位0,能有效增强该功能。

其中,位6的作用是是作为时钟,还是作为RAM,位0的作用的读写。

时钟或日历寄存器中的地址9到31,不可以存储数据,RAM寄存器中的地址31也不可以。

对于单字节读写时,一定是根据数据传输的顺序写入前面八个寄存器,而对多字节读写RAM,要让传输数据不一定写入全部31字节,所以读写过程中,无论写到任何一个字节,以及写入的任何一个字节都会被输送到RAM。

DS1302的引脚功能图

DS1302引脚功能

DS1302这个芯片总共包含了12个寄存器。

7个是与时钟、时间等有关联的。

其数据位主要是以BCD模式储存的。

图2.8具体展示了时钟以及时间寄存器的控制字。

奇数和偶数分别代表的读、写操作。

时钟暂停:

秒寄存器中的位7代表的是时钟暂停。

假如这个位是1的时候,就不再振荡,开始进入备份模式工作。

一般情况下并不是所有的操作需要振荡存在,在执行写操作的过程中是要振荡停止才可以的。

假如这个位是0的时候,时钟又工作了起来。

AM-PM/12-24[小]时方式:

小时寄存器的位7代表的是选用哪种小时制进行工作。

假如这个位是1(高电平)的时候,选用12小时工作模式。

这种小时制模式下,位5代表的是AM/PM选择位,置1时代表的是PM,置0时代表的是AM。

假如这个位是0(低电平)的时候,选用24小时工作模式。

这种小时制模式下,位5代表的是20-23时选择位。

内部寄存器地址和内容

DS1302是需要晶振作为依托来进行工作的。

晶振的实际振荡频率是32.768kHz,频率不高,接不接电容都是可以的,对时间没有很大的干扰。

2.5温度模块

多功能的数字时钟能够对温度进行实时精确测量和显示。

温度传感器的数据经过单片机进行输出来,在液晶上显示出来。

这些设计中选择的是DS18B20型号温度传感器。

2.5.1DS18B20的性能特性

1.1特殊的接口形式,是需要单线进行连接的。

DS18B20与其他微处理器相连的时候只依靠一条口线就能够完成。

靠这一条接口线能够实现两者的双向通信。

1.2测温范围-55℃~+125℃,固有测温分辨率0.5℃。

1.3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2