at89c52数据手册翻译

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AT89C52单片机8位微控制器与Flash8k字节特性:•与通过mcs—51汇编语言™产品兼容•8k字节的可重复编程的细节闪存•耐力:1000写/擦除周期•完全静态操作:0赫兹到24MHz•三级程序内存锁•256x8位内部RAM•32可编程I/O线•三个16位定时器/计数器•八个中断源•可编程串行通道•低功耗闲置和省电模式说明:AT89C52单片机是一个低功耗、高性能CMOS8位微机与8k字节的Flash编程和可擦只读存储器(PEROM)。设备制造使用Atmel公司的高密度不易失存储器技术和兼容行业标准80C51单片机和80C52指令集。芯片上的Flash允许程序内存重新编程细节或通过传统的非易失性内存的程序。Atmel公司的AT89C52单片机是一个功能强大的微型计算机,结合一个8位单片芯片CPU使用Flash,提供了一个高度灵活和具有成本效益的解决许多嵌入式控制应用程序。图1图2AT89C52单片机提供以下标准特性:8k字节的Flash,256字节的内存,32个I/O线,三个16位定时器/计数器,两级中断架构,一个全双工串行端口,芯片上的振荡器和时钟电路。此外,AT89C52设计的静态逻辑操作可降到零频率和支持选择两种软件的节电模式。空闲模式停止CPU时同时允许RAM、定时器/计数器、串行端口、和中断系统继续引发反应,省电模式节省了内存内容但冻结振荡器,禁用所有其他芯片的功能,直到下一个硬件复位。引脚描述:VCC:电源电压。地:接地。0端口端口0是一个8位漏极开路型双向1/O口。作为输出端口,每位能吸收电流的方式驱动8个TTL逻辑门电路。对端口P0写“1”时,可作为高阻抗输入端用。端口0也可以配置多路复用的低位地址/数据总线访问外部程序和数据存储器。在访问期间激活内部上拉电阻。在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。端口1端口1是一个8位双向I/O端口与内部引体向上。端口1的输出缓冲级可以吸收四个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL。此外,P1.0和P1.1可以配置为外部计数定时器/计数器2输入(P1.0/T2)和定时器/计数器2触发输入(P1.1/T2EX),分别如下表1所示。端口1低阶也接收地址字节在Flash编程和验证。表1引脚号功能特性Pl.0T2(定时/计数器2外部计数脉冲输入),时钟输出Pl.1TZEx定时/计数2捕获/重装载触发和方向控制)端口2端口2是一个带有内部上拉电阻的8位双向I/O口。端口2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(LLT)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvx@DPTR指令)时,端口2送出高8位地址数据。在访问8位地址的外部数据存储器、如执行MOVX@RI指令)时,P2口输出端口2锁存器的内容。FLASH编程或校验时,端口2亦接收高位地址和一些控制信号。端口3端口3是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的端口3将用上拉电阻输出电流(IIL)。端口3还提供各种AT89C51没有的特殊的功能特性,如下表所示。端口3还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。表2端口引脚第二功能P3.0RXD(串行输入口〕P3.1TXD(串行输出口〕P3.2INT0(外中断0〕P3.3INT1(外中断l)P3.4T0(定时/计数器0)P3.5T1(定时/计数器l)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元。可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:内部反向振荡放大器的输入和内部时钟的输入端。XTAL2:内部反向振荡放大器的输出。特殊功能寄存器:片上内存区域的地址称为特殊功能寄存器(SFR)空间。注意,并不是所有的地址都被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。定时器/寄存器2:控制和状态寄存器中包含T2CON和T2MOD定时器2。寄存器对(RCA02H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。中断寄存器:IE的个别中断允许位寄存器。lP寄存器中6个中断源的每一个可定为2个优先级。数据存储器:AT89C52单片机芯片上有256字节的RAM。28个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字竹的RAM和殊功能寄存器的地址是相同的,但物理上它们是分开的。当一个指令访问内部位置上面地址7跳频,地址模式用于指令指定CPU访问上面的128字节的RAM或SFR空间指令。例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。MOV0A0H,#data间接寻址指令访问高128字节RAM,例如下面的间接子址指令中,R0的内容为0A0H,则访问数据字节地址为0A0H,而不是P2(0A0H)。MOV@R0,#data,所以上面的128字节的RAM可用数据堆栈空间。定时器0和1:AT89C52单片机定时器0和定时器1的操作与AT89C51单片机定时器0和定时器1操作一样。定时器2:定时器2是一个16位的定时器/计数器,可以作为一个定时器或计数器。其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/l2。在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加l。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。捕获模式:在捕获模式下,两个选项被选中,EXEN2,T2CON进来的。如果EXEN2=0,定时器2是一个16位的定时器或计数器溢出后集TF2,T2CON进来的。这一点可以用来产生一个中断。如果EXEN2=1,定时器2执行相同的操作,在外部输入1与0过渡T2EX也导致当前值在TH2和TL2捕获到RCAP2H,RCAP2L,分别。此外,过渡在T2CON,T2EX导致EXF2设置。EXF2,F2一样,可以产生一个中断。捕获模式如图3所示。图3自动重载(向上或向下计数器):定时器2可以向上或向下计数时配置的16位自动重载模式。DCEN调用此功能的计数器使)位于SFR,T2MOD。在重置,DCEN位设置为0,这样定时器2将默认计算。当DCEN设置、定时器2可以向上或向下,这取决于T2EX引脚的值。图4显示了当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置。若EXEN2=1,定时器2的16位重装载由溢出或外部输入端T2EX从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。当DCEN=1时,允许定时器2向上或向下计数。这种方式下,T2EX引脚控制计数器方向。T2EX以引脚为逻辑“1”时。定时器向上计数,当计数0FFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L重装载到TH2和TL2中。T2EX引脚为逻辑“0”时,定时器2向下计数。当TH2和TL2中的数值等于RCAP2H和RCAP2L中的值时,计数溢出,置位TF2,司时将0FFFFH数值重新装入定时寄存器中。当定时了计数器2向上滋出或向下溢出时,置位EXF2位.图4图5波特率发生器:定时器2是选为波特率发生器通过设置TCLK或RCLK,T2CON。注意,传输和接收的波特率可以是不同的,如果定时器2是用于接收机或发射机时,定时器1用于其他功能。设置RCLK和/或TCLK把定时器2的波特率发生器模式,如图6所示。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。定时器可以配置定时器或计数器操作。在大多数应用程序中,它是配置为计时器操作(CP/T2=0)。定时器2作为波特率发生器。T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。在波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断:但若EXEN2置位,且T2EX端产生由l至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2和TL2中。所以当定时器2作为波特率发生器使用时,T2EX可作为附加的外部中断源来使用。需要注意的是,当定时器2工作于波特频率器时,作为定时器运行(TR2=1)时,并不能访问TH2和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错.在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除TR2)。图6可编程时钟输出:定时器2可通过编程从P1.0输出一个占空比为50%的时钟信号,如图7所示。所示.P1.0引脚除了是一个标准的I/O口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50%的时钟脉冲,当时钟振荡频率为16MHz时,输出时钟频率范围为6lH-4MHz。当设置定时/计数器2为时钟发生器

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功