AT89C51 的性能相对于8051 已经算是非常优越的了。 不过在市场化方面,89C51 受到了PIC 单片机阵营的挑战,89C51 最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP 功能等新功能才能更好延续MCS-51 的传奇。89S51就是在这样的背景下取代89C51 的,89S51 已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel 公司已经停产AT89C51,将用AT89S51 代替。
AT89C51 的性能相对于8051 已经算是非常优越的了。 不过在市场化方面,89C51 受到了PIC 单片机阵营的挑战,89C51 最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP 功能等新功能才能更好延续MCS-51 的传奇。89S51就是在这样的背景下取代89C51 的,89S51 已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel 公司已经停产AT89C51,将用AT89S51 代替。
-- 相对于89C51,89S51新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51 更低!
-- ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。
-- 最高工作频率为33MHz,大家都知道89C51 的极限工作频率是24M,就是说S51 具有更高工作频率,从而具有了更快的计算速度。
-- 具有双工UART 串行通道。
-- 内部集成看门狗计时器,不再需要像89C51 那样外接看门狗计时器单元电路。
-- 双数据指示器。 -- 电源关闭标识。
-- 全新的加密算法,这使得对于89S51 的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
-- 兼容性方面:向下完全兼容51 全部字系列产品。比如8051、89C51 等等早期MCS-51 兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051 还是89C51 还是MCS-51 等等),在89S51 上一样可以照常运行,这就是所谓的向下兼容。
89S51 在工艺上进行了改进,89S51 采用 0.35um 新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX 可以像下兼容89CXX 等51 系列芯片。市场上见到的89C51 实际都是Atmel 前期生产的巨量库存而已。如果市场需要,Atmel当然也可以再恢复生产AT89C51。 AT89S51/LS51单片机是低功耗的、具有4KB在线课编程Flash存储器的单片机。它与通用80C51系列单片机的指令系统和引脚兼容。片内的Flash可允许在线重新编程,也可使用非易失性存储器编程。他将通用CPU和在线可编程Flash集成在一个芯片上,形成了功能强大、使用灵活和具有较高性能性价比的微控制器。
AT89S51/LS51具有如下特性:
--指令架构:CISC(复杂指令)
--最大吞吐量:3MIPS
--片内程序存储器含有4KB的Flash存储器,允许在线编程,檫写周期可达1000次;
--片内数据存储器内含128字节的RAM;
--I/O口具有32根可编程I/O线;
--具有两个16位I/O线;
--中断系统具有6个中断源、5个终端矢量、2个中断优先级的中断结构;
--串行口是一个全双工的串行通信口;--具有两个数据指针DPTR0和DPTR1;
--低功耗节电模式有节电模式和掉电模式;
--包含3级程序锁定位;
--AT89S51的电源电压为4.0-5.5V,AT89LS51的电源电压为2.7-4.0V;
--振荡器频率0-33MHz(AT89S51),0-16MHz(A-T89LS51);
--具有片内看门狗定时器(WatchDog);
--灵活的在线片内编程模式(字节和页编程模式);
--具有断电标志模式POF.
--具有6个中断源
--具有2个计数/定时器
--具有1个串口
①ALE,地址锁存器允许信号输出端。在访问片外程序存储器期间,每个机器周期ALE信号出现两次,其下降沿用于锁存P0口输出的低8位地址。在访问片外程序存储器时,该信号也以1/6振荡频率稳定出现,因此可用作对外输出的时钟脉冲。但在有访问片外数据存储器情况时,ALE脉冲会跳空,不适合作为时钟输出。
②PROG,对片内含EPROM的芯片,在编程期间,此引脚用作编程脉冲PROG的输入端。(2)PSEN,片外程序存储器读选通信号输出端,PSEN信号的频率是振荡频率的1/6。在读片外程序存储器期间,每个机器周期该信号两次低电平有效。在读片外程序存储器期间若有访问片外数据存储器的操作,则PSEN信号会有跳空现象。
(3)RST/Vpd:双控功能控制端口
①RST作复位信号输入端。当RST输入端保持两个机器周期的高电平时,就可以使单片机完成复位操作。
②Vpd备用电源输入端。
(4)EA/VDD:双功能控制端
①EA访问外程序存储器允许端,当接低电平时,CPU只访问片外ROM;当接高电平时,CPU先访问片内ROM,若访问地址大于某一范围时将自动转去片外ROM。
②VDD编程电源输入端,当对片内ROM写入程序时,由该脚输入编程电源。
输入/输出端口51单片机共有32个I/O引脚,分成P0、P1、P2、P3共四组。每组端口8个引脚,用于传送数据、地址或控制信号。①P0口(P0.7~P0.0):既可做地址/数据总线使用,又可作为通用的I/O口使用。开漏极、双向I/O口。 P0口可作为通用I/O口,但必须外接上拉电阻;作为输出口,每个引脚可吸收8个TTL的灌电流。作为输入时,首先应将引脚置1。 P0口也可用作外部程序存储器和数据存储器是的低八位地址/数据总线的复用线。在该模式下,P0口含有内部上拉电阻。 在Flash编程时,P0口接受代码数据;在编程校验时,P0口输出代码字节数据(需要外接上拉电阻)。
②P1口(P1.7~P1.0):8位、双向I/O口、内部含有行拉电阻。 P1可作为普通I/O口。输出缓冲器可驱动4个TTL负载;用作输入时,先交引脚置1,有片内上拉电阻将其抬到高电平。P1口的引脚可由外部负载拉倒低电平,通过上拉电阻提供拉电流。 在Flash并行编程和校验时,P1口可输入低字节地址。在串行编程和校验时,P1.0/MOSI,P1.6/OSI和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。I/O具有内部拉电阻的8位双向I/O。
③P2口(P2.7~P2.0):用作输出口时,可驱动四个TTL负载;用作输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外输出电流。 CPU访问外部16位地址的存储器时,P2口提供高8位的地址。当CPU用8位地址寻址外部存储器时,P2口为P2特殊功能寄存器内容。 在FLASH并行编程和校检时,P2口可输入高字节地址和某些控制信号。
④P3口(P3.7~P3.0):局有内部上拉电阻8位双向口。 P3口左忽出口时,输出缓冲器可吸收4个TTL的灌电流;用作输入口时,首先将引脚置1,有内部上拉电阻抬为高电平。若外部负载是低电平,则通过内部上拉电阻向外输出电流。 在与FLASH并行编程和校检时,P3口可输入某些控制信号。