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

基于单片机的电子日历

基于单片机的电子日历
基于单片机的电子日历

设计任务书

设计题目:

电子万年历

设计要求:显示范围: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。

(6)全静态工作:可从 0HZ 到 16MHZ。

(7)程序存储器具有3 级加密保护。

(8)128﹡8 位内部 RAM。

(9)32 条可编程 I/O 线。

(10)两个16 位定时器/计数器。

(11)中断结构具有5 个中断源和2 个优先级。

(12)可编程全双工串行通道。

(13)空闲状态维持低功耗和掉电状态保存存储内容。

2.2.3振荡器特性

XTAL1 和 XTAL2 分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用,如采用外部时钟源驱动器件,XTAL2 应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2.4芯片擦除

整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51 单片机设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作,但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

为了满足一些应用系统的特殊要求,有时要进行一些系统的扩展设计以弥补单片机内部资源的不足。单片机的扩展系统通过并行 I/O接口或串行 I/O接口做总线,在外部扩展程序存储器、数据存储器或输入/输出接口及其他功能部件以满足一些控制系统的特殊要求,AT89C51单片机的扩展系统结构如图 2.3所示。

图 2.3 AT89C51 单片机扩展系统结构

2.2.5AT89C51 单片机的引脚说明

AT89C51单片机采用 40条引脚双列直插式器件,引脚除5V( 40脚)和电源地(

20 脚)外,其功能分为时钟电路、控制信号、输入/输出三大部分,逻辑框图及引脚图分别如图 2.4(a)(b)所示

图 2.4 AT89C51 单片机逻辑图与引脚图

AT89C51单片机的内部硬件结构中除了程序存储器由 FPEROM 取代了 87C51单片机的

时钟电路

XTAL1(19 脚)——芯片内部振荡电路(单级反相放大器)输入端。

XTAL2(18 脚)——芯片内部振荡电路(单级反相放大器)输出端。

RST (9 脚)复位信号:时钟电路工作后,在此引脚上将出现两个机器周期的高电平, 芯片内部进行初始复位,P0口~P3 口输出高电平,将初值07H 写入堆栈指针。 ALE (30脚)地址锁存信号:当访问外部存储器时,P0 口输出的低8 位地址由ALE 输出的控制信号锁存到片外地址锁存器,P0口输出地址低 8位后,又能与片外存储器之 间传送信息。另外,ALE 可驱动 4个 TTL 门。

PSEN (29脚)片外程序存储器读选通:PSEN 低电平有效,PSEN 作为程序存储器 的读信号,输出负脉冲,将相应的存储单元的指令读出并送到P0口, PSEN 可驱动8个 TTL 门。

EA /Vpp (30脚):当EA 为高电平且 PC 值小于 0FFFH 时,CPU

执行内部程序存储

EPROM 外, 其余部分完全相同,其管脚说明如下:

1) VCC :供电电压 2) GND :接地

4) 控制信号 (a) (b)

器程序;当EA为低电平时,CPU 仅执行外部程序存储器程序。

(5)I/O 接口

P0口(P0.0~P0.7,39~32 脚)三态双向口:P0口结构包括一个输出锁存器、两个三态缓冲器、一个输出驱动电路和一个输出控制端。P0 口做地址/数据复用总线使用。若从 P0 口输出地址数据信息,此时控制端为高电平,若从 P0 口输入数据指令信息时,引脚信号应从输入三态缓冲器进入地址总线,它可驱动8 个TTL 门。P0~P3口上的“读-修改 -写”功能,其操作是先将字节的全部8 位数读入,再通过指令修改某些位,然后将新的数据写回到口锁存器中。

P1口(P1.0~P1.7,1~8 脚)准双向口:P1口做通用 I/O接口使用,P1 口的每一位口线能独立地作用于输入线,P1口可驱动 4个 TTL门。

P2口(P2.0~P2.7,21~28 脚)通用I/O 接口:它做通用I/O 接口使用时,是一个准双向口,此时转换开关MUX 倒向左边,输出极与锁存器相连,引脚可作为用户I/O 口线使用,输入/输出操作与P1 口完全相同,P2口做地址总线使用。当系统中接有外部存储器时,P2口用于输出高 8位地址 A8~A15,这时在CPU 控制下,转换开关MUX 倒向右边,接通内部地址总线。P2口的口线状态取决于片内输出的地址信息,这些信息来源于PC、 DPTR等。在外接程序存储器中,由于访问外部存储器操作连续不断,P2 口不断送出地址高8 位。AT89C51单片机的 P2口一般只做地址总线使用,不做 I/O接口直接连外部设备使用。

