基于单片机的多功能电子日历的设计

更新时间:2023-09-02 08:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

郑重申明

本人呈交的毕业实习报告(设计),是在导师的指导下,独立进行实习和研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业实习报告(设计)的成果不包含他人享有著作权的内容。对本毕业实习报告(设计)所涉及的实习和研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业实习报告(设计)的知识产权归属于作者与培养单位。

学生签名[签字盖章]

日期0000.00

摘要

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

关键字:AT89C51;电子万年历;DS1302

目 录

1 绪论...................................................................... 4 1.1课题研究的背景 ........................................................ 4 1.2课题的研究目的与意义 .................................................. 4 1.3课题解决的主要内容 .................................................... 4 2 系统的总体设计............................................................ 6 2.1系统方案的构想与确定 .................................................. 6 2.2 器件的选用 ............................................................ 6 2.2.1单片机的选择 .......................................................... 6 3 系统硬件的设计............................................................ 8 3.1系统硬件电路设计 ...................................................... 8 3.1.1系统硬件框图 .......................................................... 8 3.1.2 AT89C51单片机 ........................................................ 8 3.1.3 8位移位寄存器74LS164(串行输入,并行输出).......................... 12 3.1.4 ds1302............................................................... 13 4 系统的软件设计........................................................... 20 4.1 主程序 ............................................................... 20 4.2 从1302读取日期和时间程序 ............................................ 21 5 PROTEUS使用 ............................................................. 22 5.1编程环境PROTEUS ...................................................... 22 5.2用PROTEUS ISIS对电子万年历的硬件电路设计 ............................ 22 5.3用PROTEUS ISIS进行电子万年历的仿真测试 .............................. 26 结论....................................................................... 29 致谢....................................................................... 30 参考文献................................................................... 30 附录....................................................................... 31

附录1 ................................................................... 31

第一章 绪论

1.1 课题研究的背景

随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

1.2课题的研究目的与意义

二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。

由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且

投入市场得到广泛应用。

1.3课题解决的主要内容

本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面:

(1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。

(2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。 (3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。 (4)根据硬件电路图,在开发板上完成器件的焊接。

(5)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。

(6)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。 (7)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。

(8)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

第二章 系统的总体设计

单片机电子万年历的制作有多种方法,可供选择的器件和运用的技术也有很多种。所以,系统的总体设计方案应在满足系统功能的前提下,充分考虑系统使用的环境,所选的结构要简单使用、易于实现,器件的选用着眼于合适的参数、稳定的性能、较低的功耗以及低廉的成本。

2.1系统方案的构想与确定

系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面的考虑决定用三个8位74LS164串行接口外接LED显示器,RESPACK-8对单片机AT89C51进行供电,时间芯片DS1302连接单片机AT89C51。从而实现电子万年历的功能。

2.2 器件的选用

单片机AT89C51

电容RESPACK-8

三个74LS164串行接口

传感器DS1302

2.2.1单片机的选择

单片机自70年代问世以来以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,用广泛的应用领域拉动得到蓬勃发展,单片机功能正日渐完善。单片机的应用,使许

多领域的技术水平和自动化程度大大提高,可以说当今世界正在经受一场以单片机技术为标志的新技术革命浪潮的冲击。主要单片机类型如下:

(1)MCS-51系列单片机

MCS-51系列单片机主要是指Intel公司生产的以51位内核的单片机芯片,具有8位CPU、4K字节ROM、128字节RAM、可扩展外部64K字节RAM和ROM、2个16位的定时器/计数器、4个8位并行I/O口、1个全双工串行I/O口、21字节的专用寄存器、5个中断源、片内自带振荡器、片内单总线等功能部件。

(2)AT89C51单片机

AT89C51单片机的主要特性如下: 与MCS-51产品指令系统完全兼容

4K字节的在线编程Flash存储器,1000次擦写周期 4.0~5.5V的工作电压范围 全静态工作模式:0~33MHz 三级程序存储器锁 128×8字节内部RAM 32个可编程I/O口线 2个16位定时/计数器 6个中断源

全双工串行UART通道 低功耗空闲和掉电模式 中断可从空闲模式唤醒系统 看门狗(WDT)及双数据指针 掉电标识和快速编程特性

具有掉电状态下的中断恢复功能

灵活的在系统编程(ISP字节或页写模式)

由于AT89C51单片机片内有4K字节的在线编程Flash存储器,可以擦写1000次,具有掉电模式,而且具有掉电状态下的中断恢复功能,对设计开发非常实用。所以选用AT89C51单片机作为电子万年历芯片的控制单片机。

第三章 系统硬件的设计

根据上述所确定的系统方案构想,下面进行系统硬件电路的具体设计,系统的总体结构框图如图所示。

3.1系统硬件电路设计 3.1.1系统硬件框图

系统硬件框图如图3-1

图3-1 系统硬件框图

3.1.2 AT89S51单片机

本系统采用的是美国ATMEL公司生产的AT89C51单片机,首先我们来熟悉一下

AT89C51单片机的外部引脚和内部结构。 1.单片机的引脚功能

AT89C51单片机有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口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,见表3-1所示:

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

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系列单片机的串行通信口可以工作于同步和异步通信方式。当工作于异步方式时,它具有全双工的操作功能,也就是说,它可以同时进行数据的发送和接收。串行口内的接收器采用的是双缓冲结构,能够在接收到的第一个字节从接收寄存器读走之前就开始接收第二个字节(当然,如果第二个字节接收完毕,而第一个字节仍然没有被读走,那将会丢掉一个字节)。串行口的发送和接收操作都是通过特殊功能寄存器中的数据缓冲寄存器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、定时器寄存器、捕捉寄存器、控制寄存器。

中断系统:AT89C51单片机有6个中断源,中断系统主要由中断允许寄存器IE、中断优先级寄存器IP、优先级结构和一些逻辑门组成。IE寄存器用于允许或禁止中断;IP寄存器用于确定中断源的优先级别;优先级结构用于执行中断源的优先排序;有关逻辑门用于输入中断请求信号。在整个中断响应过程中CPU所执行的操作步骤如下:

(1)完成当前指令的操作 (2)将PC内容压入堆栈

(3)保存当前的中断状态 (4)阻止同级的中断请求

(5)将中断程序入口地址送PC寄存器 (6)执行中断服务程序 (7)返回

3.1.3 8位移位寄存器74LS164(串行输入,并行输出)

74LS164为8位移位寄存器,其主要电特性的典型值如表3-2:

当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。

串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平时停止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用Q0的状态。

引出端符号

CLOCK 时钟输入端

CLEAR 同步清除输入端(低电平有效) A,B 串行数据输入端 QA-QH 输出端 逻辑及封装图,如3-2,3-3

图3-2 逻辑图

图3-3 封装图

极限值

电源电压…………………………………7V 输入电压…………………………………5.5V 工作环境温度

54164……………………………………-55~125℃ 74164……………………………………-0~70℃ 储存温度……………………………………-65℃~150℃

表3-3真值表

H-高电平L-低电平X-任意电平↑-低到高电平跳变 QA0,QB0,QH0-规定的稳态条件建立前的电平 QAn,QGn-时钟最近的↑前的电平 时序图如下

3-4

图3-4 时序图

推荐工作条件如表3-4:

表3-4推荐工作条件

静态特性(TA为工作环境温度范围)如表3-5

表3-5工作环境温度范围

[1]:测试条件中的“最小”和“最大”

用推荐工作条件中的相应值。

动态特性(TA=25℃)如表3-6

表3-6动态特性

本文来源:https://www.bwwdw.com/article/o4ai.html

Top