Presentation is loading. Please wait.

Presentation is loading. Please wait.

本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.

Similar presentations


Presentation on theme: "本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时."— Presentation transcript:

1 本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时

2 第二章 单片机芯片的硬件结构 2.1 80C51单片机的结构 2.2 单片机的工作原理 2.3 80C51的存储器 2.4 I/O端口结构
2.2 单片机的工作原理 C51的存储器 2.4 I/O端口结构 2.5 CPU时序及时钟电路 2.6 MCS-51单片机工作方式 思考题

3 2.1 80C51单片机的结构 2.1.1 MCS-51系列单片机的分类 2.1.2 MCS-51系列单片机的结构框图

4 2.1.1 MCS-51系列单片机的分类 EPROM 掩膜MOS 存储器类型 单片机系列
/ 8KB 8052 8032 52子系列 4KB 8751 8051 8031 51子系列 MCS-51 EPROM 掩膜MOS 存储器类型 单片机系列

5 表2-1 MCS-51系列单片机配置一览表

6 2.1.2 MCS-51系列单片机的结构框图 MCS-51系列单片机的内部结构框图如图2-3所示。
MCS-51系列单片机是由8大部分组成:(下面以80C51为例) (1) 中央处理机CPU(8位字长) (2) 片内数据存储器RAM(256个单元) (3) 片内程序存储器ROM(4KB的ROM) (4) 定时器/计数器(2个16位的) (5) 并行I/O口(4个8位的) (6) 串行口(1个全双工的) (7) 时钟电路 (8) 中断系统(5个中断源)

7 图2-2 单片机结构框图 时钟OSC 程序存储器 ROM 数据存储器 RAM 中央处理器 (运算部件) 并行接口 内部总线 串行接口
定时器/计数器 CTC 内部总线 P0 P1 P2 P3 串行接口 中断系统 TXD RXD INT0 INT1 (控制部件) XTAL1 XTAL2 PSEN EA ALE RESET 图2-2 单片机结构框图

8 图2-3 MCS-51系列单片机内部结构框图

9 2.1.3 80C51单片机的引脚及功能 MCS-51系列单片机芯片为40个引脚, HMOS 工艺制造的芯片采用双列直插(DIP)方式封装,
其引脚示意及功能分类如图2-3所示。 CMOS工艺 制造的低功耗芯片也有采用方型封装的,但为44 个引脚,其中4个引脚是不使用的。

10 图2-4 MCS—51系列单片机引脚

11 1. 主电源引脚Vcc和Vss (1)VCC(40脚):接+5 V电源正端; (2)VSS(20脚):接+5 V电源地端。 2. 时钟电路引脚XTAL1和XTAL2 (1)XTAL1(19脚):接外部石英晶体的一 端。在片内它是一个反相放大器的输入端,这个放 大器构成了片内振荡器。 (2)XTAL2(18脚):接外部晶体的另一端。 在片内接至片内振荡器的反相放大器的输出端。

12 主电源引脚 Vss、Vcc 外接晶振引脚 XTAL1、XTAL2

13 当出现两个机器周期高电平时,单片机复位 。复位后,
3. 控制信号及电源复用引脚 (1) RST/VPD(9脚):RST即为RESET, VPD为备用电 源,所以该引脚为单片机的上电复位或掉电保护端。 当出现两个机器周期高电平时,单片机复位 。复位后, P0 ~ P3 输出高电平;SP寄存器为07H;其它寄存器全部清0; 不影响RAM状态。 (2) (30脚):当访问外部存储器时, ALE(允 许地址锁存信号)做锁存扩展地址低位字节的控制信号。P0 口先送出地址的低8位,通过ALE信号将低8位地址信号琐存 到外部地址专用琐存器中,再去传送数据信息。 ALE PROG /

14 (3) (29脚):当访问片外ROM时(即执行MOVC指
令时),此端输出负脉冲信号作为存储器读选通信号。 PSEN (4) (31脚):内\外ROM选择端 。 =1时,访问内部程序存储器,即内部ROM 。 =0时,只访问外部程序存储器,即外部ROM。 注:对于本身没有片内ROM的单片机,如8031单片机, 设计电路时,必须使 =0。 EA/VPP EA

15 4. 输入/输出(I/O)引脚 (1)P0口(39脚~32脚):P0.0~P0.7统称为P0口。在
访问片外存储器时,它分时输出低8位地址和数据,故这些 I/O线有地址线/数据线之称, 简写为AD0~AD7 (2)P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作 为准双向I/O接口使用。 (3) P2口(21脚~28脚):P2.0~P2.7统称为P2口,一 般可作为准双向I/O接口。在访问片外存储器时,它输出高8 位地址。 (4) P3口(10脚~17脚):P3.0~P3.7统称为P3口。这 8个引脚还具有专门的第二功能。(表2-2)

