没有合适的资源?快使用搜索试试~ 我知道了~
首页STC89C52单片机驱动的多功能电子万年历设计详解
STC89C52单片机驱动的多功能电子万年历设计详解
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 34 浏览量
更新于2024-06-28
收藏 1.6MB PDF 举报
本文主要探讨了基于STC89C52单片机的多功能电子万年历的设计实现。STC89C52单片机作为核心控制单元,其在设计中的重要性不言而喻,它负责整个系统的逻辑处理和数据管理。这款万年历系统由四个关键模块构成:数据显示模块、温度采集模块、时间处理模块以及调整设置模块。 数据显示模块是用户界面的核心部分,采用了1602A液晶显示模块,这种模块支持清晰的数字和字符显示,能同时显示年、月、日、周日、时、分、秒等信息。这种设计使得用户可以轻松获取当前的时间和日期,提高了用户体验。 温度采集模块则选用了DS18B20温度传感器芯片,用于实时监测环境温度,与时间信息相结合,提供完整的环境数据。通过与万年历集成,可以实现温湿度监测和时间同步,这对于智能家居或工业自动化应用来说具有实用价值。 时间处理模块基于DS1302串行日历芯片,负责精确地记录和管理时间,包括闰年的正确计算。这种高精度的时间处理能力确保了万年历功能的准确性,对于需要长期稳定计时的场合尤其重要。 调整设置模块允许用户对时间和日期进行校准,增强了设备的可定制性和灵活性。这一功能在日常生活中非常实用,如当用户更换地理位置或者需要纠正系统时钟偏差时。 该设计具有直观的用户界面、强大的功能集(包括闰年补偿)、高精度的时间管理以及便捷的设置选项,使得它在众多应用场景中都表现出良好的性能和成本效益。由于其易于操作、功能多样且适应性强,这款基于STC89C52单片机的多功能电子万年历在市场上具有广阔的应用前景。关键字如“万年历”、“温度计”和“液晶显示”突出了设计的核心技术元素,显示出设计的专业性和实用性。
资源详情
资源推荐
3 系统硬件的设计
根据上述所确定的系统方案构想,下面进行系统硬件电路的具体设计,系统
的具体设计在下面会详细介绍。
3.1 STC89C52 单片机
本系统采用的是美国 ATMEL 公司生产的 STC89C52 单片机,首先我们来熟悉
一下 STC89C52 单片机的外部引脚和内部结构。
1.单片机的引脚功能
STC89C52 单片机有 40 个引脚。
Vcc:电源电压+5V
GND:接地
P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复
用口。作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“1”可作
为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)
和数据总线服用,在访问期间激活内部上拉电阻。
在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,
校验时要求外接上拉电阻。
P1 口:P1 口是一个带内部上拉电阻的 8 位双向 I/O,P1 的输出缓冲级可
驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉
电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉
电阻,某个引脚被外部信号拉低时会输出一个电流。
Flash 编程和程序校验期间,P1 接收低 8 位地址。
P2 口:P2 口是一个带内部上拉电阻的 8 位双向 I/O,P2 的输出缓冲级可
驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉
电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉
电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX@DPTR
指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(MOVX
@Ri 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中 P2 寄存器的
内容),在整个访问期间不改变。
Flash 编程和程序校验期间,P2 亦接收低高位地址和其他控制信号。
P3 口:P3 口是一组带内部上拉电阻的 8 位双向 I/O,P3 的输出缓冲级可
驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内
部的上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上
5
拉电阻输出电流。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二
功能,见表 1 所示:
P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。
表 1 P3 口的第二功能图
端口引脚
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
第二功能
RXD(串行输入口)
TXD(串行输出口)
INT0(外中断 0)
INT1(外中断 1)
T0(定时/计时器 0 外部输入)
T1(定时/计时器 1 外部输入)
WR(外部数据存储器写选通)
RD(外部数据存储器读选通)
RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电
平将使单片机复位。WDT 溢出将使引脚输出高电平,设置 SFR AUXR 的 DISRT0
(地址 8EH)可打开或关闭该功能。DISRT0 位缺省为 RESET 输出高电平打开状态。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存器允
许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE 仍以时
钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目
的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。
对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过多特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置,可
禁止 ALE 操作。该位置后,只有一条 MOVX 和 MOVC 指令 ALE 才会被激活。另外,
该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。
PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当
STC89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,
即输出两个脉冲。当访问外部数据存储器,没有两次有效的 PSEN 信号。
EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H
—FFFFH),EA 端必须保持低电平(接地)。需要注意的是:如果加密位 LB1 被编
程,复位时内部会锁存 EA 端状态。
如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。
Flash 存储器编程时,该引脚加上+12V 的变成电压 Vpp.
XTAL1:振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:振荡器反相放大器的输出端。
STC89C52 单片机内部结构
2.STC89C52 单片机与 MCS-51 完全兼容
6
看门狗(WDT):WDT是一种需要软件控制的复位方式。WDT 由13位计数
器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认
情况下无法工作;为了激活WDT,用户必须往WDTRST 寄存器(地址:0A6H)中依
次写入01EH 和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。
WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有
办法停止WDT工作。当WDT溢出,它将驱动RSR引脚输出一个高电平。
可编程串口(UART)在STC89C52中,UART 的操作与STC89C52 和AT89C52
一样。STC89C52系列单片机的串行通信口可以工作于同步和异步通信方式。当工
作于异步方式时,它具有全双工的操作功能,也就是说,它可以同时进行数据的
发送和接收。串行口内的接收器采用的是双缓冲结构,能够在接收到的第一个字
节从接收寄存器读走之前就开始接收第二个字节(当然,如果第二个字节接收完
毕,而第一个字节仍然没有被读走,那将会丢掉一个字节)。串行口的发送和接
收操作都是通过特殊功能寄存器中的数据缓冲寄存器SBUF进行的,但在SBUF的内
部,接收寄存器和发送寄存器在物理结构上是完全独立的。如果将数据写入SBUF,
数据会被送入发送寄存器准备发送。如果执行SBUF指令,则读出的数据一定来自
接收缓存器。因此,CPU对SBUF的读写,实际上是分别访问2个不同的寄存器。这
2个寄存器的功能决不能混淆。
振荡电路:STC89C52系列单片机的内部振荡器,由一个单极反相器组成。
XTAL1反相器的输入,XTAL2为反相器的输出。可以利用它内部的振荡器产生时钟,
只要XTAL1和XTAL2引脚上一个晶体及电容组成的并联谐振电路,便构成一个完整
的振荡信号发生器,此方式称为内部方式。另一种方式由外部时钟源提供一个时
钟信号到XTAL1端输入,而XTAL2端浮空。在组成一个单片机应用系统时,多数采
用这种方式,这种方式结构紧凑,成本低廉,可靠性高。在电路中,对电容 C1
和C2的值要求不是很严格,如果使用高质的晶振,则不管频率为多少, C1、C2
通常都选择30pF。
定时/计数器:STC89C52单片机内含有2个16位的定时器/计数器。当用
于定时器方式时,定时器的输入来自内部时钟发生电路,每过一个机器周期,定
时器加1,而一个机器周期包含有12个振荡周期,所以,定时器的技术频率为晶
振频率的1/12,而计数频率最高为晶振频率的1/24。为了实现定时和计数功能,
定时器中含有3种基本的寄存器:控制寄存器、方式寄存器和定时器/计数器。控
制寄存器是一个8位的寄存器,用于控制定时器的工作状态,方式寄存器是一个8
位的寄存器,用于确定定时器的工作方式,定时器/计数器是16位的计数器,分
为高字节和低字节两部分。
RAM:高于7FH内部数据存储器的地址是8位的,也就是说其地址空间只有
256字节,但内部RAM的寻址方式实际上可提供384字节。的直接地址访问同一个
存储空间,高于7FH的间接地址访问另一个存储空间。这样,虽然高128字节区分
与专用寄器 ,即特殊功能寄存器区的地址是重合的,但实际上它们是分开的。
究竟访问哪一区,存是通过不同的寻址方式加以区分的。
7
剩余51页未读,继续阅读
xxpr_ybgg
- 粉丝: 6592
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功