AT89C51的介绍外文翻译资料
2022-04-12 20:05:55
英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
AT89C51的介绍
产品说明
AT 89C51是一种低功率、高性能的CMOS 8位微型计算机,具有4K字节的Flash可编程和可擦只读存储器(PEROM)。该设备是利用Atmel的高密度非易失存储器技术制造的,与工业标准MCS-51指令集和输出管脚相兼容。芯片上的闪存允许程序内存被重新编程,或由传统的非语言内存编程器编程。AT89C51是一种功能强大的微型计算机,它将一个多用途的8位CPU与闪存芯片结合在一起,为许多嵌入式控制应用提供了一种高灵活性和性价比高的解决方案。
功能特点
AT89C51提供了以下标准特性:4K字节Flash闪速存储器、128字节的RAM、32个I/0口线、两个16位的定时器/计数器、一个5向量的二级中断架构、一个全双工串行通信口、片内振荡器和时钟电路。另外,AT89C5可降至0Hz的静态逻辑操作,支持两种软件可选择的节电工作模式。空闲模式停止CPU同时允许RAM、定时器/计数器、串口和中断系统继续工作。掉电模式保存了RAM中的内容,但振荡器会冻结所有其他芯片的功能直到下一个硬件复位。
管脚说明
VCC:电源电压。
GND:接地。
P0口:
P0口是一个8位漏极开路双向I/O口。作为一个输出端口,每脚可吸收8TTL门电流。当将1s写入P0引脚时,该引脚被定义为高阻抗输入。P0也可以被配置为在访问外部程序和数据内存时的多路低阶地址/数据总线。
在这个模式中P0有内部的上拉电阻。P0在Flash编程过程中也接收代码字节,并在程序验证期间输出代码字节。程序验证过程中需要外部上拉电阻。
P1口:
P1口是一个带有内部上拉电阻的8位双向I/O端口。P1口输出缓冲区可以接收/源4个TTL输入。当1s被写入到P1口时,它们被内部的上拉电阻拉为高电平,可以作为输入。作为输入,P1口被外部下拉为低电平时,将输出电流(IIL)因为内部的上拉电阻。在Flash编程和校验期间,P1口也接收低8位地址。
P2口
P2口是一个带有内部上拉电阻的8位双向I/O端口。端口2输出缓冲区可以接收/源4个TTL门电流。当1s被写入P2口引脚时,它们被内部的上拉电阻拉为高电平,可以作为输入。作为输入,外部被拉低的 P2口将会输出电流,这是因为内部的上拉电阻的缘故。P2口当用于外部程序存储器或16位地址的外部数据存储器进行存取时,P2口输出地址的高八位。在这个应用中,在给出地址“1”时,它利用内部的上拉优势。当对外部8位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。在Flash编程和校验时,P2口也接收高八位地址信号和一些控制信号。
P3口
P3口是一个带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可以驱动(吸收或输出)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部的上拉电阻拉高,并可以作为输入。作为输入,在外部被拉低的P3口的引脚将由于上拉电阻而产生电流(IIL),P3口也为AT89C51的各种特殊功能提供了如下的功能。
端口引脚 |
第二功能 |
P3.0 |
RXD(串行输入口) |
P3.1 |
TXD(串行输出口) |
P3.2 |
INT0(外中断0) |
P3.3 |
INT1(外中断1) |
P3.4 |
T0(定时/计数器0) |
P3.5 |
T1(定时/计数器1) |
P3.6 |
WR(外部数据存储器写选器) |
P3.7 |
RD(外部数据存储器读写器) |
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST
复位输入。当振荡器工作的时候,在这个引脚上出现两个机器周期以上高电平将使单片机复位。
ALE/PROG
在访问外部存储器的过程中,地址锁存器使输出脉冲能够锁定地址的低8位字节。在Flash编程中,该引脚还用于程序脉冲输入(PROG)。在正常情况下,ALE以频率为1/6的频率发射,并可用于外部计时或时钟目的。但是,请注意,在每次访问外部数据内存期间,都会跳过一个ALE脉冲。如果需要,可以通过设置SFR位置8EH的位0来禁用ALE操作。使用位集时,ALE只在移动或MOVC指令中激活。否则,大头针就会被拉得很低。如果微控制器处于外部执行模式,那么设置禁用的位就没有效果。
PSEN
程序存储启用的是读频闪到外部程序存储器。当AT89C51执行来自外部程序内存的代码时,每个机器周期两次PSEN有效,除了在每次访问外部数据内存时跳过两个PSEN激活。
EA/VPP
外部访问允许,EA必须接地,以使CPU从0000H到FFFFH开始访问外部程序存储器。需要注意的是,如果LB1被编程,复位时EA会被内部锁存。EA接VCC,则CPU执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12V的编程电压VPP。
XTAL1
振荡器反相放大器和内部时钟发生器的输入端。
XTAL2
振荡器反相放大器的输出端。
振荡器的特点
XTAL1和XTAL2分别是可作为内部振荡器的反相放大器的输入和输出端,如图1所示。可以使用石英晶体或陶瓷谐振器。要从外部时钟源驱动设备,XTAL2应该是未连接的,而XTAL1则是内部时钟电路的输入端,如图2所示。
在外部时钟信号的工作周期中没有要求,因为内部时钟电路的输入是通过一个2分频触发器,但是最小高电平持续时间和最大低电平持续时间必须符合产品要求。
图1 内部振荡器 图2 外部振荡器
空闲模式
在空闲模式下,当所有的片内外设保持活跃时,CPU会自动休眠。该模式由软件产生。在此模式下,芯片上的RAM和所有特殊功能寄存器的内容保持不变。空闲模式可以被任何允许的中断请求或硬件复位终止。应该注意的是,当由硬件复位来终止空闲模式时,CPU要完成内部复位操作,硬件复位脉冲要保持两个机器周期有效。在这种情况下,内部CPU禁止访问片内RAM,但对端口引脚的访问不受限制。为了避免由于复位而终止的端口引脚的意外写入的可能性,调用空闲模式的指令后一条指令不应该是一条对端口或外部存储器的写入指令。
掉电模式
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。唯一退出掉电模式的方法是硬件复位。复位重新定义了全部特殊功能寄存器但不改变片中的RAM的内容。在VCC恢复到正常工作电平之前,复位无效,并且必须保持足够的时间以使振荡器能够重新启动并稳定工作。
空闲和掉电模式外部引脚状态图
模式 |
程序存储器 |
ALE |
PSEN |
PORT0 |
PORT1 |
PORT2 |
PORT3 |
空闲 |
内部 |
1 |
1 |
数据 |
数据 |
数据 |
数据 |
空闲 |
外部 |
1 |
1 |
浮空 |
数据 |
地址 |
数据 |
掉电 |
内部 |
0 |
0 |
数据 |
数据 |
数据 |
数据 |
掉电 |
外部 |
0 |
0 |
浮空 |
数据 |
数据 |
数据 |
程序存储器锁位
在芯片上有三个锁位,可以是未编程的(U)或者可以编程(P)来获得下表中列出的附加功能。
锁位保护模式
程序锁位 |
保护类型 |
|||
LB1 |
LB2 |
LB3 |
||
1 |
U |
U |
U |
没有程序锁功能 |
2 |
P |
U |
U |
从外部程序内存中执行的MOVC指令禁止从内部获取代码字节,EA在重置是被采样和锁存,并且禁用FLASH的进一步编程。 |
3 |
P |
P |
U |
与模式2相同,也验证了禁用。 |
4 |
P |
P |
P |
与模式3相同,也禁用了外部执行。 |
当LB1被编程时,EA引脚的逻辑电平在复位时被取样和锁存。
如果设备没有重置就启动了,锁存器初始化到一个随机值,并保持该值直到重置被激活。为了使设备正常运行,EA的锁存值必须与该引脚上的当前逻辑电平一致。
编程Flash
AT89C51通常在被删除的状态(即contents=FFH)中使用芯片上的闪存阵列,并准备好进行编程。编程接口接受高压(12伏)或低电压(VCC)程序启动信号。低压编程模式为用户系统中的AT89C51提供了一种方便的编程方式,而高压编程模式与传统的第三方Flash或EPROM程序员兼容。AT89C51采用高压或低压编程模式。下表列出了各自的顶部标记和设备签名代码。AT89C51代码内存数组在编程模式下由字节字节编程。要对芯片上的闪存中任何一个非空字节进行编程,必须使用芯片清除模式清除整个内存。
编程算法:
在对AT89C51进行编程之前,应根据Flash编程模式表对地址、数据和控制信号进行处理。
要编写AT89C51,请执行以下步骤。
1.在地址线上输入所需的存储器位置。
2.在数据线上输入适当的数据字节。
3.选择控制信号的正确组合。lt;
全文共4373字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[14146],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。