16 表2-2 P3口各位的第二功能

17 51系列单片机是总线结构的单片机,所谓总线就是指一组公共的信号线,51单片机的总线分为数据总线、地址总线和控制总线。
1.数据总线(DB):数据总线宽度为8位,有P0口提供。 2.地址总线(AB):地址总线宽度为16位,因此外部存储器直接寻址范围为64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0~A7),P2口直接提供高8位地址(A8~A15)。 3.控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、PSEN、ALE组成。

18 2.2 单片机的工作原理 指令与程序 CPU的工作原理 单片机程序执行的过程

19 2.2.1 指令与程序 1. 指令 是控制计算机进行某种操作的命令,指令是由二进制 2. 程序
1. 指令 是控制计算机进行某种操作的命令,指令是由二进制 代码表示的。CPU就是根据指令来指挥和控制计算机各部 分协调工作的。通常指令分为操作码和操作数两部分:操 作码规定操作的类型,操作数给出参加操作的数据或数据 存放的地址。 2. 程序 为完成某项规定任务,把计算机指令按一定次序进行 编排组合所形成的指令集称为程序。

20 2.2.2 CPU的工作原理 中央处理器CPU是单片机内部的核心部件,它决定了单片机的主要功能特性。 指令部件 控制器 时序部件
操作控制部件 等 运算器 算术/逻辑部件ALU 暂存器 等

21 1. 控制器 控制器是单片机的神经中枢,即统一指挥和控制计算机工作的部件。 (1)指令部件:用来分析、处理指令,并产生
1. 控制器 控制器是单片机的神经中枢,即统一指挥和控制计算机工作的部件。 (1)指令部件:用来分析、处理指令,并产生 控制信号。主要由下面几个部件组成: 程序计数器PC(16位)—— 用来存放下一条将 要从程序存储器中取出的指令地址。PC不能被访 问,它变化的轨迹决定了程序的流程,它的宽度决 定了ROM可以直接寻址的范围。

22 指令寄存器IR(8位):用于暂时存放指令,等
待译码。 指令译码器ID:译码就是把指令转变成执行指令 需要的电信号。 (2)时序部件:由时钟电路和脉冲分配器组成。 (3)操作控制部件:可以为指令译码器地输出信 号配上节拍电位和节拍脉冲,也可和外部输入的控制 信号组合,共同形成相应地微操作控制序列,以完 成规定地操作。

23 2. 运算器 运算器是以算术逻辑单元ALU为核心,加上累 加器A、寄存器B、暂存器TMP1和TMP2、程序状 态寄存器PSW及专门用于位操作的布尔处理机组 成。它能实现数据的算术逻辑运算,位变量处理和 数据传送操作。 (1)算术/逻辑单元ALU ALU能完成8位二进制数的加(带进位)、减 (带借位减)、乘、除、加1、减1、BCD加法的十 进制调整等算术运算;以及“与”、 “或”、 “异 或”、 求补、 清零等逻辑运算。

24 (2)累加器ACC、寄存器B 累加器ACC简称累加器A,是一个8位寄存器, 它是CPU中使用最频繁的寄存器。进入ALU作算术 和逻辑运算的操作数多来自于A,运算结果也常送回 A保存。 寄存器B是为ALU进行乘除法设置的。 (3)程序状态寄存器PSW PSW是一个8位的标志寄存器,它保存指令执行 结果的特征信息,以供程序查询和判别。其格式如 下:

25 CY AC F0 - RS1 RS0 OV P CY ——进位标志位。 AC ——半进位标志。 F0 ——由用户定义的标志位。
PSW.7 PSW.0 CY AC F0 RS1 RS0 OV P CY ——进位标志位。 AC ——半进位标志。 F0 ——由用户定义的标志位。 RS1、RS0——工作寄存器组选择位。 OV——溢出标志位。由硬件置位或清零。 P——奇偶标志位。 RS RS0 寄存器组 片内RAM地址 第 0 组 第 1 组 第 2 组 第 3 组 00H ~ 07H 08H ~ 0FH 10H ~ 17H 18H ~ 1FH 表2-3 RS0、RS1对工作寄存器组的选择

26 (4)布尔处理机 布尔处理(即位处理)是MCS-51单片机ALU所具有的一种功能。单片机指令系统中的布尔指令集(17条位操作指令),存储器中的位地址空间, 以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作“累加器”,构成了单片机内的布尔处理机。

