本文最后更新于 2024-05-23,文章内容可能已经过时。

1、MCS-51单片机的外特性

重要说明:

MCS-51系列单片机是Intel公司的注册产品;

MCS-51系列包含8051、8031、8751等型号;

AT89系列单片机是ATMEL公司的注册产品;

AT89S51是AT89系列的一个型号;

AT89S51和MCS-51单片机的主要区别仅在内部ROM引脚完全兼容,内部主要结构完全一致,下图为AT89S51的芯片原理图。

image-20210526150048024

1-1、引脚说明

电源引脚:VCC、GND

时钟电路引脚:XTAL1、XTAL2

控制信号引脚:RST、ALE/PROG、PSEN、EA/VPP

IO端口引脚:P0、P1、P2、P3

image-20210526150454611

1-2、外部总线

地址总线(AB):低8位P0、高8位P2

数据总线(DB):P0分时复用

控制总线(CB):4条控制线和P3部分引脚

image-20210526150732725

2、MCS-51单片机的内部结构

image-20210526150916028

2-1、CPU和时序

CPU由运算部件、控制逻辑构成,CPU的正常工作需要用到部分SFR。

image-20210526151328145

控制部件是单片机的神经中枢,它由定时和控制电路、程序计数器PC,指令寄存器、指令译码器、地址指针等组成。

CPU执行指令的过程:控制电路从程序存储器中取出指令送到指令寄存器IR,然后指令译码器ID进行译码,再由控制电路发出相应的控制信号,完成指令功能。

时钟是单片机内部时序控制的基础,单片机的时钟产生有两种方式:一种是内部方式;一种是外部方式。

image-20210526151730956

这里的外部时钟源一般采用石英晶体和电容组成并联谐振回路

晶振:1.2MHz~12MHz之间选择(典型:6M、12M、11.0592M)

电容:50~30PF

在调试单片机系统时,可用示波器观察晶振引脚上的波形(正弦信号)来判断晶振电路是否正常起振。

image-20210526152109114

机器周期是反映单片机执行速度的重要指标。

2-2、存储器和存储地址空间

image-20210526155153539

这里存储器类型分为两种:程序存储器和数据存储器 。

程序存储器:用来存放程序代码或常量等只需读取的程序或数据。常见ROM、EPROM、FlashROM。

数据存储器:用来可以存放需要读写的数据,常见SRAM。

8051单片机可以使用的存储空间在物理上分为4个部分:片内程序存储器、片内数据存储器以及片外程序存储器、片外数据存储器 。

这里片内存储容量一般不大,尤其是RAM容量比较小;片外需要外接芯片,分别提供最大64KB的存储空间。

8051单片机可以使用的存储器在逻辑上分为3个逻辑地址空间进行管理:

image-20210526153330498

通过设置EA引脚的电平来选择是使用片内ROM还是使用片外ROM

2-2-1、片内外ROM

ROM的部分地址保留给系统使用(C用户程序不应进入该区域)

000H-O002H是程序入口地址。复位后,CPU从O000H单元开始执行程序,这里一般存放一条跳转指令,跳转到用户编写的程序上。

0003H-002AH均匀地分为五段(8n+3),用作中断服务程序的入口(一般用来存放跳转指令)。

2-2-2、片内外AM

片内RAM地址空间主要起两个作用:

映射内部资源所用的寄存器;存放程序运行所需要用的变量。

image-20210526154922827

普通RAM区:供用户程序使用的普通RAM,大部分用户自定义变量都存放在这个地址范围。

按字节寻址:20H -2FH
按位寻址:00H -7FH

工作寄存器:4组x8字节,每组8个字节记为RO-R7,由PSW中的RSO和RS1来确定当前使用哪一组。

特殊功能寄存器区(SFR区):

单片机所有片内资源的控制和访问寄存器均被称为SFR

