基于AT89C51单片机的多功能电子万年历的设计(2)

2019-03-09 15:45

基于AT89C51单片机的多功能电子万年历的设计的毕业设计

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

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

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

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

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

青岛科技大学本科毕业设计(论文)

3. 软件无线电及其组成

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

3.1 软件无线电的概念

3.1.1系统硬件框图

系统硬件框图如图3-1

时钟芯片DS1302 AT89C51 P2口 串口 LED显示器 驱动电路

图3-1 系统硬件框图

Figure 3-1 block diagram of system hardware

3.1.2 AT89C51单片机结构

本系统采用的是ATMEL公司生产的AT89C51单片机,首先我们来熟悉一下AT89C51单片机的外部引脚与内部结构。

1.单片机的引脚功能:

? AT89C51单片机共有40个引脚。 ? Vcc:电源电压+5V ? GND:接地

? P0口:P0口是一组8位漏极开路型双向I/O口,即地址/数据总线复用

口。作为输出口时,每位能驱动8个TTL逻辑门电路,对端口写“1”可以作为高阻抗输入端用。

7

基于AT89C51单片机的多功能电子万年历的设计的毕业设计

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)与数据总线服用,在访问期间激活内部上拉电阻。

Flash编程时,P0口接收指令字节,但在程序校验时,输出指令字节,校验时要求外接上拉电阻。

P1口:P1口是一个带内部上拉电阻的八位双向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闪速存储器编程和程序校验的控制信号。

青岛科技大学本科毕业设计(论文)

表3-1 P3口的第二功能图

Table 3-1 P3 port second function diagram

端口引脚 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)输出是外部程序存储器的读选通信号,当AT89C51通过外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在访问外部数据存储器,没有两次有效的PSEN信号。

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需要注意的是:如加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则要执行内部程序存储器中的指令。

9

基于AT89C51单片机的多功能电子万年历的设计的毕业设计

Flash存储器编程时,该引脚加+12V的变成电压Vpp. XTAL1:振荡器反相放大器和内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 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单片机内含有两个16位的定时器/计数器。当用于定时器方式时,定时器的输入来自于内部时钟发生电路,每过一个机器周期,


基于AT89C51单片机的多功能电子万年历的设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:轻资产运营模式财务分析的文献读书笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: