(ILL)。P3口也可作为AT89C51的一些特殊功能口,如表1所示。P3口同时为闪烁编程和编程校验接收一些控制信号。
复位RST(9):复位输入。在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位操作不会对内部RAM有所影响。
ALE (30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的16。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
(29):外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。
EAVPP(31):当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(19):反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出。其引脚图如图3.1所示。
表3.1 P3.6端口引脚兼用功能表
端口引脚 第二功能 RXD(串行输入口) TXD(串行输出口) (外中断0) (外中断1) T0(定时、计数0) T1(定时、计数1) (外部数据存储器写选通) (外部数据存储器读选通) AT89C51引脚图
P3.0
图3.1
P3.1 P3.2 P3.3 3.1.2 时钟电
单片机的时钟供单片机片内各种间基准,复位操作的片内电路初始
P3.4 P3.5 P3.6 P3.7 路设计
信号用来提微操作的时则使单片机化,使单片
机从一种确定的初态开始运行。
时钟电路 89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图3-1所示。图3-1中,电容器Cl,C2起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。
图3.2 时钟电路
3.1.3 复位电路设计
复位电路电路图如图3.3所示
当89C51单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环
复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。
常用的上电和电阻R1对电源微分电路。上电段高电平时间,
Dn 等效电阻的作
H 阻R1,也能达到
L 功能,如图3.3所
X
X 图3.3复位电路电路
输入 输出 数据 OE L L L H On 复位电路电容C1+5V来说[20]构成后,保持RST一由于单片机内的
输出控制 使能 LE H H L X 用,不用图中电H 上电复位的操作L 示。 Q0 Z* 图
开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位常用的上电或开关复位电路。上电后,由于电容C3的充电和反相门的作用,使RESET持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RESET为一段时间的高电平,从而实现上电或开关复位的操作。
3.1.4 锁存控制电路
其锁存功能利用74LS373来实现,其功能表如表3.2所示,引脚图如图3.4所示
表3.2 74LS373功能表
(1) 锁存使能控制端,如图3.4中的LE。
只有当锁存使能信号有效(图3.4是上升沿)时,寄存器才能锁存输入数据(d3d2d1d0),寄存器状态得到更新。时钟信号经常作为锁存使能端的输入,以便协调时序电路的工作。
(2) 控制输入端,
它的作用可同时影响寄存器的多个输出,如图3.4中的CR。有些控制输入端需要与锁存使能输入端配合才能生效,称这种控制为同步控制。
(3) 数据输入端,如图3.4
在微控制器单元(MCU)中,寄存器是十分重要的资源。寄存器的主要作用是快速寄存算术逻辑运算单元(ALU)运算过程中的数据。熟悉和了解MCU的寄存器是掌握MCU应用的关键。MCU内部寄存器的位数通常与MCU的总线宽度相同,如普通51系列单片机的寄存器宽度是8位,嵌入式控制器和DSP处理器的寄存器宽度通常是32位或48位。
3.1.5 单片机最小系统
AT89C51最小系统中XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,如需要按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。
单片最小系统图如下:
图3.5 单片机最小系统
3.2 按键控制电路
本次设计使用二极管作为彩灯,16支彩灯接在了AT89C51的P1口和P0口,这2个接口每一个在接二极管的同时在接一个小电阻,这个电阻在电路中所

