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栅极电流。 当“1”写入P2端口时,其引脚被内部上拉。 上拉电阻拉高,作为输入。 因此,当用作输入时,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端口同时接收一些用于Flash编程和编程验证的控制信号。
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、芯片擦除:
通过使用正确的控制信号组合并将 ALE 引脚保持为低电平 10ms,可以完成整个 PEROM 阵列和三个锁定位的电擦除。 在芯片擦除操作期间,代码阵列被写入全“1”,并且该操作必须在任何非空存储器字节被重新编程之前执行。
此外,AT89C51配备稳态逻辑,可以在低至零频率条件下执行静态逻辑,并支持两种软件可选的掉电模式。 在空闲模式下,CPU 停止工作。 但RAM、定时器、计数器、串口和中断系统仍然工作。 在掉电模式下,RAM 的内容被保存,振荡器被冻结,禁用所有其他芯片功能,直到下一次硬件复位。
很多刚接触51单片机的网友都会有这样的疑问:AT89S51是什么? 书籍和网上教程都是关于8051、89C51等! 没听说过89S51?!
在这里,初学者需要明确一个关于微控制器实际使用的产品概念。 MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有8031(内部没有程序存储器,在实际使用中已被市场淘汰)和8051(该芯片采用HMOS,功耗630mW,是89C51的5倍,在实际使用中已经被市场淘汰)和8751等通用产品。 直到现在,MCS-51内核系列兼容单片机仍然是应用中的主流产品(如目前流行的89S51、已停产的89C51等),各大学和专业学校的培训教材仍然采用MCS-51单片机作为理论基础学习的代表。
有些文献甚至将 8051 称为 MCS-51 系列微控制器。 8051是最典型的早期杰作。 由于MCS-51单片机的影响深远,许多公司都推出了兼容系列的单片机,这意味着MCS-51内核实际上已经成为8位单片机的标准。
其他公司的51单片机产品都是与MCS-51内核兼容的产品。 同一个程序在各个单片机厂家的硬件上运行都会产生相同的结果,比如ATMEL的89C51(已停产)、89S51、PHILIPS、WINBOND等,我们常说的已停产的89C51是指ATMEL的AT89C51单片机,它有在原来的基础上增强了很多功能,比如时钟。 更棒的是,原来的ROM取自Flash(程序存储器的内容至少可以重写1000次)存储器。 (一次性写入),AT89C51的性能相对于8051来说已经非常优越了。
但在市场化方面,89C51却受到了PIC单片机阵营的挑战。 89C51最致命的缺陷是不支持ISP(在线更新程序)功能。 必须加入ISP功能等新功能才能更好地延续MCS-51的传奇。 89S51正是在这样的背景下取代了89C51。 现在,89S51已成为实际应用市场的新宠。 市场份额最大的Atmel已停产AT89C51,并将用AT89S51取代。 89S51在这个过程中得到了改进。 89S51采用0.35新工艺,降低了成本,提高了功能,增加了竞争力。 89SXX兼容89CXX等51系列芯片。 同时,Atmel不再接受89CXX的订单。 你在市场上看到的89C51实际上是Atmel早期生产的大量库存。
89S51相比89C51增加的新功能包括:
–增加了很多新功能,性能大幅提升,但价格基本不变,甚至比89C51还要低!
— ISP在线编程功能。 该功能的优点是重写微控制器存储器中的程序不需要将芯片从工作环境中移除。 这是一个强大且易于使用的功能。
–工作频率为33MHz。 大家都知道89C51的极限工作频率只有24M,这意味着S51有更高的工作频率,从而拥有更快的运算速度。
— 具有双工 UART 串行通道。
–集成看门狗定时器,无需像89C51那样外部看门狗定时器单元电路。
–双数据指示器。
— 断电标志。
–新的加密算法,使得89S51无法解密。 程序的保密性大大增强,使知识产权能够得到有效保护,免受侵犯。
— 兼容性:完全向后兼容所有51字系列产品。 例如8051、89C51等早期的MCS-51兼容产品。 也就是说,课本和网上教程中的所有程序(无论课本中使用的单片机是8051、89C51、MCS-51等)仍然可以在89S51上运行。 这就是所谓的向后兼容。