没有合适的资源?快使用搜索试试~ 我知道了~
基于51单片机的电子万年历设计报告.docx
需积分: 5 1 下载量 14 浏览量
2023-06-20
16:51:26
上传
评论 1
收藏 1011KB DOCX 举报
温馨提示
试读
35页
基于51单片机的电子万年历设计报告.docx
资源推荐
资源详情
资源评论
1
1 引言
在日新月异的 21 世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于
人性化、智能化,这些电器设备大部分都含有 CPU 控制器或者是单片机。单片机以其
高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围
推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。并且已经深
入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统
等、智能型家用电器(冰箱、空调、彩电)等。用单片机来控制的小型家电产品具有
便携实用,操作简单的特点。
本文设计的电子万年历属于小型智能家用电子产品。利用单片机进行控制,实时
时钟芯片进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。电子
万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商
店等相关行业的大厅,以及单位会议室、门卫等场所。因而,此设计具有相当重要的
现实意义和实用价值。
2 系统概述
本设计以 AT89S52 单片机为核心,构成单片机控制电路,结合 DS1302 时钟芯片
和 24C02FLASH 存储器,显示阳历年、月、日、星期、时、分、秒和阴历年、月、日,
在显示阴历时间时,能标明是否闰月,同时完成对它们的自动调整和掉电保护,全部
信息用液晶显示。人机接口由三个按键来实现,用这三个按键对时间、日期可调,并
可对闹铃开关进行设置。软件控制程序实现所有的功能。整机电路使用+5V 稳压电源,
可稳定工作。系统框图如图 2-1 所示,其软硬件设计简单,时间记录准确,可广泛应
用于长时间连续显示的系统中。
图 2-1 系统框图
3 方案选择
由于电子万年历的种类比较多,因此方案选择在设计中是至关重要的。正确地选
择方案可以减小开发难度,缩短开发周期,降低成本,更快地将产品推向市场。
3.1 方案 1——基于 AT89S52 单片机的电子万年历设计
不使用时钟芯片,而直接用 AT89S52 单片机来实现电子万年历设计。AT89S52 是
一种带 8K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS 8 位微处理器,
人机接口
显示电路
软件控制程序
电源电路
单片机控制电路
2
俗称单片机。单片机的可擦除只读存储器可以反复擦写 1000 余次。由于将多功能 8
位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89S52 是一种高效微控制器,为
很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
若采用单片机计时,利用它的一个 16 位定时器/计数器每 50ms 产生一个中断信
号,中断 20 次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、
月、年进位。这样就实现了直接用单片机来实现电子万年历设计。
用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机的资源。
但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。
3.2 方案 2——基于 DS1302 的电子万年历设计
在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些
实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。过去多用并行接口
的时钟芯片,如MC146818,DS12887等。它们已能完全满足单片机系统对实时时钟的要
求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用
空间多、近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时
时钟芯片也出现了不少,DS1302是一个综合性能较好且价格便宜的串行接口实时时钟
芯片。
利用单片机进行控制,采用DS1302作为实时时钟芯片,其三线接口SCLK、I/O、/RST
与单片机进行同步通信,外加掉电存储电路、显示电路、键盘电路,即构成一个基本
的电子万年历系统,若还要添加其他功能,在这基础上外扩电路即可。
由于在系统设计时,需要考虑以下几点因素:功耗低、精确度高、软件编程较简
单,芯片的体积小、芯片成本低等,而DS1302芯片有上面所述的诸多优点,所以本设
计采用方案2。
4 系统硬件电路的设计
按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、
键盘接口模块、显示模块和闹铃模块共 6 个模块组成,电路系统构成框图如图 4-1 所
示。主控芯片使用 52 系列 AT89S52 单片机,时钟芯片使用美国 DALLAS 公司推出的一
种高性能、低功耗、带 RAM 的实时时钟芯片 DS1302,存储模块采用美国 ATMEL 公司
生产的低功耗 CMOS 串行 EEPROM 存储芯片 AT24C02。DS1302 作为主要计时芯片,可以
做到计时准确。更重要的是,DS1302 可以在很小电流的后备 (2.5~5.5V 电源,在
2.5V 时耗电小于 300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行
慢速充电,可以保证后备电源基本不耗电。
3
图 4-1 电子万年历电路系统构成框图
4.1 系统核心部分——闪电存储型器件 AT89S52
4.1.1 AT89S52 具有下列主要性能
[5]
:
·8KB 可改编程序 Flash 存储器(可经受 1000 次的写入/擦除周期)
·全静态工作:0Hz~24MHz
·三级程序存储器保密
·128×8 字节内部 RAM
·32 条可编程 I/O 线
·2 个 16 位定时器/计数器
·6 个中断源
·可编程串行通道
·片内时钟振荡器
4.1.2 AT89S52 的引脚及功能
AT89S52 单片机的管脚说明如图 4-2 所示。
图 4-2 AT89S52 的管脚
(1) 主要电源引脚
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
RST
9
P3.0(RXD)
10
P3.1(TXD)
11
P3.2(INT0)
12
P3.3(INT1)
13
P3.4(T0)
14
P3.5(T1)
15
P3.6(WR)
16
P3.7(RD)
17
XTAL2
18
XTAL1
19
GND
20
P2.0(A8)
21
P2.1(A9)
22
P2.2(A10)
23
P2.3(A11)
24
P2.4(A12)
25
P2.5(A13)
26
P2.6(A14)
27
P2.7(A15)
28
PSEN
29
ALE/PROG
30
EA/VPP
31
P0.7(AD7)
32
P0.6(AD6)
33
P0.5(AD5)
34
P0.4(AD4)
35
P0.3(AD3)
36
P0.2(AD2)
37
P0.1(AD1)
38
P0.0(AD0)
39
VCC
40
(89S52)
主控模块
DS1302
时钟电路
键扫描电路
液晶显示
存储电路
闹铃电路
4
①VCC 电源端
②GND 接地端
(2) 外接晶体引脚 XTAL1 和 XTAL2
①XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相
放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接
接到内部时钟发生器的输入端。
②XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放
大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。
(3) 控制或与其它电源复用引脚 RST、ALE//PROG、/PSEN 和/EA/VPP
①RST 复位输入端。 当振荡器运行时,在该引脚上出现两个机器周期的高电平
将使单片机复位。
②ALE//PROG 当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址
的低位字节。即使不访问外部存储器,ALE 端仍以不变的频率(此频率为振荡器频率
的 1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目
的。然而要注意的是:每当访问外部数据存储器时,将跳过一个 ALE 脉冲。在对 Flash
存储器编程期间,该引脚还用于输入编程脉冲(/PROG)
[6]
。
③/PSEN 程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。当
AT89S52/LV52 由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN 有效
(既输出 2 个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN
信号将不出现。
④/EA/VPP 外部访问允许端。要使 CPU 只访问外部程序存储器(地址为 0000H~
FFFFH),则/EA 端必须保持低电平(接到 GND 端)。当/EA 端保持高电平(接 VSS 端)
时,CPU 则执行内部程序存储器中的程序。
(4) 输入/输出引脚 P0.0~ P0.7、P1.0~P1.7、P2.0~ P2.7 和 P3.0~P3.7
①P0 端口(P0.0~ P0.7) P0 是一个 8 位漏极开路型双向 I/O 端口。作为输出口
用时,每位能以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输
入端用。
②P1 端口(P1.0~ P1.7) P1 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P1
的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内
部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上
拉电阻,那些被外部信号拉低的引脚会输出一个电流。
③P2 端口 (P2.0~P2.7) P2 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P2
的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内
部的上拉电阻把端口拉到高电位,这时可用作输入口。P2 作输入口使用时,因为有
内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
5
④P3 端口(P3.0~P3.7) P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可
接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作
输入。作为输入,由于外部下拉为低电平,P3 口将输出电流,这是由于上拉的缘故。
P3 口也可作为 AT89S52 的一些特殊功能,这些特殊功能见表 4-1
[7]
。
表 4-1 P3 端口的特殊功能
端口引脚
兼 用 功 能
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 (外部数据存储器读选通)
4.2 DS1302 时钟电路
4.2.1 DS1302 芯片介绍
低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补
偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,
能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的
分析以及对异常数据出现的原因的查找有重要意义
[8]
。
采用 DS1302 作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准
确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测
量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控
系统中。在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某
些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系
统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采
样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用
单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询
等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用 DS1302
则能很好地解决这个问题。
(1) DS1302 的性能特性
·实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;
·用于高速数据暂存的 31×8 位 RAM;
·最少引脚的串行 I/O;
剩余34页未读,继续阅读
资源评论
风信不语
- 粉丝: 0
- 资源: 51
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于C和C++的二维绘制工具设计源码 - DrawPro
- Object.defineProperty 的 IE 补丁object-defineproperty-ie-master.zip
- 整卷预览.mhtml
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- 基于Javascript的结婚请帖设计源码 - Invitation
- mysql语句大全及用法
- mysql语句大全及用法
- mysql语句大全及用法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功