27 单片机程序执行的过程 程序在计算机中的执行过程实质就是执行人们所编制程序的过程。计算机每执行一条指令都可分为三个阶段:取指令、分析指令、执行指令。 取指令 分析 执行

28 (1)取指令阶段:根据程序计数器PC中的值 从程序存储器读出现行指令,送到指令寄存器。
(2)分析指令阶段:将指令寄存器中的指令操 作码取出后译码,分析其指令性质。如指令要求操 作数,则寻址操作数地址。 (3)执行指令阶段:取出操作数,然后按操作 码的性质对操作数进行操作,即执行指令。

29 一般CPU指令执行的实际过程 思考:这个过程与单片机的指令执行的不同所在(单片机会不会有MEM和WB阶段)?

30 2.3 80C51的存储器 2.3.1 MCS-51单片机的存储结构 2.3.2 程序存储器 2.3.3 内部数据储器
程序存储器 内部数据储器 外部数据储器

31 2.3.1 MCS-51单片机的存储结构 ROM RAM SFR 图2-6 80C51存储器空间分布图 80C51片内存储器 (EA=0)
64KB ROM RAM (EA=0) FFFF 0000 片外扩展存储器 (EA=1) 0FFF SFR FF 80 7F 00 80C51片内存储器 256B 4KB 图 C51存储器空间分布图

32 物理上分为4个空间: 片内ROM、片外ROM 片内RAM、片外RAM 逻辑上分为3个空间: 程序存储器(片内、外)统一编址 MOVC 数据存储器(片内) MOV 数据存储器(片外) MOVX

33 2.3.2 程序存储器 寻址范围:0000H ~ FFFFH 容量64KB,即地址长度16位。 ,寻址内部ROM;
程序存储器 寻址范围:0000H ~ FFFFH 容量64KB,即地址长度16位。 ,寻址内部ROM; 当PC值超过片内ROM容量时会自动转向外部存储器空间 ,寻址外部ROM。 8031单片机 接低电平。 作 用: 存放程序及程序运行时所需的常数。

34 七个具有特殊含义的单元:

35 MCS-51的片外最多能扩展64 KB程序存储器,片内外的ROM是统一编址的。如EA/VPP端保持高电平,8051的程序计数器PC在0000H~0FFFH地址范围内 (即前4 KB地址) 是执行片内ROM中的程序,当PC在1000H~FFFFH地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H开始编址。 其中一组特殊单元是0000H~0002H。系统复位后, (PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。

36 中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。

37 一般在0000H地址只写一条跳转指令,从0030H开始写主程序,如:
ORG H LJMP MAIN …… ORG H MAIN: …… ;开始写主程序)

38 2.3.3 内部数据存储器 物理上分两区域:00H ~ 7FH的内RAM区,80H ~ FFH的SFR区。 图 2 7 片 内 数 据 存
内部数据存储器 物理上分两区域:00H ~ 7FH的内RAM区,80H ~ FFH的SFR区。 用户RAM区 (堆栈、数据缓冲) 位寻址区 (位地址00H~7FH) 第3组工作寄存器 第2组工作寄存器 第1组工作寄存器 第0组工作寄存器 17H 7FH 30H 2FH 20H 1FH 18H 10H 0FH 08H 07H 00H R7 R0 SFR FFH F0H E0H D0H B8H B0H A8H A0H 99H 98H 90H 8DH 8CH 8BH 8AH 89H 88H 87H 83H 82H 81H 80H B ACC PSW IP P3 IE P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0 2 | 7

39 一、内部数据存储器低128字节 1、工作寄存器区(00H~1FH) 工作寄存器区分为4组,每组有8个工作寄存器R0~R7,
共32个RAM单元。寄存器和RAM地址对应关系如下表所示。 (思考:这里的RAM到底是寄存器还是内存?) R0 R1 R2 R4 R5 R6 R7 RS1 RS0 1 2 3 00H 08H 10H 18H 01H 09H 11H 19H 02H 0AH 12H 1AH 03H 0BH 13H 1BH 04H 0CH 14H 1CH 05H 0DH 15H 1DH 06H 0EH 16H 1EH 07H 0FH 17H 1FH 表 工作寄存器和RAM地址对照表

40 寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。
CPU通过软件修改PSW中 RS0 和 RS1 两位的状态就可任选一组工作寄存器工作。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。 通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性。

41 2、位寻址区(20H~2FH) 内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。 位寻址空间一部分在内部RAM的20H~2FH的16个字节内,共128位; 另一部分在SFR的空间内。 位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志,位控制变量存于位寻址区内。同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲。 MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。

42 表2-6 内部RAM中位地址表

43 3、用户RAM区(30H~7FH) 用户RAM区包括堆栈和数据缓冲区。 堆栈是个特殊的存储器, 主要功能是暂时存放数据和地
址,用来在子程序调用、中断 服务处理等场合保护CPU现 场(为什么要保护?)。 它的特点是先进后出、后 进先出,这里的“进”与“出”是 指进栈与出栈。 图2-8 MCS-51单片机堆栈

44 堆栈指针(SP):SP是一个8 位寄存器,用于存放栈顶地址。每 存入(或取出)一个字节的数据, SP就自动加1(或减1)。SP始终指
向新的栈顶。堆栈操作有两种方式: 4B A0 . 栈顶 栈区 栈底 47 31 30 SP (1)指令方式:即使用堆栈操 作指令进行“进栈/出栈”操作; (2)自动方式:即在调用子程 序或产生中断时,返回地址(断点) 自动进栈;程序返回时,断点地址 再自动弹回 PC。这种方式是硬件自 动完成的。 图2-9 堆栈指针示意图

45 二、内部数据存储器高128字节 内部RAM的高128单元是供给专用寄存器 使用的,其单元地址为80H~FFH。因这些寄存
器的功能已作专门规定,故称之为专用寄存器 SFR(Special Function Register),也可称为特 殊功能寄存器。

46 ACC 累加器A B B寄存器 PSW 程序状态字 SP 堆栈指针 DPH 数据指针高8位 DPL 数据指针低8位 P0~P3 并行端口 IP 中断优先级 IE 中断允许 TMOD 定时器/计数器方式 TCON 定时器/计数器控制 TH TC0计数初值高8位 TL TC0计数初值低8位 TH TC1计数初值高8位 TL TC1计数初值低8位 SCON 串行控制 SBUF 串行数据缓冲器 PCON 电源控制

47 1、专用寄存器简介 (1) 程序计数器PC 8051共有21个专用寄存器,简单介绍其中部分寄存器:
PC—Program Counter,我们已经知道PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64 KB。 PC 有自动加“1”的功能,从而实现程序的顺序执行。 PC没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。

48 (2) 累加器ACC ACC—Accumulator,累加器是8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。 (3) B寄存器 B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B存乘数。乘法操作后,乘积的高8位存于B中,除法运算时,B存除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。

49 (4) 程序状态字PSW PSW—Program Status Word 。程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。 PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW有些位的状态,进行程序转移。 PSW的各位定义如下: P OV RS0 RS1 F0 AC CY PSW.7 PSW.0

50 (5) 数据指针DPTR 数据指针为16位寄存器。编程时,DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:
DPH:DPTR高位字节 DPL:DPTR低位字节 DPTR通常在访问外部数据存储器时作地址指针使用。 由于外部数据存储器的寻址范围为64 KB,故把DPTR设计为16位。

51 (6) 堆栈指针SP SP—Stack Pointer。SP是一个8位寄存器。系统复位后,SP的内容为07H,从而复位后堆栈实际上是从08H单元开始的。但08H~1FH单元分别属于工作寄存器1~3区,如程序要用到这些区,最好把SP值改为1FH或更大的值。 一般在内部RAM的30H~7FH单元中开辟堆栈。SP的内 容一经确定,堆栈的位置也就跟着确定下来,由于SP可初始化为不同值,因此堆栈位置是浮动的。

52 2、专用寄存器的字节寻址和位地址 MCS-51系列单片机有21个可寻址的专用寄 存器,其中有11个专用寄存器是可以位寻址的。
下面表格列出各寄存器的字节地址及位地址:

53 寄存器 位地址 / 位定义 地址 F7 F6 F5 F4 F3 F2 F1 F0 B F0H E7 E6 E5 E4 E3 E2 E1 E0 ACC D7 D6 D5 D4 D3 D2 D1 D0 PSW CY AC RS1 RS0 OV P D0H BF BE BD BC BB BA B9 B8 IP B8H B7 B6 B5 B4 B3 B2 B1 B0 P3 P3.7 P3.6 P3.5 P3. 4 P3.3 P3.2 P3.1 P3.0 B0H IE A8H A7 A6 A5 A4 A3 A2 A1 A0 P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A0H SBUF 99H

54 +

