AT89C2051中文DOC版

更新时间:2024-01-05 15:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

AT89C2051

AT89C2051是低电压,高性能CMOS 8位单片机,片内含2K字节可反复擦写的程序存储器和128字节的随机存取数据存储器,器件采用高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8为中央处理器和Flash存储单元,功能强大。AT89C2051单片机可为您提供许多高性价比的应用场合。

主要性能参数:

与MCS-51产品指令系统完全兼容 2k字节可重擦写闪速存储器 1000次擦写周期

2.7——6V的工作电压范围 全静态操作:0Hz——24MHz 两级加密程序存储器 128*8字节内部RAM 15个可编程I/O口线 两个16位定时/计数器 6个中断源

可编程串行UART通道

可直接驱动LED的输出端口 内置一个模拟比较器 低功耗空闲和掉电模式

1. 功能特性概述:

AT89C2051提供以下标准功能:2k字节Flash闪速存储器,128字节内部RAM,15个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,内置一个精密比较器,片内振荡器记时钟电路。同时,AT89C2051可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 2. 引脚配置 3. 框图

4. 引脚功能说明 Vcc:电源电压 GND:地

Port1:P1口是一组8位双向I/O,P1.2——P1.7提供内部上拉电阻,P1.0 和P1.1内部无上拉电阻,主要是考虑它们分别是内部精密比较器的同相输入端(AINO)和反向输入端(AINI),如果需要应在外部接上拉电阻,P1口输出缓冲器可吸收20 mA电流并可直接驱动LED。当P1口引脚写入“1“时可作输入端。当引脚P1.2 to——P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流(IIL)。

P1口还在Flash闪速编程及程序校验时接受代码数据。 Port 3:P3口的P3.0——P3.5、P3.7是带有内部上拉电阻的7个双向I/O口。P3.6没有引出,它作为一个通用I/O口但不可访问,但可作为固定输入片内比较器的输出信号,P3口缓冲器可吸收20mA电流。当P3 口写入“1“时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。 P3口还用于实现AT89C2051特殊的功能,如下表所示:

端口3引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5

功能特性 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(定时/计数器外部输入0) T1(定时/计数器外部输入1) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:复位输入。RST引脚一旦变成两个机器周期以上高电平,所有的I/O口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期。

XTAL1:振荡器方向放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反向放大器的输出端。

5. 振荡器特征

XTAL1、XTAL2为片内振荡器的反相放大器的输入和输出端,如下图所示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动AT89C2051,时钟信号从XTAL1输入,XTAL2应悬空。由于输入到内部电路是经过一个2分频触发器,所以输入到外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。

6. 特殊功能寄存器

片内特殊功能寄存器(SFR)空间存储区的映像图如下所示。

并非存储区中所有的地址单元都被占用,未占用的地址单元亦不能使用,如果对其进行读访问一般返回为随机数,写访问也不确定。

这些单元是为了以后利用这些位使用的地址单元扩展新功能而设置,所以用户软件不要对它们写“1”,在这种情况下,新位的复位或不激活值总为“0”。

7. 某些指令的约束条件

AT89C2051是经济型低价位的微控制器,它含有2k字节的Flash闪存程序存储器,指令系统与MCS-51完全兼容,可使用MCS-51指令系统对其进行编程。但是在使用默写有关指令进行编程时,程序员需注意一些事项。

和跳转或分支有关的指令有一定的空间约束,使目的地址能安全落在AT89C2051的2k字节的物理程序存储器空间内,程序员必须注意这一点。对于2k字节存储器的AT89C2051来说,LJMP 7E0H是一条有效指令,而LJMP 900H则为无效指令。

a) 分支指令

LCALL, LJMP, ACALL, AJMP, SJMP, JMP @A+DPTR只要程序员记住这些分支指令的目的地址在程序存储器大小的物理范围内(AT89C2051程序地址空间为:000H—7FFH单元),这些无条件分支指令就会正确执行,超出物理空间的限制会出现不可预知的程序错误。

CJNE […], DJNZ […], JB, JNB, JC, JNC, JBC, JZ, JNZ这些条件转移指令的使用与上述原则一样,同时,超出物理空间的限制也会引起不可预知的程序出错。至于中断的使用,80C51系列硬件结构中已保留标准中断服务子程序的地址。

b) 与MOVX相关的指令,数据存储器 AT89C2051包含128字节内部数据存储器,这样,AT89C2051的堆栈深度局限于内部RAM128字节范围内,它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行,因此程序中不应有MOVX […]指令。