P3口(P3.0~P3.7,10~17 脚)双功能口:P3口做通用 I/O接口使用,输出功能控制线为高电平,与非门的输出取决于锁存器的状态,此时锁存器Q 端的状态与其引脚状态是一致的。在这种情况下,P3 口的结构和操作与 P1 口相同。P3 口第二功能是可作为系统具有控制功能的控制线,另外 P3口可驱动 4 个LSTTL 门电路。P3 口:P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出 4 个TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流,这是由于上拉的缘故。

P3口也可作为 AT89C51的一些特殊功能口使用如:

P3.0 RXD(串行输入口);

P3.1 TXD(串行输出口);

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

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

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

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

P3.6 /WR(外部数据存储器写选通);

P3.7 /RD(外部数据存储器读选通);

2.2.6存储器

单片机在存储器的设计上,其共同特点是将程序存储器与数据存储器分开,它们有各自的寻址方式。AT89C51 单片机片内具有数据存储器,同时还具有强大的外部存储器扩展能力,存储器是单片机系统中的重要组成部分。在一片芯片内除了许多基本的记忆单元构成的存储矩阵外,还包括译码驱动电路,读写电路等。图 2.5为半导体存储器芯片的基本结构框图。

图 2.5 半导体存储器芯片的基本结构框图

(1)单片机存储器分类

MCS-51 系列单片机的存储器可分五类:程序存储器、内部数据存储器、特殊功能寄存器、位寻址区、外部数据存储器I/O 接口。

程序存储器:存放程序的存储器称为程序存储器。程序存储器是以程序计数器PC 做地址指针的,MCS-51单片机的程序计数器为16位,因此可寻址的空间为64KB。AT89C51 系统中没有片内程序存储器,0000H~0FFFH 都是外部程序存储器空间。

内部数据存储器:MCS-51单片机内部有128B的数据存储器RAM,内部数据存储器的编址为00H~7FH。不同的地址区域内,功能不完全相同。单片机结构的特点之一是工作寄存器与数据存储器统一编址。MCS-51内部 RAM的 00H~1FH为工作寄存器区,共分 4个区,每区有8 个寄存器。当前程序使用的工作寄存器区,是由状态字PSW 的第3、4 位指示的,PSW的状态和工作寄存器区的关系如表 2.1所示:

表 2.1 PSW 的状态和工作寄存器区的关系

(2)特殊功能寄存器区

AT89C51内的 I/O锁存器、定时器、串行接口数据缓冲器以及各种控制状态寄存器和状态寄存器都是以特殊功能寄存器的形式出现的,它们零散地分布于80H~FFH 的地址空间范围内,特殊功能寄存器具有各自的地址空间映像。

(3)位寻址空间

MCS-51 的位寻址空间为 00H~7FH,为内部 RAM 中 20H~2FH 的 16 个单元的 128 位,凡是字节地址能被8 整除的特殊功能寄存器都具有位地址,它们零散地分布在80H~FFH 的空间内。

(4)外部数据存储器I/O 接口

AT89C51提供了扩展 64KB的外部数据存储器和输入/输出口的能力,具有十分广泛的应用。

2.3时钟芯片介绍

DS12887 芯片是时钟芯片中功能较强的一种,它将晶体振荡电路、充电电路和可充电锂电池等一起封装在芯片的上方,组成一个加厚的集成电路模块。电路通电时其充电电路便自动对可充电电池充电,其内部包含非易失时钟、警报器、百年历、可编程中断、方波发生器和 114 个字的非易失静态 RAM。DS12887 具有日历、时钟、低功耗静态 RAM、输出方波信号等功能,石英晶振和写保护电路也封装在内,在断电情况下仍能保持时间和内存。 DS12887 可以方便地与单片机接口,并由单片机系统对其进行操作得到日历、时钟信息,输出方波信号用于秒信号的显示。其封装方式为 24 脚双排直列,如图2.6 所示。

图 2.6 DS12887 的封装形式

DS12887 主要功能介绍

