第一章MCS-51单片机结构,单片机原理、接口及应用

简介: 第一章MCS-51单片机结构,单片机原理、接口及应用

文章目录


一、MCS-51单片机内部结构

二、CPU

三、存储器

四、特殊功能寄存器SFR

五、时钟电路与复位电路

六、引脚功能


一、MCS-51单片机内部结构


单片机是在一块芯中集成了CPU、RAM、ROM、定时/计数器和多功能I/O接口等基本部件的大规模集成电路,又称MCU。


51系列单片机内包含下列部件:

一个8位CPU

一个片内振荡器及时钟电路

4KBROM程序存储器

128BRAM数据存储器

可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路

32条可编程的I/O线(4个8位并行I/O接口)

两个16位的定时/计数器

一个可编程全双工串行接口

五个中断源和两个优先级嵌套中断结构


db4d0ab986c74d4d8803d7e1b33930eb.jpg


二、CPU


核心部件,由运算器和控制器等部件组成。


运算器:算术运算,逻辑运算,位操作。


程序计数器PC:16位寄存器,用来存放即将要执行的指令地址,可对64KB程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。


指令寄存器:用来存放指令代码,CPU执行指令时,将程序存储器中读取的指令代码送入指令寄存器,经指令译码器译码后由定时与控制电路发出相应的控制信号,完成指令功能。


三、存储器


分程序存储器和数据存储器,分片内和片外,从逻辑地址空间看,又可分为片内数据存储器、片外数据存储器、片内片外统一编址的程序存储器。


引脚EA(上面一横)的接法决定了程序存储器0000H~0FFFH的4KB地址范围是在片内还是片外。为1时,片内0000H~0FFFH,片外1000H~FFFFH;为0时,0000H~FFFFH64KB都是片外。


程序存储器:以PC作为地址指针,通过16位地址总线,可寻址64KB地址空间。


程序存储器中的特殊地址:


微信图片_20221211205641.png


由于两入口地址直接的存储空间有限,通常在这些入口地址开始的两三个地址单元中,放入一条转移类指令(跳转指令),使得相应程序跳转到指定的程序存储器区域。


外部数据存储器:51单片机具有扩展64KB外部数据存储器RAM和I/O端口的能力,它们统一编址,使用相同的选通控制信号、相同的访问指令MOVX,以及相同的寄存器间接寻址。


内部数据存储器:51单片机中只有128字节RAM,地址为00H~7FH,它和SFR的地址(80H~FFH)空间是连续的,而在增强型52子系列中有256字节RAM,高128字节RAM和SFR的地址是重合的,访问高128字节RAM采用寄存器间接寻址,访问SFR则采用直接寻址。


ad1a392ffaea477e842b3214e0e4afa9.jpg6150c746c8dc4ceb86b1504516281ab6.jpg


前32个单元(00H~1FH)为寄存器区,共分4组,每组有8个8位寄存器R0~R7,R0和R1可作为间址寄存器使用。使用时,只能选其中一组寄存器,寄存器的选组由程序状态字PSW的RS1和RS0位定。一旦选中了一组寄存器,其它3组只能作为数据存储器使用,而不能作为寄存器使用。初始化或者复位时,自动选中0组。


20H~2FH为位地址区,共16个单元,每个单元有8位,共128位,每位有一个位地址,范围为00H~7FH,该区既可位寻址,又可字节寻址。


51单片机的堆栈设在内部RAM区,深度不大于128字节,初始化时SP指向07H。


9dae0e906cc64358800f9610552679d0.jpg


四、特殊功能寄存器SFR


用途:

A累加器、状态标志寄存器

单片机内部各部件专用的控制、状态寄存器

并行口、串行口影射寄存器


地址空间:

21个特殊功能寄存器不连续地分布在80H~FFH128个字节地址空间,地址为X0H和X8H是可位寻址的寄存器。


A——累加器,带有全零标志Z,A=0,则Z=1;A不等于0,则Z=0。该标志常用于程序分支转移的判断条件。


B——寄存器,常用于乘除法运算。


PSW——程序状态字,主要起着标志寄存器的作用:

Cy:进/借位标志,反映运算中最高位有无进/借位,有进/借位时为1

AC:辅助进/借位标志,反映运算中低半字节与高半字节间的进/借位情况

F0:用户标志位,可由用户设定其含义

