第1章 MSC-51单片机结构
- 格式:pps
- 大小:746.50 KB
- 文档页数:45
MCS-51介绍MCS-51系列单片机产品有80518051,,80318031,,87518751,,80C5180C51,,80C31等型号(前三种为CMOS 芯片,后两种为CHMOS 芯片)。
它们的结构基本相同,其主要差别反映在存储器的配置上。
8051内部设有4K 字节的掩模ROM 程序存储器,程序存储器,80318031片内没有程序存储器,而8751是将8051片内的ROM 换成EPROM EPROM。
由ATMEL 公司生产的89C51将EPROM 改成了4K 的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。
单片机的结构作一介绍。
1 MCS-51单片机内部结构1.1、 MCS-51单片机组成MCS-51单片机是在一块芯片中集成了CPU CPU,,RAM RAM,,ROM ROM、定时器、定时器、定时器//计数器和多种功能的I/O 线等一台计算机所需要的基本功能部件。
线等一台计算机所需要的基本功能部件。
MCS-51MCS-51单片机内包含下列几个部件:单片机内包含下列几个部件:◆ 一个8位CPU CPU;;◆ 一个片内振荡器及时钟电路;一个片内振荡器及时钟电路; ◆ 4K 字节ROM 程序存储器;程序存储器; ◆ 128字节RAM 数据存储器;数据存储器; ◆ 两个16位定时器位定时器//计数器;计数器;◆ 可寻址64K 外部数据存储器和64K 外部程序存储器空间的控制电路;外部程序存储器空间的控制电路; ◆ 32条可编程的I/O 线(四个8位并行I/O 端口);◆ 一个可编程全双工串行口;一个可编程全双工串行口;◆ 具有五个中断源、两个优先级嵌套中断结构。
具有五个中断源、两个优先级嵌套中断结构。
频率基准源频率基准源 计数器计数器串 行行 串串 行行中断中断 控制控制控制 并行并行并行 I/O I/O I/O 口口 输入输入输入 输出输出输出图2-1 8051单片机框图8051单片机框图如图2-1所示。
第1章MCS-51单片机结构1.1 MCS-51 单片机内部结构1.2 存储器1.3 特殊功能寄存器1.4 时钟电路与复位电路1.5 引脚功能1.6 小结1.1 MCS-51 单片机内部结构1.1.1 概述MCS-51系列单片机型号:普通型(51子系列)8031、8051、8751、89C51、89S51等。
增强型(52子系列)8032、8052、8752、89C52、89S52等。
它们的结构基本相同,其主要差别反映在存储器的配置上。
8031:片内没有程序存储器8051:内部有4KB的掩模ROM程序存储器8751:内部有4KB EPROM89C51: 有4KB的FLASH EEPROM89S51:有4KB的FLASH EEPROM,可在线编程增强型的存储容量为普通型的一倍。
本课以8XX51 系列的单片机为代表讲授。
图中“/” 两边分别为基本型/增强P3P1P2可编程串行I/O 口P0基准频率源128/256B 数据存储器4KB/8KB 程序存储器2/3个16位定时/计数器振荡器及时钟电路CPU64KB总线扩展控制可编程并行I/O 口内部中断计数脉冲串行输出串行输入MCS-51系列单片机内部结构1.1.2 CPUCPU是单片机的核心部件,由运算器和控制器等部件组成。
1. 运算器运算器的功能:算术运算:加、减、乘、除、加1、减1、比较、BCD码十进制调整等。
逻辑运算:与、或、异或、求反、循环等逻辑操作。
位操作:内部有布尔处理器,它以进位标志位C为位累加器,用来处理位操作。
置‘1’、清‘0’ 、取反、位判断等。
操作结果的状态信息送至状态寄存器(PSW Program StatusWord Register)。
1.1.2 CPU2. 程序计数器PC程序计数器PC是16位的寄存器,用来存放即将要执行的指令地址,可对64KB程序存储器直接寻址。
执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。
3. 指令寄存器指令寄存器中存放指令代码。
CPU执行指令时,将程序存储器中读取的指令代码送入指令存储器,经指令译码器译码后,由时钟与控制电路发出相应的控制信号,完成指令功能。
用于存放程序和数据。
存储器由许多单元组成,每个单元有一个编号(称为地址)。
一个单元存放一个8位二进制数(字节)----内容,当一个数据多于8位时,就需要多个单元来存放。
存储器分ROM和RAM等ROM:用来存放程序、常数---程序存储器;RAM:存放程序运行中所需的变量或运算结果----数据存储器。
FFH90H ……02H00H 01H3AH 00H78H存储器内容地址1、存储器结构普林斯顿结构:只有一个地址空间,RAM 和ROM 安排在一个空间的不同区域,CPU 访问RAM 和访问ROM 使用相同的指令。
如8086、奔腾系列微机。
哈佛结构:RAM 和ROM 有两个不同的地址空间,RAM 和ROM 可以有相同的地址,CPU 访问RAM 和访问ROM 使用不同的指令、不同的控制信号。
如51系列单片机。
FFFFH RAM ROM 0000H2、存储器地址空间的两种结构形式----普林斯顿结构和哈佛结构FFFFHRAM0000H FFFFH ROM 0000HMCS-51存储器物理结构从物理空间看,MCS-51单片机有四个存储器地址空间:片内数据存储器、片内程序存储器片外数据存储器、片外程序存储器3、MCS-51的储存器结构外部数据存储器(RAM)外部程序存储器(ROM)内部程序存储器内部数据存储器8XX51MCS-51存储器物理结构从逻辑上看,MCS-51有三个存储器空间:片内数据存储器、片外数据存储器片内、片外的程序存储器(片内、片外统一编址)1.2 存储器图1.3 MCS-51单片机的存储器逻辑结构内部程序存储器内部数据存储器8XX5100H 7FH 0FFFH 0000H 1000H 外部程序存储器(ROM)FFFFH 0000H 外部数据存储器(RAM)FFFFH 内部数据存储器8XX5100H7FH0000H 外部程序存储器(ROM)FFFFH 0000H 外部数据存储器(RAM)FFFFH (EA=0)1.2.1程序存储器程序存储器:用来存放编制好的始终保留的固定程序和表格常数。
程序存储器以程序计数器PC 作为地址指针,通过16位地址总线,可寻址的地址空间为64KB。
内部程序存储器:在8051/8751/89C51 片内,分别内置最低地址空间的4KBROM/EPROM程序储存器(内部程序存储器)。
外部程序存储器:在8031片内,则无内部程序存储器,必须外部扩展EPROM(外部程序存储器)。
MCS-51单片机中,内、外程序存储器的地址是统一编排的。
8031单片机无内部程序存储器,地址从0000H ~FFFFH 都是外部程序存储空间。
引脚应始终接地。
EA 1.2.1 程序存储器访问程序存储器使用MOVC 指令。
对于内部有ROM 的单片机(51系列),引脚接高电平,使程序从内部ROM 开始执行。
当PC 值超出内部ROM 的容量时,会自动转向外部程序存储器空间。
外部程序存储器地址空间为1000H ~FFFFH 。
EA1.2.1 程序存储器51系列单片机执行程序时,由程序计数器PC指示指令地址,单片机复位后,PC=0000H,因此系统从0000H单元开始取指令,并执行程序。
地址用途0000H 复位操作后的程序入口0003H 外部中断0服务程序入口000BH 定时器0中断服务程序入口0013H 外部中断1服务程序入口001BH 定时器1中断服务程序入口0023H 串行口中断服务程序入口MCS-51 单片机最多可扩展64KB外部数据存储器(RAM)和外部I/O 端口地址。
MCS-51单片机的外部数据存储器和外部I/O端口实行统一编址,并使用相同的作选通控制RD 、WR信号,均使用MOVX指令访问。
内部数据存储器是使用最多的地址空间,指令(算术运算、逻辑运算、位操作运算等)的操作数只能在此地址空间或特殊功能寄存器地址空间中。
51 系列单片机,只有128B RAM ,地址00H ~7FH ,80H ~FFH 为SFR (特殊功能寄存器)地址空间。
52 系列单片机(增强型),有256B RAM ,地址00H ~FFH ,高128字节RAM 和SFR 的地址重合。
00H 内部RAM 7FH 80H 特殊功能寄存器SFR FFH 00H内部RAM7FH内部RAM FFH 特殊功能寄存器SFRFFH地址重合靠寻址方式来区分访问的区域:高128B RAM 采用寄存器间接寻址方式;SFR只能采用直接寻址方式;低128B RAM 两种方式均可。
地址范围为00~7FH的低128B RAM使用分配如表1.1。
(1)地址0~1FH的前32个单元称为寄存器区分四组(0~3组),每组有8个寄存器R0~R7。
用途:①作通用寄存器R0~R7。
②R0与R1可作间址寄存器使用。
内部RAM----寄存器区使用时应注意:32个单元的寄存器区分为四组,使用时只能选其中一组寄存器。
一旦选中一组,其它三组只能作为数据存储器(通用RAM)使用,而不能作为寄存器使用。
寄存器的选组由程序状态字PSW的RS1和RS0位定。
RS1 RS0 选寄存器组0 0 0组0 1 1组1 0 2组1 1 3组初始化时或复位时,自动选中0组。
设置多组寄存器可以方便保护现场。
内部RAM----位寻址区、堆栈区(2)20H~2FH为位地址区共16个单元,每单元有八个位,共128位,每位有一个位地址,位地址范围为00H~7FH,该区既可位寻址,又可字节寻址。
如MOV 20H,C (这里C是Cy进位标志位),该指令是将Cy内容送20H位,如果Cy=1,位20H值为‚1‛。
而MOV A,20H是将地址为20H单元的内容送至累加器A。
(3)除选中的寄存器组以外的存储器均可以作为通用RAM区。
(4)堆栈区8XX51单片机的设在内部RAM区,深度不大于128字节初始化时堆栈指针SP指向07H。
1.3特殊功能寄存器51单片机共有21个字节的特殊功能寄存器(SFR Special Function Register)。
52单片机有32个SFR1.用途:A 累加器、状态标志寄存器单片机内部各部件专用的控制、状态寄存器并行口、串行口2.地址空间:21个SFR不连续地分布在80H~FFH 128个字节地址空间。
1.3 特殊功能寄存器21个特殊功能寄存器的名称及主要功能介绍如下: [详细的用法见后面各节的内容]A—累加器: 带有全零标志Z,A=0则Z=1;A≠0则Z=0。
该标志常用于程序分支转移的判断条件。
B—寄存器:常用于乘除法运算(见第2章)。
PSW—程序状态字:主要起着标志寄存器的作用,其8位定义见表1-2。
位地址D7D6D5D4D3D2D1D0CY AC F0RS1RS0OV-P位名称CY :进/借位标志反映最高位的进位/借位情况,加法为进位;减法为借位。
CY=1:有进/借位;CY=0:无进/借位。
AC :辅助进/借位标志反映高半字节与低半字节之间的进/借位,AC=1:有进/借位;AC=0:无进/借位。
FO :用户标志位。
可由用户设定其含义。
RS1,RS0:工作寄存器组选择位。
D7D6D5D4D3D2D1D0CYACF0RS1RS0OV-P位地址位名称特殊功能寄存器--PSW特殊功能寄存器--PSW OV:溢出标志反映补码运算的运算结果有无溢出有溢出OV=1;无溢出OV=0。
-:无效位。
P:奇偶标志反映A累加器中‘1’个数的奇偶。
有奇数个‘1’:P=1;有偶数个‘1’:P=0。
影响标志位的指令及其影响方式见第2章。
特殊功能寄存器—SP、DPTRSP—堆栈指针。
8XX51单片机的堆栈设在片内RAM,对堆栈的操作包括压入(PUSH)和弹出(POP)两种方式,并且遵循后进先出的原则,在堆栈生成的方向上遵循先加后压,先弹后减的顺序,按字节进行操作。
DPTR——数据指针寄存器用来存放16位地址值,以便用间接寻址或变址寻址片外存储器。
DPTR可分成DPL和DPH两个8位寄存器分别使用。
特殊功能寄存器—P0 P1 P2 P3P0 P1 P2 P3——I/O端口寄存器四个并行I/O端口的映射寄存器。
通过对该寄存器的读/写,可实现从相应I/O端口的输入/输出。
例如:指令MOV P1,A实现了把A累加器中的内容从P1端口输出。
例如:指令MOV A,P3实现了把P3端口上的信息输入到A中。
特殊功能寄存器—其他寄存器IP——中断优先级控制寄存器。
IE——中断允许控制寄存器。
TMOD——定时器/计数器方式控制寄存器。
TCON——定时器/计数器控制寄存器。
TH0,TL0——定时器/计数器0。
TH1,TH1——定时器/计数器1。