当前位置:文档之家› 基于单片机的电子日历

基于单片机的电子日历

设计任务书设计题目:电子万年历设计要求:显示范围:2001-2099;日月正常显示,并能识别闰年闰月;时间采用24 小时制。

显示格式:日期按照年月日排列,如2006 年12 月20 日显示为:20061220;时间按时分秒排列,如 12 点 30 分 55 秒显示为 12:30:55。

显示位数:16位 7段 LED数码管作正常显示和节电显示。

目录摘要 (1)前言 (2)1概论 (3)1.1概述 (3)1.2单片机的发展历程 (3)1.3时钟日历的特性 (3)2系统原理与硬件设计 (5)2.1硬件选择 (5)2.2AT89C51 单片机简介 (6)2.3时钟芯片介绍 (12)2.4LED 简介 (18)2.574LS154 简介 (20)2.6ULN2003 简介 (20)3软件设计 (22)3.1主程序 (22)3.2读取时间的子程序 (24)3.3显示刷新子程序 (27)4调试过程及数据分析 (30)4.1硬件调试 (30)4.2软件调试 (30)4.3K EI L 调试 (31)4.4试验箱调试 (31)结论 (32)致谢 (33)参考文献 (34)附录 A: (35)摘要本次设计采用时钟日历芯片 DS12887,这种时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新在计算机汇编语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。

此外,这种时钟芯片带有锂电池做后备电源,具备永不停止的计时功能和可编程方波输出功能,可用作实时测控系统的采样信号等。

这种时钟芯片内部还带有非易失性RAM,可用来存放需长期保存但有时也需变更的数据。

本次设计中的LED 数码管电子时钟电路采用24 小时制记时方式,日期和时间用16 位数码管显示。

设计采用 AT98C51单片机,使用 5V电源供电,并且在按键的作用下可以进入省电(不显示LED 数码管)和正常显示两种状态。

本次设计采用AT89C51单片机的扩展芯片和UNL2003芯片做驱动,由多块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。

关键词:时钟芯片、AT89C51、时钟日历前言一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。

除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。

由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。

本次设计根据AT89C51 单片机系统扩展的基本原理和方法、常用总线标准和典型接口电路的应用,结合本次设计的题目要求进行系统扩展,通过单片机驱动时钟芯片 DS12887 进行年、月、日、时、分、秒显示,最后通过 74LS154 译码和 ULN2003 驱动 LED 动态显示的方式完成设计任务,设计论文中附有电路图、程序清单、各数据存储单元的所在地址和输入输出口对应表。

因水平有限,难免有疏落不足之处,恳请老师和同学能给予批评指正。

1概论1.1概述随着电子技术的迅速发展,特别是随着大规模集成电路产生而出现的微型计算机,给人类生活带来了极大的方便。

走入家庭,从洗衣机、微波炉到音响、汽车,到处都可以见到单片机应用的踪影。

如果说微型计算机技术的出现使现代科学研究得到了质的飞跃,那么也可以毫不夸张的说:“单片机技术的出现则是给现代工业测控领域带来了一次新的工业革命”。

目前,单片机以其可靠性高和智能性等特点被广泛应用到工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等领域中,并已经进入家庭,因此,单片机技术的开发和应用水平已经逐步成为一个国家自动化发展水平的标志之一。

1.2单片机的发展历程单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。

1971 年微处理器研制成功不久,就出现了单片机,但最早的单片机是1 位的,处理能力有限。

单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段,以INTEL 公司制造的MSC-48 系列单片机为代表。

第三阶段为高性能单片机阶段,这个阶段推出的单片机普遍带有穿行接口,多级中断系统,16 位定时器/计数器,片内ROM、RAM 容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。

第四阶段是8 位单片机巩固发展以及16 位单片机、32位单片机推出阶段,以满足不同的用户需要。

纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和 FLASH 存储器化方向发展。

1.3时钟日历的特性DS12887 时钟芯片(RTC)可提供一个实时时钟、日历、三个可屏蔽中断(共用一个中断输出)、可编程方波输出和114 字节的电池备份静态RAM。

DS12887 在24 引脚模块DIP 封装内集成了晶体和锂电池。

DS12887在地址 32h 内增加了世纪字节。

对于少于31 天的月份,所有器件的日期能够在月末自动调整,带有闰年补偿。

该器件可配置为24 小时或12 小时格式,带AM/PM 指示。

精确的温度补偿电路用于监视的 VCC 状态。

一旦检测到主电源失效,器件可自动切换到备用电源,在主电源掉电时还可以保持有效的时间和日期。

