XXXX大学本科生毕业设计(论文)
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
89C52 单片机外部有32个端口可供用户使用,其功能如下: 表2.1 89C52并行I/O接口
端口
P0 P1 P2 P3
引脚位置 39-32 1-8 21-28
10 11 12 13 14 15 16 17
第一功能 符号 P0.0-P0.7 P1.0-P1.7 P2.0-P2.7
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
功能 通用I/0口 通用I/0口 通用I/0口
通用I/0口
第二功能 符号 AD0-AD7
A8-A15
RXD TXD INT0 INT1 T0 T1 WR RD
功能
地址数据总线
地址总线(高位) 串行通信发送口 串行通信接收口 外部中断0 外部中断1 计数器0输入端口 计数器1输入端口 外部存储器写功能 外部存储器读功能
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为
- 4 -
XXXX大学本科生毕业设计(论文)
低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示: 口管脚 备选功能
P3.0 RXD(串行输入通道) P3.1 TXD(串行输出通道) P3.2 /INT0(外中断0) P3.3 /INT1(外中断1) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
(3)AT89C52的晶振及其连接方法 CPU工作时都必须有一个时钟脉冲。有两种方式可以向89C52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89C52提供时钟脉冲,见图2.3(a);二是内部时钟方式,即使用晶振由89C52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图2.3(b)。
89C52 悬空
XTAL2 XTAL1 89C52 XTAL2 XTAL1 C1 J C2 外部时钟信号
(a)外部时钟方式 (b)内部时钟方式
- 5 -
XXXX大学本科生毕业设计(论文)
图2.3 89C52的时钟脉冲
J一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用陶瓷滤波器时,C1=C2=47pF。
(4)AT89C52的复位 复位是单片机的初始化操作,其主要的作用是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。除使PC归零外,复位操作还对其他一些专用寄存器有影响,它们的复位状态如表2.2所示。
表2.2 复位后的内部寄存器状态
寄存器 PC ACC B PSW SP DPTR P0-P3 IP IE 复位状态 0000H 00H 00H 00H 07H 0000H 0FFH (xxx00000) (0xx00000) 寄存器 TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON 复位状态 00H 00H 00H 00H 00H 00H 00H (xxxxxxxx) (0xxx0000) 另外,复位操作还对单片机的个别引脚有影响,例如会把ALE和/PSEN变成无效状态,即使ALE=0,/PSEN=1.RST变成低电平后,退出复位状态,CPU从初始状态开始工作。
89C52复位操作有3种方式:上电复位、上电按钮复位和系统复位。上电复位电路如图2.4所示。对于CMOS型单片机因RST引脚的内部有一个拉低电阻,故电阻R可不接。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效地复位。当晶体振荡频率为12MHz时,RC的典型值为C=10uF,R=8.2K欧姆。简单复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时可在RST引脚上接一去耦电容。
通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图2.5所示,其中R2>>R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。
- 6 -
XXXX大学本科生毕业设计(论文)
+5V C R RST 89C52 C +5V RST 89C52 R1 R2
图2.4 上电复位电路 图2.5 上电按钮复位电路
2.2.2 资源分配
晶振采用12MHZ。P1口的P1.0-P1.3分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,P1.4-P1.7与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。
P0口与DAC0832的D0-D7数据输入端相连。
P2口用来控制DAC0832的输入寄存器选择信号/CS和数据传送信号/XFER。
2.3 各部分电路原理
2.3.1 DAC0832芯片原理
管脚功能介绍(如图2.6所示)
20765416151413117lsbDI0DI1DI2DI3DI4DI5DI6msbDI7CSXferVccIout1Iout2RfbVref111298ILEWR2WR1U219182DAC0832图2.6 DAC0832管脚图
DI7~DI0:8位的数据输入端,DI7为最高位。 ILE:数据锁存允许控制信号输入线,高电平有效。 /CS:选片信号输入线(选通数据锁存器),低电平有效。
- 7 -

