没有合适的资源?快使用搜索试试~ 我知道了~
首页基于89C51的电子万年历设计:硬件与软件详解
基于89C51的电子万年历设计:硬件与软件详解
0 下载量 46 浏览量
更新于2024-06-24
收藏 697KB DOC 举报
本篇文档是一份关于湖南信息科学职业学院学生的毕业设计论文,主题为“基于8951单片机的电子时钟设计”。作者针对的是10应用电子技术专业,通过对单片机在数字化时代的广泛应用背景分析,阐述了课题研究的重要性和意义。 论文的核心内容围绕单片机AT89S51的选择展开,强调了在设计中,系统利用8位移位寄存器74LS164作为串行输入并行输出设备,配合DS1302串行时钟日历芯片来记录和显示日期和时间。AT89S51负责控制和处理数据,而DS1302则以其高精度和长时间的工作寿命为电子万年历提供了稳定的时间信息。设计的电子万年历具备多种功能,如闰年补偿、直观的数字显示、同时显示年月日、周日、时间和温度,以及时间校准等特性。 作者使用PROTEUS软件进行编程环境设定和硬件电路设计,通过仿真测试确保系统的性能。整个设计注重实用性,不仅易于读取,显示直观,而且电路简洁、成本低,有着广泛的市场潜力。 总结起来,这篇论文深入探讨了如何利用8951单片机构建一个功能齐全、易于使用的电子万年历系统,展示了作者在硬件选型、软件开发和系统集成方面的专业知识,以及对现代科技背景下电子时钟发展趋势的理解。
资源详情
资源推荐
第 9 页 共 49 页
9
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)输出是外部程序存储器的读选通信号,当
AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,
即输出两个脉冲。当访问外部数据存储器,没有两次有效的 PSEN 信号。
EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为
0000H—FFFFH),EA 端必须保持低电平(接地)。需要注意的是:如果加密位 LB1
被编程,复位时内部会锁存 EA 端状态。
如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。
Flash 存储器编程时,该引脚加上+12V 的变成电压 Vpp.
XTAL1:振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:振荡器反相放大器的输出端。
AT89C51 单片机内部结构
2.AT89C51 单片机与 MCS-51 完全兼容
看门狗(WDT):WDT是一种需要软件控制的复位方式。WDT 由13位计数
器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认
情况下无法工作;为了激活WDT,用户必须往WDTRST 寄存器(地址:0A6H)中依
次写入01EH 和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT
计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办
法停止WDT工作。当WDT溢出,它将驱动RSR引脚输出一个高电平。
可编程串口(UART)在AT89C51中,UART 的操作与AT89C51 和AT89C52 一
样。AT89C51系列单片机的串行通信口可以工作于同步和异步通信方式。当工作
于异步方式时,它具有全双工的操作功能,也就是说,它可以同时进行数据的发
送和接收。串行口内的接收器采用的是双缓冲结构,能够在接收到的第一个字节
从接收寄存器读走之前就开始接收第二个字节(当然,如果第二个字节接收完毕,
第 10 页 共 49 页
10
而第一个字节仍然没有被读走,那将会丢掉一个字节)。串行口的发送和接收操
作都是通过特殊功能寄存器中的数据缓冲寄存器SBUF进行的,但在SBUF的内部,
接收寄存器和发送寄存器在物理结构上是完全独立的。如果将数据写入SBUF,数
据会被送入发送寄存器准备发送。如果执行SBUF指令,则读出的数据一定来自接
收缓存器。因此,CPU对SBUF的读写,实际上是分别访问2个不同的寄存器。这2
个寄存器的功能决不能混淆。
振荡电路:AT89C51系列单片机的内部振荡器,由一个单极反相器组成。
XTAL1反相器的输入,XTAL2为反相器的输出。可以利用它内部的振荡器产生时钟,
只要XTAL1和XTAL2引脚上一个晶体及电容组成的并联谐振电路,便构成一个完整
的振荡信号发生器,此方式称为内部方式。另一种方式由外部时钟源提供一个时
钟信号到XTAL1端输入,而XTAL2端浮空。在组成一个单片机应用系统时,多数采
用这种方式,这种方式结构紧凑,成本低廉,可靠性高。在电路中,对电容C1和
C2的值要求不是很严格,如果使用高质的晶振,则不管频率为多少,C1、C2通常
都选择30pF。
定时/计数器:AT89C51单片机内含有2个16位的定时器/计数器。当用于
定时器方式时,定时器的输入来自内部时钟发生电路,每过一个机器周期,定时
器加1,而一个机器周期包含有12个振荡周期,所以,定时器的技术频率为晶振
频率的1/12,而计数频率最高为晶振频率的1/24。为了实现定时和计数功能,定
时器中含有3种基本的寄存器:控制寄存器、方式寄存器和定时器/计数器。控制
寄存器是一个8位的寄存器,用于控制定时器的工作状态,方式寄存器是一个8位
的寄存器,用于确定定时器的工作方式,定时器/计数器是16位的计数器,分为
高字节和低字节两部分。
RAM:高于7FH内部数据存储器的地址是8位的,也就是说其地址空间只有
256字节,但内部RAM的寻址方式实际上可提供384字节。的直接地址访问同一个
存储空间,高于7FH的间接地址访问另一个存储空间。这样,虽然高128字节区分
与专用寄器 ,即特殊功能寄存器区的地址是重合的,但实际上它们是分开的。
究竟访问哪一区,存是通过不同的寻址方式加以区分的。
SFR:SFR是具有特殊功能的所有寄存器的集合,共含有22个不同寄存器,
它们的地址分配在80H~FFH中。虽然如此,不是所有的单元都被特殊功能寄存器
占用,未被占用的单元,其内容是不确定的。如对这些单元进行读操作,得到的
是一些随机数,而写入则无效,所以在编程时不应该将数据写入这些未确定的地
址单元中,特殊功能寄存器主要有累加器ACC、B寄存器、程序状态字寄存器PSW、
堆栈指针SP、数据指针DPTR、I/O端口、串行口数据缓冲器SBUF、定时器寄存器、
捕捉寄存器、控制寄存器。
剩余48页未读,继续阅读
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功