第 2章
单片机基本结构组成及工作原理
2.1单片机基本组成及工作原理
计算机的智能是人所赋予的,计算机只会按人们
所给的命令一步一步地工作,这些命令称为指令。将
指令有效地组合成能够完成特定任务的指令序列,称
为程序。程序是计算机工作的命令清单。
2.1.1程序--单片机工作的命令清单
┆
MOV R0,#RADI
MOVX A,@R0
MOV B,#33
MUL AB
MOV R2,A
INC R0
MOVX A,@R0
MOV B,A
MOV A,R2
DIV AB
CLR C
SUBB A,DATA0
JC DOWN
SUBB A,DATA1
JC KEEP
AJMP UP
┆
;读取超声波发射到回收的时间 t
;计算与前辆车的距离 (33为声速的十分之一 )d; d=t× 33
;读取车速 v;计算以该车速行驶完距离 d的时间 T
; T= d/v
;与设定时间范围 t0~ t0+t1(考虑到人的反应制
动时间等)比较; T<t0时降低车速; t0<T<t0+t1时原速行进; T>t0+t1时增加车速
2.1.2存贮器 --信息存放及程序运行场所
存
储
器
存贮器的主要功能是存放程序和数据,程序是单片机
操作的依据,数据是单片机操作的对象。
单片机向存贮单元存放信息称为, 写,,取出信息称
为, 读,,, 读,,, 写, 操作都称为访问存贮器。单片
机访问存贮器是根据存贮单元的地址进行的。根据地址访
问存贮单元又称寻址。
RAM
ROM
掩膜 ROM
PROM
EPROM
EEPROM
flashROM
2.1.3 CPU--程序执行者
1.运算器
用于实现算术和逻辑运算
2.控制器
指挥控制元件
CPU是计算机的核心,由运算器控制器组成。
2.1.4 I/0接口 --单片机内外交流通道
单片机控制系统在工作时,单片机要不断从外部获
取信息,并向外部发出动作控制信号,信息的输入输出
电路称 I/O接口( Input/Output),接口是计算机与外部
设备之间的交接界面和交流通道。
2.1.5 单片机的基本组成
2.2 MCS-51单片机存贮器
2.2.1 MCS-51单片机存贮器配置
程序存储器 片内数据存储器 片外数据存储器
2.2.2 程序存贮器
程序存贮器用来存放程序和重要的数据。
程序运行时,CPU首先从程序存贮器的 0000H单元开
始读取指令。而程序存贮器的 0003H~ 002AH单元被系统
留作特殊用途,用户程序必须写在系统留用之后的单元。
所以 000H~ 0002H三个单元一定要存放一个绝对跳转指令
( JMP指令),跳转到用户程序的首址。
从 0000H开始部分的程序存贮单元是指片内还是片外
由每单片机的 31引脚 EA决定,当 EA= 1即接高电平时,选
择片内,反之则选片外。而对于高出 4KB部分的程序存贮
单元,不论 EA为何值,一定是指片外程序存贮器。
CPU在访问片外 ROM时,从 PSEN输出低电平信号,
选通片外 ROM,而不是 RAM。 ROM只有读出,没有写入
,无须读、写信号 RD,WR控制。
2.2.3 数据存贮器
数据存贮器是用于运行程序、存放数据。数据存贮器
分为内部 RAM和外部 RAM,各自独立编址。
常用 MOV指令读 /写片内 RAM,MOVX指令读 /写片外
RAM。当读、写片外 RAM时,单片机分别发出 RD,WR
有效信号,控制读、写片外 RAM,而不是片外 ROM。
片
内
R
A
M
高 128单元,SFR
(80H ~FFH)
低 128单元
(00H~7FH)
堆栈和数据缓冲区
(30H~7FH)
位寻址区
(20H~2FH)
通用寄存器区
(00H~1FH)
RS1 RS0 寄存器组 R0~ R7地址
0 0 BANK0 00~ 07H
0 1 BANK1 08~ 0FH
1 0 BANK2 10~ 17H
1 1 BANK3 18~ 1FH
表 2-1 工作寄存器区的选择
1.片内 RAM低 128单元
表 2-2 位寻址区位地址
单元地址 位地址
2FH
2EH
2DH
2CH
2BH
2AH
29H
28H
27H
26H
25H
24H
23H
22H
21H
20H
7FH 7EH 7DH 7CH 7BH 7AH 79H 78H
77H 76H 75H 74H 73H 72H 71H 70H
6FH 6EH 6DH 6CH 6BH 6AH 69H 68H
67H 66H 65H 64H 63H 62H 61H 60H
5FH 5EH 5DH 5CH 5BH 5AH 59H 58H
57H 56H 55H 54H 53H 52H 51H 50H
4FH 4EH 4DH 4CH 4BH 4AH 49H 48H
47H 46H 45H 44H 43H 42H 41H 40H
3FH 3EH 3DH 3CH 3BH 3AH 39H 38H
37H 36H 35H 34H 33H 32H 31H 30H
2FH 2EH 2DH 2CH 2BH 2AH 29H 28H
27H 26H 25H 24H 23H 22H 21H 20H
1FH 1EH 1DH 1CH 1BH 1AH 19H 18H
17H 16H 15H 14H 13H 12H 11H 10H
0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
07H 06H 05H 04H 03H 02H 01H 00H
2.专用寄存器区
( 1)累加器 A
( 2) B寄存器
( 3)程序计数器 PC
PC是一个 16位计数器,其内容为将要执行指令的存放地
址。
PC具有自动加 1功能,CPU每进行一次 ROM的读数操作,
PC内容自动加 1,指向下一个 ROM单元。
PC没有地址,用户不可以对它进行读写,但可以通过转
移、调用、返回等指令改变其内容,以改变程序的执行顺序。
当系统复位时,PC为 0000H,CPU从 0000H单元运行程序。
( 4)程序状态字 PSW
? CY或 C( PSW.7) 进位标志位
? AC( PSW.6) 辅助进位标志位
? F0( PSW.5) 用户标志位
? RS1,RS0( PSW.4,PSW.3) 当前寄存器区选择位
? OV( PSW.2) 溢出标志位
? P( PSW.0) 奇偶标志位
( 5)数据指针 DPTR
16位专用寄存器
位 序 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
位名称 CY AC FO RS1 RS0 OV - P
2.3 单片机外围附加电路
2.3.1 时钟电路
2.3.2 复位电路
表 2-4 MCS-51单片机各寄存器的复位状态
00H TCON 0000H PC
00H TMOD
0××× 0000B PCON 0× 000000B IE
不定 SBUF ×× 000000B IP
00H SCON 0FFH P0~P3
00H TH1 0000H DPTR
00H TL1 07H SP
00H TH0 00H PSW
00H TL0 00H ACC
复位状态 寄存器 复位状态 寄存器
复习题,1 3 6 8 9 10 12 13
作业,
单片机基本结构组成及工作原理
2.1单片机基本组成及工作原理
计算机的智能是人所赋予的,计算机只会按人们
所给的命令一步一步地工作,这些命令称为指令。将
指令有效地组合成能够完成特定任务的指令序列,称
为程序。程序是计算机工作的命令清单。
2.1.1程序--单片机工作的命令清单
┆
MOV R0,#RADI
MOVX A,@R0
MOV B,#33
MUL AB
MOV R2,A
INC R0
MOVX A,@R0
MOV B,A
MOV A,R2
DIV AB
CLR C
SUBB A,DATA0
JC DOWN
SUBB A,DATA1
JC KEEP
AJMP UP
┆
;读取超声波发射到回收的时间 t
;计算与前辆车的距离 (33为声速的十分之一 )d; d=t× 33
;读取车速 v;计算以该车速行驶完距离 d的时间 T
; T= d/v
;与设定时间范围 t0~ t0+t1(考虑到人的反应制
动时间等)比较; T<t0时降低车速; t0<T<t0+t1时原速行进; T>t0+t1时增加车速
2.1.2存贮器 --信息存放及程序运行场所
存
储
器
存贮器的主要功能是存放程序和数据,程序是单片机
操作的依据,数据是单片机操作的对象。
单片机向存贮单元存放信息称为, 写,,取出信息称
为, 读,,, 读,,, 写, 操作都称为访问存贮器。单片
机访问存贮器是根据存贮单元的地址进行的。根据地址访
问存贮单元又称寻址。
RAM
ROM
掩膜 ROM
PROM
EPROM
EEPROM
flashROM
2.1.3 CPU--程序执行者
1.运算器
用于实现算术和逻辑运算
2.控制器
指挥控制元件
CPU是计算机的核心,由运算器控制器组成。
2.1.4 I/0接口 --单片机内外交流通道
单片机控制系统在工作时,单片机要不断从外部获
取信息,并向外部发出动作控制信号,信息的输入输出
电路称 I/O接口( Input/Output),接口是计算机与外部
设备之间的交接界面和交流通道。
2.1.5 单片机的基本组成
2.2 MCS-51单片机存贮器
2.2.1 MCS-51单片机存贮器配置
程序存储器 片内数据存储器 片外数据存储器
2.2.2 程序存贮器
程序存贮器用来存放程序和重要的数据。
程序运行时,CPU首先从程序存贮器的 0000H单元开
始读取指令。而程序存贮器的 0003H~ 002AH单元被系统
留作特殊用途,用户程序必须写在系统留用之后的单元。
所以 000H~ 0002H三个单元一定要存放一个绝对跳转指令
( JMP指令),跳转到用户程序的首址。
从 0000H开始部分的程序存贮单元是指片内还是片外
由每单片机的 31引脚 EA决定,当 EA= 1即接高电平时,选
择片内,反之则选片外。而对于高出 4KB部分的程序存贮
单元,不论 EA为何值,一定是指片外程序存贮器。
CPU在访问片外 ROM时,从 PSEN输出低电平信号,
选通片外 ROM,而不是 RAM。 ROM只有读出,没有写入
,无须读、写信号 RD,WR控制。
2.2.3 数据存贮器
数据存贮器是用于运行程序、存放数据。数据存贮器
分为内部 RAM和外部 RAM,各自独立编址。
常用 MOV指令读 /写片内 RAM,MOVX指令读 /写片外
RAM。当读、写片外 RAM时,单片机分别发出 RD,WR
有效信号,控制读、写片外 RAM,而不是片外 ROM。
片
内
R
A
M
高 128单元,SFR
(80H ~FFH)
低 128单元
(00H~7FH)
堆栈和数据缓冲区
(30H~7FH)
位寻址区
(20H~2FH)
通用寄存器区
(00H~1FH)
RS1 RS0 寄存器组 R0~ R7地址
0 0 BANK0 00~ 07H
0 1 BANK1 08~ 0FH
1 0 BANK2 10~ 17H
1 1 BANK3 18~ 1FH
表 2-1 工作寄存器区的选择
1.片内 RAM低 128单元
表 2-2 位寻址区位地址
单元地址 位地址
2FH
2EH
2DH
2CH
2BH
2AH
29H
28H
27H
26H
25H
24H
23H
22H
21H
20H
7FH 7EH 7DH 7CH 7BH 7AH 79H 78H
77H 76H 75H 74H 73H 72H 71H 70H
6FH 6EH 6DH 6CH 6BH 6AH 69H 68H
67H 66H 65H 64H 63H 62H 61H 60H
5FH 5EH 5DH 5CH 5BH 5AH 59H 58H
57H 56H 55H 54H 53H 52H 51H 50H
4FH 4EH 4DH 4CH 4BH 4AH 49H 48H
47H 46H 45H 44H 43H 42H 41H 40H
3FH 3EH 3DH 3CH 3BH 3AH 39H 38H
37H 36H 35H 34H 33H 32H 31H 30H
2FH 2EH 2DH 2CH 2BH 2AH 29H 28H
27H 26H 25H 24H 23H 22H 21H 20H
1FH 1EH 1DH 1CH 1BH 1AH 19H 18H
17H 16H 15H 14H 13H 12H 11H 10H
0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
07H 06H 05H 04H 03H 02H 01H 00H
2.专用寄存器区
( 1)累加器 A
( 2) B寄存器
( 3)程序计数器 PC
PC是一个 16位计数器,其内容为将要执行指令的存放地
址。
PC具有自动加 1功能,CPU每进行一次 ROM的读数操作,
PC内容自动加 1,指向下一个 ROM单元。
PC没有地址,用户不可以对它进行读写,但可以通过转
移、调用、返回等指令改变其内容,以改变程序的执行顺序。
当系统复位时,PC为 0000H,CPU从 0000H单元运行程序。
( 4)程序状态字 PSW
? CY或 C( PSW.7) 进位标志位
? AC( PSW.6) 辅助进位标志位
? F0( PSW.5) 用户标志位
? RS1,RS0( PSW.4,PSW.3) 当前寄存器区选择位
? OV( PSW.2) 溢出标志位
? P( PSW.0) 奇偶标志位
( 5)数据指针 DPTR
16位专用寄存器
位 序 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
位名称 CY AC FO RS1 RS0 OV - P
2.3 单片机外围附加电路
2.3.1 时钟电路
2.3.2 复位电路
表 2-4 MCS-51单片机各寄存器的复位状态
00H TCON 0000H PC
00H TMOD
0××× 0000B PCON 0× 000000B IE
不定 SBUF ×× 000000B IP
00H SCON 0FFH P0~P3
00H TH1 0000H DPTR
00H TL1 07H SP
00H TH0 00H PSW
00H TL0 00H ACC
复位状态 寄存器 复位状态 寄存器
复习题,1 3 6 8 9 10 12 13
作业,