第二章单片机结构和工作原理.docx
《第二章单片机结构和工作原理.docx》由会员分享,可在线阅读,更多相关《第二章单片机结构和工作原理.docx(22页珍藏版)》请在冰豆网上搜索。
![第二章单片机结构和工作原理.docx](https://file1.bdocx.com/fileroot1/2023-7/10/54d08a45-d22a-4b14-9f8f-e45a486b428e/54d08a45-d22a-4b14-9f8f-e45a486b428e1.gif)
第二章单片机结构和工作原理
授课教师
授课班级
课的类型
授课时间
课时分配
授课地点
课题
教学目标
1.了解51单片机的结构;
2.学习51单片机的引脚及其功能;
重 点
51单片机的内部构造
难 点
51单片机的引脚及其功能
教法
讲授法+多媒体形式
教具
多媒体
作业
1.课堂作业
教材P43页练习题
2.课下作业
打印片子一套
引入课题:
新课教学:
第2章
MCS-51单片机的
硬件结构
各功能部件:
1.CPU(微处理器)
2.数据存储器(RAM)
片内为128个字节(52子系列的为256个字节)
3.程序存储器(ROM/EPROM)
8031:
无此部件;
8051:
4K字节ROM;
8751:
4K字节EPROM;
89C51/89C52/89C55:
4K/8K/20K字节闪存。
4.P1口、P2口、P3口、P0口:
为4个并行8位I/O口。
5.串行口1个全双工的异步串行口
6.定时器/计数器
7.中断系统
8.特殊功能寄存器(SFR)
共有21个,是一个具有特殊功能的RAM区。
2.2MCS-51的引脚
40只引脚双列直插封装(DIP)
引脚逻辑图
8051单片机为40条引脚双列直插式封装
引脚可分为三个部分
(1)电源及时钟引脚:
Vcc、Vss;XTAL1、XTAL2。
(2)控制引脚:
PSEN*、EA*、ALE、RESET
(3)I/O口引脚:
P0、P1、P2、P3,4个8位I/O口
2.2.1电源及时钟引脚
1.电源引脚
(1)Vcc(40脚):
+5V电源;
(2)Vss(20脚):
接地。
2.时钟引脚
(1)XTAL1(19脚):
采用外接晶体振荡器时,此引脚应接地。
(2)XTAL2(18脚):
接外部晶体的另一端。
2.2.2控制引脚
(1)RST/VPD(9脚):
复位与备用电源
(2)ALE/PROG*(30脚):
第一功能ALE:
地址锁存允许
第二功能PROG*:
编程脉冲输入端。
(3)PSEN*(29脚):
读外部程序存储器的选通信号。
可以驱动8个LS型TTL负载。
(4)EA*/VPP(31脚):
EA*为内外程序存储器选择控制
EA*=1,访问片内程序存储器,
EA*=0,单片机则只访问外部程序存储器。
第二功能VPP,用于施加编程电压。
2.2.3I/O口引脚
(1)P0口:
双向8位三态I/O口,地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。
(2)P1口:
8位准双向I/O口,可驱动4个LS型TTL负载。
(3)P2口:
8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。
(4)P3口:
8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。
注意:
准双向口与双向三态口的差别。
当3个准双向I/O口作输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态。
2.3MCS-51的CPU
由运算器和控制器所构成
2.3.1运算器
对操作数进行算术、逻辑运算和位操作。
1.算术逻辑运算单元ALU
2.累加器A
使用最频繁的寄存器,可写为Acc。
A的作用:
(1)是ALU单元的输入之一,又是运算结果存放单元。
(2)数据传送大多都通过累加器A。
(3)A的进位标志Cy同时又是位处理机的位累加器。
3.程序状态字寄存器PSW
(1)Cy(PSW.7)进位标志位
(2)Ac(PSW.6)辅助进位标志位
(3)F0(PSW.5)标志位
由用户使用的一个状态标志位。
(4)RS1、RS0(PSW.4、PSW.3):
4组工作寄存器区选择控制位1和位0。
(5)OV(PSW.2)溢出标志位
指示运算是否产生溢出。
各种算术运算指令对该位的影响情况较复杂,将在第3章介绍。
(6)PSW.1位:
保留位,未用
(7)P(PSW.0)奇偶标志位
P=1,A中“1”的个数为奇数
P=0,A中“1”的个数为偶数
2.3.2控制器
1.程序计数器PC(ProgramCounter)
存放下一条要执行的指令在程序存储器中的地址。
基本工作方式:
(1)程序计数器自动加1
(2)执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。
(3)执行子程序调用或中断调用时完成下列操作:
①PC的当前值保护
②将子程序入口地址或中断向量的地址送入PC。
2.指令寄存器IR、指令译码器及控制逻辑电路
2.4MCS-51存储器的结构
哈佛(Har-vard)结构
存储器空间可划分为5类:
1.程序存储器空间
8031无内部程序存储器。
2.内部数据存储器空间
3.特殊功能寄存器
4.位地址空间
211个可寻址位。
5.外部数据寄存器空间
片外可扩展64K字节RAM。
2.4.1程序存储器
存放应用程序和表格之类的固定常数。
分为片内和片外两部分,由EA*引脚上所接电平确定
程序存储器中的0000H地址是系统程序的启动地址
5个单元具有特殊用途
表2-15种中断源的中断入口地址
外中断00003H
定时器T0000BH
外中断10013H
定时器T1001BH
串行口0023H
2.4.2内部数据存储器
共128个字节,
字节地址为00H~7FH。
00H~1FH:
32个单元,是4组通用工作寄存器区
20H~2FH:
16个单元,可进行128位的位寻址
30H~7FH:
用户RAM区,只能进行字节寻址,用作数据缓冲区以及堆栈区。
2.4.3特殊功能寄存器(SFR)
CPU对各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个。
有的SFR可进行位寻址,其字节地址的末位是0H或8H。
SFR中的某些寄存器
1.堆栈指针SP
指示出堆栈顶部在内部RAM块中的位置
复位后,SP中的内容为07H。
(1)保护断点
(2)现场保护
堆栈向上生长
2.数据指针DPTR
16位特殊功能寄存器,高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。
3.I/O端口P0~P3
P0~P3分别为I/O端口P0~P3的锁存器。
4.寄存器B
为执行乘法和除法操作设置的。
在不执行乘、除的情况下,可当作一个普通寄存器来使用。
5.串行数据缓冲器SBUF
存放欲发送或已接收的数据,一个字节地址,物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。
6.定时器/计数器
两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成:
TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来寻址访问。
2.4.4位地址空间
211个(128个+83个)寻址位。
位地址范围为:
00H~FFH。
内部RAM的可寻址位128个(字节地址20H~2FH)见表2-3(P24)。
特殊功能寄存器SFR为83个可寻址位,见表2-4(P24)。
2.4.5外部数据存储器
最多可外扩64K字节的RAM或I/O。
几点注意:
(1)地址的重叠性
程序存储器与数据存储器全部64K字节地址空间重叠
程序存储器与数据存储器在使用上是严格区分的
(3)位地址空间共有两个区域
(4)片外与片内数据存储器由指令来区分
(5)片外数据存储区中,RAM与I/O端口统一编址。
所有外围I/O端口的地址均占用RAM地址单元,使用与访问外部数据存储器相同的传送指令。
2.5并行I/O端口
共有4个8位双向I/O口,共32口线。
每位均有自己的锁存器(SFR),输出驱动器和输入缓冲器。
说明:
1、当控制信号为0时,P0口做双向I/O口,为漏极开路(三态)
2、控制信号为1时,P0口为地址/数据复用总线(用于口扩展)
3、P0W为端口输出写信号,用于锁存输出状态
4、P0R1为读锁存器信号,执行“ANLP0,#0FH”时该信号有效
2.5.2P1口内部结构
P1口内部结构如图2所示
输出部分有内部上拉电阻R*约为20K。
其他部分与P0端口使用相类似(读引脚时先写入1)。
2.5.3P2口内部结构
2、当控制信号为1时
P2口输出地址信息,
此时单片机完成外部的取指操作或对外部数据存储器16位地址的读写操作。
3、当P2口作为普通I/O口使用时
用法和P1口类似。
说明:
1、P2可以作为通用的I/O,也可以作为高8位地址输出。
2.5.4P3口内部结构
说明:
1、做普通端口使用时,第二功能应为“1”。
2.5.5P0~P3端口功能总结
使用中应注意的问题:
P0~P3口都是并行I/O口,但P0口和P2口还可用来构建数据总线和地址总线,所以电路中有一个MUX,进行转换。
而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无需转接开关MUX。
只有P0口是一个真正的双向口,P1~P3口都是准双向口。
原因:
P0口作数据总线使用时,为保证数据正确传送,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;否则应处于隔离状态。
为此,P0口的输出缓冲器应为三态门。
P3口具有第二功能。
因此在P3口电路增加了第二功能控制逻辑。
这是P3口与其它各口的不同之处。
2.6时钟电路与时序
时钟电路用于产生单片机工作所必需的时钟控制信号。
2.6.1时钟电路
时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性。
常用的时钟电路有两种方式:
内部时钟方式和外部时钟方式。
一、内部时钟方式
内部有一个用于构成振荡器的高增益反相放大器,其输入端:
XTAL1,输出端:
XTAL2。
二、外部时钟方式
常用于多片MCS-51
单片机同时工作。
三、时钟信号的输出
为应用系统中的其它芯片提供时钟,但需增加驱动能力。
2.6.2机器周期、指令周期与指令时序
一、时钟周期
单片机的基本时间单位。
若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc。
如fosc=6MHz,Tosc=166.7ns。
二、机器周期
CPU完成一个基本操作所需要的时间。
执行一条指令分为几个机器周期。
每个机器周期完成一个基本操作。
MCS-51单片机每12个时钟周期为一个机器周期,
一个机器周期又分为6个状态:
S1~S6。
每个状态又分为两拍:
P1和P2。
因此,一个机器周期中的12个时钟周期表示为:
S1P1、S1P2、S2P1、S2P2、…、S6P2。
三、指令周期
执行一条指令时,可分为取指令阶段和指令执行阶段。
取指令阶段,PC中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。
指令执行阶段,对指令操作码进行译码,以产生一系列控制信号完成指令的执行。
ALE信号是为地址锁存而定义的,以时钟脉冲1/6的频率出现,在一个机器周期中,ALE信号两次有效(注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲)
2.7复位操作和复位电路
2.7.1复位操作
单片机的初始化操作,摆脱死锁状态。
引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使MCS-51复位。
复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。
除PC之外,复位操作还对其它一些寄存器有影响,见表2-6(P34)。
SP=07H,P0-P3的引脚均为高电平。
在复位有效期间,ALE脚和PSEN*脚均为高电平,内部RAM的状态不受复位的影响。
2.7.2复位电路
片内复位结构:
上电自动复位和按钮复位
最简单的上电自动复位电路:
按键手动复位,有电平方式和脉冲方式两种。
电平方式
脉冲方式
两种实用的兼有上电复位与按钮复位的电路。
图2-19中(b)的电路能输出高、低两种电平的复位控制信号,以适应外围I/O接口芯片所要求的不同复位电平信号。
74LS122为单稳电路,实验表明,电容C的选择约为0.1F较好。
备注