MCS51单片机基础知识.docx
- 文档编号:6345350
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:13
- 大小:260.66KB
MCS51单片机基础知识.docx
《MCS51单片机基础知识.docx》由会员分享,可在线阅读,更多相关《MCS51单片机基础知识.docx(13页珍藏版)》请在冰点文库上搜索。
MCS51单片机基础知识
MCS-51单片机的基本结构
MCS-51单片机的基本结构:
1、微处理器CPU:
为8位的CPU,且内含一个1位CPU(布尔处理器),不仅可以处理字节数据,还可以进行位变量的处理。
2、内部数据存储器(RAM):
128字节片内RAM。
(8052系列为256字节)3、内部程序存储器(ROM/EPROM/):
8031无此器件,8051为4KROM,8751为4KEPROM。
4、定时器/计数器:
内含2个16位定时/计数器,具有四种工作方式。
5、串行口:
1个全双工的串行口,具有四种工作方式。
6、中断控制系统:
具有5个中断源,2级中断优先权。
7、P0、P1、P2、P3:
为4个并行8位I/O口。
8、特殊功能寄存器(SFR):
共有21个,用于对片内各功能模块进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM区。
1、电源、时钟电路
VCC(40脚)—+5V电源VSS(20脚)—地XTAL1(19脚)—芯片内部振荡电路(单级反相放大器)输入端。
XTAL2(18脚)—芯片内部振荡电路(单级反相放大器)输出端。
MCS-51的时钟可由内部方式或外部方式产生。
1)内时钟方式利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件,内部振荡器便能产生自激振荡,用示波器便可以观察到XTAL2输入的正弦波,定时元件可以采用石英晶体和电容组成的并联谐振电路,连接方法如图2.2(a)所示。
晶体可以在1.2MHz~33MHz之间任选,电容可以在20~30pF之间选择,电容C1、C2的大小对振荡频率有微小影响,可对频率起微调作用。
在设计印制板时,石英晶体和电容应尽可能与单片机芯片靠近,以减少寄生电容,保证振荡器可靠工作,为提高温度稳定性,采用NPO电容为优。
2)外时钟方式如图2.1(b)所示,XTAL1接地,XTAL2接外部振荡器,对外部振荡信号无特殊要求,由于XTAL2端的电平不是TTL电平,故应接一上拉电阻。
外部振荡器的频率应低于33MHz。
(a)内时钟方式(b)外时钟方式图2.1MCS-51时钟方式电路图2、控制信号
1)RST/VPD(9脚)复位信号时钟电路工作后,在此引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内寄存器置初值。
但初始化不影响片内RAM状态,只在该引脚保持高电平,MCS-51将循环复位。
RST/VPD从高电平变低电平时,单片机将从0号单元取指,开始执行程序。
另外,该引脚还具有复用功能,只要将VPD接+5V备用电源,一但VCC电位突然下降或断电,能保护片内RAM中的信息不被丢失,使复电后能正常工作。
MCS-51通常采用上电复位和开关复位二种方式。
其简单的复位应用电路如图2.2所示。
上电瞬间,电容两端电压不能突变,此时RST端为高电平,随着+5V通过电阻给电容充电,RST端电位逐步下降。
只要RST端电平在高电平段保持两个以上机器周期,单片机即复位,从而实现上电自动复位。
开关复位,只要将按键按下,RST为高电平,复位有效。
图2.2复位电路
MCS-51的复位状态内部寄存器状态
2)ALE/(30脚)地址锁存信号P0口作为地址/数据复用口,用ALE区分P0口上的信息究竟是地址还是数据。
ALE高电平期间,P0口输出地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外地址锁存器。
在ALE低电平期间P0口上输出/输入指令和数据信息。
当访问外部存贮器时,P0口输出的低八位地址由ALE输出的控制信号锁存到片外地址锁存器,P0口输出地址低八位后,又能与片外存贮器之间传送数据信息。
不访问片外存贮器时,该端也以六分之一的时钟频率固定输出正脉冲。
因而亦可作系统中其它芯片的时钟源。
ALE可驱动8个TTL门。
对于EPROM型单片机,在EPROM编程时,此脚用于编程脉冲的输入端。
3)PSEN(29脚)片外程序存贮器选通信号,低有效。
当89C51访问片外程序存贮器时,程序计数器PC通过P2口和P0口输入十六位指令地址,PSEN作为程序存贮器读信号,输出负脉冲将相应存贮单元的指令读出并送到P0口上,供89C51执行。
PSEN同样可驱动8个TTL门输入。
4)EA/VPP(31脚)内部和外部程序存贮器选择信号,对于89C51来说,内部有4K字节的程序存贮器,当为高时,CPU访问程序存贮器有两种情况:
①地址小于4K时访问内部程序存贮器。
②地址大于4K时访问外部程序存贮器。
若接地,则不使用内部程序存贮器,不管地址大小,取指时总是访问外部程序存贮器。
对于E2PROM型的单片机,在EPROM编程时,此引脚用于施加编程电压(VPP)。
3、I/O口MCS-51单片机有4个双向8位I/O口P0~P3,P0口为三态双向口,负载能力为8个LSTTL门电路,P1~P3为准双向口(用作输入时,口锁存器必须先写“1”),负载能力为4个LSTTL门电路。
1)P0口(P0.0~P0.7,39~32脚)P0口是一个8位漏极开路型双向I/O口,其位结构如图2.3所示。
包括1个输出锁存器、2个三态缓冲器、1个输出驱动电路和1个输出控制端。
输出驱动电路由一对场效应管组成,其工作状态受输出控制端的控制,它包括1个与门、1个反相器和1个转换开关MUX组成。
P0口既可以作地址/数据总线使用,又可以作通用I/O口使用。
图2.3P0口位结构
* P0口作地址/数据复用总线使用此时为双向三态口,在访问外部存贮器时,它是分时转换的地址(低8位)和数据总线,不需要外接上拉电阻。
*P0口作通用I/O口使用此时为准双向I/O口把P0口作为通用输出口,必须外接上拉电阻。
作输入口用时,应该先向锁存器写“1”。
P0口能以吸收电流的方式驱动8个LSTTL门电路输入。
2)P1口(P1.0~P1.7,1~8脚)P1口是一个带有内部上拉电阻的8位准双向I/O口,其位结构如图2.4所示。
P1口的每一位口线能独立地用作输入线或输出线。
作输入时:
先将“1”写入锁存器,使输出级的场效应管截止。
P1口能驱动(吸收或输出电流)4个LSTTL门电路。
图2.4P1口位结构
3)P2口(P2.0~P2.7,21~28脚)P2口是一个带内部上拉电阻的8位准双向I/O口,其位结构如图2.5所示。
在结构上,P2口比P1口多一个输出控制部分。
P2口作通用I/O口使用
当P2口作通用I/O口使用时,是一个准双向口,其输入输出操作与P1口完全相同。
P2口作地址/数据复用总线使用当系统中接有外部存贮器时,P2口用于输出高八位地址A15~A8。
这时在CPU地控制下,转换开关MUX倒向右边,接通内部地址总线,P2口的口线状态取决于片内输出的地址信息,这些地址信息来源于PCH、DPH等。
图2.5P2口位结构
4)P3口(P3.0~P3.7,10~17脚)P3口是一个带内部上拉电阻的8位准双向I/O口,可以同P1口一样作为第一功能口,也可以每一位独立定义为第二功能,其位结构如图2.6所示。
P3口作第一功能口使用:
在这种情况下P3口的结构和操作与P1口相同。
P3口作第二功能口使用:
P3口的第二功能实际上就是系统的控制总线。
此时相应的口线锁存器必须为“1”状态,与非门的输出由第二功能输出功能线的状态确定,从而P3口线的状态取决于第二输出功能线的电平。
图2.6P3口位结构
P3口第二功能定义
3、MCS-51存储器的结构
MCS-51的存储器可划分为5类:
程序存储器、内部数据存储器、特殊功能寄存器、位地址空间、外部数据存储器8051存贮器配置如图所示
1)程序存贮器
程序存贮器用于存放编好的程序和表格常数。
89C51内部有4KB字节的程序存贮器,外部可扩展至64KB字节。
而这64KB字节的地址空间是统一的。
在正常运行时,应把EA引脚接高电平使程序从内部ROM开始执行,当PC值超出内部ROM的容量时会自动转向外部程序空间。
如果不使用内部ROM,而直接使用外部ROM,EA应始终接低电平,迫使系统从外部程序存贮器取指。
64KB程序存贮器中有7个单元具有特殊功能。
MCS-51复位后程序计数PC的内容为0000H,故系统必须从0000H单元开始取指,执行程序。
它是系统的起动地址。
一般在该单元存放一条绝对跳转指令,而用户设计的主程序从跳转地址开始安放。
其它6个特殊单元分别对应6种中断源的中断服务子程序的入口地址,如表所示。
通常在这些入口地址都安放一条绝对跳转指令,而真正的中断服务子程序从转移地址开始安放。
各种中断服务子程序入口地址
2)内部数据存贮器MCS-51的内部数据存贮器(RAM)单元共有128字节,字节地址为00H~7FH。
访问内部数据存贮器用MOV指令。
地址为00H--1FH的32个字节是4个通用工作寄存器区,每个区含8个8位寄存器,编号为R0-R7。
用户可以通过指令改变PSW中的RS1、RS0这两位,来选择使用哪一区的R0-R7。
不同工作区R0-R7和直接地址的对应关系如下表
3)特殊功能寄存器(SFR)
在MCS-51中共有21个特殊功能寄存器(SFR)(52子系列有26个)。
离散的分布在字节地址80H-FFH之间。
PC寄存器在物理上是独立的,不属于内部数据存贮器的SFR块。
表2-5列出了这些专用寄存器的助记标识符、名称和地址。
SFR寄存器的地址能被8整除的,可以为寻址。
SFR的名称和分布见下表:
*号可位寻址
1.程序计数器PC程序计数器PC用于存放下一条要执行的指令地址(程序存贮器地址),是一个16位专用寄存器,因此寻址范围为0~64K(65535)。
PC在物理上是独立的,不属于内部数据存贮器的SFR块。
2.累加器A累加器A是一个最常用的专用寄存器,很多指令用到累加器,(在后边的指令讲述中,大家会有感受),在指令系统中,采用A作累加器的助记符。
3.B寄存器在乘除法指令中,用到B寄存器。
在其它指令中,B寄存器可作为RAM的一个单元来使用。
4.程序状态字PSW程序状态字PSW是一个8位寄存器,它包含了程序状态信息。
此寄存器各位的含义参见图2.8,其中PSW.1是保留位,未用。
其它各位说明如下:
CY(PSW.7)进位标志。
在执行某些算术和逻辑指令时,可以被硬件或软件置位或清除。
在布尔处理机中它被认为是位累加器,它的重要性相当于中央处理机中的累加器A。
详见指令系统。
AC(PSW.6)辅助进位标志。
当进行加法或减操作而产生由低4位(十进制的一个数字)向高4位数进位或借位时,AC将被硬件置1,否则就被清除。
AC被用于十进制调整,详见DA指令。
F0(PSW.5)标志0。
是用户定义的一个状态标记,可以用软件来使它置位或清除。
以后在程序中会见到其如何使用。
RS1、RS0(PSW.4、PSW.5)寄存器R0~R7工作区选择控制位1和0。
可以靠软件来置位或清除以确定工作寄存器区。
(RS1、RS0)与寄存器区的对应关系如下:
(0,0)——R0~R7在区0(00H~07H)(0,1)——R0~R7在区1(08H~0FH)(1,0)——R0~R7在区2(10H~17H)(1,1)——R0~R7在区3(18H~1FH)OV(PSW.2)溢出标志。
当执行算术指令时,由硬件置位或清除,以指示溢出状态。
当执行加法指令ADD时,当位6向位7有进位而位7不向C进位时,或位6不向位7进位而位7向C进位时,溢出标志OV置位,否则清除。
溢出标志常用于对有符号补码数作加减运算。
OV=1表示加减运算的结果已超出一个字节所能表示的范围(-128~+127)。
在MCS-51中,无符号数乘法指令MUL的执行结果也会影响溢出标志,若累加器A和寄存器B的乘积超过255时,OV=1,否则OV=0。
此积的高8位放在B中,低8位放在A中,故OV=0意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积。
除法指令DIV也会影响溢出标志,当除数为0时,OV=1,否则OV=0。
P:
(PSW.0)奇偶标志。
每个指令周期都由硬件来置位或清零,以表示累加器A中值“1”的位数的奇偶性。
若P=1,则A中“1”的位数为奇数,否则P=0。
该标志对串行数据通讯中的传输有重要意义。
在串行通讯中,常用奇偶校验的方法来检验数据传输的可靠性。
在发送端可根据P值对数据的奇偶位置位或清除。
若通讯协议中规定采用奇校验的办法,则P=0时,应对数据的奇偶位置位,否则置零。
5.堆栈指针SP它是一个8位寄存器,用来存放栈顶地址。
MCS-51堆栈设在内部RAM中。
堆栈深度为256个字节,(实际120字节)系统复位时硬件使SP=07H。
堆栈在内部RAM区中的位置可根据程序要求由SP灵活安排。
堆栈按“先进后出”原则。
数据入栈时,先SP加“1”,后入栈。
数据出栈时,先出栈,后SP减“1”。
因而SP指针始终指向栈顶。
受SP管理的存贮区域。
在程序中断、子程序调用等情况下,用于存放一些特殊信息(亦可作数据传送的中转站)。
6.数据指针DPTR它是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。
既可作为一个16位寄存器(DPTR)来使用,又可作为两个独立的8位寄存器(DPH、DPL)来使用。
DPTR主要用来保持16位地址,当对64KB外部数据存贮器空间寻址时,作间址寄存器用。
这时有两条传送指令MOVXA,@DPTR和MOVX@DPTR,A。
在访问程序存贮器时,DPTR可作为基址寄存器,采用基址+变址寻址方式的指令MOVCA,@A+DPTR,读取程序存贮器内的表格常数。
7.I/O端口P0~P3专用寄存器P0、P1、P2和P3分别是I/O端口P0~P3的锁存器。
在上面章节已作介绍,这里不再赘述。
其它特殊功能寄存器将在有关章节中介绍。
复位后内部寄存器状态如下表所示。
4)位地址空间内部RAM块中的20H~2FH(32~47)单元和SFR块中的12个单元构成了布尔处理机(指令系统见第3章)的存贮器空间,这28个单元的221位(28×8减去3个未定义位)各自都有专门的位地址,它们可以被直接寻址。
SFR中字节地址尾数是0或8的,可以为寻址,且位地址从字节地址数起。
如PSW的地址为D0H,则可以为寻址,位地址为D0H-D7H。
图2‑98051内部RAM位地址区5外部数据存储器MCS-51的外部数据存贮器寻址空间为64KB。
对外部数据存贮器采用间接寻址方式。
用MOVX指令。
一般的微机的只有一个存储空间,统一编址,ROM和RAM可以安排在任一范围内,用相同的指令访问ROM或RAM,这种结构称为普林斯顿结构。
8051的存储器在物理上分为四个存储空间:
片内程序存储器、片外程序存储器和片内数据存储器、片外数据存储器,这种程序存储器和数据存储器分开的结构称为哈佛结构。
MCS-51的片外ROM和RAM共用地址线和数据线,但控制信号不同,ROM用PSEN信号读,RAM用RD和WR信号读写。
片外RAM和片外扩展I/O口统一编址。
共占一个64K空间。
4.MCS-51CPU时序振荡周期:
由时钟电路产生的连续脉冲周期。
时钟周期:
也称状态周期,一个状态周期含2个振荡周期。
S1-S6。
机器周期:
6个状态周期为1个机器周期。
指令周期:
执行一条指令所需要的时间。
1个指令周期可由1-4个机器周期组成。
1个机器周期=6个状态=12个振荡周期若采用12MHz振荡源,则每个机器周器为1μs。
一、时钟周期、机器周期和指令周期
图2-10基本定时时序关系
图2‑11MCS-51的取指/执行时序
二、MCS-51单片机指令的取指和执行的时序
图2‑12访问外部ROM的时序
图2‑13访问外部RAM的时序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 基础知识