55 对专用寄存器的字节寻址问题作如下几点说明:
(1) 21个可字节寻址的专用寄存器是不连续地分散在内部RAM高128单元之中,尽管还余有许多空闲地址,但用户并不能使用(为什么要分散?)。 (2)程序计数器PC不占据RAM单元,它在物理上是独立的,因此是不可寻址的寄存器(能不能更改?)。 (3)对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器。

56 2.3.4 外部数据存储器 (1)容量最大扩展到64KB。 (2)寻址范围:0000H ~ FFFFH。
外部数据存储器 (1)容量最大扩展到64KB。 (2)寻址范围:0000H ~ FFFFH。 (3)寻址方式:间接寻址可用R0,R1,DPTR 。 单片机访问外部数据存储器可用DPTR、R0、R1 作为间址寄存器。DPTR是16位地址指针,寻址范围是 64KB;R0、R1都是8位地址指针,寻址范围是256B。 (4)访问片内数据存储区用“MOV”指令;访问片外数据存 储区用“MOVX”指令,对片外数据存储器采用间接寻 址方式,访问片外ROM用“MOVC”指令。

57 2.4 输入/输出端口结构 P0口 P1口 P2口 P3口

58 2.4.1 P0口 双向口,共占32个引脚。每个端口包括一个锁存器 (即专用寄存器P0~P3)、一个输出驱动器、一个
80C51单片机有4个I/O端口,每个端口都是8位 双向口,共占32个引脚。每个端口包括一个锁存器 (即专用寄存器P0~P3)、一个输出驱动器、一个 输入缓冲器。通常把4个端口称为P0~P3。 在无片外存储器的系统中,这4个端口的每一位 都可以作为双向通用I/O端口使用;当有片外扩展存 储器的系统中,P2作为高8位地址线,P0分时作为低 8位地址线和双向数据总线。

59

60

61

62

63 P0口作为地址/数据线,控制信号为1 地址/数据为0时的工作流程图

64 P0口作为地址/数据线,控制信号为1 地址/数据为1时的工作流程图

65 P0口作为数据线,输入数据时的流程图

66 锁存器起输出锁存作用,8个锁存器构成了特殊功能寄存器P0; 场效应管(FET)V1、V2组成输出驱动器,以增大带负载能力;
P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O接口。其1位的结构原理如上图所示。P0口由8个这样的电路组成。 锁存器起输出锁存作用,8个锁存器构成了特殊功能寄存器P0; 场效应管(FET)V1、V2组成输出驱动器,以增大带负载能力; 三态门1是引脚输入缓冲器;三态门2用于读锁存器端口; 与门3、反相器4及模拟转换开关MUX构成了输出控制电路。

67 2.地址/数据分时复用功能 当P0口作为地址/数据分时复用总线时,可分为两种情况: 一种是从P0口输出地址或数据,另一种是从P0口输入数据。 在访问片外存储器而需从P0口输出地址或数据信号时,控制信号应为高电平"1",使转换开关MUX把反相器4的输出端与V1接通,同时把与门3打开。当地址或数据为"1"时,经反相器4使V1截止,而经与门3使V2导通,P0.x引脚上出现相应的高电平"1"; 当地址或数据为"0"时,经反相器4使V1导通而V2截止,引脚上出现相应的低电平"0"。这样就将地址/数据的信号输出。

68 3.通用I/O接口功能 当P0口作为通用I/O口使用,在CPU向端口输出数据时,对应的控制信号为0,转换开关MUX把输出级与锁存器Q端接通,同时因与门3输出为0使V2截止,此时,输出级是漏极开路电路。当写脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在Q端,又经输出V1反相,在P0引脚上出现的数据正好是内部总线的数据。当要从P0口输入数据时,引脚信息仍经输入缓冲器进入内部总线。

69 ORL P0,#data ;(P0)←(P0)∨ data
4、端口操作 MCS—51单片机有不少指令可直接进行端口操 作, 例如: ANL P0,A ; (P0)←(P0)∧(A) ORL P0,#data ;(P0)←(P0)∨ data

70 2.4.2 P1口 P1口是作通用I/O使用的,电路结构如图2-10所 示。 其输出驱动部分与P0口不同,内部有上拉负载 电阻与电源相连。
所以不必再外接上拉电阻。在端口由输出口转为输 入口时,必须先向对应的锁存器写入“1”,使工作 FET截止。由于片内负载电阻较大,约20~40k , 不会对输入的数据产生影响。 Ω

71 图 P1口的结构原理图

72 2.4.3 P2口 P2口也是一准双向口,其1位的内部结构如图 2-11所示。它具有通用I/O接口或高8位地址总线输
结构多了一个输出模拟转换开关MUX和反相器3。 在系统扩展片外程序存储器时,由P2口输出高 8位(低8位由P0口输出),此时,MUX在CPU的控 制下转向内部地址线的一端。

