购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 单片机的内部结构和外部引脚

1.1.1 单片机的内部结构

单片机虽然型号众多,但它们结构却基本相同,主要包括中央处理器(CPU)、存储器(程序存储器和数据存储器)、定时器/计数器、并行接口、串行接口和中断系统等几大单元,如图 1-1 所示为 51 单片机内部结构框图。

图 1-1 51 单片机内部结构框图

可以看出,51 单片机虽然只是一个芯片,但“麻雀虽小,五脏俱全”,作为计算机应该具有的基本部件在单片机内部几乎都包括,因此,51 单片机实际上已经是一个简单的微型计算机系统。

1.中央处理器(CPU)

中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入/输出功能等操作。

2.存储器

存储器分为程序存储器(ROM)和数据存储器(RAM)两种,前者存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。

3.定时器/计数器

单片机除了进行运算外,还要完成控制功能,所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器。

4.并行输入/输出(I/O)端口

51 单片机共有 4 组 8 位I/O端口(P0、P2、P1 和P3),用于外部数据并行传输。

5.全双工串行端口

51 单片机内置一个全双工串行通信端口,用于与其他设备间的串行数据传送。

6.中断系统

51 单片机具备较完善的中断功能,一般包括外中断、定时器/计数器中断和串行中断,以满足不同的控制要求。

现在,已经知道了单片机的组成,实际上,单片机内部有一条将他们连接起来的“纽带”,即所谓的“内部总线”。而CPU、ROM、RAM、I/O端口、中断系统等就分布在“总线”的两旁,并与之连通。从而,一切指令、数据都可经内部总线传送。

以上介绍的是基本 51 单片机组成,其他各种型号 51 单片机,如STC89C5X、AT89S5X等,都是在基本 51 单片机内核的基础上进行功能上的增强和改装而成的。

1.1.2 单片机的外部引脚

51 单片机虽然型号众多,同一封装的 51 单片机及其引脚配置基本一致,如图 1-2 所示是采用PDIP40(40 脚双列直插式)封装的 51 单片机引脚配置图。

40 个引脚中,正电源和地线 2 个,外置石英振荡器的时钟线 2 个,复位引脚 1 个,控制引脚 3 个,4 组 8 位I/O端口线 32 个。

1.电源和接地引脚(2 个)

GND(20 引脚):接地引脚。

VCC(40 引脚):正电源引脚,接+5V电源。

图 1-2 51 单片机引脚配置图

2.外接晶体引脚(2 个)

XTAL1(19 引脚):时钟XTAL1 引脚,片内振荡电路的输入端。

XTAL2(18 引脚):时钟XTAL2 引脚,片内振荡电路的输出端。

时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下进行的,时钟电路就好比人的心脏,如果人的心跳停止了,人就死亡了;同理,如果单片机的时钟电路停止工作了,那么单片机也就停止运行了。

51 单片机的时钟有两种方式,一种是片内时钟振荡方式,但需在XTAL1 和XTAL2 引脚外接石英晶体和振荡电容。另外一种是外部时钟方式,即将外引脉冲信号从XTAL1 引脚输入,而XTAL2 引脚悬空。

3.复位电路

RST(9 引脚):复位信号引脚。

当振荡器运行时,在此引脚上出现 2 个机器周期以上的高电平将使单片机复位。一般在此引脚与VSS引脚之间连接一个下拉电阻,与VCC引脚之间连接一个电容。单片机复位后,从程序存储器的 0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值。

4.控制引脚(3 个)

(29 引脚):外部程序存储器的读选通信号引脚。在读外部程序存储器时, 产生负脉冲,以实现对外部程序存储器的读操作。

ALE/ (30 引脚):地址锁存允许信号。当访问外部存储器时,ALE用来锁存P0 扩展地址低 8 位的地址信号;在不访问外部存储器,ALE端以固定频率(时钟振荡频率的l/6)输出,可用于外部定时或其他需要。另外,该引脚还是一个复用引脚,在编程期间,将用于输入编程脉冲。

/VPP(31 引脚):内外程序存储器选择控制引脚。当 接高电平时,单片机先从内部程序存储器取指令,当程序长度超过内部Flash ROM的容量时,自动转向外部程序存储器;当 为低电位时,单片机则直接从外部程序存储器取指令。例如,AT89S51/52 单片机内部有4KB/8KB的程序存储器,因此,一般将 接到+5V高电平,让单片机运行内部的程序。而对于内部无程序存储器的 8031(现在已很难见到了!), 端必须接地。另外, /VPP还是一个复用引脚,在用通用编程器编程时,VPP引脚需要加上 12V的编程电压。

5.输入/输出引脚(32 个)

1)P0 口P0.0~P0.7(39~32 引脚)

P0 口是一个 8 位漏极开路的“双向I/O端口”,需外接上拉电阻,每根口线可以独立定义为输入或输出,输入时必须先置“1”。P0 口还具有第二个功能,即作为地址/数据总线,当做数据总线使用时,输入 8 位数据;而当做地址总线使用时,则输出 8 位地址。

2)P1 口P1.0~P1.7(1~8 引脚)

P1 口是一个带有内部上拉电阻的 8 位“准双向I/O端口”,每根口线可以独立定义为输入或输出,输入时必须先置“1”。由于它的内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻,这一点与下面将要介绍的P2 口和P3 口一样,与上面介绍的P0 口不同,请大家务必注意!

对于AT89S51/52 单片机,P1 口的部分引脚还具有第二功能,参见表 1-1。

表 1-1 AT89S51/52 单片机P1 口部分引脚的第二功能

STC89C51/C52 与AT89S51/52 有所不同,其P1.5、P1.6、P1.7 引脚没有第二功能,STC89C51/C52 的ISP下载编程是通过串口进行的。

3)P2 口P2.0~P2.7(21~28 引脚)

P2 口是一个带有内部上拉电阻的 8 位“准双向I/O端口”,每根口线可以独立定义为输入或输出,输入时必须先置“1”。由于它的内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻。同时,P2 口还具有第二功能,在访问外部存储器时,它送出地址的高 8 位,并与 P0 口输出的低地址一起构成 16 位地址线,从而可以寻址 64KB的存储器(程序存储器或数据存储器)。P2 口的第二功能很少使用,请大家不必过深研究。

4)P3 口P3.0~P3.7(10~17 引脚)

P3 口是一个带有内部上拉电阻的 8 位“准双向I/O端口”,每根口线可以独立定义为输入或输出,输入时必须先置“1”。由于它的内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻。同时,P3 口还具有第二功能,第二功能参见表 1-2。这里要说明的是,当P3 口的某些口线作为第二功能使用时,不能再把它当作通用I/O端口使用,但其他未使用的口线可作为通用I/O端口线。

P3 口的第二功能应用十分广泛,将在后续章节中进行详细说明。

表 1-2 P3 口的第二功能 0wbLhqWoHu6wV2OzWp9s6ePoVwjYnSBUNg3Epw9WH7PqbiXCpswBU2islJ4qJy7J

点击中间区域
呼出菜单
上一章
目录
下一章
×