(1)内含一个锂电池,断电后运行十年以上不丢失数据。

(2)计秒,分,时,天,星期,日,月,年,并有闰年补尝功能。

(3)二进制数码或BCD 码表示时间,日历和定闹。

(4)12 小时或 24 小时制,12 小时时钟模式带有 PM 和 AM 指示,有夏令时功能。

(5)Motorola 和 Intel 总线时序选择,可编程方波信号输出。

(6)有128个字节RAM单元与软件接口,其中14 个字节作为时钟和控制寄存器,114 字节为通用RAM,所有 RAM单元数据都具有掉电保护功能。

(7)中断信号输出(IRQ)和总线兼容,周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。

(8)工作电压:+4.5~5.5V。

(9)工作温度范围:0~70℃。

2.3.1DS12887 引脚说明及使用方法

DS12887内部由振荡电路,分频电路,周期中断/方波选择电路,14 字节时钟和控制单元,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。DS12887引脚分配如图 2.6所示,各管脚说明如下:VCC:直流电源+5V 电压。当 5V电压在正常范围内时,数据可读写;当 Vcc 低于

4.25V, 读写被禁止,计时功能仍继续;当Vcc 下降到3V 以下时,RAM和计时器供电被切换到内部锂电池。

MOT(模式选择):MOT引脚接到 Vcc时,选择 MOTOROLA时序,当接到 GND时,选择Intel 时序。

SQW(方波信号输出):SQW引脚能从实时钟内部 15级分频器的 13个抽头中选择一

个作为输出信号,其输出频率可通过对寄存器A 编程改变。

AD0-AD7(双向地址/数据复用线):总线接口,可与 Motorola 微机系列和 Intel 微机系列接口。

AS(地址选通输入):用于实现信号分离,在AD/ALE 的下降沿把地址锁入DS12887。

DS(数据选通或读输入):DS/RD 引脚有两种操作模式,取决于 MOT引脚的电平,当使用 Motorola 时序时,DS 是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS 指示DS12887 驱动双向总线的时刻;在写周期,DS的后沿使 DS12887 锁存写数据。选择Intel 时序时,DS称作(RD),RD 与典型存贮器的允许信号(OE)的定义相同。

R/W(读/写输入):R/W引脚也有两种操作模式。选 Motorola时序时,R/W 是低电平信号时,指示当前周期是读或写周期,DS为高电平时,R/W 高电平指示读周期,R/W信号一低电平信号,称为WR。在此模式下,R/W 引脚与通用RAM 的写允许信号(WE)的含义相同。

CS(片选输入):在访问DS12887 的总线周期内,片选信号必须保持为低。 IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断的条件满足时,IRQ处于高阻态。IRQ 线是漏极开路输入,要求外接上接电阻。

RESET(复位输出):当该脚保持低电平时间大于200ms,DS12887 有效复位。时间

和日历单元

时间和日历信息通过读相应的内存字节来获取,时间和日历通过写相应的内存字节设置或初始化,其字节内容可以是二进制或BCD 形式。时间可选择12 小时制或24 小时制,当选择12 小时制时,小时字节的高门为逻辑“1”代表PM。时间和日历字节是双缓冲的,总是可访问的。

非易失 RAM

在 DS1288 中, 114 字节通用非易失 RAM 不专用一任何特殊功能,它们可被处理器程序用作非易失内存,在更新周期也可访问。

中断

RTC实时时钟加RAM向处理器提供三个独立的,自动的中断源。定闹中断的发生率可编程,从每秒一次到每天一次,周期性中断的发生率可从500ms 到122s 选择。更新结束

中断用于向程序指示一个更新周期完成。中断控制和状态位在寄存器 B和 C中,本文的其它部分将详细描述每个中断发生条件。

晶振控制位

DS12887 出厂时,其内部晶振被关掉,以防止锂电池在芯片装入系统前被消耗,寄存器A 的BIT4-BIT6 的其它组合都是使用晶振关闭。

更新周期

DS12887 每一秒执行一次更新周期,保证时间、日历的准确。

DS12887内部 RAM专用寄存器地址功能

DS12887 的地址由114 字节的用户RAM 存放。10 字节的存放实时时钟时间,日历和控制和状态的4 字节特殊寄存器组成,几乎所有的128 个字节直接读写。表2.2 为DS12887 内部 RAM 和各专用寄存器地址分布表,其中,地址 00H~03H 单元的取值范围是 00H~3BH (10 进制为0~59);04H~05H 单元按12 小时制取值范围是上午(AM)01H~0CH (1~12),下午(PM)81H~8CH(81~92)按 24 小时制取值范围是 00H~17H(1~23); 06H 单元取值范围是 00H~07H(0~7); 07H 单元取值范围 01H~1FH(1~31); 08H 单元取值范围是 01H~0CH(1~12); 09H 单元的取值范围是 00H~63H(0~99)。 DS12887 的RAM 和各专用寄存器的访问如下实现,若片选地址DS=#0DDXXH,则芯片内部 RAM 和寄存器和地址为#0DD00H~#0DD7FH。应指出的是,尽管DS12887 的专用时标年寄存器只有一个,但通过软件编程可利用其内部的不掉电的RAM 区的一个字节实现年度的高两位显示,所以,DS12887 芯片跨越 2000 年的计时就不成问题。

寄存器A

寄存器A 各位不受复位的影响,UIP位为只读位,其它各位均可读写,寄存器的控制字的格式如表 2.3 所列。

表 2.3 DS12887

(1)UIP 位:更新周期标志位。该位为“1”时,表示芯片正处于或将开始更新周期,此时程序不准读写时标寄存器;该位为“0”时,表示至少在244us 后才开始更新周期,此时程序可读芯片内时标寄存器,该位是只读位。

(2)DV0、DV1、DV2:芯片内部振荡器RTC 控制位。当芯片解除复位状态,并将010写入 DV0、DV1、DV2后,另一个更新周期将在500ms 后开始。因此,在程序初始化时可用这三位精确地使芯片在设定的时间开始工作。这与MC146818 不同的是,DS12887固定使用32 768Hz 的内部晶体,所以,DV0=“0”,DV1=“1”,DV2=“0”,即只有一种010 的组合选择即可启动 RTC。

(3)RS3、RS2、RS1、RS0:周期中断可编程方波输出速率选择位。各种不同的组合可以产生不同的输出。程序可以通过设置寄存器B 的SQWF 和PIE 位控制是否允许周期中断方波输出,其寄存器A 输出速率选择位如表2.4 所示。

(4)DS12887 的中断和更新周期

DS12887 处于正常工作状态时,每秒钟将产生一个更新周期,芯片处于更新周期的标志是寄存器A 中的UIP 位为“1”。在更新周期内,芯片内部时标寄存器数据处于更新阶段,故在该周期内,微处理器不能读芯片时标寄存器的内容,否则将得到不确定数据。更新周期的基本功能主要是刷新各个时标寄存器中的内容,同时秒时标寄存器内容加 1,并检查其他时标寄存器内容是否有溢出,如果有溢出则相应进位日、月、年。

为了采样时标寄存器中的数据,DS12887 提供了两种避开更新周期内访问时标寄存器的方案:第一种是利用更新周期结束发出的中断。它可以编程允许在每次更新周期结束后发生中断申请,提醒CPU 将有998ms 左右的时间去获取有效的数据,在中断之后的998ms 时间内,程序可先将时标数据读支芯片内部的不掉电静态 RAM 中。因为芯片内部的静态RAM和状态寄存器是可随时读写的,在离开中断服务子程序前应清除寄存器 C中的 IRQF

基于单片机的电子日历时钟设计

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

基于51单片机的电子台历设计

摘要 本设计是一个基于单片机AT89S51的简易电子台历,附有复位电路,时钟电路,键盘电路。复位电路是单片机的初始化操作,除了正常的初始化外,当程序运行出错后或者操作失误使系统进入死锁状态时,为摆脱困境,也需要能够通过独立式键盘电路进行启动,调整,再运行,时钟电路采用12MHZ的晶振,作为系统的时钟源,具有较高的准确性。 在上电或者复位时数码管显示年,月,日,时,分,秒。A键用于模式调整,形成一个循环,按一次键,即对秒调整。再按一次对分调整,如此循环。B键用于按下A键之后进行加1的操作,按一次加1,C键用于减1的操作,按一次减1。能够完成从00时00分00秒到23时59分59秒的循环计时,过23时59分59秒,日期增加1,当日期达到1个月后,月进位1,满12个月后,年进位1,年的首2位保持不变,始终为20。单片机并行口的电子台历的设计在AT89S51的P0口和P2口外接由14个LED数码管(LED7~LED0)构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2.7~P2.0作LED的段码年月日的位控输出线(P2.7~P2.0对应于LED7~LED0),P1.7~P1.0对应时间的数码管,P3口外接三个按键A、B、C(对应于P3.0~P3.2)。数码管为4位一体的共阳极的数码管,数码管采用动态扫描法,从右往左依次点亮,显示数字。 关键字:单片机、电子台历、数码管 ABSTRACT The design is a single electrical calendar basing SCMC of AT89S51. There are restoration circuit, clock circuit and keyboard circuit. Restoration circuit is used as an original operation, besides normal start-up, when the program runs mistakenly and system loses its order ,in order to get rid of the trouble, it also need to restart ,adjust and run through keyboard. Clock circuit uses 12MHZ Crystal as the source of the calendar ,with a high accuracy. When the system starts, the display shows year, month ,day, week and time the A keyboard is used to start and adjust, the B keyboard is used to add 1,when press it ,the date will add 1, the C keyboard is used to minus 1, when press it , the date will minus 1.It can make a cycle from 00:00 to 23:59:59.The display includes 14 LEDS, the SCMC joins the display in the P1, P0 ports and P2 ports, the SCMC joins the keyboards in the P3 scan, lighting the LEDS from right to left , showing the numbers. Keywords: SCMC, Calendar LED

最全最好的课程设计-51单片机电子日历时钟( 含源程序)

LED日历时钟课程设计 院系: 班级: 姓名: 学号: 指导教师: 2012 年06 月16 日

目录

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 第一章前言 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

基于单片机的电子日历

设计任务书 设计题目: 电子万年历 设计要求:显示范围: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、时钟日历

基于51单片机的万年历的设计

单片机课程实训SCM PRACTICAL TRAINING

目录 第一部分课程设计任务书 (1) 一、课程设计题目 (1) 二、课程设计时间 (1) 三、实训提交方式 (1) 四、设计要求 (1) 第二部分课程设计报告 (2) 一、单片机发展概况 (2) 二、MCS-51单片机系统简介 (2) 三、设计思想 (3) 四、硬件电路设计 (3) 1. 总体设计 (3) 2. 晶振电路 (4) 3. 复位电路 (4) 4. DS1302时钟电路 (5) 5. 温度采集系统电路 (5) 6. 按键调整电路 (6) 7. 闹钟提示电路 (6) 五、软件设计框图 (7) 六、程序源代码 (8) 1. 主程序 (8) 2. 温度控制程序 (11) 3. 日历设置程序 (13) 4. 时钟控制程序 (18) 5. 显示设置程序 (20) 七、结束语 (23) 八、课程设计小组分工 (23) 九、参考文献 (23)

第一部分课程设计任务书 一、课程设计题目 用中小规模集成芯片设计制作万年历。 二、课程设计时间 五天 三、实训提交方式 提交实训设计报告电子版与纸质版 四、设计要求 (1)显示年、月、日、时、分、秒和星期,并有相应的农历显示。(2)可通过键盘自动调整时间。 (3)具有闹钟功能。 (4)能够显示环境温度,误差小于±1℃ (5)计时精度:月误差小于20秒。

第二部分课程设计报告 一、单片机发展概况 单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段: 第一阶段(1976-1978):初级单片机微处理阶段。该时期的单片机具有 8 位CPU,并行 I/O 端口、8 位时序同步计数器,寻址范围 4KB,但是没有串行口。 第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址范围可达 64KB。 第三阶段(1982-至今)位单片机微处理改良型及 16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。 二、MCS-51单片机系统简介 MCS-51系列单片机产品都是以Intel公司最早的典型产品8051为核心构成的。MCS-51单片机由CPU 、RAM 、ROM 、I/O接口、定时器/计数器、中断系统、内部总线等部件组成。8051单片机的基本性能有: ◆8位CPU; ◆布尔代数处理器,具有位寻址能力; ◆128B内部RAM,21个专用寄存器; ◆4KB内部掩膜ROM; ◆2个16位可编程二进制加1定时器/计数器; ◆32个(4×8位)双向可独立寻址的I/O口; ◆1个全双工UART(异步串行通信口); ◆5个中断源,两级中断结构; ◆片内振荡器及时钟电路,晶振频率为1.2MHz~12MHz; ◆外部程序/数据存储器寻址空间均为64KB; ◆111条指令,大部分为单字节指令; ◆单一+5V电源供电,双列直插40引脚DIP封装。