一般80C51汇编器即使在违反上述指令约束而写入指令时仍对指令进行汇编,用户应了解正在使用的AT89C2051微控制器的存储器物理空间和约束范围,适当的调整所使用的指令寻址范围以适应AT89C2051。

8. 程序存储器的加密:

AT89C2051可使用对芯片的两个加密位进行编程(P)或不编程(U)来得到如下表所示的功能:

AT89C2051加密位 1 2 3 程序加密位 LB1 U P P LB2 U U P 保护类型 无程序加密功能 禁止进一步进行Flash闪速编程 如模式2,同时禁止校验 注:加密位只能用片擦除操作进行擦除

9. 空闲模式: 在空闲模式下,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。

P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用上拉电阻的情况下设置为“1”。

应注意的是:在用硬件复位终止空闲模式时,AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周期处恢复程序执行。在这种情况下片内硬件禁止对内部RAM的读写,但允许对端口的反问,要消除硬件复位终止空闲模式端口意外写人的可能,原则上进行空闲模式指令的下一条指令不应对端口引脚或外部存储器进行访问。 10. 掉电模式: 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。 P1.0 和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用外部上拉电阻时应设为“1”。

11. Flash闪速存储器的编程:

AT89C2051是在擦除状态下(也即所有单元内容均为FFH时)用2k字节的片内PEROM代码存储阵列进行封装微控制器,其程序存储器是可反复编程的,代码存储阵列一次编程一个字节,一旦阵列被编程,如需重新编程—非空(空为:FFH)字节,必须对整个存储器阵列进行电擦除。

AT89C2051内Flash闪速存储器的编程和校验电路如图4和图5所示。

内部地址计数器:AT89C2051内部包含一个PEROM编程地址计数器,它总在RST上升沿到来时复位到000H,并在XTAL1引脚上出现正跳变脉冲时进行加1计数。

图4 编程电路

图5 校验电路

编程方法:要对AT89C2051进行编程,推荐使用以下方法。 1. 上电次序:

在VCC和GND引脚之间加上电源。 设置RST和XTAL1为GND电平。

其它引脚置空,等待至少10ms以上。

2. 置RST引脚为高电平,置P3.2引脚为高电平。

3. 对引脚P3.3, P3.4, P3.5, P3.7按下表正确组合加上逻辑高“H”或低“L”电平即可对PEROM

进行编程操作。

AT89C2051 Flash闪速编程方式

注:1、内部PEROM地址计数器在RST的上升沿复位到000H并由XTAL1引脚正脉冲进行计数

编程和校验方法如下:

4. 在000H地址单元对P1.0 —P1.7输入数据代码字节。 5. 置RST端为+12V,激活编程。

6. 使P3.2跳变一次来编程PEROM阵列中的一字节或者加密位,写字节周期是自身定时的,

一般需时1.2ms。

7. 当校验已编程的数据时,使RST从+12V降到逻辑电平“H”,置P3.3—P3.7引脚到正确

的电平即可从P1口读取数据。

8. 对下一地址单元编程字节,使XTAL1引脚正脉冲跳变一次使地址计数器加1,在P1口输

入新的数据字节。

9. 重复5至8,可对整个2k字节阵列全部编程,直到目标文件结束。 10. 下电次序:

置XTAL1为低 “L”电平 置RST为 “L”电平

置空所有其它I/O引脚 关闭VCC电源

数据查询:AT89C2051具有写周期结束的数据查询功能,在写周期期间,对最后写入的字节尝试读将令P1.7上写入数据的操作结束。当写周期完成,全部输出端的真实数据有效,同时下一个周期开始,数据查询可在写周期被初始化的任一时刻开始。

Ready/Busy:字节编程的进度可通过“RDY/BSY”输出信号监测,编程期间,P3.1引脚在P3.2

2、片擦除需要10ms的PROG脉冲 3、编程期间P3.1被拉低来指示RDY/BSY

变高“H”后被拉低来指示“BSY”,P3.1在编程结束后被再次拉高“H”来指示“RDY”。 程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可以通过检验数据线读取: 1. 使RST从“L”变为“H”,复位内部的地址计数器为000H。 2. 对代码数据加上正确的控制信号即可在P1口引脚上读取数据。 3. XTAL1引脚跳变一次使内部地址计数器加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单片机。

12. 编程接口:

Flash闪速阵列中的每一个代码字节进行写入且整个存储器可在控制信号的正确组合下进行擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。

13. Flash闪速存储器编程和校验时序参数

