目录
微型计算机基本结构
总线
片内总线和片外总线
数据总线地址总线与控制总线
系统总线和IO总线
微处理器的内部结构
内部寄存器
通用寄存器
指针和变址寄存器
段寄存器
控制寄存器
标志寄存器
存储器的基本结构
存储器的分类
IO接口的功能
外部设备与CPU之间的数据传送方式
单片机
单片机基本介绍
单片机的特点
单片机的命名规则
51子系列单片机特点
MCS-51系列单片机
基本组成
内部结构
中央处理器
控制部件
存储器结构
程序存储器的6个特殊的地址
数据存储器
片内数据存储器
片外数据存储器
输入输出接口
P0口
P1口
P2口
P3口
外部引脚
控制线
主电源引脚
外接晶体引脚
片外总线结构
单片机的工作方式
复位方式
单片机的时序
微型计算机基本结构
前言:微型计算机由中央处理器、存储器、输入、输出设备和系统总线等组成。
注意:具体理解请见计算机组成原理。
总线
含义:总线是将各大基本部件按照一定得方式连接起来就构成了硬件系统,为各部件提供服务的公共信息传送线路。他能够分时的发送和接收各种部件的信息,是计算机系统各部件之间传输地址、数据和控制信息的公共通道,CPU通过总线实现读取指令,并实现与内存、外设之间的数据交换,在CPU、内存与外设确定的情况下,总线的速度是制约计算机整体性能的关键。
片内总线和片外总线
- 片内总线:CPU内部的寄存器、算数逻辑部件、控制部件以及总线接口部件之间的公共信息通道
- 片外总线:泛指CPU与外部器件之间的公共信息通道。我们通常所说的总线就是指片外总线
数据总线地址总线与控制总线
-
数据总线:用于在各个部件/设备之间传输数据信息
-
地址总线:用于CPU与存储器、IO接口设备之间传输地址信息
-
控制总线:用于CPU与存储器、IO接口之间传输控制和状态信息
系统总线和IO总线
-
系统总线:CPU连接其他高速功能(如存储器)的总线
-
IO总线: 中低速IO设备之间相互连接的总线
微处理器的内部结构
前言:微处理器由运算器、控制器、寄存器组和片内总线组成。
注意:
- 运算器和控制器在计算机组成原理有讲,这里就不再赘述;而操作单片机主要是操作寄存器,这里主要讲一下寄存器相关。
- ALU一次性最多能够处理多少位数据,那么该单片机就是几位。
内部寄存器
通用寄存器
- AX:累加寄存器,是算术运算时使用的主要寄存器,所有外部设备的输入输出指令只能使用AL或AX作为数据寄存器
- BX:基址寄存器,可以用作数据寄存器,在访问存储寄存器时,可以存放被读写存储单元的地址,是具有双重功能的寄存器
- CX:计数寄存器,可以用作数据寄存器,在字符串操作、循环操作和移位操作时用作计数器
- DX:数据寄存器,它可以用作数据寄存器,在乘除法中作为辅助累加器,在输入输出操作中存放接口的地址
指针和变址寄存器
前言:主要用于存放操作数的偏移地址(即操作数的段内地址)
- SP:堆栈指针寄存器,在堆栈操作中存放栈顶的偏移地址
- BP:基址指针寄存器,常用作堆栈区基址地址寄存器
- SI:源变址寄存器,主要用于在字符串操作中存放原操作数的偏移地址
- DI:目的变址寄存器,主要用于字符串操作中存放目的操作数的偏移地址
段寄存器
前言:主要用于存放段的基址(即段的起始地址的高16位)。
- CS:代码段段寄存器,代码段用于存放程序代码。CS中存放当前正在执行的代码段的段基址
- DS:数据段段寄存器,数据段用于存放当前使用的数据,DS中存放当前数据段的段基址
- SS:堆栈段段寄存器,堆栈段是内存中一段特殊的存储区,SS中存放堆栈段的段基址
- ES:附加数据段段基址,程序需要第二个数据段时,可以使用ES存放该数据段的段基址
控制寄存器
- IP:指令指针寄存器是一个16位的寄存器,IP存放下一条要执行的指令的偏移地址
- FLAGS:标志寄存器共有9个标志位,其中6个为状态标志位,3个为控制标志位
标志寄存器
前言:在单片机中若要运行一些数据的话肯定会涉及到+-*/等操作,这就涉及到标志寄存器功能
- C:进位标志位
- P:奇偶标志位
- A:半加标志位
- Z:零标志位
- S:符号标志位
- T:陷阱标志位(单步标志位)
- I:中断允许标志位
- D:方向标志位
- O:溢出标志位
存储器的基本结构
前言:半导体存储器主要由地址译码器、存储矩阵、控制逻辑和三态双向缓冲器等部分组成。
注意:地址译码器主要用于判断地址总线的电平的不同状态来确定要给RAM中哪个字节存储数据
存储器的分类
- 随机读写存储器:RAM(掉电以后数据直接丢失,类似内存)
- 只读存储器:ROM(掉电以后数据是不丢失的,类似固态硬盘)
IO接口的功能
- 数据的寄存和缓冲
- 信号的转换
- 设备选择功能
- 外设的控制和监测
- 中断或DMA管理功能
- 可编程功能
外部设备与CPU之间的数据传送方式
- 无条件传送方式
- 查询传送方式
- 中断传送方式
单片机
含义:单片机属于微型计算机的一种,是把微型计算机中的微处理器、存储器、IO接口,定时器/计数器、串行接口、中断系统等电路集成在一块集成电路芯片上形成微型计算机。因而被称为单片微型计算机,简称单片机。
单片机基本介绍
- 单片机英文Micro Controller Unit,简称MCU
- 单片机内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能
- 单片机的任务是:信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机和LED等)的控制
- 单片机和计算机相比,单片机是一个袖珍版的计算机,一个芯片就能构成完整的计算机系统。但是在性能上与计算机相差甚远,但单片机成本低,体积小,结构简单,在生活和工业控制领域有很大作用
- 单片机的适用领域已经十分广泛,如智能仪表,实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上单片机就能起到使产品升级换代的功效(智能洗衣机)。
单片机的特点
- 在存储结构上单片机采用哈佛结构。ROM和RAM是严格分开的,ROM称为程序存储器,只存放程序,固定常数和数据表格。RAM则数据存储器,用作工作区和存放数据
- 在芯片引脚上,大部分采用时分复用技术
- 在内部资源访问上,通过特殊功能寄存器(SFR)的方式
- 在指令系统上,采用,面向控制的指令系统
- 内部一般都集成一个全双工的串行接口
- 单片机有很强的外部扩展能力
注意:51单片机为80年代intel开发的8051单片机内核的统称,就是因为这个8051有个51,所以,凡事以8051内核一样的单片机都统称为51系列单片机。
单片机的命名规则
51子系列单片机特点
- 8位CPU
- 片内带有振荡器,频率范围为1.2——12MHz
- 片内带有128字节的数据存储器
- 片内带有4K的程序存储器
- 程序存储器的寻址空间为64K字节
- 片外数据存储器的寻址空概念为64K字节
- 128个用户位寻址空间
MCS-51系列单片机
基本组成
内部结构
中央处理器
前言:运算部件以算数逻辑单元ALU为核心,包含累加器ACC(简称A)、B寄存器、暂存器、标志寄存器PSW等许多部件,他能实现算数运算、逻辑运算、位运算、数据传输等处理。
注意:标志寄存器是一位8位寄存器,它用于保存指令执行结果的状态,以供程序查询和判别。
- C(PSW.7):进位标志位
- AC(PSW.6):辅助进位标志位
- F0(PSW.5):用户标志位
- RS1、RS0(PSW.4、PSW.3):寄存器组选择位
- OV(PSW.2):溢出标志位
- P(PSW.1):奇偶标志位;若累加器A中1的个数为奇数,则P置位;若为偶数,则P清零
控制部件
理解:控制部件是单片机的控制中心,它包括定时和控制电路、指令寄存器、指令译码器、程序计数器PC、堆栈和指针SP、数据指针DPTR以及信息传送控制部件等。他先以震荡信号为基准产生CPU时序,从ROM中取出指令到指令寄存器,然后在指令译码器中对指令进行译码,产生指令执行所需的各种控制信号,送到单片机内部的各个功能部件,指挥各个功能部件产生相应的操作,完成对应的功能。
存储器结构
前言:MCS-51单片机存储结构与一般微机的存储器结构不同,分为程序存储器ROM和数据存储器RAM。程序存储器存放程序、固定常数和数据表格。数据存储器用作工作区和存放数据
程序存储器的6个特殊的地址
复位地址 | 0000H |
数据存储器
注意:数据存储器从物理结构上分为片内数据存储器和片外数据存储器。
片内数据存储器
片内数据存储器按功能分为以下几个部分
- 工作寄存器组区:00H-1FH单元为工作寄存器组区,共32个字节。工作寄存器也称为通用寄存器,用于临时寄存8位信息。工作寄存器共4组,称为0组、1组、2组、3组,每组8个,分别依次用R0-R7表示
- 位寻址区:20H-2FH为位寻址区,共16字节,128位。这128位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为00H-7FH
- 一般RAM区:30H-7FH为一般RAM区,也称为用户RAM区,共80字节,对于52子系列,一般RAM区从30H-FFH单元。另外,对于前两区中未使用的单元也可用为用户RAM单元使用
- 堆栈区与堆栈指针:堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。
片外数据存储器
扩展外部数据存储器最多64kb,地址范围为0000H-0FFFFH,通过数据指针寄存器DPTR作指针间接方式访问,对于低端的256字节,可用两位十六进制地址编址,地址范围为00H-0FFH,可通过R0和R1间接方式访问。
输入输出接口
前言:MSC-51系列单片机有4个8位的并行IO接口:P0、P1、P2和P3口。他们是特殊功能寄存器中的4个。这4个口,既可以作输入,也可以作输出,既可以按8位处理,也可以按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。
P0口
前言:P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用的IO接口。它包括一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成
当P0口作通用I/O接口时,应注意以下两点
- 在输出数据时,必须外接上拉电阻
- P0口作为通用I/O口输出使用时,在输入数据前,应先向P0口写1
P1口
前言:P1口是准双向口,他只能作通用I/O接口使用。对于52子系列,P1.0与P1.1还有第二个功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX
准双向IO口和双向IO口的区别
- 准双向口:准双向口就是做输入用的时候要有向锁存器写1这个准备动作,所以叫准双向口
- 真正的双向口不需要任何预操作可直接读入读出
P2口
P2口也是准双向口,他有两种用途:通用IO接口和高8位地址线。(在接有片外存储器或扩展IO口且寻址范围超过256字节时,P2口用作高8位地址总线)
P3口
P3口除了作为准双向通用IO口使用外,他的每一根线还具有第二种功能。(P3口的每一条引脚均可独立定义为第一功能的输入/输出或第二功能)
外部引脚
控制线
- ALE/PROG(30脚):地址锁存信号输出端。ALE在每个机器周期内输入两个脉冲
- PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效
- RST/VPD(9脚):RST即为reset,VPD为备用电源。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可以实现复位操作,使单片机恢复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位
- EA/VPP(31脚):EA为片外程序存储器选用端。该引脚低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器
主电源引脚
- VCC(40脚): 接+5v电源正极
- VSS(20脚):接+5v电源地级
外接晶体引脚
XTAL1、XTAL2(19、18脚) :当使用单片机内部震荡电路时,这两个引脚用来外接石英晶体(不分正负极)和微调电容,如图a。当采用外部时钟时,对于HMOS单片机,对XTAL1引脚接地,XTAL2接片外震荡脉冲输入(带上拉电阻);对于CHMOS单片机XTAL2引脚接地,XTAL1接片外震荡脉冲输入(带上拉电阻)
理解:单片机在运行时需要一个步调作为运行基准的,通过晶体振荡器输出的方波信号就像指挥方队的口号一样。
片外总线结构
- 地址总线:地址总线宽度为16位,寻址范围都为64kb。由P0口径地址锁存器提供低8位(A7-A0) ,P2口提供高8位(A15-A8)而形成。可对片外程序存储器和片外数据存储器寻址
- 数据总线:数据总线宽度为8位,由P0口直接提供
- 控制总线:控制总线由第二功能状态下的P3口和4根独立的控制线RST、EA、ALE和PSEN组成
单片机的工作方式
复位方式
前言:在时钟电路工作以后,当外部电路使得RST端出现2个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位
- 上电复位:VCC加电以后,电容器充电,电容器左板电子流出显正电,电容器右板电子流入显负电,因而rst处电流方向由右板流入rst,rst处表示为高电平
- 按键复位:按键后短接上面电容,进而使rst处电位处于高电平状态。
注意:复位端没有标上划线就代表高电平有效(当这个引脚输入5V高电平时就会触发单片机从头执行程序代码)
单片机的时序
- 时钟周期:也称振荡周期,单片机内部时钟电路产生(或外部时钟电路送入)的信号周期
- 指令周期:计算机取一条指令至执行完该指令需要的时间称为指令周期、
- 机器周期:机器周期是单片机的基本操作周期,每个机器周期包含S1,S2……S6 6个状态,每个状态包含2拍P1,P2,每一拍为一个时钟周期。因此,一个机器周期包含12个时钟周期。
注意:
- 时钟周期是单片机时序中的最小单位,是时钟频率的倒数。
- 震荡周期:震荡一次的时间是多长;震荡频率:一秒的时间内震荡多少次。
- 机器周期是单片机完成一个操作最短的时间,也就是CPU执行语句所需时间的最小单位
- 机器周期的大小将影响CPU执行每条指令的时间长短