1、第 1 页 ( 共 15 页 ) AT89C51单片机介绍 Eric S.Roberts 著 描述 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4Kbytes 的快速可擦写的只读程序存储器 ( PEROM)和 128 bytes 的随机存取数据存储器( RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 产品指令系统,片内置通用 8 位中央处理器( CPU)和 flish 存储单元,功能强大 AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 主要性能参数 S-51 产品指令
2、系统完全兼容 4K 字节可重复写 flash 闪速存储器 1000 次擦写周期 静态操作: 0HZ 24MHZ 级加密程序存储器 28*8 字节内部 RAM 32 个可编程 I/O 口 2 个 16 位定时计数器 6 个中断源 编程串行 UART 通道 功耗空闲和掉电模式 AT89C51 提供以下标准功能: 4K 字节 flish 闪速存储器, 128 字节内部RAM, 32 个 I/O 口线,两个 16 位定时计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时, AT89C51 可降至 0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 C
3、PU 的工作,但允许 RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一第 2 页 ( 共 15 页 ) 个硬件复位。 引脚功能说明 Vcc:电源电压 GND:地 P0 口: P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线复位口。作为输出口用时,每位能吸收电流的方式驱动 8 个逻辑门电路,对端口写 “1”可 作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址 (低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 P1 口: P1 是一个带内部上拉电阻的 8 位
4、双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写 “1”,通过内部的上拉电阻把端口拉到高电平,此时可做熟出口。做输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( Iil) . Flash 编程和程序校验期间, P1 接受低 8 位地址。 P2 口: P2 是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写 “1”, 通过内部地山拉电阻把端口拉到高电平,此时可作为输出口,作输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输
5、出一个电流( Iil)。 在访问外部程序存储器获 16 位地址的外部数据存储器(例如执行 MOVX DPTR 指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVX RI 指令)时, P2 口线上的内容(也即特殊功能寄存 器( SFR)区中 R2 寄存器的内容),在整个访问期间不改变。 Flash 编程或校验时, P2 亦接受高地址和其它控制信号。 P3 口: P3 口是一组带有内部上拉 电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对 P3 口写入 “1”时,他们被内部上拉电阻拉高并可作为输
6、出口。做输出端时,被外部拉低的 P3 口将用上拉电阻输出电流( Iil)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下表所示: 端口引脚 第二功能 第 3 页 ( 共 15 页 ) P3 口还接收一 些用于 flash 闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时, ALE(地址所存允许)输出脉冲用于所存地址的低 8 位字节。即使不访问外部存储器, ALE 仍以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出时钟或
7、用于定时目的。要注意的是:每当 访问外部数据存储器时将跳过一个 ALE 脉冲。 对 flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有不要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该外置位后,只要一条 MOVX 和 MOVC 指令 ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE无效。 PSEN:程序存储允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两个 PSEN有效,即输出两个脉冲。在此期间 ,当访问外部数据
8、存储器,这两次有效的 PSEN信号不出现。 EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为0000H-FFFFH), EA 端必须保持低电平(接地)。需注意的是 ; 如果加密位 LB1被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 VCC 端), CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 VPP,当然这必须是该器件是使用 12V 编程电压 VPP. 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 (外部数据存储器读选通 )