第二章_MCS-51系列单片机结构与工作
发布时间:2024-11-25
发布时间:2024-11-25
单片机
第二章
第二章第二章
第二章第二章
第二章第二章
第二章MCSMCS--5151系列单片
系列单片系列单片
系列单片系列单片
系列单片系列单片
系列单片
机结构与工作原理
机结构与工作原理机结构与工作原理
机结构与工作原理机结构与工作原理
机结构与工作原理机结构与工作原理
机结构与工作原理2.1
2.1 单片机的内部结构
单片机的内部结构单片机的内部结构
单片机的内部结构单片机的内部结构
单片机的内部结构单片机的内部结构
单片机的内部结构
2.2 2.2 单片机的引脚及其功能
单片机的引脚及其功能单片机的引脚及其功能
单片机的引脚及其功能单片机的引脚及其功能
单片机的引脚及其功能单片机的引脚及其功能
单片机的引脚及其功能2.2 2.2 单片机的引脚及其功能
单片机的引脚及其功能单片机的引脚及其功能
单片机的引脚及其功能单片机的引脚及其功能
单片机的引脚及其功能单片机的引脚及其功能
单片机的引脚及其功能
2.32.3单片机的中央处理器
单片机的中央处理器单片机的中央处理器
单片机的中央处理器单片机的中央处理器
单片机的中央处理器单片机的中央处理器
单片机的中央处理器
2.4 2.4 存储器的结构
存储器的结构存储器的结构
存储器的结构存储器的结构
存储器的结构存储器的结构
存储器的结构
2.52.5单片机的时钟电路与时序
单片机的时钟电路与时序单片机的时钟电路与时序
单片机的时钟电路与时序单片机的时钟电路与时序
单片机的时钟电路与时序单片机的时钟电路与时序
单片机的时钟电路与时序
2.6 2.6 单片机的堆栈
单片机的堆栈单片机的堆栈
单片机的堆栈单片机的堆栈
单片机的堆栈单片机的堆栈
单片机的堆栈
2.7 2.7 单片机的复位操作及复位电路
单片机的复位操作及复位电路单片机的复位操作及复位电路
单片机的复位操作及复位电路单片机的复位操作及复位电路
单片机的复位操作及复位电路单片机的复位操作及复位电路
单片机的复位操作及复位电路2.1 2.1 单片机的内部结构单片机的内部结构?80C51是MCS-51系列单片机的典型产品,我们以其作为代表进行
系统的讲解。80C51单片机具有中央处理器、程序存储器(ROM)、
数据存储器(RAM)、定时/计数器、并行接口、串行接口、中断系统
和振荡电路八大系统。MCS-51系列单片机通过数据总线、地址总线和振荡电路八大系统。MCS-51系列单片机通过数据总线、地址总线
和控制总线三大总线结构与单片机外围电路交换信息。其内部结构框
图如图2-1所示。2.1 2.1 单片机的内部结构单片机的内部结构图2-1 80C51
单片机
单片机内部结构框图2.2 2.2 单片机的引脚及其功能单片机的引脚及其功能?2.2.1MCS-51系列单片机的引脚与功能?2.2.1MCS-51系列单片机的引脚与功能
?2.2.2MCS-51系列单片机的片外三总线结构2.2.1 MCS2.2.1 MCS--5151系列单片机的引脚与功能系列单片机的引脚与功能?MCS-51系列单片机有双列直
插式的DIP封装和方形封装两
种封装形式。HMOS工艺的单种封装形式。HMOS工艺的单
片机采用40脚的DIP封装形式,
其引脚排列如图2-2所示。图
2-2 MCS-51系列单片机引脚排列图2.2.1 MCS2.2.1 MCS--5151系列单片机的引脚与功能系列单片机的引脚与功能?(1)Vcc(40脚):电源端,正常+5V工作电压。
?(2)Vss(20脚):接地端。
?(3)RST/ VPD(
9脚):复位信号输入端。
?晶振在运行状态中只要复位引脚出现2个机器周期的高电平,即可复
位。该引脚的第二功能是备用电源输入端,接上+5V备用电源当芯片位。该引脚的第二功能是备用电源输入端,接上+5V备用电源当芯片
突然断电时,能保护片内RAM数据,使复电后能正常运行。
?(4)ALE/ (30脚):ALE是地址锁存允许信号。
?它的作用是把CPU从P0口分时输出的低八位地址锁存在锁存器中。在
正常情况下ALE 输出信号恒定为1/6 振荡频率,并可用作外部时钟或
定时。该引脚的第二功能是对EPROM编程时的编程脉冲输入端。PROG2.2.1 MCS2.2.1 MCS--5151系列单片机的引脚与功能系列单片机的引脚与功能?(5)(29脚):读片外程序存储器选通信号输出端。
?执行外部程序存储器数据时,将产生负脉冲作为外部程序存储器的读
选通信号。在访问外部数据存储器和内部程序存储器时无效。
?(6)/ Vpp(
31脚):读片内与片外程序存储器的选择端。EAPSEN?高电平时,低4KB的地址为片内程序存储器,高于4KB以上的地址时,
为片外程序存储器;低电平时,则只能读片外程序存储器;
?该引脚的第二功能Vpp是对片内
EPROM编程时的电压输入端。
?(7)XTAL1(19脚):片内振荡电路反向放大器的输入端,采用外
部时钟时该引脚接地。EA2.2.1 MCS2.2.1 MCS--5151系列单片机的引脚与功能系列单片机的引脚与功能?(8)XTAL2(18脚):片内振荡电路反向放大器的输出端,采用外
部时钟时该引脚为振荡信号的输入端。
?(9)P0口:P0.0~P0.7依次为第39~32脚,P0口除了可以作普通
的双向I
/O口使用外,也可以在访问外部存储器时用作低8位地址线和
数据总线。
?(10)P1口:P1.0~P1.7依次为第1~8脚,P1口是带内部上拉电
阻的双向I/O口,向P1口写入“1”时,P1口被内部上拉为高电平,
可用作输入口。当作为输出脚时,被外部拉低的P1口会因为内部
单片机
上拉
电阻的存在而输出电流。2.2.1 MCS2.2.1 MCS--5151系列单片机的引脚与功能系列单片机的引脚与功能?(11)P2口:P2.0~P2.7依次为第21~28脚,P2口也是带内部上
拉电阻的双向I/O口,向P2口写入“1”时,P2口被内部上拉为高电
平,可用作输入口。当作为输出脚时,被外部拉低的P2口会因为内部
上拉电阻的存在而输出电流。在访问外部程序存储器和外部数据存储
器时,P2口可作为地址总线的高八位地址线。
?(12)P3口:P3.0~P3.7依次为第10~17脚,也是带内部上拉电
阻的双向I/O口,向P3口写入“1”时,P3口被内部上拉为高电平,
可用作输入口。当作为输出脚时,被外部拉低的P3口会因为内部上拉
电阻的存在而输出电流。同时,P3口也具有第二功能,其第二功能如
表2-1所示。2.2.1 MCS2.2.1 MCS--5151系列单片机的引脚与功能系列单片机的引脚与功能2.2.2 MCS2.2.2 MCS--5151系列单片机的片外三总线结系列单片机的片外三总线结
构构?
片外三总线结构如图2-3所示。图2-3 片外三总线结构。2.2.2 MCS2.2.2 MCS--5151系列单片机的片外三总线结系列单片机的片外三总线结
构构?
(1)地址总线(AB):地址总线为16位,可寻址范围为
216=64KB。16位地址总线由并口P0经地址锁存器提供低8位地址
(A0至A7);并口P2直接提供高8位地址(A8至A15)。由于P0口
还要作数据总线,只能分时用作低8位地址线,所以P0输出的低8位
地址必须用锁存器锁存。锁存器的锁存控制信号为ALE输出信号。P2地址必须用锁存器锁存。锁存器的锁存控制信号为ALE输出信号。P2
口具有输出锁存功能,所以不需外加锁存器。
?(2)数据总线(DB):数据总线为8位,由并口P0提供,用于单片
机与外部存储器和I/O设备之间传送数据。P0口为三态双向口,可以
进行双方向的数据传送。
?(3)控制总线(CB):由并口P3的第二功能状态和4根独立控制线
RESET、EA、ALE、PSEN组成。2.32.3单片机的中央处理器单片机的中央处理器?2.3.1运算器
?2.3.2控制器2.3.12.3.1运算器运算器?1.算术/逻辑部件ALU
?单片机的ALU具有加、减、乘、除等基本算术运算和“与”、“或”、
“异或”、循环、求补、清零等基本逻辑运算功能
?2.累加器A
?累加器A又称为特殊功能寄存器Acc,它既可存放操作数,也可用来
存放运算的中间结果,是最
繁忙的寄存器。
?3.寄存器B
?寄存器B是另一特殊功能寄存器,可作通用寄存器使用。除此之外,
在执行乘法运算指令时,用来存放其中一个乘数和乘积的高8位;在
执行除法运算指令时,用来存放除数和结果的余数。2.3.12.3.1运算器运算器?4.程序状态字寄存器PSW
?
单片机
程序状态字寄存器PSW是8位寄存器,用来存储当前指令执行后的状
态,便于程序查询和判别。程序状态字寄存器各位的定义如表2-2。
?(1)进位标志位C:又名CY,在加法和减法运算时,表示运算结果
最高位的进位或借位情况。2.3.12.3.1运算器运算器?(2)半字节进位标志位AC:在加法和减法运算时,表示运算结果高
低半字节间的进位或借位情况。
?(3)自定义位F0:用户自定义标志位。
?(4)RS1、RS0:工作寄存器组选择标志位。
?(5)溢出标志位OV:结果有溢出时,OV=1,否则OV=0。
?(6)奇偶校验标志位P:累加器A中的“1”的个数为奇数时P=1,否
则P=0。2.3.2 2.3.2 控制器控制器?控制器是单片机的神经中枢,包括定时控制逻辑、指令寄存器IR、指
令译码器ID、程序计数器PC、堆栈指针SP和数据指针寄存器DPTR
等控制部件。控制器以晶振频率为基准作为CPU的时序,控制取指令、
执行指令、存取操作数和运行结果等。控制器发出各种控制信号,完
成一系列定时控制的微操作,用来协调单片机内部各功能部件之间的
数据传送、数据运算等操作,并对外发出地址锁存ALE、外部程序存
储器选通信号,以及通过P3.6和P3.7发出数据存储器读、写等控制
信号,并且接收处理外接的复位和外部程序存储器访问控制信号等。2.4 2.4 存储器的结构存储器的结构?2.4.1 程序存储器
?2.4.2数据存储器2.4 2.4 存储器的结构存储器的结构?MCS-51系列单片机在物理
上有四个存储空间,分别是
片内程序存贮器和片外程序
存储器、片内数据存储器和
片外数据存储器。但如果根
据存储器地址分配来分,可
分为三部分,即片内片外统
一编址的64KB的程序存储器;
片内独立编址的256B数据存
储器和片外独立编址的64KB
数据存储器。如图2-5所示。图
2-5 MCS-51系列单片机的存储器结构2.4.1 2.4.1 程序存储器程序存储器?程序存储器用于存放程序和表格常数。MCS-51系列单片机中8031
内部无程序存储器,必须外接程序存储器;8051和8751单片机有
4KB (0000H~0FFFH)的片内程序存储器和60
KB(1000H~FFFFH)的片外可扩展程序存储器。在程序运行中,如
果为高电平,CPU运行时从片内地址0000H开始执行程序,当PC值
超过0FFFH,自动转到片外存储器的1000H~FFFFH地址空间去执
行程序;如果为低电平,CPU只能从外部存储器的0000H地址开始
执行指令。
?程序存储器的地址底端单元留给系统作特殊使用,如表2-3所示。2.4.1 2.4.1 程序存储器程序存储器底端地址单元功能单元地址
复位后初始化引导程序
0000H ~0002H
外部中断0
0003H ~000AH
表2-3 程序存储器的底端地址单
单片机
元功能
定时器/计数器0溢出中断
000BH ~0012H
外部中断1
0013H ~001AH
定时器/计数器1溢出中断
001BH ~0022H
串行端口中断
0023H ~002AH 2.4.22.4.2数据存储器数据存储器?数据存储器用于数据的暂存或存放程序运算的中间结果等,分片内数
据存储器和片外数据存储器。片内数据存储器为256B,地址范围是
00H-0FFH;片外数据存储器为64KB,地址范围是0000H-0FFFFH。
?1.片内数据存储器
?(1)片内低128B数据存储器?(1)片内低128B数据存储器
?片内低128字节的数据存储器可划分为三个区域:工作寄存器区,位
寻址区和用户RAM区。如表2-4所示。
?2.4.22.4.2数据存储器数据存储器?表2-4 片内低128字节的数据存储器分布表地址范围区域
30H-7FH
用户RAM区
20H-2FH
位寻址区
18H-1FH
工作寄存器组3
10H-17H
工作寄存器组2
08H-0FH
工作寄存器组1
00H-07H
工作寄存器组02.4.22.4.2数据存储器数据存储器?工作寄存器区
工作寄存器区工作寄存器区
工作寄存器区?工作寄存器区地址范围是00H-1FH,分为四组,每组由8个工作寄存
器(称为R0~R7)组成,每个工作寄存器占有一个地址单元。在程
序运行中,只允许一个工作寄存器组工作,称为当前工作寄存器组,序运行中,只允许一个工作寄存器组工作,称为当前工作寄存器组,
因此每组工作寄存器不会因名称相同而混淆。
?程序状态字寄存器PSW中RS1、RS0位的值决定四个工作寄存器组
哪一组为当前工作寄存器组,如表2-5所示。2.4.22.4.2数据存储器数据存储器?表2-5 RS1、RS0确定的当前工作寄存器组组号
RS1RS0
片内RAM地址通用寄存器名称
00000H~07H
R0~R7
00000H~07H
R0~R7
101
08H~0FH R0~R7
210
10H~17H R0~R7
311
18H~1FH R0~R7 2.4.22.4.2数据存储器数据存储器?位寻址区
位寻址区位寻址区
位寻址区
?位寻址区地址范围是20H~2FH,共有16字节单元共128位,位地址
范围为00H~7FH,这些单元可以按字节操作,也可以用位地址寻址
对应单元中的某一位。
?位地址与单元地址是重叠的,指令系统采用不同的寻址方式来区分位
地址和字节地址的操作。用位寻址方式访问00H-7FH位地址,用直
接寻址和间接寻址方式访问00H-7FH字节地址单元。(详见第三章)
?用户
用户用户
用户RAM区
区区
区
?用户RAM区地址范围是30H~0FFH,堆栈区也可以设在这里。2
.4.22.4.2数据存储器数据存储器?(2)特殊功能寄存器区
?MCS-51系列单片机共有21个特殊功能寄存器(SFR),离散的分布
在片内80H~0FFH地址范围。特殊功能寄存器的功能是固定的,用
户不得更改。对SFR的字节操作只能采用直接寻址方式,SFR既可用
寄存
单片机
器名表示,也可用寄存器单元地址表示。有11个SFR可以位寻址,
这些可位寻址的寄存器地址特征是都能被8整除,即字节地址末位是
“8”或“0”。位寻址的SFR可用位地址、位符号和位表示。2.4.22.4.2数据存储器数据存储器?2.片外数据存储器
?片外数据存储器地址范围是0000H~FFFFH,用MOVX 指令访问,
用16位地址指针DPTR寻址,最大寻址范围是64K。当访问片外低
256B单元存储区时,也可用寄存器间接寻址方式。2.52.5单片机的时钟电路与时序单片机的时钟电路与时序?2.5.1时钟电路
?2.5.2单片机的时序?2.5.2单片机的时序2.5.1 2.5.1 时钟电路时钟电路?MCS-51系列单片机的时钟电路分内部时钟电路和外部时钟电路两种。
?1.内部时钟电路
?MCS-51系列单片机内部有一个高增益的反相放大器,其输入端为芯片引
脚XTAL1,输出端为芯片引脚XTAL2,将XTAL1和XTAL2与外部的石英
晶体及两个电容连接起来可构成一个石英晶体振荡器,如图2-4(a)所
示。一般晶体的振荡频率范围是1.2~12MHz。2.5.1 2.5.1 时钟电路时钟电路?2.外部时钟电路
?当有多片单片机组成系统时,为了使单片机之间时钟信号实现同步,
应当引入唯一的共用外部脉冲信号,作为各单片机的振荡脉冲。当采
用外部时钟电路时,片内的反相放大器不工作,所以外部的脉冲信号
由XTAL2引入,XTAL1接地,如图2-4(b)所示。图
2-4 单片机的时钟电路
(a)内部时钟电路;(b)外部时钟电路2.5.22.5.2单片机的时序单片机的时序?时序是执行各种信号的时间序列,单片机全部电路在统一的时钟信号
控制下严格地按照时序进行工作。
?MCS-51系列单片机有四个定时单位,从小到大依次为拍节、状态、
机器周期和指令周期。
?(1)拍节:是指单片机提供定时信号振荡源的周期,用“P”表示。
?(2)状态:振荡脉冲经二分频为单片机的时钟信号,将时钟信号周
期定义为状态,用“S”表示。一个状态包括两个拍节,前半周期为拍
节1(P1),后半周期为拍节2(P2)。2.5.22.5.2单片机的时序单片机的时序?(3)机器周期:规定六个状态(12个拍节)组成一个机器周期。用
S1~S6表示6个状态,用S1P1、S1P2、S2P1、S2P2、…S6P1、
S6P2表示12个拍节。
?(4)指令周期:指单片机执行一条指令所占用的时间。指令周期使
用机器
周期的数目表示,一个指令周期通常包含1~4个机器周期。
MCS-51系列单片机除乘法、除法指令是4周期指令外,其余都是单
周期指令或双周期指令。2.6 2.6 单片机的堆栈单片机的堆栈?堆栈是片内数据存储器中只允许数据从一端插入或删除的、连续的线
性表,是一种数据结构。堆栈有
单片机
两种操作:压栈和出栈,压栈是将数
据存入堆栈,称为PUSH;出栈是将数据从堆栈中取出,称为POP。
MCS-51系列单片机的堆栈操作遵循“先进后出”的原则。如在执行
子程序调用和中断处理程序前,需要将断点和现场的数据压栈保存,
执行完子程序和中断程序后,需要将断点和现场的数据出栈,即恢复
现场。2.7 2.7 单片机的复位操作及复位电路单片机的复位操作及复位电路?单片机的复位是为了使单片机系统以及外围电路恢复某种确定的初始
状态。单片机复位后,并行接口P0~P3端口处于高电平;堆栈指针
SP为07H,第一个入栈内容将写入08H单元;其它特殊功能寄存器
和程序计数器PC均被清零。即复位后,PC=0000H,所以程序从
0000H地址单元开始执行,启动后,片内RAM为随机值,且运行中
的复位操作不改变片内RAM的内容;IP、IE和PCON的有效位为0,
各中断源处于低优先级且均被关断,串行通讯的波特率不加倍,
PSW=00H,当前工作寄存器为0组。
下一篇:高盐度有机废水处理技术研究进展