73 图 P2口的结构原理图

74 2.4.4 P3口 当端口用于第二功能下输出时,锁存器输出Q P3口的1位结构如图2-12所示。 它是多功能口,
若第二输出功能端保持“1”电平,打开“与非”门, 锁存器输出可通过“与非”门送至FET输出到引脚端, 这是通用I/O输出使用情况。 当端口用于第二功能下输出时,锁存器输出Q 为“1”,打开“与非”门,第二输出功能端内容通过“与 非”门和FET送至端口引脚,从而实现第二功能信号 输出;输入时,端口引脚的第二功能信号通过缓冲 器送到第二输入功能端。

75 图 P3口的结构原理图

76 2.5 CPU时序及时钟电路 CPU时序及有关概念 C51的指令周期 思考题

77 2.5.1 CPU时序及有关概念 1. 时钟信号的产生 在MCS-51芯片内部有一个高增益反相放大器,其输入
1. 时钟信号的产生 在MCS-51芯片内部有一个高增益反相放大器,其输入 端为芯片引脚XTAL1,其输出端为引脚XTAL2 。而在芯片 的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容 C1和C2,从而构成一个稳定的自激振荡器,这就是单片机的 时钟电路,如下图所示。 时钟电路产生的振荡脉冲经过触发器进行二分频之后, 才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与 振荡脉冲之间的二分频关系,否则会造成概念上的错误。

78 一般地,电容C1和C2取30 pF左右,晶体的振荡频率范 围是1.2~12 MHz。晶体振荡频率高,则系统的时钟频率也
图 时钟振荡电路 一般地,电容C1和C2取30 pF左右,晶体的振荡频率范 围是1.2~12 MHz。晶体振荡频率高,则系统的时钟频率也 高,单片机运行速度也就快。MCS-51在通常应用情况下, 使用振荡频率为6 MHz或12 MHz。

79 2. 引入外部脉冲信号 在由多片单片机组成的系统中,为了各单片机之间时钟 信号的同步,应当引入惟一的公用外部脉冲信号作为各单片
2. 引入外部脉冲信号 在由多片单片机组成的系统中,为了各单片机之间时钟 信号的同步,应当引入惟一的公用外部脉冲信号作为各单片 机的振荡脉冲。这时,外部的脉冲信号是经XTAL2引脚注入 ,其连接如下图所示。 图 HMOS外部时钟源接法

80 图 CHMOS外部时钟源接法

81 3. 时序 (1)节拍与状态 时序是用定时单位来说明的。MCS-51的时序定时单位有 4个,从小到大依次是:节拍、状态、机器周期和指令周期。
3. 时序 时序是用定时单位来说明的。MCS-51的时序定时单位有 4个,从小到大依次是:节拍、状态、机器周期和指令周期。 下面分别加以说明。 (1)节拍与状态 把振荡脉冲的周期定义为节拍(用P表示)。振荡脉冲经 过二分频后就是单片机的时钟信号的周期,定义为状态(用S 表示)。这样,一个状态就包含两个节拍,具前半周期对应 的节拍叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。

82 干个阶段,每一个阶段完成一项工作,例如:取指令、 存储器读、存储器写等,这每一项工作称为一个基本
2. 机器周期 在计算机中,常把一条指令的执行过程划分为若 干个阶段,每一个阶段完成一项工作,例如:取指令、 存储器读、存储器写等,这每一项工作称为一个基本 操作。完成一个基本操作所需要的时间称为机器周期。 一个机器周期由若干个S周期组成,80C51单片机 的一个机器周期由6个S周期组成,即相当于12个震荡 周期。

83 3. 指令周期 指令周期是执行一条指令所需的时间,一般由若 干个机器周期组成。指令不同,所需的机器周期数也 不同。MCS-51系列单片机的指令分为1~4个周期的 指令。 对于一些简单的单字节指令,在取指令周期中, 指令取出到指令寄存器IR后,立即译码执行,不再需 要其它的机器周期;而对于一些复杂指令,如转移指 令、乘除指令,则需要两个或两个以上的机器周期。

84 节拍、状态、机器周期、指令周期之间的关系:
图 基本定时时序关系 机器周期 1 (取指令、译码) 机器周期 2 (取操作数、执行) 指令周期 P2 S P1

85 举例: 当晶振频率为12MHz时,计算MCS-51单 片机的震荡周期、机器周期、指令周期各是 多少? 振荡周期=1/12 μs;

