null第二章 MCS-51系列单片机的硬件结构第二章 MCS-51系列单片机的硬件结构第一节 总体概况 第二节 微处理器 第三节 存储器 第四节 定时器/计数器 第五节 并行I/O口 第六节 串行I/O接口 第七节 中断系统 第八节 特殊的工作方式 第一节 总体概况第一节 总体概况 一、 主要功能
MCS-51系列单片机是美国Intel公司在1980年推出的高性能8位单片机,有51和52两个子系列。
52子系列主要有8032、8052两种机型。片内存储器为256个字节;片内程序存储器8K;三个16位定时器;有6个中断源。
在51系列中,主要有8031、8051、8751三种机型,其指令系统与引脚完全兼容仅片内ROM不同。MCS-51系列单片机的主要功能为:null MCS-51系列单片机的主要功能为:
①8位CPU
② 128个字节的片内数据存储器。
③ 4K片内程序存储器(8031无)
④可扩展64K片外程序和数据存储器 。
⑤ 4个8位并行I/O接口:P0、P1、P2、P3。
⑥ 21个字节专用寄存器。
⑦ 1个全双工串行I/O接口,可多机通信。
⑧有5个中断源,可编程为两个优先级。
⑨ 2个16位定时器/计数器。
⑩有较强的位寻址、位处理能力。
⑾ 111条指令。
⑿用单一+5V电源。 二、内部结构 二、内部结构 MCS-51系列单片机由运算器、控制器、片内存储器、4个I/O接口、串行接口、定时器/计数器、中断系统、振荡器等功能部件组成。 MCS-51系列单片机的内部结构框图如图。图 MCS-51单片机内部结构图 MCS-51单片机内部结构nullSP:堆栈指针寄存器。
PSW:程序状态字寄存器。
DPTR:数据指针寄存器。在访问片外ROM、片外RAM时,用作地址指针。例如:
① MOVX A,@DPTR
② MOVX @DPTR,A
③ MOVX A,@Rj (j=1,0)
MOVX @Rj,A;
MOVC A,@A+DPTR;
MOVC A,@PC+DPTR三、外部引脚说明三、外部引脚说明 MCS-51系列
单片机芯片有40
个引脚,采用双
列直插式封装,
见图。
图 外部引脚图VCCnull1、主电源引脚
VCC:5V;VSS:电源地端。
2、外接晶体引脚:
XTAL1和XTAL2
3、P0、P1、P2、P3为准
双向通用 I/O口使用。
在有片外存储器时:
P0:P0口只能作为低8位地址总线或双向数据总线(分时复用)。
P2:为高8位地址总线 nullP3口的第二功能说明如下:
P3.0:RXD (串行输入端)
P3.1:TXD (串行输出端)
P3.2:INT0请求输入端
P3.3:INT1请求输入端
P3.4:T0计数脉冲输入端
P3.5: T1计数脉冲输入端
P3.6:WR(片外RAM写选通信号)
P3.7: RD(片外RAM读选通信号) null4.控制线
ALE:地址锁存有效信号输出端。
PSEN:外部程序存储器读选通信号端
RST/VPD:复位信号端/后备电源输入端。
输入10ms以上高电平脉冲,单片机复位。
VPD使用后备电源,可实现掉电保护。
EA/VPP:片外程序存储器选择信号端/编程电源输入端 复位电路:
1)上电复位
2)外部信号复位单片机
RST
K+5V200Ω1K30μFEA接0V,只选用片外程序存储器。null 综上所述,对MCS-51系列单片机引脚可归纳出以下两点:
(1)单片机引脚少,许多引脚都具有第二功能。
(2)单片机对外呈三总线形式。
P2、P0组成16位地址总线;
P0为数据总线(分时复用);
ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD、共10个引脚组成控制总线。第二节 微处理器 第二节 微处理器 微处理器又称CPU,它由运算器和控制器两部分组成。
一、运算器:以算术逻辑单元ALU为核心,含累加器A、暂存器、程序状态字PSW、B寄存器等许多部件。
1、ALU (8位):进行各种算术操作和逻辑操作。
2、累加器Acc(8位):许多指令规定A累加器为其操作数。
3、程序状态字PSW(8位)
存放ALU运算过程的标志状态
Cy AC F0 RS1 RS0 OV — Pnull Cy(PSW.7):保存运算后最高位的进位/借位状态,当有进位/借位,Cy=1,否则Cy=0。
AC(PSW.6):保存低半字节的进位/借位状态,当D3产生进位/借位,AC=1,否则AC=0。
F0(PSW.5):用户定义的一个状态标志。
OV(PSW.2):OV=Cy7ÅCy6,补码运算产生溢出OV=1,否则OV=0。
P:反映累加器A中数据的奇偶性。当累加器A中数据的1的个数为奇数,P=1,否则P=0。
RS1、RS0(PSW.4、PSW.3):
复位时,PSW=00Hnull例2-1 试分析执行下列指令后,A、C、 AC、OV、P的内容是什么?
MOV A,#7FH
ADD A,#47H
01111111
+ 01000111 11000110
AC=1,C=0,OV=1,P=0
二、控制器二、控制器1.指令部件:
读取程序指令、指令译码、修改程序指针。1)程序计数器 PC:存放当前指令地址。
CPU执行程序时,先按PC给出的地址到存储器取一条指令,PC自动加1,…。
2) 指令寄存器IR :暂存当前指令。
指令操作码送指令译码器。
3)指令译码器ID :将每条指令译码变成控制电平。处理程序指令,并协调各逻辑部件按一定时序工作。二、 控制器二、 控制器 CPU执行程序的简要过程:
1)PC给出当前指令的存储地址。2、 时序部件
时钟和内部分频电路。时钟信号经过分频,与指令译码信号组合,形成一定节拍的时序信号,控制各逻辑部件协调工作。PC=PC=PC=2)CPU到存储器取指令,PC自动加13)指令译码器对指令译码,
CPU执行指令。4)CPU到存储器取指令,PC=PC+1。5)CPU执行下一条指令,…三、振荡器和CPU时序 三、振荡器和CPU时序 时钟频率范围要求在1.2MHz~12MHz之间。
1.内部时钟方式:内部一个高增益反相放大器与片 外石英晶体构成了一个自激振荡器。
晶体振荡器的振荡频率决定单片机的时钟频率。2.外部时钟方式:外部振荡器输入时钟信号。外部时钟方式参照教科书P45表2-2null机器周期:完成一个基本操作所需要的时间。
一个机器周期由12个振荡器周期组成。
指令周期:一条指令的执行时间。
以机器周期为单位:有单周期、双周期和四周期指令。思考题:设应用单片机晶振频率为12MHz,
问机器周期为多少? 以字节为单位:有单字节指令、双字节指令和三字节指令。第三节 存储器 第三节 存储器 普林斯顿结构:程序和数据共用一个存储器逻辑空间,统一编址。
哈佛结构:程序与数据分为两个独立存储器逻辑空间,分开编址。nullMCS-51存储器配置
物理上4个存储器地址空间:
片内/片外程序存储器空间;
片内/片外数据存储器空间。
逻辑上3个存储器地址空间:
64KB 程序存储器
256B 片内数据存储器
64KB 片外数据存储器null 一、程序存储器
64KB 程序存储器空间
EA不同电平,选择片内或片外程序存储器7个特殊存储单元:
复位入口: 0000H
中断入口: 0003H
000BH
0013H
001BH
0023H
002BH附表:7个特殊单元 附表:7个特殊单元
中断源 入口地址
计算机复位 0000H
外部中断0 0003H
定时器/计数器0溢出 000BH
外部中断1 0013H
定时器/计数器1溢出 001BH
串口 0023H
T2溢出(仅8032、8052用) 002BH
在实际应用中,在入口地址处,放一条无条件转移指令,使程序转移到相应的中断服务程序入口地址。null二、数据存储器
1、64KB片外数据存 储器空间(与扩展I/O接口共用)
2、256B片内数据存储器:
1) 片内RAM
2) 特殊功能寄存器 SFR
片内RAM、片外数据存储器、程序存储器三者各自独立编址,地址可以重叠。
访问片外数据存储器用MOVX指令
访问程序存储器用MOVC指令
访问片内RAM与SFR主要用MOV指令。
表2-5列出了访问不同存储器与所用指令及其寻址方式的对应关系。
null表2-5列出了访问不同存储器与所用指令及其寻址方式的对应关系。
表2-5
存储器 访问性质 所用指令及寻址方式
依次取指执行程序 根据PC值自动访问
ROM 程序转移 程序转移类指令
用户访问 MOVC指令
访问整个字节 主要用MOV指令,
片内RAM 即可直接寻址,又可间接寻址
访问20H~2FH单元中的某位 位操作指令,借位地址寻址
SFR 访问整个字节 主要用MOV指令,只能直接寻址
访问SFR中的可寻址位 位操作指令,借位地址寻址
如容量不大于256单元 MOVX指令,间接寻址,
片外RAM R0或R1用作间接寻址寄存器
如容量大于256单元 MOVX指令,间接寻址,
数据指针寄存器用作间接寻址二、数据存储器二、数据存储器2. 256B片内数据存储器
1)片内RAM
工作寄存器区:
字节地址:00H~1FH
位寻址区:
字节地址:20H~2FH
位地址为:00H~7FH
数据缓冲区/堆栈区:
字节地址:00H~7FH
一般使用30H~7FHnull D7 D6D5 D4 D3D2D1D0
工 00H R0
┇ ┇ 工作寄存器0组
作 07H R7
08H R0
寄 ┇ ┇ 工作寄存器1组
0FH R7
存 10H R0
┇ ┇ 工作寄存器2组
器 17H R7
18H R0
区 ┇ ┇ 工作寄存器3组
1FH R7
20H 07 06 05 04 03 02 01 00
┇ ┇ ┇ ┇ ┇ ┇ ┇ ┇ ┇ 位寻址区
2FH 7F 7E 7D 7C 7B 7A 79 78
30H
┇ ┇ 数据缓冲区 7FH
图2-8 51子系列单片机片内RAM的配置图
null(1)工作寄存器区 00H~1FH单元工作寄存器区。分成4个组,每个组都是8个单元,用作8个寄存器,都以R0~R7来表示。由程序状态字RSW中的RS0、RS1两位进行选择确定哪一组工作。
(2)位寻址区 20H~2FH单元是位寻址区,该区的每一位都被赋予了一个位地址。有了位地址就可以位寻址。
(3)数据缓冲区30H~7FH是数据缓冲区,共80个单元。
工作寄存器区、位寻址区、数据缓冲区统一编址,可使用同样的指令访问。这三个区的单元即有自己独特的功能,又都可作为一般的数据缓冲区用。 null例1,选择工作寄存器组1。
CLR PSW.4
SETB PSW.3
MOV R0,#28H
例2,位操作。
CLR 07H,
SETB 08H
null(4)堆栈与堆栈指针 从原则上来说,
片内RAM区00H-7FH单元,都可当作堆栈用,为了避开工作寄存器区和位寻址区,堆栈应被设置在数据区。堆栈指针寄存器SP专用于指出当前栈顶。
复位后,SP的初值为07H。可通过软件指令重新给SP赋值来建立栈区。一般把SP指针的初值设置在30H-7FH之间。例如:
MOV SP,#56H
该条指令使栈区在56H~7FH之间。二、数据存储器二、数据存储器2. 256B数据存储器空间
2)特殊功能寄存器SFR
占用字节地址:80H~FFH
位寻址寄存器:
专用寄存器:
A、B、PSW、DPTR、SP
I/O接口寄存器:
P0、P1、P2、P3、SBUF、TMOD、TCON、SCON …
其字节地址可被8整除。null 特殊功能寄存器也称专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O接口、串行I/O接口、定时器/计数器、中断系统等功能模块的工作,我们在编程时可以置数设定,却不能自由移作它用。将各专用寄存器(程序计数器PC除外)与片内RAM统一编址,作为直接寻址字节,可直接寻址。null专用寄存器名称
PSW:程序状态字寄存器 DPTR: 数据指针
DPL: 数据指针低字节 DPH: 数据指针高字节
TCON:定时器/计数器控制寄存器 SP: 堆栈指针
TMOD:定时器/计数器方式控制寄存器
PCON: 电源控制寄存器
TL0: 定时器/计数器0低8位
TH0: 定时器/计数器0高8位
TL1: 定时器/计数器1低8位
TH1: 定时器/计数器1高8位
SCON: 串行控制寄存器
SBUF: 串行数据缓冲器 null 片内RAM、片外RAM、程序存储器三者各自独立编址,地址可以重叠。
访问片外RAM用MOVX指令;访问程序存储器)用MOVC指令;访问片内RAM与SFR主要用MOV指令。nullMOVC A,@A+DPTR ;A¬(A+DPTR)
MOVC A,@A+PC ;A¬(A+PC)
MOV DPTR,#2000H
MOVX A,@DPTR
MOV DPTR,#2100H
MOVX @DPTR,A
MOVX A,@R0
MOVX @R0,A
MOV A,@R0
MOV @R0,A
MOV A,00H
MOV 72H,A访问片外RAM 和ROM,只能用间接寻址,访问片内RAM ,即可用间接寻址,又即可用直接寻址。例:
MOVC A,1234H
MOVX 1234H,A
MOV 1234H,A
MOV 34H,A (×)(×)(×)nullMCS-51的寄存器在片内RAM都有映像地址。使用时,既可用寄存器名,也可用对应单元地址。
本文档为【单片机51芯片】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。