ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:630.46KB ,
资源ID:9012393      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9012393.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ds1302数字时钟芯片.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ds1302数字时钟芯片.docx

1、ds1302数字时钟芯片中文摘要本文基于单片机,通过编程实现了数字钟,它不仅能够显示24小时制的时间,可以人为调整时间,并且可以显示具体的年、月、日,还带有闹钟的功能。本文实现的数字时钟由三个部分构成,提供振荡信号的DS1302芯片,转换振荡信号、实现多种功能的AT89S52单片机,以及可根据需要将结果表达的LCD1602显示器。本文设计的数字钟没有采用汇编语言,而是采用更为高级的C语言,与前者相比,后者语言更加凝练,程序结构更明了。本文最终完成的程序能完成对DS1320芯片进行操作,使其产生秒振荡信号,控制AT89S52单片机实现相应功能,当然,也包括控制LCD1602按照想要的形式输出统计

2、出来的时间结果,比如以数字形式显示当前时间,调整设定闹钟等。本文设计的数字钟与其他相比,具有许多优点,用户体验更好。对于使用者来说,操作非常简便,与时间相关的功能基本都具备,时间显示比较准确可靠。另外,基于各种芯片、集成电路,大大减少了体积空间以及耗电量。关键词:DS1302数字时钟芯片;AT89S52单片机;LCD1602液晶显示器;C语言编辑。ABSTRACTThis paper introduces a design of multi- function digital clock system. It can display the24- hour time, can adjust t

3、he time,human and can display year, month, day, also with alarm clock function. The digital clock design system selection using single- chip microcomputer AT89 S52 single chip microcomputer,choice is used digital clock chip DS1302 and choice in the time display is LCD display LCD1602 display.The sys

4、tem software design using C language for programming. Mainly includes the main program of system software, DS1302 initialization program DS1302,read, write, DS1302 procedures, LCD1602 display, date/ time adjustment, timing alarm design.This system has a friendly user interface, simple operation, sta

5、ble performance. The digital clock system is a long- term, continuous,reliable, steady work, the system also has small volume, low power consumption, easy to carry, easy to use.Key words: DS1302 digital clock chip;AT89S52 Microcontroller; LCD1602 liquid crystal displayer;C language programming. 目 录1

6、 前 言11.1 课题研究的背景11.2 课题研究的意义11.3 数字时钟的应用及发展前景11.4课题的研究内容及技术要求 2 2. 核心芯片简介 32.1 DS1302简介 32.2 AT89S52简介62.3 LCD的结构及工作原理83 系统的硬件设计与实现103.1 电路设计框图103.2 系统硬件概述103.3 主要单元电路的设计 104 系统的软件设计124.1 系统软件设计概述 124.2 系统主程序设计 124.3 时钟芯片DS1302子程序设计134.4 时间调整子程序设计 164.5 定时报警子程序设计 175 测试与结果分析 195.1 硬件测试195.2 软件测试195.

7、3 测试结果分析与结论19结论20参考文献21附 录 221 前 言1.1 课题研究的背景单片机的使用历史比较早,20多年前便被Intel设计,并将其应用到芯片中。于单片机具有高集成、功耗低、易于使用、低价格和一系列的优势,已经成为人们工作和生活中不可替代的一部分。作为微型集成电路,单片机在工业上的应用,电子设备的控制系统、智能系统中,包括卫星等都是基于单片机设计的,可以说它是现代信息技术的基础。经过20多年的发展,单片机衍生出了许多不同的类型,但是大家依然比较认同51系列,主要是由其优越特性决定的。与其他相比,它在满足使用者需求的同时,在体积、节能上更有优势,并且可开发性很强,许多新功能陆陆

8、续续被开发出来,被许多领域所使用。Intel设计出首个单片之后,为了进一步推广其应用,让更多的公司能够参与研发,于是将8051的计数专利授权给其他半导体芯片制造商共同使用。这些制造商随后推出各自的单片机系列,种类繁多,为单片增加了许多非常实用的功能,收获了许多忠实的使用者,使得单片机进入了高速发展的时期。但是无论这些单片机都有一个共同的特点,那就是采用MSC-51指令系统,它的结构与8051相似,相当于单片机统一交流的语言,这也是51系列名称的来源。MCS-51系列及80C51单片机种类繁多。这些不同的单片机都有相同的引脚,还有“交流语言”,他们的区别在于内部程序和硬件设计。1.2 课题研究的