86 2.5.2 80C51的指令周期 一、取指令和执行指令时序 执行任何一条指令,都分为取指令和执行指令 阶段。
在取指令阶段,根据程序计数器PC中指示的地 址,从程序存储器中取出需要执行指令的操作码和 操作数。 在指令执行阶段,对指令操作码进行译码,产 生一系列控制信号以完成指令的执行。

87 事实上,在每个机器周期内,地址锁存信号ALE在每个机器周期内出现两次效,第一次出现在S1P2和S2P1期间,第二次出现在 S4P2 和 S5Pl 期间,持续时间为一个状态 S。ALE 信号每出现一次,CPU 就进行一次取指操作。按照指令字节数和机器周期数,8051 的 111 条指令可分为六类,分别对应于 6 种基本时序。这 6类指令是:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令和三字节双周期指令。为了弄清楚这些基本时序的特点,现将几种主要时序作一下简述。

88 思考:b和c的区别?

89 (1).单字节单周期指令时序 这类指令的指令码只有一个字节(如 INC A指令),存放在程序存储器 ROM 中,机器
图中,机器在 ALE 第一次有效(S2P1)时从 ROM 中读出指令码,把它送到指令寄存器 IR,PC+1,接着开始执行。在执行期间, CPU一方面在 ALE 第二次有效(S4P2)时封锁 PC 加“1”,使第二次读操作无效;另一方面在 S6P2 时完成指令执行。

90 (2).双字节单周期指令时序 双字节单周期指令时序如图所示。8051 在执行如 ADD A,#data 指令时需要分两次从 ROM 中读出指令码。ALE 在第一次有效时读出指令操作码,PC+1,CPU 对它译码后便知道是双字节指令,故使程序计数器 PC 再加“1”,并在 ALE 第二次有效时读出指令的第二字节,最后在 S6P2 时完成指令的执行。

91 (3).单字节双周期指令时序 单字节双周期指令时序如图 (c)所示。如执行 INC DPTR 指令时,CPU 在第一机器周期 S1 期间从程序存储器 ROM 中读出指令操作码,PC+1,经译码后便知道是单字节双周期指令,控制器自动封锁后面的连续三次读操作,并在第二机器周期的 S6P2 时完成指令的执行。 另外,8051 在执行访问片外数据存储器指令 MOVX 时,时序如图 (d)所示,它也是一条单字节双周期指令,CPU在第一个机器周期 S5开始送出片外数据存储器的地址后,进行读/写数据操作。在此期间无 ALE 信号,所以,第二个周期不产生取指操作。

92 二、片外存储器访问指令时序 8051单片机有两类访问片外存储器的专门指令, 一类是读片外ROM指令,另一类是读写片外RAM 指令。
执行这两类指令的时序与ALE、PSEN、P0、 P2、RD、WR等信号有关。

93 1. 读片外ROM指令(如: MOVC A, @A+DPTR) 指令执行分两个阶段:(1)根据程序计数器PC到片外
取出片外ROM中所需的数据送到累加器A中。(只要一个周期?) S1 S2 S3 S4 S5 S6 时钟 ALE PSEN P2 A15~A8 P0 A7- A0 指令 数据 地址锁存器 A7~A0

94 2. 读片外RAM指令(如: MOVX A, @A+DPTR)

95 2.6 MCS-51单片机工作方式 一、复位方式和复位电路 通过某种方式, 使单片机内各寄存器的值变为初 始状态的操作称为复位。
MCS-51单片机在时钟电路工作后,在RST/VPD 端持续给出2个机器周期的高电平就可以完成复位操 作(一般复位正脉冲宽度大于10 ms)。复位分为上 电复位和外部复位两种方式。

96 图 MCS—51单片机复位参考电路 (a) 上电复位电路; (b) 开关复位电路

97 MCS—51单片机按键脉冲复位参考电路

98 单片机复位后, 内部各主要寄存器状态如下: (1) (PC)=0000H,表示复位后程序的入口地址为 0000H,单片机从0000H开始重新执行程序; (2) (PSW)=00H,其中RS1,RS0=0 0,表示复位 后单片机选择工作寄存器0组; (3) (SP)=07H,表示复位后堆栈在片内RAM的 08H单元处建立; (4) P0口~P3口输出高电平,且使这些双向口皆 处于输入状态。

99 表 PC与SFR复位状态表

100 二、程序执行方式 三、掉电保护方式 程序执行是单片机的基本工作方式。由于复位后 PC=0000H,因此程序执行总是从地址0000H开始。
为避免系统运行过程中发生掉电而使系统数据 丢失,单片机设置了掉电保护措施,即当电源出故 障时,系统会自动把有用数据转存,而后启用备用 电源维持供电。