电子时钟单片机【完整版】

烟台南山学院 单片机课程设计题目电子时钟 姓名: 所在学院 所学专业: 班级: 学号: 指导教师: 完成时间:

随时代的发展,生活节奏的加快,人们的时间观念愈来愈强;随自动化、智能化技术的发展,机电产品的智能度愈来愈高,用到时间提示、定时控制的地方也会愈来愈多,因此,设计开发数字时钟具有良好的应用前景。 由于单片机价格的低成本、高性能,在自动控制产品中得到了广泛的应用。本设计利用Atmel公司的AT89S52单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编语言进行软件编程,并用实验板进行演示、验证。 在介绍本单片机的发展情况基础上,说明了本设计实现的功能,以及实验板硬件情况,并对各功能电路进行了分析。主要工作放在软件编程上,用实验板实现时间、日期、定时及它们的设定功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正,提出了定时音与显示相冲突问题及解决方案。实验证明效果良好,可以投入使用。 本次仿真设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS—51单片机都种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。在本学期的开始我们进行了计算机工程实践,在实践中我们以微机原理与接口技术课程中所学知识为基础,设计了电子时钟系统。本系统为多功能数字钟的系统。本设计以单片机AT89c51为控制核心,选用DS1302串行时钟芯片,RT1602液晶显示器实现液晶显示当前时间、日期、星期。本电子时钟具有日期、时、分、秒的显示、调整功能,采用的时间制式为24小时制,时间显示格式为时(十位、个位)、分(十位、个位)、秒(十位、个位)。 关键词:单片机 AT89S52 电子时钟汇编语言

基于51单片机电子万年历设计

基于51单片机电子万年历设计 专业:机电设备维修与管理姓名:杜洪浦指导老师: 摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分和秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3到5V电压供电。 万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。在单片机的选择上使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用液晶LCD1602。软件方面主要包括日历程序、液晶驱动程序,显示程序等。程序采用汇编语言编写。所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。 关键词时钟电钟,DS1302,液晶LCD1602,单片机 目录 1设计要求与方案论证 (2) 1.1 设计要求 (2) 1.2 系统基本方案选择和论证 (2) 1.2.1单片机芯片的选择方案和论证 (2) 1.2.2 显示模块选择方案和论证 (3) 1.2.3时钟芯片的选择方案和论证: (3) 1.3 电路设计最终方案决定 (3) 2系统的硬件设计与实现 (3) 2.1 电路设计框图 (4) 2.2 系统硬件概述 (4) 2.3 主要单元电路的设计 (4) 2.3.1单片机主控制模块的设计 (4)

本科毕业设计--基于51单片机的电子日历设计

成都电子机械高等专科学校成教院毕业设计(论文) 论文题目:基于51单片机的电子日历设计 教学点:重庆科创职业学院 指导老师:张忠雨职称:讲师 学生姓名:聂燕学号: 2011700558 专业:应用电子技术 成都电子机械高等专科学校成教院制 2012 年 3 月 9 日

成都电子机械高等专科学校成教院毕业设计(论文)任务书 题目:基于51单片机的电子日历设计 任务与要求: 通过单片机设计电子日历数码管正常显示阳历、阴历日期,显示的格式为年-月-日,利用外部按键的操作实现阳历和阴历之间的 转换,实现阴历和阳历显示的暂停、运行等功能。 时间:2011年12月15日至2012 年3月15日共12 周教学点:重庆科创职业学院 学生姓名:聂燕学号:2011700558 专业:应用电子技术 指导单位或教研室: 指导教师:张忠雨职称:讲师 成都电子机械高等专科学校成教院制

毕业设计(论文)进度计划表

摘要 设计以单片机AT89C51为核心部件的电子日历,利用74LS245作为驱动器,74LS138作为译码器使用,六个七段数码管均采用共阴极的方式,P0口作为段选码输出口,P2口作为位选码输出口。 本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。 本次设计可分为两部分:硬件系统、软件系统。 硬件系统包括:AT89S51单片机、74LS245驱动器、74LS138译码器、RC复位电路、+5V直流电源电路、去抖电路、动态显示扫描电路。 软件系统主要有单片机的编程构成。 关键词:单片机,日历,位码,段码,显示