TA=0oC 至 70oC,Vcc=5.0±10% 符号 Vpp Ipp TDVGL tGHDX TEHSH TSHGL TGHSL TGLGH TELQV TEHQZ TGHBL TWC TBHIH TIHIL 参数 编程电压 编程电流 建立数据到PROG变低时间 PROG变低后数据保持时间 ENABLE变高到Vpp时间 建立Vpp到PROG变低时间 加PROG后Vpp保持时间 PROG宽度 ENABLE到数据有效时间 ENABLE到数据浮空时间 PROG变高到BUSY变低时间 字节写周期 RDY/BSY到增加时钟延时时间 时钟增量时间 最小 11.5 1.0 1.0 1.0 10 10 1 0 1.0 200 最大 12.5 250 110 1.0 10. 50 2.0 单位 V μA μs μs μs μs μs μs μs μs ns ms μs ns 注:本表仅指明使用12V编程电压模式

14. AT89C2051的极限参数

工作温度。。。。。。。。。。。。。。-55oC 至 +125oC 储藏温度。。。。。。。。。。。。。。-65oC至 +150oC 任一引脚对地电压。。。。。。。。-1.0V至 +7.0V 最高工作电压。。。。。。。。。。。。。。。。。。。。6.6V 直流输出电流。。。。。。。。。。。。。。。。。。25.0mA 15. 直流特性

TA=-40oC至85oC,Vcc=2.7V至6.0V(除非特别指出) 符号 VIL VIH VIH1 VOL 参数 输入低电平 输入高电平 输入高电平 输出低电平(1)(1、3口) 输出高电平(1、3口) 逻辑0输入电流(1、3口) 逻辑1到0转换电流(1、3口) 输入漏电流(1.0 1.1口) 比较器输入偏移电压 比较器输入普通模式电压 复位拉低电阻 条件 除了XTAL1,RST XTAL1,RST IOL=20mA, VCC=5V IOL=10mA, VCC=2.7V IOH=-80μA, VCC=5V±10% IOH=-30μA IOH=-12μA VIN=0.45V VIN=2V, VCC=5V±10% 0

CIO 引脚电容 供电电流 测试频率=1MHz,TA=25oC 活动模式,12MHz, VCC=6V/3V 空闲模式,12MHz, VCC=6V/3V P1.0&P1.1=0V or VCC VCC=6V,P1.0&P1.1=0V or VCC VCC=3V,P1.0&P1.1=0V or VCC 10 15/5.5 5/1 100 20 pF mA mA μA μA ICC 掉电模式 注:1.在稳态条件下,IOL必须以以下外部条件为限制: 每引脚最大IOL:20mA 所有引脚最大总IOL:80mA

如果IOL超过测试条件,VOL可能超过相关规范。引脚将不能保证比上述条件更大的灌电流。

2.最小掉电电源电压是2V。

16. 外部时钟驱动波形

17. 外部时钟驱动 符号 1/tclcl tclcl tchcx tclcx tclch tchcl 参数 振荡频率 时钟周期 高电平时间 低电平时间 上升时间 下降时间 Vcc=2.7V至5.0V 最小最大 0 83.3 30 30 12 20 20 Vcc=4.0V至5.0V 最小最大 0 41.6 15 15 24 20 20 MHz ns ns ns ns ns 单位 18. 串口时序:移位寄存器测试条件

VCC=5.0V±20%,负载电容=80pF 12MHz OSC 符号 参数 最小值 1.0 50 0 最大值 700 校验振荡器 单位 最小值 12tCLCL 10tCLCL-133 2tCLCL-117 0 最大值 10tCLCL-133 tXLXL tQVXH tXHQX tXHDX tXHDV 串口时钟周期时间 时钟上升沿后输出数据保持 时钟上升沿后输入数据保持 时钟上升沿到输入数据有效 输出数据设置至时钟上升沿 700 μs ns ns ns ns

19. 移位寄存器测试波形

注:AC输入测试期间是当电平VCC-0.5V(逻辑1)和0.45V(逻辑0)实时测量Vm的最小值及VIL的最大值。

20. 产品序号信息 最高时钟(MHz) 电源电压 产品序号 AT89C2051-12PC AT89C2051-12SC AT89C2051-12PI AT89C2051-12SI 封装 20P3 20S 20P3 20S 工作温度范围 商用(0oC-70oC) 工业用(-40oC-85oC) 12 2.7V-6.0V

24 4.0V-6.0V AT89C2051-24PC AT89C2051-24SC AT89C2051-24PI AT89C2051-24SI 20P3 20S 20P3 20S 商用(0oC-70oC) 工业用(-40oC-85oC) 封装形式 20P3 20S 20脚,0.300”宽,塑料双列直插封装 20脚,0.300”宽,塑料鸥翼封装

本文来源:https://www.bwwdw.com/article/8mrx.html

Top