A T89C2051
中文资料
电子驿站http:// https://www.sodocs.net/doc/6c3775220.html,
E-mail: support@https://www.sodocs.net/doc/6c3775220.html,
AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存
储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼
容标准MCS-5l指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大。AT89C2051单片机可为您提供许多高
性价比的应用场合。
·与MCS-51产品指令系统完全兼容
·2k字节可重擦写闪速存储器
·1000次擦写周期
·2.7V-6V的工作电压范围
·全静态操作:0Hz-24MHz
·两级加密程序存储器
·128×8字节内部RAM
·15个可编程I/O口线
·2个l6位定时/计数器
·6个中断源
·可编程串行UART通道
AT89C2051 ·可直接驱动LED的输出端口
·内置一个模拟比较器
·低功耗空闲和掉电模式
功能特性概述:
AT89C2051提供以下标准功能:2k字节Flash闪速存储器,128字节内部RAM,15个I/O口线,两个16位定时/计
数器,—个5向量两级中断结构,一个全双工串行通信口,内置—个精密比较器,片内振荡器及时钟电路。同时,AT89C2051
可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数
器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一
个硬件复位。
方框图
引脚功能说明
·Vcc:电源电压
·GND:地
·P1口:P1口是一组8位双向I/O口,P1.2-P1.7提供内部上拉电阻,P1.0和P1.1内部无上拉电阻,主要是考虑它
们分别是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),如果需要应在外部接上拉电阻。P1口输出缓冲器可吸收20mA 电流并可直接驱动LED 。当P1口引脚写入“1”时可作输入端,当引脚P 1.2-P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流(I IL )。
P1口还在Flash 闪速编程及程序校验时接收代码数据。
·P3口:P3口的P3.0-P3.5、P3.7是带有内部上拉电阻的7个双向I /O 口。P3.6没有引出,它作为一个通用I /O 口但不可访问,但可作为固定输入片内比较器的输出信号,P3口缓冲器可吸收20mA 电流。当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(I IL )。
P3口还用于实现AT89C2051特殊的功能,如下表所示:
引脚 功能特性
P3.0 RXD (串行输入口) P3.1 TXD (串行输出口)
P3.2 INT0———— (外中断0) P3.3 INT1————
(外中断1)
P3.4 T0 (定时/计数器0外部输入) P3.5
T1 (定时/计数器1外部输入)
P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。
·RST :复位输入。RST 引脚一旦变成两个机器周期以上高电平,所有的I /O 口都将复位到“1”(高电平)状态,当 振荡器正在工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期。
·XTALl :振荡器反相放大器的及内部时钟发生器的输入端。
·XTAL2:振荡器反相放大器的输出端。
·振荡器特性
XTALl 、XTAL2为片内振荡器的反相放大器的输入和输出端,如下图所示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动AT89C2051,时钟信号从XTAL1输入,XTAL2应悬空。由于输入到内部电路是经过一个2分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。
石英晶体时:C1,C2=30pF±10pF 外部时钟驱动电路陶瓷滤波器:C1,C2=40pF±10pF
内部振荡电路图3
·特殊功能寄存器
片内特殊功能寄存器(SFR)空间存储区的映象图如下表所示。
并非存储区中所有的地址单元都被占用,未占用的地址单元亦不能使用,如果对其进行读访问一般返回为随机数,写访问也不确定。
这些单元是为了以后利用这些未使用的地址单元扩展新功能而设置,所以用户软件不要对它们写“1”,在这种情况下,新位的复位或不激活值总为“0”。
·某些指令的约束条件:
AT89C2051是经济型低价位的微控制器,它含有2K字节的Flash闪速程序存储器,指令系统与MCS-51完全兼容,可使用MCS-5l指令系统对其进行编程。但是在使用某些有关指令进行编程时,程序员须注意一些事项。
和跳转或分支有关的指令有一定的空间约束,使目的地址能安全落在AT89C2051的2k字节的物理程序存储器空间内,程序员必须注意这一点。对于2k字节存储器的AT89C2051来说,LJMP 7E0H是一条有效指令,而LJMP 900H则为无效指令。
1.分支指令
对于LCALL、LJMP、ACALL、AJMP、SJMP、JMP@A+DPTR等指令,只要程序员记住这些分支指令的目的地址在
程序存储器大小的物理范围内(AT89C2051程序地址空间为:000H一7FFH单元),这些无条件分支指令就会正确执行,超出物理空间的限制会出现不可预知的程序出错。CJNE[……]、DJNZ[……]、JB、JNB、JC、JNC、JBC、JZ、JNZ等这些条件转移指令的使用与上述原则一样,同样,超出物理空间的限制也会引起不可预知的程序出错。至于中断的使用,80C51 系列硬件结构中已保留标准中断服务子程序的地址。
2.与MOVX相关的指令,数据存储器
AT89C205l包含128字节内部数据存储器,这样,AT89C2051的堆栈深度局限于内部RAM的128字节范围内,它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行,因此程序中不应有MOVX[……]指令。
—般的80C51汇编器即使在违反上述指令约束而写入指令时仍对指令进行汇编,用户应了解正在使用的AT89C2051 微控制器的存储器物理空间和约束范围,适当地调整所使用的指令寻址范围以适应AT89C2051。
·程序存储器的加密:
AT89C2051可使用对芯片上的两个加密位进行编程(P)或不编程(U)来得到如下表所示的功能:
AT89C2051加密位
程序加密位
保护类型
加密方式LB1 LB2
1 U U 无程序加密功能
2 P U 禁止进一步进行Flash闪速编程
3 P P 同方式2,同时禁止校验
注:加密位只能用片擦除操作进行擦除
·空闲模式:
在空闲模式下,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。
P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用上拉电阻的情况下设置为“1”。
应注意的是:在用硬件复位终止空闲模式时,AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周
期处恢复程序执行。在这种情况下片内硬件禁止对内部RAM的读写,但允许对端口的访问,要消除硬件复位终止空闲模式对端口意外写入的可能,原则上进入空闲模式指令的下一条指令不应对端口引脚或外部存储器进行访问。
·掉电模式:
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM 中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。
P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用外部上拉电阻时应设为“l”。
·Fash闪速存储器的编程:
AT89C2051是在擦除状态下(也即所有单元内容均为FFH时)用2k字节的片内PEROM代码存储阵列进行封装微控
制器,其程序存储器是可反复编程的。代码存储阵列—次编程一个字节,一旦阵列被编程,如需重新编程一非空(空为:FFH)字节,必须对整个存储器阵列进行电擦除。
AT89C2051内Flash闪速存储器的编程和校验电路如图4和图5所示。
·内部地址计数器:AT89C2051内部包含一个PEROM编程地址计数器,它总在RST上升沿到来时复位到000H,并
在XTAL1引脚上出现正跳变脉冲时进行加l计数。
图4 编程电路图5 校验电路
·编程方法:要对AT89C2051进行编程,推荐使用以下方法。
1.上电次序:
在Vcc和GND引脚之间加上电源。
设置RST和XTALl为GND电平。
其它引脚置空,等待至少10ms以上。
2.置RST引脚为高电平,置P3.2引脚为高电平。
3.对引脚P3.3、P3.4、P3.5、P3.7按下表正确组合加上逻辑高“H ”或低“L ”电平即可对PEROM 进行编程操作。
编程和校验方法如下:
4.在000H 地址单元对P1.0-P1.7输入数据代码字节。 5.置RST 端为+12V ,激活编程。
6.使P3.2跳变一次来编程PEROM 阵列中的一字节或者加密位,写字节周期是自身定时的,一般需时1.2ms 。 7.当校验已编程的数据,使RST 从+12V 降到逻辑电平“H ”,置P3.3-P3.7引脚到正确的电平即可从Pl 口读取数据。 8.对下一地址单元编程字节,使XTALl 引脚正脉冲跳变一次使地址计数器加1,在P1口输入新的数据字节。 9.重复5至8,可对整个2k 字节阵列全部编程,直到目标文件结束。 10.下电次序: 置XTALl 为低“L ”电平 置RST 为“L ”电平 置空所有其它I /O 引脚 关闭Vcc 电源
·数据查询:AT89C205l 具有写周期结束的数据查询功能,在写周期期间,对最后写入的字节尝试读将令P1.7上写入数据的操作结束。当写周期完成,全部输出端的真实数据有效,同时下一个周期开始,数据查询可在写周期被初始化的任一时刻开始。
·Ready /B u s y ——————
:字节编程的进度可通过“RDY /BSY 输出信号监测,编程期间,P3.1引脚在P3.2变高“H ”后被拉低来指示“BSY ”,P3.1在编程结束后被再次拉高“H ”来指示“RDY ”。
·程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过校验数据线读取: 1.使RST 从“L ”变为“H ”,复位内部的地址计数器为000H 。 2.对代码数据加上正确的控制信号即可在Pl 口引脚上读取数据。
3.XTALl引脚跳变一次使内部地址计数器加1。
4.从P1口读取下一个代码字节。
5.重复3到4步骤,即可将全部单元的数据读取。
加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。
·芯片擦除:利用控制信号的正确组合并保持P3.2引脚10ms的低电平即可将PEROM阵列(2k字节)和两个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”可被再编程之前进行。
·读片内签名字节:除P3.5、P3.7必须被拉成逻辑低电平外,读签名字节的过程和单元000H、001H及002H的正常校验相同,返回值意义如下:
(000H)=1EH声明产品由ATMEL公司制造。
(001H)=21H声明为89C2051单片机。
·编程接口
Flash闪速阵列中的每一代码字节进行写入且整个存储器可在控制信号的正确组合下进行擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。
Flash闪速存储器编程和校验时序参数
注:本表仅指明使用l2V编程电压模式
AT89C2051 Flash闪存编程及校验时序
·AT89C2051的极限参数:
极限参数
工作温度…………………………………… -55℃ to +125℃
储藏温度…………………………………… -85℃ to +150℃
任一脚对地电压…………………………… -1.0V to +7.0V
最高工作电压…………………………………… 6.6V
直流输出电流…………………………………… 25.0 mA ·外部时钟驱动波形:
外部时钟驱动
串行口时序:移位寄存器测试条件
移位寄存器测试波形
AC输入/输出波形浮空波形
注:AC输入测试期间是当电平Vcc-0.5V(逻辑1)
和0.45V(逻辑0),实时测量V IH的最小值及
V IL的最大值
Notes:1. XTAL1 tied to GND for I CC(Power down)
2. P1.0 and P1.1=Vcc or GND
3. Lock bits programmed
产品序号信息
封装类型
封装信息
欢迎您访问电子驿站,下载更多的芯片中文技术资料和单片机源程序,我们为你准备了大量电子技术、单片机资料,单片机教程资料及多媒体教学视频等超值资料,为你学习单片机提供高性价比的单片机开发器材及实验器件,手把手教你学单片机。
A51编程器:95元
ISP编程器:95元
F51嵌入式仿真器豪华版:110元
增强型51实验板:145元
详细产品信息请登陆网站:
网址:https://www.sodocs.net/doc/6c3775220.html,
E-mail:support@https://www.sodocs.net/doc/6c3775220.html, ourmpu@https://www.sodocs.net/doc/6c3775220.html,
联系QQ:451338254 476485321