89C2051是由ATMEL公司推出的一种小型单片机,采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,其程序的电可擦写特性,使得开发与试验比较容易。
引脚
89C2051共有20条引脚,2051继承了8031最重要的引脚:P1口共8脚,准双向端口。
P3.0-P3.6共7脚,准双向端口,并且保留了全部的P3的第二功能,如P3.0、P3.1的串行通讯功能,P3.2、P3.3的中断输入功能,P3.4、P3.5的定时器输入功能。
在引脚的驱动能力方面,89C2051具有很强的下拉能力,P1、P3口的下拉能力均可达到20mA,相比之下,89C51/87C51的端口下拉能力每脚最大为15mA。但是限定9脚电流之和小于71mA,这样引脚的平均电流只9mA,89C2051驱动能力的增强,使得它可以直接驱动LED数码管。
为了增加对模拟量的输入功能,2051在内部构造了一个模拟信号比较器,其输入端连到P1.0和P1.1口,比较结果存入P3.6对应寄存器,原理图如下所示:
对于一些不大复杂的控制电路就可以增加少量元件来实现,例如对温度的控制、过压的控制等。
电源
89C2051有很宽的工作电源电压,可为2.7-6V,当工作在3V时,电流相当于6V工作时的1/4,89C2051工作于12Hz时,动态电流为5.5mA,空闲态为1mA,掉电态仅为20nA,这样小的功耗很适合于电池供电的小型控制系统。
存储器
89C2051片内含有2k字节的Flash程序存储器,128字节的片内RAM,与80C31内部完全类似,由于2051内部设计全静态工作,所以允许工作的时钟为0-20MHz,也就是说,允许在低速工作时,不破坏RAM内容。相比之下,一般8031对最低工作时钟限制为3.5MHz,因为其内部的RAM是动态刷新的。89C2051不允许构造外部总线来扩充程序/数据存储器,所以它也不需要ALEPSEN、RD、WR一类的引脚。
内部I/O控制
89C2051在内部I/O控制上继承了MCS51的特性,5路2级优待中断,串等口,2路定时器/计数器。
程序保密
89C2051设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程,除非做一次擦除,保密位2被编程之后,程序不能被读出。
软硬件开发
89C2051可以采用下面2种方法开发应用系统。
(1) 由于89C2051内部程序存贮器为Flash,所以修改它内部的程序十分方便快捷,只要配备一个可以编程89C2051的编程器即可。调试人员可以采用程序编辑-编译-固化-插到电路板中试验这样反复循环的方法,对于熟练的MCS-51程序员来说,这种调试方法并不十分困难,当做这种调试不能了解片内RAM的内容和程序的走向等有关信息。
(2) 将普通8031/80C31仿真器的仿真插头中P1.0-P1.7和P3.0-P3.6引出来仿真205T,这种方法可以运动单步、断点的调试方法,但是仿真不够真实,比如,2051的内部模拟比较器功能,P1口、P3口的增强下拉能力等等。
应用
就目前中国市场的情况来看,89C2051有很大的市场,其原因如下:2051采用的是MCS51的核心,十分容易为广大用户所接受;2051内部基本保持了80C31的硬件I/O功能;2051的Flash存贮器技术,可重复擦/写1000次以上,容易解闷调试首段;更适合小批量系统的应用,容易实现软件的升级。
89C2051适合于家用电器控制,分布式测控网络,I/O量不足不是很大的应用系统。
89C2051 PDF资料下载:http://pdf.cecb2b.com/ATMEL_89C2051_2703600_d.html