基于stc51单片机的LCD1602显示时间_的电子万年历(显示当前温度)

1 课设所需软件简介 1.1 Keil uVision4的简要介绍 2009年2月发布Keil μVision4,Keil μVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。 2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。 Keil C51开发系统基本知识Keil C51开发系统基本知识 1. 系统概述 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

基于AT89C51单片机的电子万年历的设计_课程设计报告

课程设计报告 设计名称:电子万年历设计 专业班级:自动化10101班 完成时间:2013年6月9日 报告成绩:

摘要 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键字AT89C51;电子万年历; DS1302

1 绪论 1.1 课题研究的背景 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的低压工作,电压可选用3~5V电压供电。 此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.2课题的研究目的与意义 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。 由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。 1.3课题解决的主要内容 本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。 (3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。 (4)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。 (5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。 (6)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。 (7)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

基于单片机及时钟芯片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世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

毕业设计:基于单片机的电子日历时钟

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔;(4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹 钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观

2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不 能超过16位定时器的最长定时时间;最短不能少于中断服 务程序的执行时间。基准时间越短,越有利于提高时钟的 运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理 进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年” 定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间 短),而驱动信号的间歇时间必须小于“余辉时间”(电流 大余辉时间长),但驱动电流大小受硬件电路能力和LED 数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容 写入显示器之前将所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

基于51单片机的电子日历+温度显示设计

2 电子日历设计与实现 2.1 任务分析 一、功能 本设计要求具有显示生肖、年、月、日、星期、时、分、秒等功能;阳历与阴历能够自动关联;具有温度计功能;具备年、月、日、星期、时、分、秒校准功能;设计最终达到效果如图2-1。 图2-1 设计效果图 二、系统原理 按照系统设计功能的要求,系统由单片机、时钟模块DS1302、显示模块12864、键盘以及温度采集模块DS18B20共5部分电路组成,电路构成框图如图2-2所示。 图2-2 系统设计原理框图 三、系统硬件要求 本设计电路采用AT89S51单片机为控制核心,AT89S51具有在线编程功能,低功耗,能在3V超低压工作。时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。DS1302内部有一个用于临时性存放数据的31*8RAM寄存器。器件在加电情况下,可自动生成年、月、日、周、时、分、秒时间数据,该器件具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能。 温度的采集采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,温度传感器DS18B20还具有测量精度高、

测量范围广等优点。显示部分用12864LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见,能够达到较好的显示效果。 2.2电路设计 一、单片机主控制模块的设计 AT89S51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。 单片机的最小系统如图3-1所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端,单片机电路如图2-3 所示。 图2-3 单片机电路 二、时钟电路模块的设计 DSl302数据操作原理: DSl302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。 DS1302的引脚连接如图2-4所示。其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2

基于单片机的电子日历时钟

微机原理课程设计 报告 题目:电子日历时钟 学院电子与信息学院 专业08信息工程1班 组员陈晓伟05冯劲增06 指导教师林耀荣 提交日期2010.6.21

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔; (4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观 2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不能超过16位定时器 的最长定时时间;最短不能少于中断服务程序的执行时间。基准时 间越短,越有利于提高时钟的运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理进行“分”﹑“时” 定时,以及“日”﹑“月”﹑“年”定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间短),而驱动信号 的间歇时间必须小于“余辉时间”(电流大余辉时间长),但驱动电 流大小受硬件电路能力和LED数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容写入显示器之前将 所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

基于单片机控制的电子万年历

*** 课程设计报告书 所属课程名称单片机原理及应用课程设计题目基于单片机控制的电子万年历分院 专业班级 学号 学生姓名 指导教师 2012 年 5 月31 日

华东交通大学理工学院 课程设计(论文)任务书 专业班级姓名 一、课程设计(论文)题目基于单片机控制的电子万年历 二、课程设计(论文)工作:自2012 年5 月22 日起至2012 年 5 月31 日止。 三、课程设计(论文)的内容要求: 1、通过万年历的设计要掌握好对Proteus仿真设计的 熟练使用; 2、通过万年历的设计要熟练掌握单片机的各个功能, 并且能对单片机有一个总体的把握,在设计的过程中能够凭借对单片机各功能的了解,达到理想的设计效果; 3、掌握Proteus和Keil软件的使用。 学生签名: 2012 年5 月30 日

课程设计(论文)评阅意见 评阅人职称 20 年月日

目录 第1章课程设计内容及要求 (5) 第2章系统软件设计与实现 (6) 第3章系统硬件设计与实现 (15) 第4章系统测试 (22) 第5章课程设计心得 (23) 第6章参考文献 (24)

第1章课程设计内容及要求 内容: 利用单片机、时钟芯片、温度传感器、数码管等实现日期、时间、温度的显示那一个简单的万年历。 要求: 1、通过万年历的设计要掌握好对Proteus仿真设计的熟练使用; 2、通过万年历的设计要熟练掌握单片机的各个功能,并且能对单片机有一个总体的把握,在设计的过程中能够凭借对单片机各功能的了解,达到理想的设计效果; 3、掌握Proteus和Keil软件的使用。 第2章系统硬件设计与实现 电路设计框图 本系统的电路系统框图如图1所示。AT89S51单片机对DS1302和DS18B20写入控制字并读取相应的数据,继而控制LCM1602作出对应的显示。

基于单片机的多功能电子万年历设计开题报告

毕业设计开题报告 1.结合毕业设计课题情况,根据所查阅的文献资料,撰写2000字左右的文献综述: 文献综述 一、本课题研究背景 单片机从20世纪70年代末出现后,以其卓越的性能,得到了广泛的应用,已经深入到各个领域。单片机芯片本身是按工业测控环境要求设计的,分为民用、工业品、军品,其中工业品和军品具有较强的适合恶劣环境的能力[1]。由于单片机本身就是一个计算机系统,因此,只要在单片机的外围适当加一些必要的扩展电路及通道接口,就可有构成各种应用系统,如控制系统、数据采集系统、自动控制系统、自动测试系统、检测监视系统、智能仪表、功能模块等[2]。单片机的应用领域十分广泛,自20世纪80年代以来,单片机的应用已经深入到工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域中。单片机应该在检测、控制领域中,具有以下特点:1)小巧灵活、成本化、易于产品化。2)可靠性好,适用范围广[3]。 近年来,电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。随着技术的发展,人们已不再满足于钟表原先简单的计时功能,希望出现一些新的功能,诸如日历的显示、闹钟的应用等,以带来更大的方便,而所有这些,又都是以数字化的电子时钟为基础的。因此,研究实用电子时钟及其扩展应用,有着非常现实的意义,具有很大的实用价值[4]。 由于数字集成电路技术的发展和采用了先进的石英技术,现代电子钟具有走时准确、性能稳定、制作维修简单等优点,弥补了传统钟表的许多不足之处[5]。我们利用单片机技术设计制作的电子万年历, 可以很方便的由软件编程进行功能的调整和改进,使其在能够准确显示年、月、日、时间、星期的同时,还能具有很多其他的功能[6]。如设定闹钟、语音报时、阴阳历的转换、二十四节气的显示等,有一定的新颖性和实用性,同时体积小、携带方便,使用也更为方便,具有技术更新周期短、成本低、开放灵活等优点,具备一定的市场前景。这里要介绍的就是一款可满足使用者特殊要求,输出方式灵活、计时准确、性能稳定、维护方便的实用电子万年历[7]。

单片机课程设计--基于51单片机的万年历

单片机课程设计报告 万年历的设计

基于51单片机的万年历 摘要: 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LCD显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用了1602液晶显示,并且使用蜂鸣器实现了整点报警的功能,温度测试的功能实现使用了DS18B20,并实现了温度过高或过低时的温度报警。 软件方面主要包括日历程序、时间调整程序,显示程序等。程序采用C语言编写。所有程序编写完成后,在KeilC51软件中进行调试,

确定没有问题后,在Proteus软件中嵌入单片机内进行仿真,并最终实现基本要求。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 一、设计要求 基本要求: 1,8 个数码管上显示,显示时间的格式为(假如当前时间是19:32:20)“19-32-20”; 2,具有日历功能; ③时间可以通过按键调整。 发挥部分: ④具有闹钟功能(可以设定多个)。 二:总体设计 电路设计框图

相关主题
文本预览
相关文档 最新文档