9、意义在平日,我们常常会用到定时这个功能,如每日早睡午睡起床的闹钟,定时煮饭,定时自动照相,定时的整点报时等等,这都需要用到单片机。信息时代对单片机的依赖越来越大,各行各业都有相应的需求,这使得单片机的“身价”水涨船高,尤其是硬件上的进步,使得单片能承担更大的重任,其应用上也由简单系统到更大规模、更为复杂的系统中。也可以用到家里一部分家电的时间控制方面,甚至还可以用到一部分电子玩具上边。单片机凭借它强大的功能、小巧的体积、轻巧的质量、良好的灵活性等优点再配上工业工艺可以做成很多多功能的微电子产品。伴着人们的生活质量不断提高,家用电器和办公电子设备在人们的日常生活中也越来越多,人们对各种电子设备和

10、家电的需求也越来越大。传统时钟的定义仅仅是为使用者提供时间信息,但是信息化时代赋予了时钟的更多功能,这些不同的功能需要不同的电路才能实现,如何统筹规划各个分电路或者分系统的功能,使其成为一个整体高效运转,便要依赖单片机的功能了。在时钟应用中,它可以进行时间调整和设置闹钟,可以根据需求随时随地调整时间。通过单片机,将多种功能在同一设备中实现,使得设备变得更加轻巧,使得人民使用起来更加方便,这也是本文工作的现实意义所在。1.3 数字时钟的应用及发展前景数字时钟能准确的记录下我们随时随地的时间,并且还有多种功能,所以在平日里已经得到普遍的应用。虽然现在市面上普遍存在一些价格低廉、使用方便、容易买到的

11、电子钟芯片,但是这并不能满足人们对电子钟的要求。对于传统的时钟,如果能准确地显示时间即可,但是电子产品非常普遍的年代,人们对时钟赋予了新的定义,人们更希望它能是集万千功能于一身,仅仅显示时间显然远远不够。极大地方便了人们的日常生活。另外数字钟还附带随时提醒人的闹钟功能,防止人们因各种因素忘记时间更能提高人们办事的效率。无论什么时候,人们对于时间的“吝啬”都不会减,总是希望能将自己的时间最大化利用,在复杂的安排中挤出任何一丝可以利用的时间,对于一个繁忙的人,想要全部记住每一个时间点该干什么事情显然不可能,对于忘记应该做的事,如果这件事情不重要,那不会影响我们太多。但是,一旦这件事情很重要,耽误一

12、点时间就会对我们有很大的影响。数字时钟已经成了个人平时僧火种缺一不可的东西,普遍用在我们的家里以及火车、汽车、轮船、戏院、办公室、KTV等人们经常去的场所,给我们平日的活动与出行带来了非常大的方便。不同场合对于时钟的精度要求不一样,日常生活中我们可能要求它给我们准确到分钟就可以,但是对于火箭发射时间,我们就要求它能精确到秒,甚至更高。传统的机械时钟无法做到,但是对于数字钟来说却很容易,这要得益于石英技术的进步。数字时钟是采用单片机原理实现对时间的显示从年一直到秒以及整点提醒的计时器,广泛用在我们的家庭。1.4课题的研究内容及技术要求 本文研究内容是基于单片机,编程设计出功能齐全的数字时钟,它不

13、仅能为使用者提供完整、准确的时间信息年月日时分秒,具备调整的功能,还要求能实现闹钟功能。技术要求:首先需要掌握单片的相关理论知识、电路设计知识,查阅资料,了解数字时钟的设计要求,以及实现过程,具有一定的编程能力,能熟练掌握C语言的使用,具备一定的动手实验能力。2 系统的硬件设计2.1 数字时钟的硬件设计及电路设计框图本文数字时钟是在单片机的基础上实现的,这也是众多硬件中最重要的部分。单片机作为微型CPU,在数学运算方面具有很强的处理能力,并且对于其他设备的控制很容易实现,对它的使用通过编程对输入、输出进行控制便能实现控制其他设备的目的,在本文设计中,我们选择AT89S52。对于数字时钟的结果输

