基于单片机及时钟芯片DS1302的电子时钟设计
基于AT89C51单片机和DS1302时钟芯片电子时钟本科毕业设计
毕业设计论文基于AT89C51单片机和DS1302时钟芯片电子时钟目录摘要 (3)绪论 (5)第1章设计要求与方案论证 (7)1.1 引言 (7)1.2 功能要求 (7)1.3方案论证 (7)第2章系统硬件电路设计 (11)2.1 电路设计 (11)2.2 系统硬件概述 (15)2.3主要单元电路的设计 (15)第3章系统的软件设计 (22)3.1程序设计 (22)3.2程序设计流程图 (22)第4章结束语 (24)附录一(电路原理图)…………………………………………..……………附录二(程序清单) (27)摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间,能够了解与人类密切相关的信息,比如星期、日期等,电子时钟诞生了,它集时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
该电子时钟主要采用STC89C52RC单片机作为主控核心,由DS1302时钟芯片提供时钟、LED动态扫描显示屏显示。
STC89C52RC单片机是由Atmel公司推出的,功耗小,电压可选用4~6V电压供电;DS1302时钟芯片是美国DALLAS 公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用的LED显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。
此外,该电子时钟还具有时间校准等功能。
关键词:时钟电路;时钟芯片DS1302;LED动态扫描;单片机STC89C52RC;绪论随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。
二十一世纪的今天,最具代表性的计时产品就是电子时钟,它是近代世界钟表业界的第三次革命。
第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。
基于DS1302设计的数字钟原理图与PCB教程
基于DS1302设计的数字钟任务一电路原理图的设计1、最小系统电路步骤一:新建设计。
双击桌面PROTEUS软件图标,打开软件,单击工具栏“File”,出现如下图所示下拉菜单。
单击“New Design”菜单,弹出如下对话框。
选择绘图模板,我们选择DEFAULT模板,单击DEFAULT图标,单击“OK”按钮。
进入原理图编辑界面,如下图所示。
步骤二:文件命名和保存。
在绘制电路原理图应当先对文件进行命名,然后保存。
单击保存图标,弹出对话框,选择文件存储路径。
如下图所示:我们把文件保存在桌面的“电路原理图”这个文件夹内。
单击“保存”按钮弹出对话框,在“文件名”编辑框中填写电路原理图名称,“基于DS1302设计的数字钟”。
如下图所示。
单击“保存”按钮,回到原理图编辑页面。
同时在文件夹“电路原理图”中出现电路原理图标,如下图所示。
步骤三:选择主控元器件。
在编辑框最左边的工具栏中选择图标,进入器件模式,然后单击图标,弹出“Pick Device”对话框,如下图所示:在Category下拉框中选择Microprocessor ICs,然后选择芯片AT89C51或AT89C51单片机,如下图所示:单击OK按钮,单片机芯片选择完成,这时在对象选择器和预览窗口中均出现了所选择的芯片AT89C52,在对象选择器单击芯片名称,如AT89C52,再把鼠标移至编辑窗口区(工作区),右击鼠标,主控芯片AT89C52就拖入了工作区。
单片机芯片选择完毕。
如下图所示:步骤四:时钟振荡电路的设计。
51单片机的18和19引脚外接2个皮法级的电容和晶振就可以构成时钟振荡电路。
按照上一步骤选择AT89C52芯片的方法一一从元器件库中选择2个30pf的电容、12M的晶振,还有一个地。
如下图所示:步骤五:复位电路设计。
单片机的9引脚外接复位电路,本系统中用按键k1、2个电阻R1、R2和电容组成,具体电路结构如下图所示:此外,还有电源电路,单片机的20引脚、40引脚分别接电源的地和电。
基于单片机及时钟芯片DS1302的电子时钟设计
基于单片机及时钟芯片DS1302的电子时钟设计一、概述二、电子时钟的基本原理电子时钟是一种以单片机为核心的智能电子产品,采用数字电路来显示时间。
电子时钟的核心部件是一个定时器,通过周期性的计数来确定时间,然后再将计数器的结果通过数码管等显示装置进行显示。
除此之外,电子时钟还需要一个能够准确计时的时钟芯片,如本文所使用的时钟芯片DS1302。
三、电子时钟的设计方法本文设计的电子时钟采用AT89C52单片机和时钟芯片DS1302,并通过外围的驱动电路和数码管来实现时间的显示。
该电子时钟具有以下特点:1.可进行24小时制和12小时制的切换:电子时钟可以通过按键实现24小时制和12小时制的切换,可按需选择。
2.自动夏令时判断:电子时钟可自动识别夏令时,并根据设定值进行切换,方便易用。
3.温度显示:电子时钟的DS1302时钟芯片自带温度探测器,可实现温度的实时显示。
本文所设计的电子时钟的硬件设计方案如下:1.主控芯片:采用AT89C52单片机2.显示装置:采用数码管进行时分秒的显示,共4位数码管。
3.时钟芯片:采用DS1302时钟芯片,保证时间的准确性。
5.电源:采用开关电源或锂电池供电。
锂电池供电时,电子时钟可实现断电后不重置的功能。
1.初始化:在电子时钟启动时,需要对各个模块进行初始化,如DS1302时钟芯片的读写口、数码管和按键都需要进行初始化。
2.频率切换:按下切换按键后,电子时钟的频率从24小时制切换到12小时制。
3.设定夏令时:按下设定按键后,可以进行夏令时设定。
设定值以秒为单位存储,在夏季过渡期改变时,只需修改设定值即可。
5.时间的显示:通过程序将DS1302时钟芯片中的时间读出并在数码管上显示,实现实时显示的功能。
五、总结本文设计的基于单片机及时钟芯片DS1302的电子时钟,可通过按键实现24小时制和12小时制的切换、自动夏令时判断、温度显示等多种功能,实现了电子时钟的多种要求和需求。
该设计方案具有简单实用、成本低廉、易于维护等优点,可广泛应用于各个领域。
基于DS1302实时时钟的设计与制作毕业论文
目录
目录 .......................................................................................ห้องสมุดไป่ตู้.......................................................... 1 摘要 .................................................................................................................................................. 2 第 1 章 引言................................................................................................................................... 3
1.1 课题的背景....................................................................................................................... 3 1.2 课题的设计目标与意义................................................................................................... 3 1.3 课题的章节安排...................................................................
基于DS1302数字时钟电路的设计
1 引言从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。
钟表的数字化,大力推动了计时的精确性和可靠性。
在单片机构成的装置中,实时时钟是必不可少的部件。
目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许;有的则使用并行接口的时钟芯片,如MC146818、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。
本设计选取串行接口时钟芯片DS1302与单片机同步通信构成数字时钟电路。
其简单的三线接口能为单片机节省大量资源,DS1302的后背电源与对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。
这些优点解决了目前常用的实时时钟所无法解决的问题。
该时钟电路强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的使用价值。
2 核心芯片简介2.1 DS1302简介DS1302[1]是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。
时钟可工作在24小时格式或12小时〔AM/PM〕格式。
DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。
可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
基于单片机及DS1302的LED电子钟设计——软件部分
基于单片机及DS1302的LED电子钟设计——软件部分摘要现代社会的快节奏生活要求人们对时间的掌握越来越精确,随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在逐步地深入,电子钟也逐渐取代传统钟表被广泛应用于生活和工作中。
电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点。
本设计以AT89C52芯片作为核心,8位LED数码管显示和DS1302时钟芯片主要组成来实现电子钟的基本功能,并分析了相应软件的设计要点,包括软件设计流程、仿真与调试。
关键词电子钟;单片机;DS1302ABSTRACT Nowadays people need more accurate time to keep up with the high pace of life. With computers in the infiltration and the development of large-scale integrated circuits,SCM application is steadily deepening, while electronic clock is widely used in our life and work taking place of traditional one. the electronic clock mainly uses the electronic technology to make the clock computerized and digitized, with features of accurate time、small size、a friendly user interface and strong expansibility.This design mainly consists of the core chip of AT89S52, 8 light emitting diodes and the clock chip DS1302 to achieve the basic function of the electronic clock, and also analyses the key designing of the corresponding software including software design flow, emulation and debuggingKEY WORDS Electronic clock; Single Chip Microcomputer; DS1302目录1.前言 (1)2.系统核心芯片介绍 (2)2.1 单片机AT89S2简介 (2)2.1.1 芯片主要性能 (2)2.1.2 芯片引脚功能 (2)2.2 时钟芯片DS1302简介 (5)2.2.1 主要功能 (5)2.2.2 内部结构及引脚功能 (5)2.2.3 工作原理 (6)2.2.4 控制字节及寄存器 (7)2.2.5 数据的传送 (8)3.电子钟软件设计 (9)3.1 系统结构图及总流程图 (9)3.2 主程序模块 (10)3.2.1 初始化模块 (10)3.2.2 DS1302读写模块 (12)3.2.3 显示模块 (14)3.2.4 蜂鸣模块 (15)3.2.5 主程序流程图 (16)3.3 中断调整模块 (17)3.3.1 时间中断模块 (17)3.3.2 闹钟调整模块 (20)4.调试结果分析及解决方案 (21)5.总结 ................................................................................................. 错误!未定义书签。
单片机应用课程设计基于DS1302电子时钟的设计报告参考模板教材
单片机应用课程设计报告(2012~2013学年第2学期)设计题目:基于DS1302电子时钟的设计班别:2010级自动化1班姓名:李永兴贺孝言王永伟指导教师:***时间:2013年5月目录1 设计任务 (3)2 系统总体方案设计 (3)2.1各个模块方案论证 (3)2.1.1 时钟芯片的选择 (3)2.1.2 显示器的选择 (3)2.2总体方案设计 (4)3 硬件电路设计 (4)3.1单片机最小系统 (4)3.21302时钟电路 (5)3.3按键调时电路 (6)4 系统软件设计 (7)4.1主程序流程图 (7)4.2子程序流程图 (8)4.2.1 DS1302子程序流程图 (8)4.2.2 1602子程序流程图 (9)4.3按键校正调时程序 (9)5 实物调试 (10)5.1实物性能分析 (10)5.2总结 (13)附录1 (15)(1)系统总电路图 (15)(2)系统仿真图 (15)附录2 (17)部分程序清单 (17)1 设计任务基本要求:采用DS1302时钟芯片与单片机STC89C52相结合设计电子时钟,能够显示出实时年、月、日、时、分、秒等时间,并且可以通过按键进行时间调整。
2 系统总体方案设计2.1 各个模块方案论证2.1.1 时钟芯片的选择由于设计的是电子时钟,而单片机STC89C52自带计时功能,利用单片机实现数据的显示和调整是可行的,采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。
这样可以直接用单片机的内部定时/计数器来完成电子万年历的设计。
用单片机内部的定时/计数器来制作电子万年历,虽然无须外接其他芯片,充分利用了单片机的资源,但是计时精度不够高,误差较大,掉电后所有数据将被丢失,且软件编程较为复杂。
在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标。
基于单片机及DS1302的LED电子钟设计——软件部分
基于单片机及DS1302的LED电子钟设计——软件部分摘要现代社会的快节奏生活要求人们对时间的掌握越来越精确,随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在逐步地深入,电子钟也逐渐取代传统钟表被广泛应用于生活和工作中。
电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点。
本设计以AT89C52芯片作为核心,8位LED数码管显示和DS1302时钟芯片主要组成来实现电子钟的基本功能,并分析了相应软件的设计要点,包括软件设计流程、仿真与调试。
关键词电子钟;单片机;DS1302ABSTRACT Nowadays people need more accurate time to keep up with the high pace of life. With computers in the infiltration and the development of large-scale integrated circuits,SCM application is steadily deepening, while electronic clock is widely used in our life and work taking place of traditional one. the electronic clock mainly uses the electronic technology to make the clock computerized and digitized, with features of accurate time、small size、a friendly user interface and strong expansibility.This design mainly consists of the core chip of AT89S52, 8 light emitting diodes and the clock chip DS1302 to achieve the basic function of the electronic clock, and also analyses the key designing of the corresponding software including software design flow, emulation and debuggingKEY WORDS Electronic clock; Single Chip Microcomputer; DS1302目录1.前言 (1)2.系统核心芯片介绍 (2)2.1 单片机AT89S2简介 (2)2.1.1 芯片主要性能 (2)2.1.2 芯片引脚功能 (2)2.2 时钟芯片DS1302简介 (5)2.2.1 主要功能 (5)2.2.2 内部结构及引脚功能 (5)2.2.3 工作原理 (6)2.2.4 控制字节及寄存器 (7)2.2.5 数据的传送 (8)3.电子钟软件设计 (9)3.1 系统结构图及总流程图 (9)3.2 主程序模块 (10)3.2.1 初始化模块 (10)3.2.2 DS1302读写模块 (12)3.2.3 显示模块 (14)3.2.4 蜂鸣模块 (15)3.2.5 主程序流程图 (16)3.3 中断调整模块 (17)3.3.1 时间中断模块 (17)3.3.2 闹钟调整模块 (20)4.调试结果分析及解决方案 (21)5.总结 ................................................................................................. 错误!未定义书签。
利用单片机及DS1302制作电子时钟
单片机原理及应用——基于Proteus和Keil C实习报告课程名:利用单片机及DS1302制作电子时钟指导教师:朱华贵老师专业:应用电子技术年级: 10级评定:组员:邱凌芳、杨侨、陈佳佳设计时间: 2012年5月18日江西财经大学职业技术学院摘要为了进一步熟悉51单片机的编程以及学习电子时钟的相关设计方法,在老师的指导下我们进行了本次电子时钟的设计。
我们在实习期间基于51单片机——AT89C51和时钟芯片DS1302设计并实现了电子时钟显示。
在PCB板制作完成并且调试成功之际,为了进一步提高自己的动手能力和编程能力,对这次电子时钟的设计和制作的过程中遇到的问题及设计思路做一次总结。
本电子时钟是一种利用时钟芯片DS1302及51单片机来显示时、分、秒和年、月的装置。
默认显示为时间,由四个按键分别控制定时设置、时间调整、分钟调整、日期显示;设计电路工作电源为5V;由4位LED数码管显示时间,格式为时时分分,中间点每隔1S亮暗;有备用电池,掉电后再上电能正常显示时间。
电子时钟大体可以分为三大模块,数码管的显示模块、DS1302时钟芯片与单片机的时钟模块和按键与单片机的模块。
单片机在5V电压下,各个模块正常工作。
单片机从DS1302芯片中读出一组时间日期数据,同时单片机通过按键设置当前要求显示的信息给单片机。
单片机接收到各个数据时,把各个数据显示出来。
目录一、总体设计-------------------------------------------------41.1 设计目的---------------------------------------------41.2 硬件功能描述-----------------------------------------41.3 设计方案选择-----------------------------------------41.4 设计任务及要求---------------------------------------4二、电子时钟软件和硬件设计-----------------------------------52.1 硬件电路设计-----------------------------------------52.1.1 工作原理----------------------------------------52.1.2 单元模块电路------------------------------------52.1.3 元器件清单--------------------------------------72.2 软件设计---------------------------------------------72.2.1 程序设计流程------------------------------------72.2.2 主控程序----------------------------------------8三、电路调试-------------------------------------------------9四、总结----------------------------------------------------10五、参考文献------------------------------------------------11附录Ⅰ:DS1302时钟芯片的工作原理和使用方法------------------12 附录Ⅱ: 程序清单--------------------------------------------13附录Ⅲ: 原理图、PCB图及实物图------------------------------20一、总体设计此电子时钟利用AT89C51单片机和时钟芯片DS1302 设计完成。
基于单片机及时钟芯片DS1302的电子时钟设计
目录摘要一、引言 (1)二、硬件电路设计 (2)2.1 主要芯片 (2)2.1.1 微处理器 (2)2.1.2 DS1302简介 (4)2.1.3 DS1302引脚说明 (5)2.1.4 74ls245简介及引脚说明 (5)2.2 时钟硬件电路设计 (6)2.2.1 时钟电路设计 (7)2.2.2 整点报时功能 (8)2.2.3 硬件原理图 (9)三、proteus和keil软件仿真及调试 (9)3.1 电路的仿真 (9)3.2 软件调试 (9)四、C语言程序 (10)五、参考文献 (13)电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。
本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。
本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。
这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。
本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。
该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词:电子钟;多功能;AT89C52;时钟芯片一、引言时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。
从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。
致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。
1.1 多功能电子时钟研究的背景和意义20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。
基于单片机简易秒表(DS1302)课程设计报告
简易电子时钟的设计作者指导教师摘要: 随着科技的发展,单片机的应用正在不断深入,涉及到日常生活的方方面面。
本设计是基于单片机AT89S51为控制核心,以液晶为显示的数字时钟。
本数字时钟设计的原理相对简单,所以硬件电路也相对简单,难点和重点主要放在C语言的编程上,使用到定时器的子程序、延时程序、时分秒的控制程序、液晶模块和单片机模块的初始化程序、液晶显示的程序等,各个函数交叉调用,配合主程序的运行。
关键词: 单片机;C语言;电子时钟引言电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟:也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟:还可以利用单片机来实现电子钟等等。
这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号等特点。
本题目要求采用单片机设计一电子时钟。
1 系统方案1.1 功能要求1.1.1基本要求(1)制作完成简易的电子时钟,时间可调整。
(2)有闹钟功能。
(3)所用到的电路板必须有作者的名字和学号(制作PCB板时候放置,不能用笔写)。
(4)设计在2016年6月6日前完成,6月11日、12日验收。
1.1.2.扩展部分(选作)(1)显示年月日;(2)声音播报时间;(3)有温度显示;(4)其它。
1.2 方案论证DS1302具有自身计时的功能,但是自身却没法显示并且调整时间,这时就不可避免地要使用到单片机STC89C52,它可以作为一个桥梁,架接液晶显示器和DS1302,并且利用单片机的输入/输出端口可以实现调整时间的功能。
利用单片机STC89C52实现数据的显示和调整。
2 硬件设计2.1 单片机最小系统2.1.1单片机MCS-52单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:VCC:+5V电源。
VSS:接地。
RST:复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。
利用单片机及DS1302制作电子时钟
单片机原理及应用——基于Proteus仿真设计报告课程名:利用单片机及DS1302制作电子时钟专业:班级:学号:姓名:设计时间:一、简介这是一种“基于单片机和DS1302的电子时钟”(简称“电子时钟”)。
单片机为控制核心,DS1302为应用广泛且走时准确的时钟芯片。
二、功能与操作1.功能(1)时钟功能:动态显示时、分、秒。
(2)调时功能:可依据标准时钟调校时间。
(3)因DS1302接有辅助纽扣电池,即使电源断电也能准确计时数年。
2.操作(1)上电后时钟开始计时并显示。
(2)调时。
按下“调时”按键,则进入调校时间状态,可依次调校时、分、秒。
三、技术要点1.时钟芯片DS1302的应用(1)DS1302的简介DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
(2)DS1302的电路图2.应用中的几个小问题(1)子程序必须满足三线通信的时序要求。
单片机晶振频率不同,相应的子程序中的延时也要调整。
否则,运行结果可能出现错误。
(2)注意LED数码管动态扫描显示程序的设计及单片机晶振频率的选择。
否则,会因LED数码管数量多而导致显示闪烁或不正确。
所以在程序设计中,应使动态扫描频率大于视觉暂留频率,要考虑避免出现串显现象。
四、元件清单五、原理图六、程序SCLK EQU P3.2IO EQU P3.3RST EQU P3.4JIA1 EQU P3.6 ;"加一"口TSH EQU P3.7 ;"调时间"口HOUR DATA 62HMINTUE DATA 61HSECOND DATA 60HDS1302_ADDR DATA 32HDS1302_DATA DATA 31HORG 0HMOV SP,#70HLCALL DELY1MOV DS1302_ADDR,#8EH ;允许写1302MOV DS1302_DATA,#00HLCALL WRITEMOV DS1302_ADDR,#81H ;从1302读秒LCALL READANL A,#7FH ;启动1302振荡器MOV DS1302_ADDR,#80HMOV DS1302_DATA,ALCALL WRITEMOV 20H,#0 ;调整时标识单元MOV 21H,#0FH ;调整时工作单元MAIN1: JB TSH,MAIN2F ;按调时键往下执行MOV DS1302_ADDR,#81H ;从1302读秒LCALL READORL A,#80H ;停1302振荡器MOV DS1302_ADDR,#81HMOV DS1302_DATA,ALCALL WRITESSS: LCALL DISP ;显示JNB TSH,SSS ;等待调键盘弹起MOV 20H,#8 ;设置调"时"标志SSS3: JNB TSH,FFF ;按调时键转调"分"LCALL DISP ;显示JB JIA1,SSS3 ;按"加一"键往下执行SSS2: LCALL DISP ;显示JNB JIA1,SSS2 ;等待"加一"键弹起MOV R7,HOURMOV HOUR,ACJNE A,#24H,SSS1 ;不等于24时转MOV HOUR,#0 ;等于24时归零SSS1: MOV DS1302_ADDR,#84H ;将"时"写入1302 MOV DS1302_DATA,HOURLCALL WRITEMOV R0,HOUR ;"时"分离LCALL DIVIDEMOV 44H,R1MOV 45H,R2SJMP SSSMAIN2F: LJMP MAIN2FFF: NOP ;调"分"LCALL DISP ;显示JNB TSH,FFF ;等待调时键弹起MOV 20H,#4 ;置调"分"标志FFF3: JNB TSH,MMM ;安调时键转调"秒"LCALL DISP ;显示JB JIA1,FFF3 ;若按"加一"键往下执行FFF2: LCALL DISP ;显示JNB JIA1,FFF2 ;等待"加一"键弹起MOV R7,MINTUELCALL JIAYI ;"分"加一MOV MINTUE,ACJNE A,#60H,FFF1 ;不等于60转MOV MINTUE,#0 ;等于60则归零FFF1: MOV DS1302_ADDR,#82H ;将"分"写入1302 MOV DS1302_DATA,MINTUELCALL WRITEMOV R0,MINTUELCALL DIVIDE ;"分"分离MOV 42H,R1MOV 43H,R2SJMP FFF3MMM: LCALL DISP ;显示JNB TSH,MMM ;若按调时键则转调"秒"MOV 20H,#2 ;置调"秒"标志MMM3: JNB TSH,MAIN3 ;按调时键退出调时LCALL DISP ;显示JB JIA1,MMM3 ;按"加一"键往下执行MMM2: LCALL DISP ;显示JNB JIA1,MMM2 ;等待"加一"键弹起MOV R7,SECONDMOV SECOND,ACJNE A,#60H,MMM1 ;不等于60转MOV SECOND,#0MMM1: ORL SECOND,#80HMOV DS1302_ADDR,#80H ;写"秒"MOV DS1302_DATA,SECONDLCALL WRITEANL SECOND,#7FHMOV R0,SECONDLCALL DIVIDE ;"秒"分离MOV 40H,R1MOV 41H,R2SJMP MMM3MAIN3: LCALL DISP ;显示JNB TSH,MAIN3 ;等待调时键弹起MOV 20H,#0MOV 21H,#0FHMOV DS1302_ADDR,#81H ;读"秒"LCALL READANL A,#7FH ;启动1302振荡器MOV DS1302_ADDR,#80HMOV DS1302_DATA,ALCALL WRITELJMP MAIN1MAIN2: MOV P1,#0 ;读时分秒并显示MOV DS1302_ADDR,#85H ;读"时"LCALL READMOV HOUR,DS1302_DATAMOV DS1302_ADDR,#83H ;读"分"LCALL READMOV MINTUE,DS1302_DATAMOV DS1302_ADDR,#81H ;读"秒"LCALL READMOV SECOND,DS1302_DATAMOV R0,HOUR ;"时"分离LCALL DIVIDEMOV 44H,R1MOV 45H,R2MOV R0,MINTUE ;"分"分离LCALL DIVIDEMOV 42H,R1MOV 43H,R2MOV R0,SECOND ;"秒"分离LCALL DIVIDEMOV 40H,R1MOV 41H,R2LCALL DISPLJMP MAIN1DISP: NOPMOV P1,40H ;显示"秒"低位JNB 01H,MIAOLMOV A,21HRL AMOV 21H,ACJNE A,#78H,MIAO1MIAO1: JC MIAOLCLR P2.4CLR P2.5SJMP FENMIAOL: SETB P2.5LCALL DELY1CLR P2.5LCALL DELY2MOV P1,41H ;显示"秒"高位SETB P2.4LCALL DELY1CLR P2.4LCALL DELY2FEN: MOV P1,42H ;显示"分"低位JNB 02H,FENLMOV A,21HRL AMOV 21H,ACJNE A,#78H,FEN1FEN1: JC FENLCLR P2.2CLR P2.3SJMP SHIFENL: SETB P2.3LCALL DELY1CLR P2.3LCALL DELY2MOV P1,43H ;显示"分"高位SETB P2.2LCALL DELY1CLR P2.2LCALL DELY2SHI: MOV P1,44H ;显示"时"地位JNB 03H,SHILMOV A,21HRL AMOV 21H,ACJNE A,#78H,SHI1SHI1: JC SHILSJMP SHI2SHIL: SETB P2.1LCALL DELY1CLR P2.1LCALL DELY2MOV P1,45H ;显示"时"高位SETB P2.0LCALL DELY1CLR P2.0LCALL DELY2SJMP SFMSHI2: CLR P2.0CLR P2.1SFM: RETDELY1: MOV R7,#5 ;晶振12MHz,延时2.58ms DELY11: MOV R6,#0DJNZ R6,$DJNZ R7,DELY11RETDELY2: MOV R7,#1 ;晶振12MHz,延时0.52ms DELY21: MOV R6,#0DJNZ R6,$DJNZ R7,DELY21RETDELY3: MOV R7,#40 ;晶振12MHz,延时8x2.58ms DELY31: MOV R6,#0DJNZ R6,$DJNZ R7,DELY31RETJIAYI: MOV A,R7ADD A,#1DA ARETDIVIDE: MOV A,R0 ;分离子程序ANL A,#0FHMOV R1,AMOV A,R0SWAP AANL A,#0FHMOV R2,ARET;以下为DS1302在单片机晶振频率为4MHz时的串行通信子程序WRITE: CLR SCLK ;1302写子程序SETB RSTMOV A,DS1302_ADDRMOV R4,#8WRITE1: RRC ACLR SCLKMOV IO,CSETB SCLKDJNZ R4,WRITE1CLR SCLKMOV A,DS1302_DATAMOV R4,#8WRITE2: RRC ACLR SCLKMOV IO,CSETB SCLKDJNZ R4,WRITE2CLR RSTRETREAD: CLR SCLK ;1302读子程序SETB RSTMOV A,DS1302_ADDRMOV R4,#8READ1: RRC ANOPMOV IO,CSETB SCLKCLR SCLKDJNZ R4,READ1MOV R4,#8READ2: CLR SCLKMOV C,IORRC ASETB SCLKDJNZ R4,READ2MOV DS1302_DATA,ACLR RSTRETEND七、总结通过这次设计与仿真,让我对PROTEUS仿真有了一定的了解,其中也碰见了许多不会用的,后来经过网上查阅懂得了怎么使用,如,画总线工具在什么地方,怎么使用这个东西来画总线,怎么画网络标号。
基于DS1302的数码管时钟电路设计
单片机与可编程器件LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示,其中小时、分、秒之间用小数点分开。
该电路采用AT89C52单片机和DS1302实时时钟芯片,使用5V电源进行供电,使用两个按键进行调时,调整过程中被调节的分钟或时钟将进入闪亮状态,看上去非常直观,另外,本设计还具有快速调时功能,当按键一直被按下时,便进入快速调时状态。
由于本时钟电路的计时是由芯片DS1302来完成的,计时准确 ,单片机通过串行通信来控制DS1302工作,同时进行键盘和显示的控制。
DS1302芯片介绍1.DS1302的功能及其结构DS1302芯片是美国DALLAS公司推出的低功耗实时时钟芯片,它采用串行通信方式,只需3条线便可以和单片机通信,并且其片内均含RAM,可增加系统的RAM,DS1302的时钟校准比较容易,若采用专用的晶体振荡器,几乎无须调整即可以达到国家要求的时钟误差标准。
DS1302有两个电源输入端,其中的一个用来做备用电源,这样避免了由于突然停电而造成时钟停止,因此它非常适合于长时间无人职守的监测控制系统或需经常记录某些具有特殊意义的数据及对应时间的场合。
DS1302提供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整,并可通过AM/PM 指示决定采用24 或12 小时格式。
DS1302串行时钟芯片主要由移位寄存器、控制逻辑、振荡器、实时时钟及31B的RAM组成。
在数据传送前,必须把RST置为高电平,且把提供地址和命令信息的8位装入到移位寄存器。
在进行单字节传送或多字节传送时,开始的8位命令字节用于指定40B(前31B RAM和9B时钟寄存器)中哪个将被访问。
在开始的8个时钟周期把命令装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据。
DS1302的封装引脚示意图和内部结构图分别见图1和图2。
其中,X1、X2接32.768kHz 晶振,GND为地,复位线驱动至高电平,启动所有的数据传送。
基于DS1302与单片机的实时电子时钟设计_cqupt
目 录
课程分析
方案论证
方案实现
电路与程序设计
测试方案与测试结果
致谢
课程分析
此次课程设计,要求利用51单片机和DS1302设计一个实时电子 时钟。 基本要求: 1.在8位数码管上显示准确的北京时间(09-21-06),采用24 小时制; 2.设置按键可以进行时间校准,按键利用51学习板上的矩阵按键 ,结合实际矩阵键盘的分布,为了方便对键值的处理,初步设计 矩阵键盘的各个功能键的分布如下:
方案论证-比较与选择
• 现有的资源是MC51单片机,要实现的是实 时时间的显示,可以采用两种方案, • 一种是软件的方法,利用中断或者软件延 时来实现时间的产生。由于是采用的纯软 件的方法,时间的误差比较大。 • 另一种方案是采用专用的时钟芯片,来精 确的产生时间。然后用单片机控制数码管 来显示产生的时间。 下一页
实时电子时钟
0110907 左学 李婷 周媛
摘 要
这次所做的实时电子时钟的主体部件包括 MCS-51单片机,数码管,按键,蜂鸣器,DS1302芯片。 其中DS1302是美国DALLAS公司推出的一种高性能、低功耗 的实时时钟芯片,工作电压宽2.5~5.5V,简单的三线接口为 单片机节省大量资源; AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS 8 位单片机. 整体思路是 通过对AT89C51单片机写入程序实现对DS1302读写,读写 出正确的时分秒信息,然后数据用LED显示出来。通过键盘扫 描得到的键值进行键值处理可以进行定时、校时功能以及闹钟 功能。 关键字:MCS-51 数码管 按键 DS1302 蜂鸣器
B)软件部分的测试方案主要测试: 语法格式错误、 全局变量及局部变量的混乱使用、 逻辑上的错误 下一页
基于DS1302电子钟的设计
《单片机技术》课程设计任务书(二)题目:基于DS1302的电子钟设计一、课程设计任务DS1302是DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压为2.5~5.5V。
DS1302采用三线接口,与CPU进行同步通信,并可采用突发方式一次传送多个字节的时间数据或RAM数据。
DS1302内部有一个31X8的用于临时性存放数据的RAM存储器。
本课题要求设计一基于DS1302的电子钟,该系统要求包含时钟显示模块(可用数码管或液晶显示)和键盘输入模块等。
按1键可以查看当前的时间,按2键可以修改当前的时间,按3键可以设置控制的时间,按4键可以查看及删除所设置的时间,当设定的控制时间到时,铃声响起。
二、课程设计目的通过本次课程设计使学生掌握:1)专用时钟芯片DS1302与单片机的接口及DS1302的编程;2)矩阵式键盘的设计与编程;3)经单片机为核心的系统的实际调试技巧。
从而提高学生对微机实时控制系统的设计和调试能力。
三、课程设计要求1、要求可以从键盘上接收相关信息,按1键可以查看当前的时间,按2键可以修改当前的时间,按3键可以设置控制的时间,按4键可以查看及删除所设置的时间,当设定的控制时间到时,铃声响起。
2、能实时显示时钟。
四、课程设计内容1、人机“界面”设计;2、单片机端口及外设的设计;3、硬件电路原理图、软件清单。
五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序的名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%。
基于DS1302的数字时钟设计
一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)五、主要元器件与设备 (10)六、课程设计体会 (10)七、参考文献 (10)一、设计目的1、掌握电子时钟的基本工作方式。
2、进一步熟悉DS1302芯片的特性。
3、通过使用各基本指令,进一步熟练掌握单片机的编程和程序调试。
二、设计思路利用AT89C52的特点及DS1302的特点,设计一种基于DS1302单片机控制,再利用数码管静态显示的可调可定时数字钟。
本系统硬件利用AT89S52作为CPU 进行总体控制,通过DS1302时钟芯片获取准确详细的时间(年、月、日、周、日、时、分、秒准确时间),对时钟信号进行控制,同时利用数码管对时间进行准确显示年、月、日、周、日、时、分、秒。
三、设计过程3.1系统设计结构图图1系统设计结构图根据系统设计的要求和设计思路,确定该系统的系统设计结构图。
如图1所示。
硬件电路主要由MCU微处理控制器单元、DS1302时钟电路、储存器、复位电路、晶振电路、数码管显示模块构成。
3.2 MCU微控制器电路AT89S52作为系统的核心控制元件,只有它能正常工作后才能使其它的元件进入正常工作状态。
因此,下面对AT89S52进行必要的说明,AT89S52的管脚如图3所示。
图3 AT89S52的管脚1)VCC:40脚,供电电压,一般接+5V电压。
2)GND:20脚,接工作地。
3)P0口:1~8脚,P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上电阻。
但是P0口在程序校验作为输出指令字节时,需要外部加上拉电阻,一般上拉电阻选4.7K~10K为宜。
本设计中用5.1K的排阻对P0口进行上拉电平。
4)P1口:32~39脚,P1口是一个内部具有上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
基于ds1302闹钟课程设计
基于ds1302闹钟课程设计一、教学目标本课程旨在让学生了解和掌握DS1302闹钟的工作原理和基本使用方法。
通过本课程的学习,学生将能够:1.知识目标:了解DS1302闹钟的内部结构、工作原理和接口定义;掌握DS1302闹钟的基本编程和使用方法。
2.技能目标:能够使用DS1302闹钟进行时间设定和闹钟设置;能够编写简单的程序实现DS1302闹钟的功能。
3.情感态度价值观目标:培养学生对电子技术的兴趣和好奇心,提高学生动手实践的能力,培养学生团队合作的精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.DS1302闹钟的内部结构和工作原理;2.DS1302闹钟的接口定义和编程方法;3.DS1302闹钟的使用方法和操作步骤;4.DS1302闹钟的实验操作和程序编写。
三、教学方法为了更好地实现教学目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解DS1302闹钟的内部结构、工作原理和接口定义;2.讨论法:用于探讨DS1302闹钟的编程方法和使用步骤;3.实验法:用于实践DS1302闹钟的操作和程序编写;4.案例分析法:通过分析具体的DS1302闹钟应用案例,加深学生对DS1302闹钟的理解和应用能力。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:DS1302闹钟的使用手册和编程指南;2.参考书:关于DS1302闹钟的内部结构和工作原理的书籍;3.多媒体资料:关于DS1302闹钟的内部结构和工作原理的PPT、视频等资料;4.实验设备:DS1302闹钟实验套件,用于学生的实验操作和程序编写。
五、教学评估为了全面、客观地评估学生在DS1302闹钟课程中的学习成果,我们将采用以下评估方式:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等表现来评估其学习态度和理解程度;2.作业:布置与课程内容相关的编程和实践作业,评估学生对DS1302闹钟知识的掌握和应用能力;3.考试:安排一次课程结束考试,测试学生对DS1302闹钟内部结构、工作原理、编程方法等知识的掌握程度;4.实验报告:评估学生在实验操作中的表现和实验报告的撰写能力,检验其对DS1302闹钟的实际操作和问题解决能力。
基于日历时钟DS1302的时钟设计
课程设计课程单片机课程设计题目基于日历时钟DS1302的时钟设计院系专业班级学生姓名学生学号指导教师2012年3月30日课程单片机课程设计题目基于日历时钟DS1302的时钟设计专业姓名学号一、任务设计一款基于DS1302,可以显示年月日时分秒及周信息,具有可调整日期和时间功能的电子万年历。
二、设计要求[1] 自动计时,显示年、月、日、时、分、秒。
[2] 时间显示可调整。
[3] 写出详细的设计报告。
[4] 给出全部电路和源程序。
三、参考资料[1]陈景初.单片机应用系统设计与实践[M].北京:航空航天大学出版社,2006.[2] 陈正振.电子电路设计与制作.广西:交通职业技术学院信息工程系,2007.[3] 杨子文.单片机原理及应用.西安:电子科技大学出版社,2006.[4]刘勇.数字电路.北京:电子工业出版社,2004.[5]黄明强.DS1302在单片机系统中的应用.保定:师范学校学报,2004, (2).完成期限2012.3.19至2012.3.30指导教师专业负责人2012年3月16 日目录第1章绪论 (3)1.1 DS1302简介 (3)1.2 DS1302的性能特性 (3)1.3 DS1302数据操作原理 (3)1.4 DS1302 的应用 (4)1.5 本设计任务 (4)第2 章总体方案论证与设计 (5)2.1 单片机芯片的选择方案和论证 (5)2.2 显示模块选择方案和论证 (5)2.3 时钟芯片的选择方案和论证 (5)2.4 总体硬件组成框图 (6)第3章系统硬件设计 (7)3.1 单片机主控制模块的设计 (7)3.2 时钟电路模块的设计 (8)3.3 电路原理及说明 (9)3.4 显示模块的设计 (10)第4章系统的软件设计 (12)4.1 主程序设计 (12)4.2 液晶驱动程序 (13)第5章系统调试与测试结果分析 (14)5.1 硬件测试 (14)5.2 软件测试 (14)5.3 测试结果 (14)结论 (16)参考文献 (17)附录1 程序 (18)附录2 仿真效果图 (26)第1章绪论随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活中。
基于单片机及DS1302的LED电子钟设计硬件部分
摘要近年来,随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在逐步地深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用于各个领域。
本文的电子钟系统是以单片机(AT89S52)为核心,时钟芯片DS1302、数码管等元器件组成。
具体介绍应用Protel软件进行单片机系统的电子钟设计的实现方法。
该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。
关键词单片机;DS1302;电子钟ABSTRACT In recent years, with computers in the infiltration and the development of large-scale integrated circuits. SCM application is steadily deepening, because of strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is increasingly widely used in various fields.This article describes an electronic bell system which consists of the core of single chip microcomputer (AT89S52) , the clock chip DS1302, LED components.Describes the application of Protel software of the electronic single chip system clock to achieve the design in details.The method can not only test the property of the system precisely,but also improve development efficiency and reduce development cost,which values in popularity.KEY WORDS Single Chip Microcomputer; DS1302; electronic clock目录1.前言 (2)2.系统核心芯片简介 (2)2.1 时钟芯片DS1302简介 (2)2.1.1 内部结构 (3)2.1.2 工作原理 (4)2.1.3 寄存器和控制命令 (5)2.1.4 数据传送时序 (7)2.2 单片机AT89S52简介 (7)2.2.1芯片引脚及特点 (8)2.2.2 主要性能 (10)3.硬件电路设计 (11)3.1 电路框图 (11)3.2 PROTEL电路图设计 (11)3.2.1 复位电路 (11)3.2.2 时钟电路 (12)3.2.3 显示电路 (13)3.2.4 按键电路 (14)3.2.5 闹铃电路及系统原理图 (15)4.电路调试 (17)4.1 实验结果 (17)4.2 存在的问题 (18)4.3 解决的方案 (19)5.总结 (21)致谢 (22)参考文献 (22)附录一 (23)附录二 (24)1.前言日常生活生产中有许多地方需要电子时钟和日历,比如家庭,办公室,以及一些智能化仪表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要一、引言 (1)二、硬件电路设计 (2)2.1 主要芯片 (2)2.1.1 微处理器 (2)2.1.2 DS1302简介 (4)2.1.3 DS1302引脚说明 (5)2.1.4 74ls245简介及引脚说明 (5)2.2 时钟硬件电路设计 (6)2.2.1 时钟电路设计 (7)2.2.2 整点报时功能 (8)2.2.3 硬件原理图 (9)三、proteus和keil软件仿真及调试 (9)3.1 电路的仿真 (9)3.2 软件调试 (9)四、C语言程序 (10)五、参考文献 (13)电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。
本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。
本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。
这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。
本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。
该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词:电子钟;多功能;AT89C52;时钟芯片一、引言时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。
从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。
致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。
1.1 多功能电子时钟研究的背景和意义20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。
然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。
平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。
所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。
电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.2 电子钟的功能电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
当今市场上的电子时钟品类繁多,外形小巧别致。
也有体型较大的,诸如公共场所的大型电子报时器等。
电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等。
本设计电子时钟主要功能为:1.具有时间显示和手动校对功能,24小时制;2.具有年、月、日显示和手动校对功能;3.具有整点报时功能二、电子时钟硬件分析考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。
2.1主要芯片选择2.1.1微处理器选择目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列单片机。
该系列单片机均采用标准MCS-52内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。
例如比较常用的AT89C2052单片机,带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机。
拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED输出。
仅仅是为了完成时钟设计或者是环境温度采集设计,应用AT89C2052单片机完全可以实现。
但是将两种功能结合在一片单片机上,就需要更多的I/O引脚,故本设计采用具有32根I/O引脚的AT89C52单片机。
AT89C52单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB (可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-52兼容。
片内的FLASH 存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。
因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域[6]。
AT89C52具有以下主要性能:1.4KB可改编程序Flash存储器;2.全静态工作:0——24Hz;3.128×8字节内部RAM;4.32个外部双向输入/输出(I/O)口;5.6个中断优先级;2个16位可编程定时计数器;6.可编程串行通道;7.片内时钟振荡器。
此外,AT89C52是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。
在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。
在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。
图2.1 AT89C52芯片PDIP封装引脚图AT89C51为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDIP封装形式。
2.1.2 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。
需要强调的是,DS1302需要使用32.768KHz的晶振。
总线驱动器74LS245经常用作三态数据缓冲器,74LS245为双向三态数据缓冲器。
双向的有16个三态驱动器,每个方向8个。
在控制端,有效时(为低电平),由DIR端控制驱动方向:DIR为“1”时方向从左到右(输出允许),DIR为“0”时方向从右到左(输入允许)。
74LS245的引脚图如下所示当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B 向A 传输;(接收)DIR=“1”,信号由A 向B 传输;(发送)当CE为高电平时,A、B 均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。
2.2电子时钟硬件电路设计电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、供电电源、闹铃指示电路等几部分。
硬件电路框图参照图2.3。
该系统使用AT89C51单片机作为核心,通过读取时钟日历芯片DS1302数据,完成此电子时钟的主要功能——时钟。
使用比较通用的8段共阳数码管,做7位显示,分别显示时、分、秒。
键盘是为了完成时钟/日历的校对和日历/温度的显示功能。
由于此电子时钟要求具有闹铃功能,所以设计有闹铃电路,进行声音响铃。
整个电路使用了两种电源,+5V电源将为整个电路供电。
而+3V电源仅作为DS1302的备用电源。
当+5V电源被切断后,DS1302启用+3V电源,可以保持DS1302继续工作。
当+5V电源恢复供电,LED依旧显示当前时间,而不会因为断电使系统复位到初始化时间,避免了重新校时的麻烦。
2.2.1时钟电路设计系统时钟应用了实时时钟芯片DS1302,其连接如图2.4。
该硬件电路设计简单,抗干扰能力强。
如图,AT89C51单片机P1.7直接接DS1302的RST端,上电后,AT89C51的P1.7脚自动输出高电平。
P1.5作为串行时钟接口,P1.6作为时钟数据的I/O。
DS1302采用双电源供电,平时由+5V电源供电,当+5V掉电之后,由图中BT1(+3V 备用电池)供电。
特别需要注意X1和X2两端连接的晶振Y1,该晶振频率为32.768KHz。
还有一种方法是采用录音放音芯片1420做闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。
采用录放音电路,铃声可以是预先设定的一段自己喜欢的音乐,符合电器设备人性化的要求。
且1420芯片可以分段录音,还具有语音报时功能。
另外,也可以购置一块音乐集成电路,加置在单片机和蜂鸣器之间,当单片机连接闹铃电路的管脚送出高电平时,音乐集成电路会给蜂鸣器特定脉冲,使蜂鸣器发声。
此类集成电路体积较小,使用方便,不足的是音乐简单、单一。
三、proteus软件仿真及调试3.1电路板的仿真利用keil软件编写源程序。
在protues中画好其电路图如下图4.1所示:3.2软件调试在硬件调试完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。
在本设计中,软件调试主要分两大部分:实时时钟日历子程序调试、按键子程序调试。
将这两部分调试成功,那么整个设计的软件部分也就基本完成了。
图4.1 数字钟仿真图按键说明:在protues调试时第一个按键是校准小时的也就是数码管前两位,第二个按键是校准分钟的,第三个按键是校准秒的用C语言编写:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchardata_7seg[10]={0xc0,0xf9,0xa4,0xb0,0x9 9,0x92,0x82,0xf8,0x80,0x90,};uchar hour,min,sec;sbit shi=P1^0; sbit fen=P1^1;sbit miao=P1^2;sbit rst=P1^4;sbit sck=P1^5;sbit io=P1^6;sbit fm=P1^7;/*函数声明:*/void write_ds1302_byte(uchar dat);void write_ds1302(uchar add,uchar dat); uchar read_ds1302(uchar add);void read_rtc();void set_rtc();void display();void delay(int n);void show();void fmzz();/*DS1302单字节写入:*/void write_ds1302_byte(uchar dat){uchar i;for (i=0;i<8;i++){sck=0;io=dat&0x01;dat=dat>>1;sck=1;}}/*DS1302多字节写入:*/void write_ds1302(uchar add,uchar dat) {rst=0;_nop_();sck=0;_nop_();rst=1;_nop_();write_ds1302_byte(add);write_ds1302_byte(dat);rst=0;_nop_();io=1;sck=1;}/*DS1302读取:*/uchar read_ds1302(uchar add){uchar i,value;rst=0;_nop_();sck=0;_nop_();rst=1;_nop_();write_ds1302_byte(add);for (i=0;i<8;i++){value=value>>1;sck=0;if (io) value=value|0x80;sck=1;}rst=0;_nop_();sck=0;_nop_();sck=1;io=1;return value;}/*调整时间:*/void set_rtc(){if (shi==0) delay(100);if (shi==0){hour=(hour>>4)*10+(hour&0x0f);hour++;if (hour==24) hour=0;hour=((hour/10)<<4)+(hour%10);write_ds1302(0x84,hour);}if (fen==0) delay(100);if (fen==0){min=(min>>4)*10+(min&0x0f);min++;if (min==60) min=0;min=((min/10)<<4)+(min%10);write_ds1302(0x82,min);}if (miao==0) delay(100);if (miao==0){sec=(sec>>4)*10+(sec&0x0f);sec++;if (sec==60) sec=0;sec=((sec/10)<<4)+(sec%10);write_ds1302(0x80,sec);}}/*读取时间:*/void read_rtc(){hour=read_ds1302(0x85);min=read_ds1302(0x83);sec=read_ds1302(0x81);}/*显示时间:*/void display(){unsigned int a=1;P2=0x01;P0=data_7seg[hour/16];del ay(a);P2=0x02;P0=data_7seg[hour%16];de lay(a);P2=0x04;P0=data_7seg[min/16];del ay(a);P2=0x08;P0=data_7seg[min%16];del ay(a);P2=0x10;P0=data_7seg[sec/16];dela y(a);P2=0x20;P0=data_7seg[sec%16];dela y(a);}/*蜂鸣:*/void fmzz(){uint i;for (i=0;i<100;i++){fm=!fm;delay(2);}}/*延时程序:*/void delay(int n){unsigned int i,j;for(i=0;i<n;i++){for(j=0;j<121;j++){;}}}/*显示学号:*/void show(){unsigned int m;for(m=0;m<20;m++){uint a=10;P2=0x01;P0=data_7seg[7];delay(a);P2=0x02;P0=data_7seg[2];delay(a);P2=0x04;P0=data_7seg[4];delay(a);P2=0x08;P0=data_7seg[1];delay(a);P2=0x10;P0=data_7seg[1];delay(a);P2=0x20;P0=data_7seg[8];delay(a);}}/*主程序:*/void main(){show();write_ds1302(0x84,0x12); //初始化write_ds1302(0x82,0x00);write_ds1302(0x80,0x00);while (1){set_rtc();read_rtc();display();if(min==0){ if(sec==0){fmzz();}}}}五、参考文献1、倪晓军章韵等.单片机原理与接口技术教程.北京:清华大学出版社,20092、DS1302中文手册3、谭浩强等.C程序设计.北京:清华大学出版社,20054、王守忠聂元铭.51单片机开发入门与典型实例.北京:人民邮电出版社,2009。