1、AT89S52 单片机的引脚图及各引脚功能说明由于本书所有的例程均是基于 AT89S52 单片机开发的,这里着重介绍 AT89S52 各个引脚及功能。这些关系到在后面学习例程时对原理图的理解,读者要特别重视。而对于存储器、定时器、中断系统等部分内容,读者可参考介绍 MCS-51单片机的相关书籍。AT89S52 是 Atmel 公司生产的一种低功耗、高性能 CMOS 8 位微控制器,具有 8 位在系统可编程 Flash 存储器。AT89S52 使用 Atme公 司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,也适于常规编程
2、器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有 PDIP、PLCC、TQFP3 种封装形式以适用于不同的使用场合。各封装引脚定义如图 1.2 所示。图 1.2 AT89S52 引脚图下面简单介绍 AT89S52 各引脚的功能,更多信息请查阅 Atmel 公司的技术文档。VCC:电源。GND:地。P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用做高阻抗输入。当访问外部程序和数据存储器
3、时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 Flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。在程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TT逻辑电平。当对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此 外,P1.0 和 P1.2 分别作为定时器/计数器 2 的外部计数输入(P1.0/T2)和定时器/计数器 2 的触发输入(P1.1/T
4、2EX),具体如表1-1 所示。在 Flash 编程和校验时,P1 口接收低 8 位地址字节。P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TT逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问表 1-1 P1 口部分管脚的第二功能外部程序存储器或用 16 位地址读取外部数据存储器(如执行 MOVX DPTR)时,P2 口送出高 8 位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX R
5、I)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 Flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TT逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口也作为 AT89S52 特殊功能(第二功能)使用,如表 1-2所示。在 Flash 编程和校验时,P3 口也接收一些控制信号。表 1-2 P3 口部分管脚的第二功能RST: 复位输入。在晶振
6、工作时,RST 脚持续两个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。在 DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)在访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 Flash 编程时,此引脚(PROG)也用做编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第
7、0 位置“1”,ALE 操作将无效。这一位置“1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在Flash 编程期间,EA 也接收 12 伏 VPP 电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。