14、出,我们选择液晶显示屏,这是因为液晶显示技术使用比较普遍,集成程度比较高,用起来方便,并且具有很好显示效果,被广泛使用,设计时,只需要为其提供信号输入电路即可。对于时钟校时和定时功能的实现,需要一个专门的时钟芯片,将时间信息传送到单片机中,单片机能对其进行处理,并将其传送至液晶屏上,最终完成该项功能。一个完善的电路还应包括复位、供电电路等,以上介绍的这些电路构成了完整的数字时钟。需求决定设计,根据预先设定好的功能,本文初步确定了以下五个模块: 电路设计框图2.2 主控制模块上图所示主动控制模块便是数字时钟的“大脑”单片机,它起到指挥调度处理的功能,协调各个电路为同一个目的而工作。它首先需要对振

15、荡信号进行读取,然后将其处理,统计出当前时间,并将其输送到显示器中显示。与此同时,它还要读取按键信息,将其转化为控制指令,实现对时钟的控制,比如复位等功能。在本文设计中选用了AT89S52,它所具备的功能完全能满足本次设计的要求,而且它的价格不高,节省数字时钟的制作成本。2.2.1 AT89S52单片机的简介AT89S52生产商位于美国,它的功能非常齐全,并且价格低廉,节能效果好,因此市场上对其比较认同,被广泛应用于单片机的初学者,可认为它是51系列的一个增强版,它的改进之处在于读取内存,比51系列增加了一倍,这是非常了不起的改进。另外,它兼容性好,具备一千次摩擦周期,以及八个中断源,支持IS

16、P下载,看门狗定时器等。2.2.2 AT89S52管脚说明 VCC:供电电压。 GND:接地。 P0口:8位漏级开路双向I/O口,8TTL门电流能被接收。P0能作为外部程序数据存储器使用,被认为是数据/地址的第八位。该管教有两种不同的模式,输入模式和输出模式,当对其进行FIASH编程,它的作用是前者,而对其校验,它的作用是后者,这个时候外部一定要上拉。P1口:P1口同P0一样也是8位双向I/O口,不同的是它的上拉电阻由内部产生,P1口缓冲器能输出的电流门数仅为P0的一半。P1口写入1,先在内部电路中,上拉为高电平,此时为输入端,P1口在外部下拉为低电平时,则为输出端,也是因为内部电路上拉的原因

17、。同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,先在内部电路中,上拉为高电平,此时为输

18、入端,P2口在外部下拉为低电平时,则为输出端,也是因为内部电路上拉的原因。 除此之外,P3口也有一些特许的备选功能,下面列举一些: 管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) RST:复位输入。如要要复位,该脚需要保持高电平,大概持续2个机器周期。 ALE/PROG:对外部存储器进行查看,地址锁存所允许的输出电平用作它的地位字节。FLASH编程时,ALE/PROG将编程脉冲传输进来。一般时候,ALE输出的输出正脉冲信

19、号是不动的频率周期,大约是振荡器频率的六分之一,所以,ALE能对外部输出脉冲,也可以将其运用在定时功能。然而要注意的是:每次作为外部数据存储器,都会跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。当微处理器在外部执行状态ALE禁止,则置位无效。 /PSEN:外部程序存储器的选通信号。在外部程序的存储器取指期间,每个机器周期的两次/PSEN是有效的。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:如果EA维持低电平,为外部程序存储器(0000H-FFFFH)

20、,此时内部程序存储器不影响。需要注意的是,当加密方式为1,/EA将内部锁定为RESET;如果EA端维持高电平,为内部程序存储器。对于FLASH编程时,EA/VPP用于施加12V编程电源(VPP)。 XTAL1:作为输入端,接受的信号来自反向振荡放大器,或者单片的内部时钟。 XTAL2:来自反向振荡器的输出。2.3显示模块对于数字时钟的结果输出,我们选择液晶显示屏,这是因为液晶显示技术使用比较普遍,集成程度比较高,用起来方便,并且具有很好显示效果,被广泛使用。我们平时用到的笔记本电脑、电视,以及数码产品等,选择的显示方式都是通过液晶技术实现的。设计时,只需要为其提供信号输入电路即可,液晶显示是由

21、电压实现的,如果要实现数字信息的显示,只需要将数字信息转化为电压信号,再将其输入到液晶显示屏中。在本文研究中,根据设计要求以及成本考虑,我们采用的液晶显示屏型号是1602LCD。2.3.1 1602LCD显示器的结构1 1602LCD主要技术参数显示容量为162个字符;芯片工作电压为4.55.5V;工作电流为2.0mA(5.0V);字符尺寸为2.954.35(WH)mm。2 接口,信号说明1602LCD采用标准的16引脚(带背光)接口 1602液晶接口引脚定义下面是对其中的引脚功能进行介绍:1、该显示器包括两组电源,分别为模块和背光板提供稳定的电量,它们的供电电压都是5V。2、VL:控制对比度

22、3、RS:命令/数据选择。高电平为数据操作,低电平为命令操作。4、RW:读写选择端。高电平为读操作,低电平为写操作。5、E:必须要保证总线上信号平稳后,给一个正脉冲信号将数据读取,高电平不允许总线发生变化。6、D0D7:8位双向并行总线,用来传送命令和数据。7、BLA是背光源正极,BLK是背光源负极。2.3.2 1602LCD数据原理 1602LCD基本操作时序1602LCD的指令码(命令码)这里要特别介绍液晶显示初始化时,它用到的指令代码为38H,一般指令代码不能直接被识别,一般要通过调用其它函数对其进行读取,这里所用的读取函数为void write cmd(0x38)。通过执行该函数,可以

23、实现对液晶显示的初始化。对于实现其它功能的指令代码,用法与初始化的代码相同,都是先通过调用函数对其进行识别,然后才能对液晶显示进行相应操作。此液晶支持的指令码有第一行指令主要能完成的功能是 控制液晶显示否,光标显示否,光标闪烁否。共有以下8 种指令第二行指令主要能完成的功能是写完字符 光标或屏幕移动方向2.4时钟模块数字时钟最重要的功能是时间功能,用户需要用它实时显示时间,不仅要求要稳定,还要可靠。如果对时间的准确度要求不高,我们可以采用更为简化的办法实现计时功能,主要是通过编程实现,给单片机写一个计时器即可,缺点是精度较差。如果对时间的准确度要求比较高,比如作为比赛用的秒表,那就不能通过单片

24、机的计时器,我们需要给单片机额外提供一个时钟芯片,由时钟芯片内部产生的稳定振荡信号计时,该信号比较稳定,转化成秒信号时非常准确,能满足要求。比较常见的芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本次设计采用DS1302芯片。2.4.1 DS1302的简介及性能特性DS1302简介DS1302芯片能够实现利用微小电流为芯片充电非常节能的设计,对于数字时钟的续航有很大帮助,这也是本文设计选用它的原因之一。DS1302精度不是很高,偶尔会出现较小的误差,适应于我们日常生活中对时间的一个大体的记录,使用DS1302作为时钟芯片的时候,要想时间比较精准,就需要我们勤快一点一

25、两个月和电视上的北京时间进行一次校准,只有这样我们平时用DS1302来进行计时时才会得到一个相对而言精准点的时间。 特性1时间信息能够实时显示,小到秒,大到年;2 318位RAM:暂时存储高速数据3最少引脚的串行I/O;42.55.5V电压工作范围;5数据传送方式:单字节、多字节,实现时钟或RAM数据的读与写;6简单的3线接口7可选的慢速充电(至Vcc1)的能力我们知道,完整的时间信息包括哪一年,哪一月,哪一天,以及每天中的小时,分钟,秒。该功能实现起来不是那么容易,因为时间统计过程中,需要考虑到每年不都是365天,每月不都是31天,它需要自动识别闰年以及30和31的月份,还有比较特殊的2月份