101 四、低功耗方式 80C51有两种低功耗方式:待机方式和掉电保护 方式。 设置PCON寄存器的PCON.0位为“1”可以使 80C51单片机进入待机方式。此时CPU停止工作,但 中断功能继续保留。 PCON寄存器的PCON.1位控制单片机进入掉电 保护方式。此时单片机一切工作停止,只有内部 RAM单元的内容被保存。

102

103 √ √ 思 考 题 1. 80C51单片机内部包含哪些主要逻辑功能部件? 各有什么主要功能
为4个空间?而在逻辑上又可划分为3个空间 3. 什么是堆栈?堆栈有何作用和特点,堆栈指针 SP的作用是什么?在程序设计时,有时为什么 要对SP重新赋值 ? ? ?

104 √ √ 4. 80C51单片机的震荡周期、机器周期、指令周期 是如何分配的?当晶振频率为8MHz时,一个震
荡周期是多少?一个机器周期呢?执行一条最长 的指令需要多少微秒 5. 80C51单片机的4个I/O端口在功能上有何异同 ? ?

105 思 考 题 解 答 I/O口、定时器/计数器、串行口等功能部件。各部分主要功能 如下:
1. 答:80C51单片机内部主要包含CPU、存储器、可编程 I/O口、定时器/计数器、串行口等功能部件。各部分主要功能 如下: (1)中央处理器CPU:它是单片机最核心的部分,是单片 机的大脑,主要完成运算和控制功能。80C51的CPU是一个字 长为8位的中央处理器,即它对数据的处理是以字节为单位进 行的。 (2)内部数据存储器(内部RAM):80C51中共有256个 RAM单元,但其中能作为寄存器供用户使用的仅有前面128 个,后面128个被专用寄存器占用。内部RAM可存储程序在运 行过程中产生的变量和数据。

106 (3)内部程序存储器(内部ROM):80C51共有4KB容量
可以实现定时和计数功能。 (5)并行I/O口:80C51共有4个8位的I/O口,可以实现数 据的并行输入、输出。 (6)串行口:80C51有1个全双工的可编程串行口,以实现 单片机和其它设备之间的串行数据传送。 (7)时钟电路:80C51单片机内部的时钟电路为单片机产 生时钟脉冲序列,使计算机在时钟信号的驱动下按照严格的节 拍顺序执行各种操作。

107 2.答:80C51存储器采用将程序存储器和数据存储器分开
寻址的“哈佛结构” 。 物理上划分为4个空间:片内ROM、片外ROM、片内 RAM、片外RAM。 逻辑上又划分为3个空间:片内256B的RAM,片外64KB 的RAM、片内和片外统一编址的ROM,因而在逻辑上把程序 存储器看作一个空间。 寻址片内ROM和片内RAM要用“MOV”指令;寻址片外 ROM要用“MOVC”指令;寻址片外RAM要用“MOVX”指令。

108 3.答:(1)堆栈是一个特殊的存储区,在片内RAM中,
其主要功能是暂时存放数据和地址,通常用来保护断点和保 护现场。 (2) 堆栈的特点是:“先进后出,后进先出”,这里的 “进 与出”是指进栈与出栈操作。 (3) 堆栈指针SP是一个8位寄存器,用来存放当前的堆 栈栈顶所指示的存储单元地址。 (4) 系统复位后,SP初始化为07H,使得堆栈事实上由 08H开始,这部分是工作寄存器区,程序设计时很可能要用 到该区域,因此最好把SP重新赋值。

109 4.答:80C51的时钟周期是最小的定时单位,也称为振
荡周期或节拍。一个机器周期包含12个时钟周期。不同的指 令,其指令周期一般不同,可包含1、2、3、4个机器周期。 当晶振频率为8MHz时, 时钟周期 = 1 / 晶振频率 = (1/8)μs 机器周期 = 12×时钟周期 = 1.5μs 一条最长的指令周期 = 4×机器周期 = 6 μs

110 5.答:80C51单片有4个I/O端口,每个端口都是8位的双
(1)P0口既可作I/O端口使用,也可作地址/数据总线使 用,系统扩展片外存储器时,P0口先输出外存的低8位地址信 息,再输出数据信息。 (2)P2口在系统扩展片外存储器时,用来输出外存的高 8位地址信息。 (3)P3口是多功能端口,与串行通信、外部中断、计数、 读写外部RAM等功能有关。


Download ppt "本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时."

Similar presentations


Ads by Google