RS1、RS2:工作寄存器组选择位

OV:溢出标志位,补码运算的结果有溢出时为1,OV=Cy异或Cy-1

-:无效位

P:奇偶标志位,反映对累加器A操作后,A累加器中“1”个数的奇偶,奇为1

SP:堆栈指针寄存器

DPTR:16位数据指针寄存器,分DPL和DPH

P0~P3:I/O端口寄存器


五、时钟电路与复位电路


51单片机的时钟信号通常有两种电路形式:内部振荡方式和外部振荡方式。


内部振荡:在引脚XTAL1和XTAL2外接晶体振荡器(晶振),C1和C2起稳定振荡频率、快速起振作用。


c9499338899e4777a61be21f89cbbeb2.jpg


外部振荡:把已有的时钟信号引入单片机,这种方式适宜用于使单片机的时钟与外部信号保持一致。对HMOS的单片机(8031),由XTAL2引入,对CHMOS的单片机(8XCXX),由XTAL1引入。


9e59dad117c44b5a9b36fe0661951d45.jpg


振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。


状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期,因此,一个状态周期包含两个振荡周期。


机器周期MC:1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。


指令周期:执行一条指令所需的时间,一个指令周期由1~4个机器周期组成,依据指令不同而不同。


振荡周期和机器周期是单片机内计算其它时间值(例如波特率、定时器的定时时间等)的基本单位。


单片机外接晶振频率12MHZ时:


8011b6c073fc4705a1e912127a0ff710.jpg


复位:使片内电路初始化,当复位引脚RST出现5ms以上的高电平时,单片机就完成复位操作。


两种复位操作的形式:上电复位,开关复位


上电复位:接通电源后自动复位


开关复位:在运行期间,按钮使单片机复位


35308cb9be954588aea5e2b9a7765e7b.jpg


单片机的复位操作使SFR寄存器初始化,而不改变片内RAM中的内容。


几个主要特殊功能寄存器复位状态:

PC=0000H:程序计数器为0表明单片机复位后程序从0000H地址单元开始执行

A=00H:累加器清零

PSW=00H:选寄存器0组为工作寄存器组

SP=07H:堆栈指针指向片内RAM的07H单元,根据先加后压的法则,第一个被压入的数据被写入08H单元中

P0~P3=FFH:向各端口写入1,各端口即可用于输入又可用于输出


六、引脚功能



01ca33f9087a4ce183510d4f1d5dbbc6.jpg


Vss:接地端

Vcc:电源端

XTAL1、XTAL2:接外部晶体或外部时钟信号

RST/VPD:①复位信号输入②接备用电源

ALE:地址锁存允许,输出脉冲的频率为振荡频率的六分之一

PR0G(上面一横):对片内EPROM编程时,编程脉冲由该引脚引入

PSEN(上面一横):程序存储器允许,输出读取外部程序存储器的选通信号

EA(上面一横):选择访问程序存储器

P0.0~P0.7:P0口,数据/低八位地址复用总线端口

P1.0~P1.7:P1口,静态通用端口

P2.0~P2.7:P2口,高八位地址总线端口

P3.0~P3.7:P3口,双功能静态端口


相关文章
|
1月前
|
开发框架 .NET 网络性能优化
MCS-51单片机的基本结构
MCS-51单片机的基本结构
79 1
|
1月前
|
存储
MCS-51单片机的中断源
MCS-51单片机的中断源
67 1
|
1月前
|
存储 监控 芯片
单片机的扩展结构
单片机的扩展结构
69 2
|
1月前
|
芯片
AT89S52单片机的最小应用系统
AT89S52单片机的最小应用系统
19 0
|
1月前
|
传感器
51单片机循迹小车原理介绍和代码示例
51单片机循迹小车原理介绍和代码示例
51单片机循迹小车原理介绍和代码示例
【51单片机】利用【时间延迟】的原理规避【按键抖动问题】
【51单片机】利用【时间延迟】的原理规避【按键抖动问题】
【51单片机】自定义动态数码管显示(设计思路&原理&代码演示)
【51单片机】自定义动态数码管显示(设计思路&原理&代码演示)
【51单片机】静态数码管显示(设计思路&原理&代码演示)
【51单片机】静态数码管显示(设计思路&原理&代码演示)
|
1月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
25 1
|
1月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
27 1