为了方便访问和管理,单片机内部把SFR映射在片内RAM地址空间中的80H~FFH的地址范围内,用户程序中可以使用相应的地址通过内部总线对SFR进行访问,从而对单片机的片内资源进行控制。

image-20210526154404047

位寻址空间  

针对单片机RAM空间较小的特点,单片机提供了位寻址空间供用户程序使用,该空间可以用来存放标志位等可以以位为单位进行寻址的数据。

位寻址空间位地址范围:00H~FFH

位寻址存储单元的分布:
字节地址为20H2FH的存储单元位地址:00H 7FH
SFR中字节地址以0或8结尾的存储单元
位地址:80H ~FFH

image-20210526154808820 image-20210526154829275

片外RAM

image-20210526155027868

强调  :这三个地址空间都是通过并行总线进行访问的

2-3、I/O接口

单片机的输入输出都是通过IO端口实现的。

AT89S51单片机有4组通用I/O端口,每组端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。通常这4组端口表示为PO~P3。

2-3-1、P0口的结构

PO口是一个双功能口:

普通I/O口(准双向口)

外部总线接口(数据/地址复用口)

image-20210526155515876

(一)功能一:作为普通I/O口

输出时:CPU发出控制电平“0”封锁“与门”,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。故内部总线与PO口同相。由于输出驱动级是漏极开路电路若驱动NMOS或其它拉流负载时,需要外接上拉电阻。'PO的输出级可驱动8个LSTTL负载。

image-20210526155723682

输入时:P0作为引脚和读锁存器

读引脚 :由传送指令(MOV)实现;下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。

读锁存器 :有些指令如:ANL PO,A称为“读-修改-写”指令,需要读锁存器。s上面一个缓冲器用于读端口锁存器数据。

准双向口 :在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写‘1’,使T2截止,引脚处于悬空状态,变为高阻抗输入。在输入操作前需要附加一个准备动作,这就是所谓的准双向口。

(二)功能二:作为地址/数据总线

这时多路开关‘控制’信号为‘1’,‘与门’解锁,‘与门’输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线→反相器→T2场效应管栅极→T2漏极输出。

2-3-2、P2口的结构

P2口是一个双功能口:普通IO口(准双向口)和外部总线接口(地址高8位)

image-20210526161257568

(一)功能一:作为普通I/O口

CPU发出控制电平“O”,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。

image-20210526161429243

(二)功能二:作为地址总线高8位 

在系统扩展片外程序存储器扩展数据存储器且容量超过256B(用MOVX@DPTR指令)时,CPU发出控制电平“1”,使多路开关切换到内部地址线。P2输出高8位地址。

image-20210526161534154

2-3-3、P1口的结构

普通I/O口(准双向口)

image-20210526161637620

2-3-4、P3口的结构

P3口是一个双功能口:普通I/O口(准双向口)以及第二功能

image-20210526161736962

image-20210526161750082

当对应内部资源使能时,P3端口相应引脚起第二功能作用,否则起普通IO作用

2-3-5、端口总结

image-20210526161931715

2-3、复位电路

2-3-1、复位与复位电路

所有单片机在启动运行前都需要进行复位。

复位的作用:

1、启动前复位,使CPU和单片机中的其他资源处于一个确定的初始状态,并从这个状态开始工作。

2、运行过程中复位,在单片机运行过程中,可能会由于种种原因如外界的干扰而进入死循环状态(跑飞),这时也要求复位,从而使单片机重新开始正常工作。

2-3-2、硬件复位和软件复位

硬件复位:通过外部复位引脚实现的复位功能。

软件复位:有些型号的单片机可以通过设置SFR中相应的标志位实现“受软件控制的复位”功能。

总结

到这里位置把MCS-51单片机的内部结构大概做了记录,内容还是有些死板空洞,接下来通过软件程序的编写以及硬件电路仿真来完善这一块的理解。这里IO口的第二功能尤其需要牢记以及定时器中断等功能使用仍需要进一步的完善。