AT89C51 单片机简介
AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器
(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,
高性能 CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编
程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100
次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51
指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片
中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。
AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.主要特性:
·与 MCS-51 兼容
·4K 字节可编程闪烁存储器
寿命:1000 写/擦循环
数据保留时间:10 年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8 位内部 RAM
·32 可编程 I/O 线
·两个 16 位定时器/计数器
·5 个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.管脚说明:
VCC:供电电压。
GND:接地。
P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。
当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存
储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输
入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。
P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器
能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,
P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 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(外部数据存储器读选通)
P3 口同时为闪烁编程和编程校验接收一些控制信号。
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:来自反向振荡器的输出。
3.振荡器特性:
XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配
置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,
XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部
时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4.芯片擦除:
整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并
保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”
且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种
软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,
串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁
止所用其他芯片功能,直到下一个硬件复位为止。