《AT89C52单片机简介[规整]》由会员分享,可在线阅读,更多相关《AT89C52单片机简介[规整](9页珍藏版)》请在金锄头文库上搜索。
1、AT89C52 是 51 系列单片机的一个型号,它是 ATMEL 公司生产的。 AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦 写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器( RAM),器件采 用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统,片 内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 AT89C52 单片机可为您提 供许多较复杂系统控制应用场合。 AT89C52 有 40 个引脚,32 个外部双向输入 /输出(I/O)端口,同时内含 2 个外 中断口,
2、3 个 16 位可编程定时计数器 ,2 个全双工串行通信口, 2 个读写口线, AT89 C52 可以按照常规方法进行编程 ,但不可以在线编程 (S 系列的才支持在线编程 )。其 将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器 可有效地降低开发成本。 兼容 MCS51 指令系统 8k 可反复擦写 (1000 次)Flash ROM 32 个双向 I/O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 /计数器中断 时钟频率 0-24MHz 2 个串行中断 可编程 UART 串行通道 2 个外部中断源 共 6 个中断源 2 个读写中断口线
3、3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 AT89C52P 为 40 脚双列直插封装的 8 位通用微处理器,采用工业标准的C51 内核 ,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控 制。功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化 ,会聚调整控制,会聚测试图控制,红外遥控信号IR 的接收解码及与主板 CPU 通 信等。主要管脚有: XTAL1(19 脚)和 XTAL2(18 脚)为振荡器输入输出端口, 外接 12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电 路。VCC(40
4、脚)和 VSS(20 脚)为供电端口,分别接 +5V 电源的正负端。 P0 P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中, P0 端口(3239 脚)被定义为 N1 功能控制端口,分别与 N1 的相应功能管脚相连接, 13 脚定义为 IR 输入端,10 脚和 11 脚定义为 I2C 总线控制端口,分别连接 N1 的 SDAS(18 脚 1 / 9 )和 SCLS(19 脚)端口, 12 脚、27 脚及 28 脚定义为握手信号功能端口,连接 主板 CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 P0 口口 P0 口是一组 8 位漏极开路型双向 I/O
5、口, 也即地址/数据总线复用口。作为输出口 用时,每位能吸收电流的 方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据 总线复用,在访问期间激活内部上拉电阻。 在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时, 要求外接上拉电阻。 P1 口口 P1 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或 输出电流) 4 个 TTL 逻辑 门电路。对端口写 “1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口 。作输入
6、口使用时,因为内部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 与 AT89C51 不同之处是, P1.0 和 P1.1 还可分别作为定时 /计数器 2 的外部 计数输入( P1.0/T2)和输入( P1.1/T2EX), 参见表 1。 Flash 编程和程序校验期间, P1 接收低 8 位地址。 表.P1.0 和 P1.1 的第二功能 引脚号功能特 性 P1.0T2,时 钟输出 P1.1T2EX (定时/ 计数器 2) P2 口口 P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或 输出电流) 4 个 TTL 逻辑 门电路。对端口
7、P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入 口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个 电流(IIL)。 2 / 9 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执 行 MOVX RI 指令)时, P2 口输出 P2 锁存器的内容。 Flash 编程或校验时, P2 亦接收高位地址和一些控制信号。 P3 口口 P3 口是一组带有内部上拉电阻的8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收 或输出电流) 4 个 T
8、TL 逻 辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此 时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 RST 复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位 。 ALE/PROG 当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地 址的低 8 位字节。一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号 ,因此它可对外输出时钟或
9、用于定时目的。要注意的是:每当访问外部数据存储器时将 跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PR OG)。如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置 位,可禁止 ALE 操作。该位置位后,只有一条MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无 效。 PSEN 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部 程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲 。在此期间,当访问外部
10、数据存储器,将跳过两次PSEN 信号。 EA/VPP 外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会 锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中 的指令。Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须 是该器件是使用 12V 编程电压 Vpp。 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 振荡器反相放大器的输出端。 特特殊殊功功能能寄寄存存器器 3 / 9 在 AT89C
11、52 片内存储器中, 80H-FFH 共 128 个单元为特殊功能寄存器( SFE) ,SFR 的地址空间映象如表 2 所示。并非所有的地址都被定义,从80HFFH 共 128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将 是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定 义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这 些单元数值总是 “0”。AT89C52 除了与 AT89C51 所有的定时 /计数器 0 和定时/计数 器 1 外,还增加了一个定时 /计数器 2。定时/计数器 2 的控制和状态位位于 T2CO
12、N (参见表 3)T2MOD(参见表 4),寄存器对( RCAO2H、RCAP2L)是定时器 2 在 16 位捕获方式或 16 位自动重装载方式下的捕获 /自动重装载寄存器。 数数据据存存储储器器 AT89C52 有 256 个字节的内部 RAM,80H-FFH 高 128 个字节与特殊功能寄 存器(SFR)地址是重叠的,也就是高 128 字节的 RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。 当一条指令访问 7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的, 也即寻址方式决定是访问高 128 字节 RAM 还是访问特殊功能寄存器。如果指令是 直接寻址方式则为访问特殊
13、功能寄存器。 例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即 P2 口)地址单元。 MOV 0A0H,#data 间接寻址指令访问高 128 字节 RAM,例如,下面的间接寻址指令中, R0 的内 容为 0A0H,则访问数据字节地址为 0A0H, 而不是 P2 口(0A0H)。 MOV R0,#data 堆栈操作也是间接寻址方式,所以,高128 位数据 RAM 亦可作为堆栈区使用 。 定时器 0 和定时器 1: AT89C52 的定时器 0 和定时器 1 的工作方式与 AT89C51 相同。 定定时时器器 2 定时器 2 是一个 16 位定时/计数器。它既可当定时器使用,也可作为外部事
14、件计 数器使用,其工作方式由特殊功能寄 存器 T2CON(如表 3)的 C/T2 位选择。定时器 2 有三种工作方式:捕获方式 ,自动重装载(向上或向下计数)方式和波 特率发生器方式,工作方式由T2CON 的控制位来选择。 定时器 2 由两个 8 位寄存器 TH2 和 TL2 组成,在定时器工作方式中,每个机 器周期 TL2 寄存器的值加 1,由于一个机 器周期由 12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。 在计数工作方式时,当 T2 引脚上外部输入信号产生由 1 至 0 的下降沿时,寄 存器的值加 1,在这种工作方式下,每个 4 / 9 机器周期的 5SP2 期间,对外部输入
15、进行采样。若在第一个机器周期中采到的值 为 1,而在下一个机器周期中采到的值为0, 则在紧跟着的下一个周期的 S3P1 期间寄存器加 1。由于识别 1 至 0 的跳变需 要 2 个机器周期( 24 个振荡周期),因此,最 高计数速率为振荡频率的 1/24。为确保采样的正确性,要求输入的电平在变化前 至少保持一个完整周期的时间,以保证输 入信号至少被采样一次。 捕捕获获方方式式 在捕获方式下,通过 T2CON 控制位 EXEN2 来选择两种方式。如果 EXEN2=0 ,定时器 2 是一个 16 位定时器或计数器, 计数溢出时,对 T2CON 的溢出标志 TF2 置位,同时激活中断。如果 EXEN
16、2= 1,定时器 2 完成相同的操作,而当 T2EX 引 脚外部输入信号发生 1 至 0 负跳变时,也出现 TH2 和 TL2 中的值分别被捕获 到 RCAP2H 和 RCAP2L 中。另外, T2EX 引 脚信号的跳变使得 T2CON 中的 EXF2 置位,与 TF2 相仿,EXF2 也会激活中 断。捕获方式如图 4 所示。 自自动动重重装装载载(向向上上或或向向下下计计数数器器)方方式式 当定时器 2 工作于 16 位自动重装载方式时,能对其编程为向上或向下计数方式, 这个功能可通过特殊功能寄存器T2CON (见表 5)的 DCEN 位(允许向下计数)来选择的。复位时, DCEN 位置“0” ,定时器 2 默认设置为向上计数。当 DCEN 置位时,定时器 2 既可向上计数也可向下计数,这取决于T2EX 引脚的值,参 见图 5,当 DCEN=0 时,定时器 2 自动设置 为向上计数,在这种方式下, T2CON 中的 EXEN2 控制位有两种选择,若 EX EN2=0,定时器 2 为向上计数至 0FFFFH 溢 出,置位 T