89c51是一款很大众化的入门级单片机,ATMEL、NXP、STC、和SST等公司生产的与80c51兼容低功耗、高性能8位89c51/s51单片机具有比80c31更丰富的外设资源。

89c51/s51单片机芯片内包括:

①一个8位的80c51微处理器(CPU)

②片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结果、中间结果、最终结果及欲显示的数据等

③片内4KB程序存储器Flash Rom,用以存放程序、一些原始数据和表格

④4个8位并行I/o端口P0~P3,每个端口既可以作为输入,也可以用做输出

⑤两个16位的定时器/计数器,既可以作为定时器使用,也可以作为计数器使用,并可以根据计数或定时的结果实现对计算机的控制

⑥具有5个中断源、两个中断优先级的中断控制系统

⑦一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或或单片机与PC之间的串行通讯

⑧片内震荡电路和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHz

以上各部分通过片内8位数据总线(DBUS)相连接

89c51单片机的引脚及功能

1、电源引脚Vcc和Vss

Vcc(40脚):电源端,为+5V

Vss(20脚):接地端

2、外接晶体引脚XTAL1和XTAL2

XTAL2(18脚):接外部晶体和微调电容的一端,若须采用外部时钟电路,则该引脚悬空。在片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率,要检查89c51的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。

XTAL1(19脚):接外部晶体和微调电容的另一端,在片内它是振荡电路的反相输入端。若采用外部时钟时,该引脚输入外部时钟脉冲。

3

RST(9脚):RST是复位信号输入端,当给RST引脚保持两个机器周期的高电平时,就可以完成复位操作。

EA(31脚):当EA引脚输入高电平时,CPU只访问片内ROM并执行片内程序存储器的指令,但是当PC(程序计数器)的值超过0FFFH(89c51为4KB)时,将自动执行片外程序存储器内的程序

  当EA引脚输入低电平(接地)时,CPU只访问片外ROM并执行片外程序存储器的程序,而不管是否有片内程序存储器

PSEN(29脚):程序存储允许输出信号端。要检查一个89c51小系统上电后cpu能否正常工作,也可以用示波器看PSEN端有无脉冲输出。如有,则说明基本上工作正常。

ALE(30脚):地址锁存允许信号端。当89c51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡频率的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。

平时不访问片外存储器的时候,ALE端也以振荡频率的1/6固定输出正脉冲,因为ALE信号可以作为对外输出时钟信号或定时信号。若果想确认芯片的好坏,也可以用示波器观察ALE引脚是否有脉冲信号输出。

4、输入输出端口 P0、P1、P2、P3

P0口是一个漏极开路的8位准双向IO端口,它作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入端口使用时,应先向端口写1,此时的P0口全部引脚浮空,可以作为高阻抗输入。再接外围负载时需要外接上拉电阻。

在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。在此期间,P0口的内部上拉电阻有效。

P1口是一个内部带有上拉电阻的8位双向IO口,对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用做输入口。由于它内部有一个上拉电阻,所以连接外设时不需要再外接上拉电阻,这一点与P2、P3口一样,与上面的介绍的P1口不同,要注意。

P2   、P3端口都是带有内部上拉电阻的8为双向IO口,只是其部分引脚的第二功能不同,后面详细介绍。

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: