[其它考试]基于STC89S52单片机的实时时钟设计.doc
《[其它考试]基于STC89S52单片机的实时时钟设计.doc》由会员分享,可在线阅读,更多相关《[其它考试]基于STC89S52单片机的实时时钟设计.doc(47页珍藏版)》请在三一文库上搜索。
1、- 1 - 湖南机电职业技术学院湖南机电职业技术学院 毕业设计毕业设计(论论文)文)任务书任务书 题目:题目: 基于基于STC89S52 单片机的实时时钟系统设计单片机的实时时钟系统设计 任务与要求:任务与要求: 时钟功能:该时钟最少可以准确走时几十年,在掉电后时钟芯片 12CR887 由内部集成锂离子电池供电,之所以在不需要看时 钟信息时可以将主电源拔掉,当需要看时钟信息时插上主电 源即可正常显示。 日期功能:能够准确的显示当前日期,具有闰年,平年日期自动调整功 能。 闹钟功能:能够按规定的定时时间报时。 要求: 1、确定单片机的 I/O 口,选择单片机的型号,选择外围设备,所须电源 参数。
2、 2、单片机外围 I/O 接线图 3、设计控制程序 1) 、选择 STC89C52 单片机设计 2) 、选择 DS12CR887 作为时钟源 3) 、选择 74LS273 作为地址锁存器 4) 、选择 TDA2822 作为闹钟功率放大器 4、程序与说明 时间时间: 2009 年 4 月 20 日 至 2009 年 6 月 5 日 共 6 周 系部:系部: 电气工程系电气工程系 专业:专业: 应用电子技术应用电子技术 学生姓名:学生姓名: 文绍锦文绍锦 学学 号:号: 06221124 指导单位或教研室:广恒电子指导单位或教研室:广恒电子 电气教研室:电气教研室: 411 指导教师:指导教师:
3、郭稳涛郭稳涛 肖珊肖珊 系主任:系主任: 庹朝永庹朝永 2009 年 7 月 2 日 V - 2 - 毕业设计毕业设计( (论文论文) )进度计划表进度计划表 日日 期期工工 作作 内内 容容 执执 行行 情情 况况 指指 导导 教教 师师 签签 字字 2 0 0 9年4月2 0日 2009 年 4 月 30 日 认识课题:围绕要求掌握的内容,查阅书籍、 资料确定设计方案。方法:书店购买书籍、 利用工作之余努力学习单片机编程、在网上 申请 DS12CR887 免费样品,在电子城买其他 外围元器件。 2009 年 5 月 5 日 2009 年 5 月 10 日 读图:查阅 DS12CR887 时
4、钟芯片内部结构相 关资料、利用所学的知识重点对单片机如何 读取 DS12CR887 内部数据信息进行分析,确 定时钟显示电路、调时轻触按钮、地址锁存 器 74LS273、闹钟蜂鸣器、STC89C52 单片机 的选取。 2009 年 5 月 12 日 2009 年 5 月 18 日 基于 DS12CR887 实时日历时钟的硬件连接, STC89C52 单片机编程器的制作。并画出原 理图及其 PCB 板准备外发 PCB 公司打板! 2009 年 5 月 20 日 2009 年 5 月 25 日 编写程序,调试程序,并用软件仿真!将调 试成功的程序下载到单片机中! 2009 年 5 月 26 日时钟
5、制作成功,并观察走时的准确性,为编 写毕业论文做准备! 2009 年 5 月 27 日 2009 年 6 月 5 日整理编写毕业设计论文,准备答辩。 指导教师对进度计划实施情况总 评 签名: 年 月 日 - 3 - 目目 录录 摘要摘要 第第 1 1 章章 绪论绪论 6 1.1 实时时钟研究的背景和意义.6 1.2 本论文研究的主要内容.6 本章小结本章小结 6 第第 2 2 章章 系统概述系统概述 7 2.1 实时时钟的特点.7 2.2 实时时钟芯片 DS12CR887 工作原理.7 2.3 实时时钟芯片 DS12CR887 主要性能参数.7 2.4 七段数码管构成的显示电路工作原理10 第
6、第 3 3 章章 硬件设计硬件设计 11 3.1 STC89S52 单片机编程器电路.11 3.2 电源和显示时间控制电路12 3.3 按键调时控制电路 .13 3.4 闹钟电路14 第第 4 4 章章 单片机软件设计单片机软件设计 15 4.1 实时时钟芯片 DS12CR887 编程基础15 4.2 时间调整,闹钟调整,年、月、日调整切换子程序设计 .16 4.3 时间调整子程序设计17 4.4 闹钟定时调整子程序设计21 4.5 年、月、日显示子程序设计28 4.6 年、月、日调整子程序设计29 4.7 数码管显示子程序设计40 第第 5 5 章章 结论结论 44 谢辞谢辞 - 4 - 参
7、考文献参考文献 附录附录 A:基于:基于 12CR887 实时时钟实时时钟 PCB 板板 - 5 - 摘要摘要 随着我国经济的飞速发展,城市人口日益增多,人们在忙碌的日常生活中 都少不了一个稳定可靠的时钟!当我们在火车站候车时总是时不时盯着电子显 示屏的时间来预知车次的到来,当我们在工厂里面工作时,一个工人工资的多 少往往都是以时间来计算的!由此看来一个稳定可靠的时钟在我们的日常生活 中具有很实际的意义。 本课题是基于 DS12CR887 时钟芯片为时钟源,单片机为主控制系统开发的 一个实时时钟。该时钟走时准确,并且在掉电的状态下最少也能准时间工作 10 年,它不但具有走时准确的功能,而且还能
8、够准确的显示年,月,日,星期。 在本设计中充分利用了单片机内部资源,涉及到了键盘控制、数码管显示、中 断系统、定时/计数器、串口通信等,这既是对所学知识的总结也是对自己动手 能力的最好锻炼。通过本次设计,我成功的制作出了属于自己的产品,并对单 片机有了更深层次的了解。要想真正的学好单片机就要找时间去多“玩”单片 机,也就是说多练习,多想,按照自己的想法去开发产品,这样才能真正的掌 握单片机。 单片机“入门既不难,深造也是办得到的”,只要有恒心、有决心,跟随 “连载”一步步走下去,将来就一定能在单片机世界里遨游。 关键词关键词:实时时钟 单片机 STC89C52 DS12CR887 - 6 -
9、第第 1 1 章章 绪绪 论论 1.1 实时时钟研究的背景和意义实时时钟研究的背景和意义 在我们的现实生活中可能每个人都拥有自己的时钟,因为有了时钟我们就 可以按着时间去工作,按着时间有计划的去处理某些事情。但是有没有人想过 你的时钟走时不准的时候,你是多么的烦恼呢。因为在生活中大多数时钟多是 非实时的,只要把电池取下来时钟就将停止工作,或者当你的时钟电池耗尽时 它将也停止工作。就连人们常带的电子手表也要定期更换电池,否则将停止工 作。然而又有没有人想过在更换电池上所话费金钱的多少呢?我们就以电子钟 一个月更换一次电池来计算吧,换一次电池大概需要 3 元钱,一年下来将要花 费 36 元钱,十年
10、下来将要花费 360 元,还不算电池涨价的情况与时钟维修的钱! 而本次设计的实时时钟不但时间是连续的,而且在掉电的情况下也能工作几十 年,并且制作成本也才 20 来块钱。本时钟还具有环保、走时无噪音、低功耗等 非实时时钟不具有的功能。该实时时钟不但可以作为家用,而且更可以在公共 场合使用,如车站、码头、商场等场所。 1.2 本论文研究的主要内容本论文研究的主要内容 本文是以实时时钟芯片 DS12CR887 和 STC89C52 单片机为主要研究对象, 着重进行 51 单片机控制系统的设计研究和如何读取 DS12CR887 内部时钟信息 的研究。主要内容包括: 1、时间显示系统的设计; 2、调整
11、时间系统的设计; 3、年、月、日显示系统的设计; 4、年、月、日调整系统的设计; 5、闹钟定时系统的设计; 6、闹钟定时响应系统的设计; 7、如何读取 DS12CR887 内部时钟信息; 本章小结本章小结 本章介绍了基于 DS12CR887 实时时钟在现实生活中的重要性,总结了本 论文研究的目的、意义及要完成主要工作的任务。 - 7 - 第第 2 2 章章 系统概述系统概述 2.1 实时时钟的特点实时时钟的特点 1、走时准确无误,配置灵活,设用于工厂,车站,家庭等领域使用。 2、价格较低,外围设备较简单易于制作。 3、低功耗,能够掉电工作几十年。 4、工作无噪音,不影响他人休息。 5、闹钟报时
12、准确,不会误报错报。 6、外表美观,实用,实用价值高。 2.2 实时时钟工作原理实时时钟工作原理 本时钟在上电工作时首先显示当前时间时、分、秒,然后延时一段时间后 显示当前年、月、日,并在设定的闹铃时间闹钟响应。当用户需要调整年、月、 日、时、分、秒闹铃时可以按轻触按钮进行调节。在掉电的情况下,显示屏上 面没有显示,但在时钟芯片 DS12CR887 内部已经集成了可充电锂离子电池, 其内部任然在不间断的工作中,即时在掉电的情况下 DS12CR887 至少也能工 作十年,所以当给单片机再次供电时,单片机对 DS12CR887 进行读数据,然 后通过显示屏显示准确无误的时间! 2.3 实时时钟芯片
13、实时时钟芯片 DS12CR887 主要性能参数主要性能参数 1,时钟芯片,时钟芯片 DS12CR887,其引脚分布图如下所示其引脚分布图如下所示 - 8 - 图 2-1 12C887 引脚分布图 MOT (1 脚) :总线时序模式选择脚。接高电平,选择 MOTOROLA 总线 时;序;接低电平或悬空,择选择 INTEL 总线时序。 NC (2,3,16,20,21,22 脚):悬空脚。 AD0AD7(411 脚):地址/地址数据复用总线引脚。 CS(13 脚):片选脚,低电平有效。 AS(14 脚):地址锁存输入脚。下降沿时,地址被锁存,紧接着的上升 沿来时地址被清除。 R/W(15 脚):读
14、/写输入脚。在选择 MOTOROLA 总线时序模式时,此引 脚用于指示当前的读写周期,高电平指示当前为读周期,低 电平指示当前为写周期;选择 INTEL 中线时序模式时,此 引脚为低电平有效的输入脚,相当于通用 RAM 的写使能信 号(/WE) DS(17 脚):选择 MOTOROLA 总线时序模式时,此引脚为数据锁存脚; 选择 INTEL 总线时序模式时,此引脚为读输入脚,低电平 有效,相当于典型的内存的输出使能信号(/OE) RESET(18 脚):复位脚,低电平有效,复位不会影响到时钟、日历和 RAM。 IRQ(19 脚):中断申请输出脚,低电平有效,可作为微处理器的中断输入。 SQW(
15、23 脚):方波信号输出脚。可通过设置寄存器位 SQWE 关断此信 号输出,此信号的输出频率也可通过对芯片内部的寄存器编 程予以改变。 VCC(24 脚):+5v 电源端。 - 9 - 2,时钟芯片,时钟芯片 12C887,其内存空间如下所示其内存空间如下所示 0 13 14 49 50 51 127 图 2-2 12C887 内存空间映射示意图 地址 0X000X09 共十个寄存器,分别存放秒、秒闹钟、分、分闹钟、 时、时闹钟、小时、时闹钟、星期、日、月、年和年信息,地址 0X32 为 世纪信息寄存器(解决了千年问题);地址 0X0A0X0Dh 共 4 个寄存器, 分别为寄存器 A、B、C、
16、D,它们用于控制和寄存某些状态信息;其余的 113 字节地址空间是留给用户使用的普通地址空间。 在所有的 128 字节中,寄存器 C 和 D 为只读寄存器,寄存器 A 的第 7 位属于只读位,秒字节的高阶位也是只读的,其余字节均为可直接读写 字节。 时钟,日历信息可以通过读取合适的内存字节获得:时钟、日历和闹钟可 以写合适的内存字节设置和初始化。对应时钟、日历和闹钟的 10 个寄存 器字节可以是二进制形式或者 BCD 码形式,在写这些寄存器时,寄存器 B 的 SET 位必须置 1。 寄存器 A 字节的内容如下。 MSB LSB UIP: 更新标志位。为只读位且不受复位操作的影响,为 1 时,表
17、示即将发 0秒 1 秒闹钟14 字节 2 分钟 3 分闹钟 4 时钟 5 时闹钟 6 星期 7 日 8 月 9 年 10 寄存器 A 11 寄存器 B 12 寄存器 C 13 寄存器 D 00 0D 0E 31 32 33 7F 50 世纪 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 - 10 - 生的数据更新;为 0 时,表示至少 244US 不会更新数据。当 UIP 为 0 时,可以 获得所有时钟、日历、闹钟信息。将寄存器 B 中的 SET 位置 1 可以限制任何数 据更新操作,并且清除 UIP 位。 DV2、DV1、DV0:此 3 位为 010 时将打开晶振,并开始计
18、时。 RES3、RES2、RES1、RES0:用于设置周期性中断产生的时间周期和输出 方波的频率。 寄存器 B 字节的内容如下。 MSB LSB SET:设置位,可读写,不受复位操作影响。为 0 时,不处于设置状态, 芯片进行正常时间数据更新;为 1 时,抑制数据更新,可以通过程序设定时间 和日历信息。 PIE:周期性中断使能位,可读写,复位时清除此位。为 1 时,允许寄存 器 C 中的周期中断标志位 PF,驱动/IRQ 引脚为低产生中断信号输出,中断信 号产生的周期由 RS3RE0 决定。 AIE:闹钟中断使能位,可读写。为 1 时,允许寄存器 C 中的闹钟中断标 志位 AF、闹钟发生时就会
19、通过/IRQ 引脚产生中断输出。 UIE:数据更新结束中断使能位,可读写。复位或者 SET 位为 1 时清除此 位。为 1 时允许寄存器 C 中的更新结束标志 UF,更新结束时就会通过/IRQ 引 脚产生中断输出。 SQWE:方波使能位,可读写,复位时清除此位。为 0 时,SQW 引脚保 持低电平;为 1 时,SQW 引脚输出方波信号,其频率由 RS3RS0 决定。 DM:数据模式位,可读写,不受复位操作影响。为 0 时,设置时间、日 历信息为二进制数据;为 1 时,设置为 BCD 码数据。 24/12:时间模式设置为,可读写,不受复位操作影响。为 0 时,设置为 12 小时模式;为 1 时,
20、设置为 24 小时模式。 DSE:为 1 时,会引起两次特殊的时间更新;4 月的第一个星期日凌晨 1:59:59 会直接更新到 3:00:00,10 月的最后一个星期日凌晨 1:59:59 会直接更新到 1:00:00;为 0 时,时间信息正常更新,此位可读写,不受复 位操作影响。 寄存器 C 字节内容如下。 MSB LSB IQRF:中断申请标志位。为 1 时,/IRQ 引脚为低,产生中断申请。当 SET PIE AIE UIE SQWE DM24/12 DSE IRQF PF AF UF 0 0 0 0 - 11 - PF、PIE 为 1 时或者 AF、ATE 为 1 或者 UF、UIE
21、为 1 时,此位为 1,否则置 0. PF:中期中断标志位。为 1 时,它是只读位,和 PIE 位状态无关,由复 位操作或者寄存器 C 操作清除。 AF:闹钟中断标志位。为 1 时,表示当前时间和闹钟设定时间一至,由复 位操作或读寄存器 C 操作清除。 UF:数据更新结束中断标志位。每个更新周期后此位都会置 1,当 UIE 位位置 1 时,UF 若为 1 就会引起 IRQF 置 1,将驱动/IRQ 引脚为低电平,申请 中断。此位由复位操作或读寄存器 C 操作清除。 寄存器 D 字节的内容如下。 MSB LSB VRT;RAM 和时间有效位。用于指示和 VBAT 引脚连接的电池状态。此 位不可写
22、,也不受操作为影响,正常情况下读取时总去为 1,如果出现读取为 0 的情况,则表示电池耗尽,时间数据和 RAM 中的数据就会出现问题。 芯片 DS12CR887 的 113 字节普通 RAM 空间为非易失性 RAM 空间,他 不专门用于某些特别功能,而是可以在未处理器程序中作为非易失性内存空间 使用。 3,74LS273 其引脚分布图如下图所示其引脚分布图如下图所示 图 2-3 地址锁存器 74LS273 引脚分布图 RD(1 脚):复位脚。低电平有效,当 1 脚是低电平时,输出脚 2(1Q)、 5(2Q)、6(3Q)、9(4Q)、12(5Q)、15(6Q)、 16(7Q)、 19(8Q)。
23、全部输出 0,即全部复位。 T(11 脚):锁存控制端。上升沿触发,当 1 脚为高电平时,且 11 脚有上升 沿时,立即锁存输入脚 3(1D)、4(2D)、7(3D)、 8(4D)、13(5D)、14(6D)、17(7D)、18(8D)上的电 0 0 0 0 0 0 0 0 - 12 - 平状态,并呈现在输出脚 2(1Q)、5(2Q)、6(3Q)、 9(4Q)、12(5Q)、15(6Q)、16(7Q)、 19(8Q)上。 4,七段数码管构成的显示电路工作原理。,七段数码管构成的显示电路工作原理。 本设计显示电路部分由六个共阳极数码构成。其中共阳极公共端用三级管 进行驱动, 段码由 74LS27
24、3 地址锁存器控制,并采用数码管总线动态扫描方 式进行时间,年、月、日的显示。具体硬件电路在后面的硬件设计中有提供! - 13 - 第第 3 章章 硬件设计硬件设计 3.1 STC89C52 单片机编程器结构单片机编程器结构 由于 STC89C52 单片机只支持串口下载,加上手中没有现成的编程器,故 只能自己动手做个简单的编程。该编程器主要由 MAX232 电平转换芯片和单片 机最小系统构成,利用 RS-232 接口实现单片机和计算机通信,并由单片机专用 烧录软件将程序写在单片机中。由于 STC89C52 单片机在写程序进去时,具有 冷启动过程,所以在编程之前必去将主电源复位一次,本电路中复位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 其它考试 其它 考试 基于 STC89S52 单片机 实时 时钟 设计
链接地址:https://www.31doc.com/p-1969639.html