MSC-51单片机基本结构——第2讲

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV A,24H
提示:是位地址还是字节地址要看另一个操作数
3、片内RAM数据——通用RAM区
单片机片内RAM中,30H-7FH的80个单元只能以存储 单元的形式来使用没有其它任何规定或限制,用户可以 根据需要自由安排所以称它为通用RAM区。
该区域中的单元只能用直接寻址、寄存器间接寻址 等方式按字节访问。
3C
36
35
34
2E
2D
2C
26
25
24
53
52
4B
4A
43
42
3B
3A
33
32
2B
2A
23
22
23H
1F
22H
17
21H
0F
20H
07
1E
1D
1C
16
15
14
0E
0D
0C
06
05
04
1B
1A
13
12
0B
0A
03
02
注意: 一个单元地址对应有8个位地址 MSB——Most Significant Bit (最高有效位) LSB ——Least Significant Bit (最低有效位)
用作数据缓冲区以及堆栈区。
FFFFH
内部
外部
FFH
64K (高128B) SFR
80H
7FH
(低128B)内RAM
0000H
00H
数据存储器
内部RAM00~7FH
7FH
30H 2FH 7F 78
20H 07 00
1FH 18H
3区
17H 10H
2区
0FH 08H
1区
07H 00H
源自文库
0区
数据缓冲区
位寻址区
2. 8031 EA引脚必须怎样连接?
3. ROM中有哪些特殊地址, 说出它们的 地址及作用?
1.3.2 外部数据存储器
• 用于存放随机读写的数据。 • MCS-51单片机的外部数据存储器和外部I/O
口实行统一编址,并使用相同的 RD WR 作 选通控制信号,均使用 MOVX 指令访问。 • MCS-51 单片机最多可扩展64KB外部数据存 储器 • 地址:0000H~FFFFH • 寻址:用MOVX指令
第1章 MCS-51单片机结构
本章分为四节,主要介绍:
1.1 MCS-51系列单片机概述 1.2 MCS-51单片机结构及组成 1.3 存 储 器 1.4 特殊功能寄存器 1.5 时钟电路与复位电路
1.3 存 储 器
• 存储器用来存放程序和数据,半导体存储器由一个一个的单元 组成,每个单元有一个编号(称为地址),一个单元存放一个 8位数据,当一个数据多于8位就需要两个单元存放。计算机的 存储器地址结构形式有两种——普林斯顿结构(RAM和ROM连 续编址在同一地址空间)和哈佛结构(RAM和ROM分别编址在 不同的地址空间。RAM与ROM可以有相同的地址,CPU靠不同 的指令区别)见下图。
堆栈就是设在单片机内部RAM中。深度不大于128字 节,初始化时堆栈指针寄存器SP指向07H。
注: 对51基本型单片机只有00H-7FH单元 128字节的RAM区。对52增强型的单片机还 有80H-FFH组成的高128字节RAM区(共256 字节RAM )。
1.4 特殊功能寄存器
MCS-51单片机的特殊功能寄存器用英文缩 写SFR(Special Fuction Register)表示。 又称专用寄存器。
工作寄 存器区 R0~R7
1、四组工作寄存器区选择
RS1 RS0 组别 R0 R1 R2 R3 R4 R5 R6 R7 0 0 0组 00h 01h 02h 03h 04h 05h 06h 07h 0 1 1组 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 1 0 2组 10h 11h 12h 13h 14h 15h 16h 17h 1 1 3组 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh
• OV:溢出标志 反映补码运算的运算结果有无溢出 有溢出 OV=1,无溢出OV=0。 • -:无效位。
• P:奇偶标志。始终跟踪A累加器内容的奇偶性。
运算结果有奇数个“1”,P=1;运算结果有偶数个“1”, P=0。
• SP—堆栈指针。8XX51单片机的堆栈设在片内RAM,对 堆栈的操作包括压入(PUSH)和弹出(POP)两种方 式,并且遵循后进先出的原则,但在堆栈生成的方向 上,与8086正好相反,8XX51单片机的堆栈操作遵循先 加后压,先弹后减的顺序,按字节进行操作。
2 、 64K 的 片 外 数 据 存 储 器 地 址 空 间 。 访 问 片外RAM指令用MOVX。
3 、 256 字 节 的 片 内 数 据 存 储 器 地 址 空 间 。 访问片内RAM指令用MOV。
1.3.1 程序存储器
程序存储器用来存放编制好的始终保留的固定程序和表格 常数。程序储存器以程序计数器 PC 作为地址指针,通过 16位地址总线,可寻址的地址空间为64KB。
例如:指令 MOV P1,A实现了把A累加器中的内容从P1端口输出 的操作。指令MOV A,P3实现了把P3端口线上的信息输入到A中 的操作。
此外还有如下寄存器,它们将在后面章节介绍: • IP——中断优先级控制寄存器。 • IE——中断允许控制寄存器。 • TMOD——定时器/计数器方式控制寄存器。 • TCON——定时器/计数器控制寄存器。 • TH0,TL0——定时器/计数器0。 • TH1,TL1——定时器/计数器1。 • SCON——串行端口控制寄存器。 • SBUF——串行数据缓冲器。 • PCON——电源控制寄存器。
2、位地址区
单元地址 MSB
位地址
2FH
7F
7E
7D
7C
7B
7A
2EH
77
2DH
6F
2CH
67
2BH
5F
76
75
74
6E
6D
6C
66
65
64
5E
5D
5C
73
72
6B
6A
63
62
5B
5A
2AH
57
29H
4F
28H
47
27H
3F
26H
37
25H
2F
24H
27
56
55
54
4E
4D
4C
46
45
44
3E
3D
• 51系列单片机复位后PC=0000H,系统从 0000H开始执行程序,安排一条跳转指令。
• 0003H--0032H单元被保留专用于中断服务程 序的入口地址。
• 每个中断服务程序只有8个字节单元存放,显 然不够,此8个单元通常放一条跳转指令,指 向被实际分配的中断服务程序段。
思考
1. 当EA引脚接到高电平时,51单片机 程序存储器空间是怎样分配的?
• MCS-51的存储器结构与常见的微型计算机 的配置方法不同, MCS-51单片机的存储器 采用哈佛结构,它将ROM和RAM分开编址, 各有自己的寻址方式、控制信号和指令。
• 程序存储器(ROM):用来存放程序、表格 和始终要保留的数据。
• 数据存储器(RAM):存放程序运行中所需 要的数据(常数和变量)或运算的结果。
• B—寄存器, 8位。常用于乘除法运算; (存放乘积的高8位,除法运算后的余数。)
• PSW—程序状态字。主要起着标志寄存器的作用。
D7
D6 D5
D4
D3 D2
D1
D0 位地址
Cy AC F0 RS1 RS0 OV …
P 位名称
其中: • CY:进/借位标志
反映最高位的进位借位情况,加法为进位、减法为借位。 CY=1,有进/借位 ; CY=0,无进/借位。 • AC:辅助进/借位标志 反映高半字节与低半字节之间的进/借位, AC=1有进/借位; AC=0无进/借位 。 • FO:用户标志位。可由用户设定其含义。 • RS1,RS0:工作寄存器组选择位。
用途:
作通用寄存器R0~R7。(寄存器寻址) R0与R1可作间址寄存器使用。(寄存器间接寻址) 选择: 可通过PSW的RS1、RS0的状态设置,来选择哪一组工作寄存
器作为当前工作寄存器组。其他三组只能做数据存储器。 单片机复位时,默认为0组,其他三组作为数据存储器使
用,不能作为寄存器使用。
当然,全局数据也可以存放在RAM中。
从物理空间看,MCS-51有四个存储器地址空间:
C51存储器
程序存储器ROM
片内程序存储器 片外程序存储器
数据存储器RAM
片内数据存储器 片外数据存储器
物理结构(哈佛结构)
内部数据 存储器 内部程序 存储器 8XX51
外部程序 存储器 (ROM)
外部数据 存储器 (RAM)
64K 外部
自动转外部
0FFFH 4K
内部
4K
0000H EA=1 0000H EA=0
程序存储器
• 8031单片机无内部程序存储器, 地址从 0000H~FFFFH都是外部程序存储空间。 应 始终接地。
• 对于内部有ROM的单片机(51、52系列), 引脚接高电平,使程序从内部ROM开始执行。 当PC值超出内部ROM的容量时,会自动转向外 部程序存储器空间。外部程序存储器地址空 间为1000H~FFFFH。
• DPTR——数据指针寄存器 用来存放16位地址值,以便对外部数据存储器RAM进行读写。 DPTR可分成DPL和DPH两个8位寄存器分别使用。DPTR的值通过指 令设置和改变。
• P0 P1 P2 P3——I/O端口寄存器 是四个并行I/O端口映射入SFR中的寄存器。通过对该寄存器的 读/写,可实现从相应I/O端口的输入/输出,称他们为双向I/O 口。
在8051/8751/89C51/89S51片内,分别内置最低地址空间 的4KB ROM/EPROM/EEPROM程序储存器(内部程序储存器), 而在8031/8032片内,则无内部程序储存器,必须外部扩展 EPROM。
MCS-51单片机中64KB内、外程序储存器的地址是统一编排 的。
FFFFH
LSB
79
78
71
70
69
68
61
60
59
58
51
50
49
48
41
40
39
38
31
30
29
28
21
20
19
18
11
10
09
08
01
00
20H~2FH为位地址区:
• 单片机片内RAM中20H~2FH地址范围中共16个字节单元称 为位寻址区。该区的16个字节单元,既可作为一般的RAM 使用,进行字节操作,也可以对单元中的每一位进行位操 作。
MCS-51存储器物理结构
从逻辑上看,MCS-51有三个存储器空间:
C51存储器
片内外统一编址的程序存储器ROM 片内数据存储器 片外数据存储器
MCS-51的存储器逻辑结构如图所示。
思考:为什么是三个存储器空间?
从逻辑上看,MCS-51有三个存储器空间:
1、片内、外统一编址的64K程序存储器地 址 空 间 。 CPU 访 问 片 内 、 片 外 ROM 指 令 用 MOVC。
• 访问程序存储器使用MOVC指令。
程序存储器中几个特殊地址的使用
程序存储器中的几个特殊地址的使用:
地址
用途
0000H
复位操作后的程序入口
0003H
外部中断0服务程序入口
000BH
定时器0中断服务程序入口
0013H
外部中断1服务程序入口
001BH
定时器1中断服务程序入口
0023H
串行口中断服务程序入口
功能:记录电路的运行状态,标明有关标 志。
1.4 特殊功能寄存器
• 1.基本型51单片机中设置了21个特殊功能寄存 器,它们不连续地分布在地址为80H-FFH的128个 字节的存储空间中。
• 2.在这21个SFR中,凡是字节地址能被8整除 (即16进制的地址码尾数为0或8)的11个单元 均具有位寻址能力,有效的位地址共有82个。
1.3.3 内部数据存储器
内部数据存储器是使用最多的地址空间,所有指令 (算术运算,逻辑运算,位操作运算等)的操作数 只能在此地址空间或特殊功能寄存器地址空间。 1 、片内数据存储器最大可寻址128个单元,字节地 址为00H~7FH; 2、00H~1FH:32个单元是4组通用工作寄存器区; 3、20H~2FH:16个单元可进行共128位的位寻址; 4、30H~7FH:用户RAM区,只能进行字节寻址,
• 16个字节单元共128位,每位有位地址,地址范围是00H~ 07H。
• 位寻址区中的每一位地址有两种表示形式:一是表中位地
址形式,另一种是单元地址.位序形式。
注:位地址和字节地址位寻址是对20H到2FH这16个 字节的每一位直接进行操作 把每个字节的每一位编上号码(00H到7FH),就是 位地址,通过对这个地址的调用可以把对应的位变 成1或者0。
我们知道内存都是1个字节也就是8位一个单元,操 作时,最小也得对1个字节进行操作,而单片机的位 操作则是更细,这是单片机的一个重要特点。
位地址区
位地址24H在哪个字 节的第几位?
问题
1. 位地址和字节地址可以用相同的十六进制 数表示,应怎样区分?
例如: MOV C,24H
(因为C是进位标志,所是这里的24H是位地址)
• 3.82个有效位地址可用位地址、位符号、单元 地址.位序和寄存器名.位序四种方法来表示, 但一般是用位符号或寄存器名.位序来表示的。
• 表1.2中还标注了各SFR的名称、字节地址、 可寻址位的位地址和位名称。
• 21个特殊功能寄存器的名称及主要功能介绍 如下。
• A—累加器, 8位。自带有全零标志Z,A=0则Z=1;A≠0则 Z=0。该标志常用于程序分支转移的判断条件; (用于向ALU提供操作数,许多运算的结果也存放在累加器 中。)
相关文档
最新文档