该器件通过一个复用的字节宽度接口访问,支持Intel 和Motorola 模式,具有以下特点:(1)直接替代IBM AT 计算机时钟/日历;(2)RTC 可显示秒、分、时、日、月、年信息,具有润年补偿,有效期至2099年;(3)用二进制或BCD 表示时间;(4)具有AM、PM 标示的12 小时模式或24 小时模式;(5)夏时制选择;(6)可选择Motorola 或Intel 总线时序;(7)接口配合软件可寻址128 RAM;(8)14 字节时钟与控制寄存器;(9)114 字节通用、电池备份RAM (DS12C887 和DS12C887A 为113 字节);(10)清除RAM 功能;(11)总线兼容的中断请求;(12)三路中断可分别通过软件屏蔽与检测;(13)周期可设置在122µs 至500ms;(14)时钟终止刷新周期标志;(15)可选的工业级温度范围;(16)可编程的方波输出信号;(17)可选择28 引脚PLCC 表面贴装封装;(18)自动电源失效检测和切换电路。

2系统原理与硬件设计本次的设计题目是电子万年历设计,要求实现年、月、日、时、分、秒的正常显示,需要硬件和软件的结合来实现。

本次设计利用时钟日历芯片DS12887的特性和AT89C51单片机的功能利用实现的。

时钟芯片在电源的作用下向通过P2口向AT89C51单片机输入时间信号,AT89C51单片机在接受到时间信号后通过P0将信号送到单片机另一扩展芯片ULN2003,驱动LED数码管显示,同时将信号通过P1口送往单片机的扩展芯片74LS154,当送出第一个段码时,单片机输出的位码是0001,而经过4-16译码器74LS154后就是1111 1111 1111 1110,这时就选中了第一个数码管显示;……当送出第十六个段码时,单片机输出的位码是1111,4-16译码器输出0111 1111 1111 1111,这时就选中了第十六个数码管显示,从而74LS154将接收到的地址信号译码后动态驱动相应的LED,由于LED数码管的公共端由 74LS154分时选通,这样,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式。

根据设计的要求万年历要显示年、月、日、时、分、秒的显示就需要16个显示数码管。

根据设计要求,用按键来实现省电和正常显示的切换,当按键按下时进入省电模式,否则正常显示。

在明确本次设计思路之后,画出设计框图,总体框图如图2.1所示。

图 2.1 设计总体框图2.1硬件选择(1)时钟芯片选择选用 DS12887 时钟芯片。

(2)单片机的选择选用AT89C51 单片机,并配备11.0592MHz 晶振,复位电路采用上电复位。

(3)显示电路选择采用软件译码动态显示,P3.0-P3.3 作数码管的位选口。

P1.0-P1.6作数码管的段选口。

考虑直接用单片机 I/O口作位选时驱动功率不够,因此采用UNL2003 作驱动,共阴极数码管显示。

(4)电源选择采用直流5V 电源供电。

(5)选择器的选择采用4 线——16线译码器 74LS154。

2.2AT89C51 单片机简介AT89C51单片机是一种低功耗,高性能的片内含有 4KB可编程/擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的 8 位 COMS 微控制器,使用高密度,非易失存储技术制造,并且与 AT89C51 引脚和指令系统完全兼容。

芯片上的FPEROM 允许在线编程或采用通用的非易失存储编程器对存储器重复编程。

AT89C51单片机带有 2K字节闪烁可编程可擦除只读存储器的单片机,其内部的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。

由于将多功能8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL的 AT89C51单片机是一种高效微控制器,也为嵌入式控制系统提供了一种灵活性高且价廉的方案,这就显示出了AT89C51 单片机的优越性。

2.2.1单片机的构成AT89C51单片机是在一块芯片中集成了 CPU、RAM、ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件,AT89C51 单片机单片机内包含下列几个部件:(1)一个 8 位 CPU;(2)一个片内振荡器及时钟电路;(3)4K字节 ROM程序存储器;(4)128字节 RAM数据存储器;(5)两个16 位定时器/计数器;(6)可寻址64K 外部数据存储器和64K 外部程序存储器空间的控制电路;(7)32条可编程的 I/O线(四个 8位并行 I/O端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构。

其内部机构框图如图 2.2 所示:2.2.2AT89C51 单片机性能及特点(1)与MCS-51 微控制器产品系列兼容。

(2)片内有4KB 可在线重复编程的快闪擦写存储器(Flash Memory)。

(3)存储器可循环写入/擦除1000 次。

(4)存储数据保存时间为10 年。

(5)工作电压范围:Vcc 可为 2.7V~6V。

相关主题