AATT8899CC22005511中文资料电子驿站:support@ourmpu.comAT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:4513385244764853211AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(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通道·可直接驱动LED的输出端口·内置一个模拟比较器·低功耗空闲和掉电模式功能特性概述:AT89C2051提供以下标准功能:2k字节Flash闪速存储器,128字节内部RAM,15个I/O口线,两个16位定时/计数器,—个5向量两级中断结构,一个全双工串行通信口,内置—个精密比较器,片内振荡器及时钟电路。同时,AT89C2051可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89C2051AT89C2051实物样片AT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:4513385244764853212方框图引脚功能说明·Vcc:电源电压·GND:地·P1口:P1口是一组8位双向I/O口,P1.2-P1.7提供内部上拉电阻,P1.0和P1.1内部无上拉电阻,主要是考虑它AT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:4513385244764853213们分别是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),如果需要应在外部接上拉电阻。P1口输出缓冲器可吸收20mA电流并可直接驱动LED。当P1口引脚写入“1”时可作输入端,当引脚P1.2-P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流(IIL)。P1口还在Flash闪速编程及程序校验时接收代码数据。·P3口:P3口的P3.0-P3.5、P3.7是带有内部上拉电阻的7个双向I/O口。P3.6没有引出,它作为一个通用I/O口但不可访问,但可作为固定输入片内比较器的输出信号,P3口缓冲器可吸收20mA电流。当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口还用于实现AT89C2051特殊的功能,如下表所示:引脚功能特性P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0————(外中断0)P3.3INT1————(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。·RST:复位输入。RST引脚一旦变成两个机器周期以上高电平,所有的I/O口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期。·XTALl:振荡器反相放大器的及内部时钟发生器的输入端。·XTAL2:振荡器反相放大器的输出端。·振荡器特性XTALl、XTAL2为片内振荡器的反相放大器的输入和输出端,如下图所示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动AT89C2051,时钟信号从XTAL1输入,XTAL2应悬空。由于输入到内部电路是经过一个2分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。AT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:4513385244764853214石英晶体时:C1,C2=30pF±10pF外部时钟驱动电路陶瓷滤波器:C1,C2=40pF±10pF内部振荡电路图3·特殊功能寄存器片内特殊功能寄存器(SFR)空间存储区的映象图如下表所示。AT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:4513385244764853215并非存储区中所有的地址单元都被占用,未占用的地址单元亦不能使用,如果对其进行读访问一般返回为随机数,写访问也不确定。这些单元是为了以后利用这些未使用的地址单元扩展新功能而设置,所以用户软件不要对它们写“1”,在这种情况下,新位的复位或不激活值总为“0”。·某些指令的约束条件:AT89C2051是经济型低价位的微控制器,它含有2K字节的Flash闪速程序存储器,指令系统与MCS-51完全兼容,可使用MCS-5l指令系统对其进行编程。但是在使用某些有关指令进行编程时,程序员须注意一些事项。和跳转或分支有关的指令有一定的空间约束,使目的地址能安全落在AT89C2051的2k字节的物理程序存储器空间内,程序员必须注意这一点。对于2k字节存储器的AT89C2051来说,LJMP7E0H是一条有效指令,而LJMP900H则为无效指令。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加密位程序加密位加密方式LB1LB2保护类型1UU无程序加密功能2PU禁止进一步进行Flash闪速编程3PP同方式2,同时禁止校验注:加密位只能用片擦除操作进行擦除·空闲模式:在空闲模式下,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用上拉电阻的情况下设置为“1”。应注意的是:在用硬件复位终止空闲模式时,AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周AT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:4513385244764853216期处恢复程序执行。在这种情况下片内硬件禁止对内部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引脚为高电平。AT89C2051中文资料电子驿站更多的单片机资料、源程序及单片机教程请登陆网站下载!:support@ourmpu.comQQ:45133852447648532173.对引脚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/Busy——————:字节编程的进度可通过“RDY/BSY输出信号监测,编程期间,P3.1引脚在P3.2变高“H”后被拉低来指示“BSY”,P3.1在编程结束后被再次拉高“H”来指示“RDY”。