26、。DS1302时钟的功能比较完整,小到秒,大到年,都能非常准确地统计出来,芯片内部具有静态RAM,具有非常快的数据传输能力,能对数据进行缓存,与外界CPU能够实时进行通讯。说到DS1302不得不提的功能就是它的双电源设计,当主电源消耗完时,备份电源也能为系统提供电量,保证数据能够正常缓冲和输出。DS1302由主电源Vcc1或备用 电源Vcc2中较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电;当Vcc2小于Vcc1时,DS1302由Vcc1供电。2.4.2 DS1302数据操作原理我们在传输数据时,为了避免前后之间相互干扰,我们需要把前面的痕迹清楚。前面提到了RST脚,

27、能对DS1302进行初始化设置,因此我们要将RST拨到高电平上,再将8位地址,指令字写入移位寄存器,最终准确的数据被传输到单片机中。最初的8个时钟内,将指令字节写入移位寄存器后,对于其他的始终周期,在进行“读”操作时,输出数据,在“写”操作时写入数据。时钟脉冲的个数在单字节传输为“8+8”,而多字节传输为8+字节数,最多可至248字节。 传输数据过程中,将RST拨至低电平,传输数据会被终止,I/O转至高阻态状态。上电运行时,在Vcc 2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的引脚和控制字如图。 DS1302的控制字DS1302的控制字

28、如图2.6所示,它的控制字节最大有效位要求为逻辑1,见图中位7,如果它为0,则不能把数据写入到DS1302中。位6如果为0。则表示存取日历时钟数据;为1表示存取RAM数据。位51(A4A0)指示操作单元的地址。最低有效位为0时对应于写操作,为1表示进行读操作。寻址能力与数据传输的方式有关,把单字节改为多字节,处于多字节模式时,第一个读写地址0的位0,能有效增强该功能。其中,位6的作用是是作为时钟,还是作为RAM,位0的作用的读写。时钟或日历寄存器中的地址9到31,不可以存储数据,RAM寄存器中的地址31也不可以。对于单字节读写时,一定是根据数据传输的顺序写入前面八个寄存器,而对多字节读写RAM

29、,要让传输数据不一定写入全部31字节,所以读写过程中,无论写到任何一个字节,以及写入的任何一个字节都会被输送到RAM。DS1302的引脚功能图 DS1302引脚功能 DS1302这个芯片总共包含了12个寄存器。7个是与时钟、时间等有关联的。其数据位主要是以BCD模式储存的。图2.8具体展示了时钟以及时间寄存器的控制字。奇数和偶数分别代表的读、写操作。时钟暂停:秒寄存器中的位7代表的是时钟暂停。假如这个位是1的时候,就不再振荡,开始进入备份模式工作。一般情况下并不是所有的操作需要振荡存在,在执行写操作的过程中是要振荡停止才可以的。假如这个位是0的时候,时钟又工作了起来。AM-PM/12-24小时

30、方式:小时寄存器的位7代表的是选用哪种小时制进行工作。 假如这个位是1(高电平)的时候,选用12小时工作模式。这种小时制模式下,位5代表的是AM/PM选择位,置1时代表的是PM,置0时代表的是AM。假如这个位是0(低电平)的时候,选用24小时工作模式。这种小时制模式下,位5代表的是20-23时选择位。 内部寄存器地址和内容 DS1302是需要晶振作为依托来进行工作的。晶振的实际振荡频率是32.768kHz,频率不高,接不接电容都是可以的,对时间没有很大的干扰。2.5温度模块多功能的数字时钟能够对温度进行实时精确测量和显示。温度传感器的数据经过单片机进行输出来,在液晶上显示出来。这些设计中选择的是DS18B20型号温度传感器。2.5.1 DS18B20的性能特性1.1 特殊的接口形式,是需要单线进行连接的。DS18B20与其他微处理器相连的时候只依靠一条口线就能够完成。靠这一条接口线能够实现两者的双向通信。1.2 测温范围 55125,固有测温分辨率0.5。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1