Download presentation
Presentation is loading. Please wait.
1
单片机系统设计 教师:朱华贵 2016年03月01日
2
单片机系统设计 第2章 MCS-51单片机结构及原理 朱华贵 2016年03月01日
5
典型单片机性能概览 典型单片机有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。
PIC为低电压、低功耗、大电流LCD驱动、低价格产品。 Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。。 AVR为高速、低功耗产品,支持ISP、IAP,I/O口驱动能力较强。
6
第2章 MCS-51单片机结构及原理 2.1 MCS-51单片机结构 2.2 MCS-51的存储器结构 2.3单片机的复位、时钟与时序
2.4并行I/O口
7
SCM——将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统
SCM = CPU+程序存储器+数据存储器+定时器/计数器+ 内外中断+可编程I/O+可编程全双工串行口+…
8
51单片机内部结构框图 80C51 CPU 振荡器和时序 OSC 64KB 总线 扩展控制器 数据存储器 256B RAM/SFR
2×16位 定时器/计数器 可编程I/O 程序存储器 4KBROM 可编程全双工 串行口 外中断 内中断 控制 并行口 串行通信 外部时钟源 外部事件计数
9
2.1.1 MCS-51单片机的内部结构 INTEL MCS-51系列单片机一览表 87C52 80C51=(8位)CPU + 4KBROM +128BRAM + (2×16)T/C + (4×8)I/O + 1个UART +5个INT
10
51单片机主要内部资源的学习安排 中央处理器CPU ——第2章 程序存储器ROM ——第2章 数据存储器RAM ——第2章
并行I/O口——第2章 中断源INT——第5章 定时器/计数器T/C——第6章 全双工串行口UART——第7章
11
1、CPU(Central Processing Unit )
控制器 + 运算器 11
12
控制器的用途:统一指挥和控制各单元协调工作
控制器的任务:从ROM中取出指令→译码→执行指令 控制器的组成:程序计数器PC、数据指针寄存器DPTR、…
13
运算器的用途:对数据进行算术运算和逻辑操作
运算器的任务:计算缓冲器内容→暂存→修改运行标志 运算器的组成:累加器ACC、程序状态字寄存器PSW、…
14
中央处理器(CPU)组成 8051的CPU包含以下功能部件: (1)8位CPU。 (2)布尔代数处理器,具有位寻址能力。
(3)128B内部RAM数据存储器,21个专用寄存器。 (4)4KB内部掩膜ROM程序存储器。 (5)2个16位可编程定时器/计数器。 (6)32个(4×8位)双向可独立寻址的I/O口。 (7)1个全双工UART(异步串行通信口)。 (8)5个中断源、两级中断优先级的中断控制器。 (9)时钟电路,外接晶振和电容可产生1.2MHz~12 MHz的时钟频率。 (10)外部程序/数据存储器寻址空间均为64KB。 (11)111条指令,大部分为单字节指令。 (12)单一+5V电源供电,双列直插40引脚DIP封装。
15
(1)数据指针寄存器(Data Pointer ——DPTR)
——指向ROM或RAM存储单元的地址指针(引导数据传送) 具有16位字长,可寻址范围216(64KB) 具有可被指令修改功能→可变更数据地址 可拆为2个8位的独立寄存器DPL和DPH … 0000H 0001H 0002H 0003H 0004H FFFFH 35H 77H F4H 94H 9EH DPTR指针 xxH ROM RAM DPL DPH 15
16
(2)累加器(ACCUMULATER——A)
——存放操作数或中间运算结果的寄存器 具有8位字长 是利用率最高的寄存器 具有可被指令修改功能
17
(3)程序状态字寄存器(Program State Word——PSW)
——存放程序运行过程中的各种状态信息的寄存器 AC 具有8位字长 各位都具有特殊含义 状态信息通常自动形成,但也可用指令修改
18
用途:1、根据CY判断有无进位或借位; 2、在位操作中CY可作为位累加器用。 CY(PSW.7)——进位标志
AC F0 RS1 RS0 OV F1 P CY CY CY AC AC AC F0 F0 F0 RS1 RS1 RS1 RS0 RS0 RS0 OV OV OV F1 F1 F1 P P P 位 位 7 7 位 位 6 6 位 位 5 5 位 位 4 4 位 位 3 3 位 位 2 2 位 位 1 1 位 位 CY(PSW.7)——进位标志 在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”。 举例 ———————— CY= 进位标志位CY 用途:1、根据CY判断有无进位或借位; 2、在位操作中CY可作为位累加器用。
19
在进行加或减运算时,如果操作结果的低四位数向高四位产生进位或借位时,将由硬件置“1”,否则清“0”。
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 CY AC F0 RS1 RS0 OV F1 P CY CY CY AC AC AC F0 F0 F0 RS1 RS1 RS1 RS0 RS0 RS0 OV OV OV F1 F1 F1 P P P 位 位 7 7 位 位 6 6 位 位 5 5 位 位 4 4 位 位 3 3 位 位 2 2 位 位 1 1 位 位 AC(PSW.6)——辅助进位标志 在进行加或减运算时,如果操作结果的低四位数向高四位产生进位或借位时,将由硬件置“1”,否则清“0”。 用途:1、根据AC判断加减运算时有无半进位或半借位; 2、在BCD码调整运算中要用到AC标志 举例 ———————— AC= 半进位
20
F0(PSW.5)和F1(PSW.1) ——用户标志位 可作为用户自行定义的一个状态标记
CY AC F0 RS1 RS0 OV F1 P 位 7 6 5 4 3 2 1 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 F0(PSW.5)和F1(PSW.1) ——用户标志位 可作为用户自行定义的一个状态标记 举例 定义F0为安全门的状态, F0 = 0→开;F0 = 1→闭 定义F1为指示灯的状态, F1 = 0→开;F1 = 1→闭 用途:在程序运行中判断门或灯的工作状态
21
RS1和 RS0(PSW.4和 PSW.3) ——工作寄存器组指针 用途:用于指定CPU的当前工作寄存器组
CY AC F0 RS1 RS0 OV F1 P 位 7 6 5 4 3 2 1 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 RS1和 RS0(PSW.4和 PSW.3) ——工作寄存器组指针 用途:用于指定CPU的当前工作寄存器组
22
在有符号数加减运算或无符号数乘除运算中若有异常结果,OV硬件置1,否则硬件清0。
CY AC F0 RS1 RS0 OV F1 P 位 7 6 5 4 3 2 1 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 OV(PSW.2) ——溢出标志 在有符号数加减运算或无符号数乘除运算中若有异常结果,OV硬件置1,否则硬件清0。 用途:判断运算的结果是否正确,正确 = 0;出错 = 1
23
举例 举例 正数的补码是它本身,负数的补码是 除符号位外每位求反,然后末尾加1 01010100 (+84)
(+84) (+105) —————————————— CY= →(-67) D6有进位 D7无进位 → → OV=C6Y C7Y=1 0=1 →运算出错 举例 (-5) (-16) —————————————— CY= →(-21) D7有进位 D6有进位 → → OV=C6Y C7Y=1 1=0 →运算正确 23
24
该位始终跟踪累加器A中含“1”个数的奇偶性 如果A中有奇数个“1”,则P置“1”,否则置“0”
CY AC F0 RS1 RS0 OV F1 P 位 7 6 5 4 3 2 1 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 P(PSW.0) ——奇偶标志位 该位始终跟踪累加器A中含“1”个数的奇偶性 如果A中有奇数个“1”,则P置“1”,否则置“0” 举例 若A = ,则P=0 若A = ,则P=1 用途:用于串行通讯中的数据校验,判断是否存在传输错误。
25
(4)B寄存器 在乘、除法运算中用B寄存器暂存数据。 在其他指令中,B寄存器可作为RAM中的一个单元使用。B寄存器的地址为B0H。 (5)堆栈指针SP 堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。 注意:堆栈栈顶超出内部RAM单元时,会引起程序运行出错。对51子系列不要超出7FH,对52子系列不要超出FFH。这常常是单片机初学者和使用高级语言编程者易犯的错误之一。
26
51系列单片机一般采用40只引脚的双列直插式(DIP——Dual In-line Package)封装结构
MCS-51引脚及功能 51系列单片机一般采用40只引脚的双列直插式(DIP——Dual In-line Package)封装结构
27
除DIP封装外, 51单片机还采用44只引脚的方形扁平(QFP
——Quad Flat Package) 封装方式(4只引脚无用)。
28
DIP引脚分布 电源及晶振引脚(共4只) 控制引脚(共4只) 端口引脚 (共32只) 三类
29
XTAL1 (19脚);外接晶振引脚(内置放大器输入端) XTAL2 (18脚):外接晶振引脚(内置放大器输出端)
(1)电源及晶振引脚 Vcc 80C51 20 40 Vss +5V VCC (40脚):+5V电源引脚 VSS (20脚): 接地引脚 XTAL1 (19脚);外接晶振引脚(内置放大器输入端) XTAL2 (18脚):外接晶振引脚(内置放大器输出端) 80C51
30
ALE/PROG (30):地址锁存使能输出/ 编程脉冲输入
20μF 8K 10k 80C51 (2)控制引脚 RST/VPD (9):复位/ 备用电源引脚 ALE/PROG (30):地址锁存使能输出/ 编程脉冲输入 PSEN (29):输出访问片外程序存储器读选通信号 EA/ VPP (31):外部ROM允许访问/ 编程电源输入
31
(3)端口引脚 P0.0~P0.7(39~32脚)——P0口 P1.0~P1.7(1~8脚)——P1口
8只/组×4 组= 32 只引脚 P0口~P3口是单片机对外联络的重要通道
32
最简单的单片机电路图 MCU的电源引脚被隐藏(ISIS仿真与Vcc和Vss无关)
33
第2章 MCS-51单片机结构及原理 2.1 MCS-51单片机结构 2.2 MCS-51的存储器结构 2.3单片机的复位、时钟与时序 2.4并行I/O口
34
2.2 MCS-51的存储器结构 1. 存储器划分方法 计算机存储器地址空间的两种结构形式: 普林斯顿结构和哈佛结构。
RAM和ROM统一编址 RAM和ROM分别编址
35
51系列单片机采用哈佛结构,共有4个物理存储空间
片内RAM、片内ROM、片外RAM、片外ROM 程序存储器ROM 数据存储器RAM
36
2. 程序存储器(ROM) 作用:存放程序、表格或常数,具有非易失性 特点:片内ROM与片外ROM统一编址(>4KB时用片外ROM)
EA/ VPP (31引脚):外部ROM允许访问/ 编程电源输入
37
a) 同时使用片内和片外ROM b)ROM地址分布
当EA引脚接高电平(开关接A点)时,4 KB以内的地址在片内ROM,大于4KB的地址在片外ROM中(图中折线),两者共同构成64KB空间;当EA引脚接低电平(开关接B点)时,片内ROM被禁用,全部64KB地址都在片外ROM中(图中直线)。 由于片内外ROM是统一编址的,只能算1个逻辑存储空间。
38
片内RAM和片外RAM是独立的,而片内ROM可与片外ROM统一编址
片 内 RAM 片 外 51单片机的4个物理存储空间相当于3个逻辑存储空间
39
ROM的6个特殊存储器单元——引导程序跳转
0000H:复位后程序自动运行的首地址 0003H:外部中断0入口地址 000BH:定时器0溢出中断入口地址 0013H:外部中断1入口地址 001BH:定时器0溢出中断入口地址 0023H:串行口中断入口地址 程序一般应安排在0030H地址以后 … 跳转指令 0000H 0001H 0002H 0003H 0004H 0030H 主程序首指令
40
3. 片内数据存储器(RAM) 作用:存放程序运行结果 字长:8位 数量:128B+128B(80C51)
30H 低128B( 00H~7FH )为普通RAM区 高128B (80H~FFH)为特殊功能寄存器区
41
(1) 低128字节的区域 ①工作寄存器区(00H~1FH) ②可位寻址区(20H~2FH) ③用户RAM区(30H~7FH) ③ ② ①
42
CPU复位后RS1和 RS0默认值为0,即默认第0组为当前工作寄存器组。
①区共有32个存储单元; 每个单元都有1个8位地址(字节地址) 每个单元都有1个寄存器名称(R0~R7) 32个单元分为4组(第0 ~ 第3组) CPU只能选一组为当前工作寄存器组 ① 30H 当前工作寄存器组取决于PSW的设置 CPU复位后RS1和 RS0默认值为0,即默认第0组为当前工作寄存器组。
43
②区共有16个存储单元;每个单元都有一个字节地址,每个单元都有8个不同的位地址;②区共有128个位地址
30H ②区可以字节地址和位地址两种方式存取数据。
44
此区可作为堆栈区和中间数据存储区使用——用户RAM区
③区共有80个存储单元; 每个单元都有一个字节地址,但没有 位地址,也没有寄存器名。 ③ 30H 此区可作为堆栈区和中间数据存储区使用——用户RAM区 【注意】:①区和③区只能按字节进行数据存取操作,②区则可按字节和位两种方式存取操作。
45
每个存储单元都有一个字节地址,但只有其中21个单元可以使用,并有相应寄存器名称。
(2)高128字节RAM区 每个存储单元都有一个字节地址,但只有其中21个单元可以使用,并有相应寄存器名称。 30H 51单片机共有21个特殊功能寄存器(Spetial Function Register) SFR承担着51单片机内部资源的管理工作
46
88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 字节地址末位是0或8的SFR,都具有位地址。
47
第2章 MCS-51单片机结构及原理 2.1 MCS-51单片机结构 2.2 MCS-51的存储器结构 2.3单片机的复位、时钟与时序 2.4并行I/O口
48
复位——使单片机恢复原始默认状态的操作。
1.复位与复位电路 复位——使单片机恢复原始默认状态的操作。
49
复位条件 在RST/VPD引脚端出现≥10ms 要求的高电平(≥3V)状态。 复位方式 复合复位 上电复位 按键复位
50
2.时钟电路 CPU的微操作必须在统一的时钟控制下才能正确进行, 需要通过单片机引脚接入晶振元件或外部时钟
内部时钟方式 外部时钟方式 微调电容: C1、C2≈ 30pF 晶振:石英晶体封裝 MCS-51的时钟频率为6~48MHz可调
51
3. 单片机时序 ——CPU在执行指令时所需控制信号的时间顺序。 时序的定时单位: 时钟周期(或节拍)P、状态周期S、机器周期、指令周期
1个状态周期(S)= 2个节拍(P) 1个机器周期 = 6个状态(S) =12个节拍(P) 1个指令周期约为1~4个机器周期
52
2.3.2 程序执行方式 程序执行方式是单片机基本工作方式,可分为连续执行工作方式和单步执行工作方式。 1.连续执行工作方式
程序执行方式 程序执行方式是单片机基本工作方式,可分为连续执行工作方式和单步执行工作方式。 1.连续执行工作方式 这是所有单片机都需要的一种方式。单片机复位后,PC值为0000H,因此单片机复位后立即转到0000H处执行程序。单片机按照程序事先编排的任务,自动连续地执行下去。 2.单步执行工作方式 这是用户调试程序的一种工作方式,在单片机开发系统上有一专用的单步按键(或软件调试环境)。按一次,单片机就执行一条指令(仅仅执行一条),这样就可以逐条检查程序,发现问题进行修改。 单步执行方式是利用单片机外部中断功能实现的。
53
节电方式 节电工作方式是一种低功耗的工作方式,可分为空闲(等待)方式和掉电(停机)方式。是针对CHMOS类芯片而设计的,HMOS型单片机不能工作在节电方式,但它有一种掉电保护功能。 1.HMOS单片机的掉电保护 当VCC突然掉电时,单片机通过中断将必须保护的数据送入内部RAM,备用电源VPD可以维持内部RAM中的数据不丢失。 2.CHMOS单片机的节电方式 CHMOS型单片机是一种低功耗器件,正常工作时电流为11~22mA,空闲状态时为1.7~5mA,掉电方式为5~50A。因此,CHMOS型单片机特别适用于低功耗应用场合,它的空闲方式和掉电方式都是由电源控制寄存器PCON中相应的位来控制。
54
(1)电源控制寄存器PCON PCON各位的定义如下表所示。 IDL:空闲方式控制位,该位为1时,单片机进入空闲待机工作方式。
PD: 掉电方式控制位,为1时,单片机进入掉电工作方式。 上面的IDL、PD同时为1,则进入掉电工作方式,同时为0,则工作在正常运行状态。 GF0, GF1:通用标志位,描述中断是来自正常运行还是来自空闲方式,用户可通过指令设定它们的状态。 SMOD:为串行口波特率倍率控制位,用于串行通信。
55
(2)空闲工作方式 将IDL位置为1(用指令MOV PCON, #01H),则进入空闲工作方式,其内部控制电路如右图所示。此时,CPU进入空闲待机状态,中断系统、串行口、定时器/计数器,仍有时钟信号,仍继续工作。退出空闲状态有两种方法:一是中断退出,二是硬件复位退出。 (3)掉电工作方式 将PD置为1(用指令ORL PCON, #02H),可使单片机进入掉电工作方式。此时振荡器停振,只有片内的RAM和SFR中的数据保持不变,而包括中断系统在内的全部电路都将处于停止工作状态。退出掉电工作方式,只能采用硬件复位的方法。 欲使8051从掉电方式退出后继续执行掉电前的程序,则必须在掉电前预先把SFR中的内容保存到片内RAM中,并在掉电方式退出后恢复SFR掉电前的内容。
56
编程和校验方式用于内部含有EPROM的单片机芯片(如8751),一般的单片机开发系统都提供实现这种方式的设备和功能。
编程和校验方式 编程和校验方式用于内部含有EPROM的单片机芯片(如8751),一般的单片机开发系统都提供实现这种方式的设备和功能。 编程的主要操作是将原始程序、数据写入内部EPROM中。 校验的主要操作是在向片内程序存储器EPROM写入信息时或写入信息后,可将片内EPROM的内容读出进行校验,以保证写入信息的正确性。
57
第2章 MCS-51单片机结构及原理 2.1 MCS-51单片机结构 2.2 MCS-51的存储器结构 2.3 单片机的复位、时钟与时序
2.4 并行I/O口
58
2.4 并行I/O口 51单片机有32只I/O引脚,分属于4个端口(P0~P3)。 由于工作任务不同, 4个端口的内部结构也不同。
59
P1.n = 1个锁存器 + 1个场效应管驱动器V + 2个三态门缓冲器
P1口包含P1.0~P1.7共8个相同结构的电路 V 2 1 P1.n = 1个锁存器 + 1个场效应管驱动器V + 2个三态门缓冲器 P1.0~P1.7中的8个锁存器组成P1 SFR(90H)
60
输出时: D端=1→/Q=0→V截止→P1.n=1 D端=0→/Q=1→V导通→P1.n=0 读引脚时:P1.n→读引脚三态门1→内部总线
P1.n的通用I/O口工作方式:输出、读引脚、读锁存器 2 V 1 输出时: D端=1→/Q=0→V截止→P1.n=1 D端=0→/Q=1→V导通→P1.n=0 读引脚时:P1.n→读引脚三态门1→内部总线 读锁存器时:Q端→读锁存器三态门2→内部总线
61
如V导通→P1.n电平≡0(钳位)→ 读引脚可能出错
为正确读出P1.n引脚电平,需设法在读引脚前先使V截止 令D=1→/Q=0→V截止→读P1.n→不会出错 可见,P1口作为输入口时是有条件的(应先写1),而输出时无条件,因此,称P1口为准双向口。
62
与P1.n 差别:第二功能控制单元→双功能 P3.0~P3.7中的8个锁存器组成P3 SFR(B0H) 2. P3口 V 第二输入功能 2
4 1 2 第二输入功能 V 与P1.n 差别:第二功能控制单元→双功能 P3.0~P3.7中的8个锁存器组成P3 SFR(B0H)
63
P3.n的通用I/O口工作方式: 输出时: D端=1→Q=1→V截止→P1.n=1 D端=0→Q=0→V导通→P1.n=0
第二输出功能口 = “1” (与非门开锁) 2 V 3 1 4 第二输入功能
64
P3口的第二功能方式: 输出时:第二输出功能 = 1→与非门输出0→V截止→P3.n=1
输入时:P3.n→驱动门4→第二输入功能(也需先使V截至) D端 写 “1” (与非门开锁) 2 V 3 1 4 第二输入功能
65
P3口第二功能定义 引脚 名称 第二功能定义 P3.0 RXD 串行通信数据接收端 输入 P3.1 TXD 串行通信数据发送端 输出
外部中断0请求端口 P3.3 外部中断1请求端口 P3.4 T0 定时器/计数器0外部计数输入端口 P3.5 T1 定时器/计数器1外部计数输入端口 P3.6 片外数据存储器写选通 P3.7 片外数据存储器读选通 (第7章) (第7章) (第5章) (第5章) (第6章) (第6章) (第8章) (第8章)
66
3. P0口 与P1.n 差别:输出控制电路、 输出驱动电路→总线功能 P0.0~P0.7中的8个锁存器组成P0 SFR(80H)
67
漏极开路与上拉电阻的概念 控制端=0→MUX下通→/Q与V1栅极直通 →封锁与门A≡0 →地址/数据端与A输出无关 V2截止→V1漏极开路
68
为使漏极开路的V1有效,必须通过外接上拉电阻与电源连通,上拉电阻的阻值一般为10kΩ。
3 4 1 2 第二输入功能 V 注意:P1、P2、P3口无需外接上拉电阻(已有内部上拉电阻)
69
P0.n的通用I/O口工作方式(控制端 = 0) 输出时: D端=1→/Q=0→V1截止→P0.n=1
70
P0.n的地址/数据分时复用方式(控制端=1)
“地址/数据” 端可无条件输入/输出——(真正的)双向口 “地址/数据”方式下没有漏极开路问题,无需外接上拉电阻
71
4. P2口 V 与P1.n差别:输出控制单元→总线功能 P2.0~P2.7中的8个锁存器组成P2 SFR(A0H)
72
P2.n的通用I/O口方式(控制端=0) 输出时: D端=1→Q端=1→V截止→P2.n=1 D端=0→Q端=0→V导通→P2.n=0
73
P2.n的地址输出口方式(控制端=1) 输出时:地址端=1→V截止→P2.n=1 地址端=0→V导通→P2.n=0 V
74
P0 ~ P3并行口的基本用途 1、可作为并行IO输入通道(例如,按键/开关连接通道)
75
2、可作为并行IO输出通道(例如,数码管显示器连接通道)
76
3、可作为串行通信通道(例如,双机通讯的连接通道)
77
4、可作为外部设备的连接通道(例如,存储器扩展通道)
78
P0~P3小结 1. 结构 2. 功能 ★ 输出控制 MUX开关 D锁存器 P3 P2 P1 P0 B0H A0H 90H 80H
内部上拉电阻 输出控制 MUX开关 D锁存器 P3 P2 P1 P0 2. 功能 B0H A0H 90H 80H SFR地址 ★ 第二功能 总线端口 准双向IO口 P3 P2 P1 P0
79
本章小结 1、单片机的CPU由控制器和运算器组成,在时钟电路和复位电路的支持下,按一定的时序工作。单片机的时序信号包括振荡周期、时钟周期、机器周期和指令周期。 2、51单片机采用哈佛结构存储器,共有3个逻辑存储空间和4个物理存储空间。片内低128字节RAM中包含4个工作寄存器组、128个位地址单元和80个字节地址单元。片内高128字节RAM中离散分布有21个特殊功能寄存器。 3、 P0~P3口都可作为准双向通用I/O口,其中只有P0口需要外接上拉电阻;在需要扩展片外设备时,P2口可作为其地址线接口,P0口可作为其地址线/数据线复用接口,此时它是真正的双向口。
Similar presentations