单片机存储器部分_第1页
单片机存储器部分_第2页
单片机存储器部分_第3页
单片机存储器部分_第4页
单片机存储器部分_第5页
已阅读5页,还剩74页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2 2章章 MCS-51MCS-51单片机的基本结构及单片机的基本结构及 工作原理工作原理 任务一任务一 单灯闪烁单灯闪烁 2.1 MCS-51 2.1 MCS-51 系列单片机的结构及引脚系列单片机的结构及引脚 2.2 2.2 中央处理单元中央处理单元CPUCPU 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 2.4 2.4 并行并行I/OI/O端口端口 2.5 2.5 时钟和时钟和CPUCPU时序时序 2.6 2.6 复位、低功耗及最小系统复位、低功耗及最小系统 任务一任务一 单灯闪烁单灯闪烁 本任务以一个会闪光的灯来介绍最简单的单片机电路,通过本任务以一个会闪光的

2、灯来介绍最简单的单片机电路,通过 本任务的练习,读者可了解一个最简单的单片机应用电路的本任务的练习,读者可了解一个最简单的单片机应用电路的 组成。组成。 任务目的任务目的 1.1.了解单片机最小系统了解单片机最小系统 2.2.了解了解I/OI/O端口的偷出功能端口的偷出功能 3.3.了解汇编语言与机器语言了解汇编语言与机器语言 任务描述任务描述 1.1.组装单片机实验板组装单片机实验板 2.2.控制控制1 1个发光二极管个发光二极管(LED)(LED)闪光闪光 1.1.硬件电路原理图硬件电路原理图 单片机实验板电路原理图如单片机实验板电路原理图如图图2-12-1所示。所示。 下一页返回 任务一

3、任务一 单灯闪烁单灯闪烁 2.2.实训的程序清单实训的程序清单 单片机必须写入程序,只有执行不同的程序单片机才能完成单片机必须写入程序,只有执行不同的程序单片机才能完成 不同的功能。本任务的程序清单如下不同的功能。本任务的程序清单如下: : ORG 0000H ; ORG 0000H ;定位伪指令,指定下一条指令的地址定位伪指令,指定下一条指令的地址 L1: CPL P0.0 ;P0.0L1: CPL P0.0 ;P0.0取反取反 MOV R7MOV R7,#0FFH#0FFH L2: MOV R6 L2: MOV R6,#0FFH#0FFH L3: NOP R6 L3: NOP R6,L3L

4、3 DJNZ R7 DJNZ R7,L2L2 DJNZ L1 ; DJNZ L1 ;转移至转移至L1L1,循环执行程序,循环执行程序 SJMPSJMP END ; END ;结束结束 上一页 下一页返回 任务一任务一 单灯闪烁单灯闪烁 3.3.实训内容与步骤实训内容与步骤 (1)(1)按照电路原理图安装、焊接实验板。按照电路原理图安装、焊接实验板。 (2)(2)检查无误,把事先已经存储厂程序的检查无误,把事先已经存储厂程序的8955189551安装到安装到ICIC插插 座中,上电运行,观察运行结果。座中,上电运行,观察运行结果。 (3)(3)按下复位按键,观察结果,并分析原因。按下复位按键,观

5、察结果,并分析原因。 (4)(4)分析是哪一条指令使分析是哪一条指令使LE DLE D闪光的。闪光的。 上一页返回 2.1 MCS-51 2.1 MCS-51 系列单片机的结构及引脚系列单片机的结构及引脚 2.1.1 MCS-512.1.1 MCS-51单片机的内部结构单片机的内部结构 MCS-51MCS-51系列单片机是在一个芯片上集成了系列单片机是在一个芯片上集成了CPLCPL、RAMRAM、ROMROM、定、定 时器、时器、I/ 0I/ 0接口等基本功能部件的一台计算机接口等基本功能部件的一台计算机MCS-51MCS-51系列单系列单 片机的典型产品有片机的典型产品有:8031:8031

6、、 80518051、 87518751、 89CSl89CSl。 80318031片内无片内无PROMPROM程序存储器;程序存储器; 80518051片内有片内有4KBROM4KBROM程序存储器程序存储器; ; 87518751片内有片内有4KBROM4KBROM程序存储器;程序存储器; 89C5189C51片内有片内有4KBFLASH EEPROM4KBFLASH EEPROM程序存储器。程序存储器。 除此之外,四者的内部结构及引脚完全相同。除此之外,四者的内部结构及引脚完全相同。 下一页返回 2.1 MCS-51 2.1 MCS-51 系列单片机的结构及引脚系列单片机的结构及引脚 1

7、.MCS-511.MCS-51的核心电路的核心电路 如图如图2-22-2是是80518051单片机的核心电路,它包含如下功能部件单片机的核心电路,它包含如下功能部件: : (1) (1)一个一个8 8位微处理器。位微处理器。 (2)(2)振荡器和时钟电路。振荡器和时钟电路。 (3) 4 KB(3) 4 KB的片内程序存储器的片内程序存储器(ROM/PROM) (ROM/PROM) 。 (4) 128(4) 128字节片内数据存储器字节片内数据存储器(RAM)(RAM)。 (5)(5)可寻址可寻址64 KB64 KB的外部程序存储器和数据存储器。的外部程序存储器和数据存储器。 (6)(6)两个两

8、个1616位定时器位定时器/ /计数器。计数器。 (7) 32(7) 32个可编程并行个可编程并行I/OI/O口。口。 (8)(8)一个可编程全双工串行一个可编程全双工串行I/OI/O口。口。 (9)(9)二十多个特殊功能寄存器。二十多个特殊功能寄存器。 各个功能部分通过内部系统总线连接在一起。各个功能部分通过内部系统总线连接在一起。 2. MCS-512. MCS-51的结构框图的结构框图 MCS-51MCS-51系列单片机典型芯片系列单片机典型芯片80518051结构框图结构框图如图如图2-32-3所示。所示。 上一页 下一页返回 2.1 MCS-51 2.1 MCS-51 系列单片机的结

9、构及引脚系列单片机的结构及引脚 2.1.2 MCS-512.1.2 MCS-51引脚功能说明引脚功能说明 80518051单片机的外形采用单片机的外形采用4040条引脚双列直插封装。引脚图如条引脚双列直插封装。引脚图如图图2-42-4 所示。所示。 MCS-51MCS-51引脚数日有限,有许多引脚具有双功能。各引脚功能简引脚数日有限,有许多引脚具有双功能。各引脚功能简 要说明如下要说明如下: : (1) (1)主电源引脚主电源引脚VCCVCC和和VSSVSS: VCCVCC:+5 V+5 V电源。电源。VSS:VSS:地线。地线。 (2)(2)时钟振荡电路引脚时钟振荡电路引脚XTAL1XTAL

10、1和和XTAL2XTAL2: XTAL1XTAL1和和XTAL2XTAL2分别用做晶体振荡电路的反相器输人和输出端。分别用做晶体振荡电路的反相器输人和输出端。 当使用外部振荡器时,外部振荡信号应直接加到当使用外部振荡器时,外部振荡信号应直接加到XTAL1XTAL1,而,而 XTAL2XTAL2悬空。悬空。 上一页 下一页返回 2.1 MCS-51 2.1 MCS-51 系列单片机的结构及引脚系列单片机的结构及引脚 (3) (3) 复位信号线复位信号线RSTRST:RST/VPD (9RST/VPD (9脚脚):RST):RST即为即为RESET, VPDRESET, VPD为为 备用电源。该引

11、脚为单片机的上电复位或掉电保护端。当单备用电源。该引脚为单片机的上电复位或掉电保护端。当单 片机振荡器工作时,该引脚上出现持续两个机器周期的高电片机振荡器工作时,该引脚上出现持续两个机器周期的高电 平,就可实现复位操作,使单片机回复到初始状态。平,就可实现复位操作,使单片机回复到初始状态。 (4) (4) ALE/PROG(30ALE/PROG(30脚脚):):地址锁存有效信号输出端。地址锁存有效信号输出端。ALEALE在每个在每个 机器周期内输出两个脉冲。在访问片外程序存储器期间,下机器周期内输出两个脉冲。在访问片外程序存储器期间,下 降沿用于控制锁存降沿用于控制锁存POPO输出的低输出的低

12、8 8位地址位地址; ;在不访问片外程序存在不访问片外程序存 储器期间,可作为对外输出的时钟脉冲或用于定时目的。但储器期间,可作为对外输出的时钟脉冲或用于定时目的。但 要注意,在访问片外数据存储器期间,要注意,在访问片外数据存储器期间,ALEALE脉冲会跳空一个,脉冲会跳空一个, 此时作为时钟输出就不妥了。对于片内含有此时作为时钟输出就不妥了。对于片内含有EPROMEPROM的机型,在的机型,在 编程期间,该引脚用作编程脉冲编程期间,该引脚用作编程脉冲PROGPROG的输入端。的输入端。 上一页 下一页返回 2.1 MCS-51 2.1 MCS-51 系列单片机的结构及引脚系列单片机的结构及引

13、脚 (5) (5) PSEN (29PSEN (29脚脚):):片外程序存储器读选通信号输片外程序存储器读选通信号输 出端,低电平有效。当从外部程序存储器读取指令出端,低电平有效。当从外部程序存储器读取指令 或常数期间,每个机器周期该信号两次有效,以通或常数期间,每个机器周期该信号两次有效,以通 过数据总线过数据总线P0P0口读回指令或常数。在访问片外数据口读回指令或常数。在访问片外数据 存储器期间,存储器期间,PSENPSEN信号将不出现。信号将不出现。 (6) (6) EA/VPP (31EA/VPP (31脚脚):):EAEA为片外程序存储器选用端。为片外程序存储器选用端。 该引脚有效该

14、引脚有效( (低电平低电平) )时,只选用片外程序存储器,时,只选用片外程序存储器, 否则单片机上电或复位后选用片内程序存储器。对否则单片机上电或复位后选用片内程序存储器。对 于片内含有于片内含有EPROMEPROM的机型,在编程期间,此引脚用的机型,在编程期间,此引脚用 作作21 V21 V编程电源编程电源VPPVPP的输入端。的输入端。 上一页 下一页返回 2.1 MCS-51 2.1 MCS-51 系列单片机的结构及引脚系列单片机的结构及引脚 (7) (7) 4 4个个8 8位位I/0I/0端口端口P0P0、P1P1、P2P2、P3P3 P0P0口口(39 (39 3232脚脚): P0

15、.0): P0.0一一P0.7P0.7统称为统称为P0P0口。在不接片外存储口。在不接片外存储 器与不扩展器与不扩展I/0I/0口时,可作为准双向输入口时,可作为准双向输入/ /输出口。在接有片输出口。在接有片 外存储器或扩展外存储器或扩展I/OI/O口时,口时,P0P0口分时复用为低口分时复用为低8 8位地址总线和位地址总线和 双向数据总线。双向数据总线。 P1P1口口(1(18 8脚脚): P1.0): P1.0P1.7P1.7统称为统称为P1P1口,可作为准双向口,可作为准双向I/OI/O口口 使用。使用。 P2P2口口(21(212828脚脚): P2.0): P2.0P2.7P2.7

16、统称为统称为P2P2口,一般可作为准双口,一般可作为准双 向向I/OI/O口使用口使用; ;在接有片外存储器或扩展在接有片外存储器或扩展I/OI/O口且寻址范围超过口且寻址范围超过 256256字节时,字节时,P2P2口用作高口用作高8 8位地址总线。位地址总线。 P3P3口口(10 17(10 17脚脚): P3.0): P3.0P3.7P3.7统称为统称为P3P3口。除作为准双向口。除作为准双向 I/OI/O口使用外,还可以将每一位用于第二功能,而且口使用外,还可以将每一位用于第二功能,而且P3P3口的每口的每 一条引脚均可独立定义为第一功能的输入输出或第二功能。一条引脚均可独立定义为第一

17、功能的输入输出或第二功能。 详见详见表表2-12-1。 上一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU MCS-51MCS-51单片机内有一个单片机内有一个8 8位位CPUCPU,它是单片机的核心,主要功,它是单片机的核心,主要功 能是运算和控制整个系统协调工作。它由运算器和控制器两能是运算和控制整个系统协调工作。它由运算器和控制器两 部分组成。部分组成。 2.2.1 2.2.1 运算器运算器 运算器主要实现对数据的算术运算和逻辑运算以及位处理操运算器主要实现对数据的算术运算和逻辑运算以及位处理操 作。其本身是一复杂的数字时序逻辑电路。作。其本身是一复杂的数字时序逻辑电路。

18、运算器由运算器由8 8位算术逻辑运算单元位算术逻辑运算单元ALU ( Arithmetic Logic ALU ( Arithmetic Logic Unit)Unit)、8 8位累加器位累加器ACC ( Accumulator)ACC ( Accumulator)、8 8位寄存器位寄存器B B、程序、程序 状态字寄存器状态字寄存器PSW ( Program Status Word)PSW ( Program Status Word)、8 8位暂存寄存位暂存寄存 器器TMP1TMP1和和TMP2TMP2、位操作电路等组成。如、位操作电路等组成。如图图2-32-3所示。其中,部所示。其中,部 分

19、寄存器介绍如下。分寄存器介绍如下。 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU 1.1.算术逻辑单元算术逻辑单元ALUALU 对对8 8位二进制数据进行算术位二进制数据进行算术/ /逻辑运算逻辑运算 算术运算、加算术运算、加1 1和减和减1 1运算、十进制调整、逻辑操作运算、十进制调整、逻辑操作 2.2.暂存器暂存器TMP1TMP1、TMP2TMP2 用于存放参与运算的数据,用户不可以直接使用。用于存放参与运算的数据,用户不可以直接使用。 3.3.累加器累加器ACC/AACC/A ACC ACC是一个是一个8 8位寄存器,是位寄存器,是CPUCPU中使用最频繁的寄存器。指

20、令中使用最频繁的寄存器。指令 系统中用系统中用A A作为累加器的助记符。进入作为累加器的助记符。进入ALUALU作算术和逻辑运算作算术和逻辑运算 的操作数多来自于的操作数多来自于A A,运算结果也常送回,运算结果也常送回A A保存。保存。 4.4.寄存器寄存器B B 寄存器寄存器B B是为是为ALUALU进行乘除法运算而设置的。若不作乘除运进行乘除法运算而设置的。若不作乘除运 算时,则可作为通用寄存器使用。算时,则可作为通用寄存器使用。 在乘、除运算中,与累加器在乘、除运算中,与累加器A A配合使用,存放第二操作数。配合使用,存放第二操作数。 上一页 下一页返回 2.2 2.2 中央处理单元中

21、央处理单元CPUCPU 5.5.程序状态字程序状态字PSWPSW 程序状态字寄存器是一个程序状态字寄存器是一个8 8位专用寄存器,用于寄存或存贮位专用寄存器,用于寄存或存贮 当前机器指令在执行后操作结果的特征状态,以供程序查询当前机器指令在执行后操作结果的特征状态,以供程序查询 和判别。其格式如下和判别。其格式如下: : 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU (1)(1)进位标志位进位标志位Cy (PSW7):Cy (PSW7):在执行某些算术操作类、逻辑操作在执行某些算术操作类、逻辑操作 类指令时,可被硬件或软件置位或清零。它表示运算结果是类指令时,可被硬

22、件或软件置位或清零。它表示运算结果是 否有进位或借位。如果在最高位有进位否有进位或借位。如果在最高位有进位( (加法时加法时) )或有借位或有借位( (减减 法时法时) ),则,则C=1C=1,否则,否则C =0C =0。在位操作中。在位操作中CYCY用于位累加器。用于位累加器。 (2)(2)辅助进位辅助进位( (或称半进位或称半进位) )标志位标志位AC (PBW.6):AC (PBW.6):它表示两个它表示两个8 8位位 数运算,低数运算,低4 4位有无进位有无进( (借借) )位的状况。当低位的状况。当低4 4位相加位相加( (或相减或相减) ) 时,若时,若D3D3位向位向D4D4位有

23、进位位有进位( (或借位或借位) ),则,则AC = 1AC = 1,否则,否则AC = 0AC = 0。 在在BCDBCD码运算的十进制调整中要用到该标志位。码运算的十进制调整中要用到该标志位。 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU (3)(3)用户自定义标志位用户自定义标志位F0( PSW.5):F0( PSW.5):用户可根据自己的需要对用户可根据自己的需要对 F0F0赋予一定的含义,通过软件置位或清零,并根据赋予一定的含义,通过软件置位或清零,并根据F0=1F0=1或或0 0来来 决定程序的执行方式,或反映系统某一种工作状态。决定程序的执行方式,或反

24、映系统某一种工作状态。 (4)(4)工作寄存器组选择位工作寄存器组选择位RS1 , RSO ( PSW.4 , PSW.3:RS1 , RSO ( PSW.4 , PSW.3:可用可用 软件置位或清零,用于选定当前使用的软件置位或清零,用于选定当前使用的4 4个工作寄存器组中的个工作寄存器组中的 某一组某一组 RS1RS1、RSO=000RSO=000区区(00 H(00 H07H)07H) RS1 RS1、RSO=O11RSO=O11区区(08 H(08 H0FH)0FH) RS1 RS1、RSO=102RSO=102区区(10H(10H17H)17H) RS1 RS1、RSO=113RSO

25、=113区区(18H(18H1FH)1FH) 单片机复位时单片机复位时RS1 , RSORS1 , RSO状态为状态为00 ,00 ,即选择第即选择第0 0组工作寄存器。组工作寄存器。 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU (5)(5)溢出标志位溢出标志位OV (PSW.2):OV (PSW.2):做加法或减法时,由硬件置位或做加法或减法时,由硬件置位或 清零,以指示运算结果是否溢出。清零,以指示运算结果是否溢出。OV = 1OV = 1反映运算结果超出反映运算结果超出 厂有符号数的数值范围厂有符号数的数值范围( (以补码形式表示一个有符号数的范围以补码形式

26、表示一个有符号数的范围 为为-128-128+127 +127 。 进行加法时,如最高位、次高位之一有进位,或做减法时,进行加法时,如最高位、次高位之一有进位,或做减法时, 如最高位、次高位之一有借位,如最高位、次高位之一有借位,OVOV被置位,即被置位,即OVOV的值为最高的值为最高 位进位和次高位进位的异或位进位和次高位进位的异或(C7 C6)(C7 C6)。 执行乘法指令执行乘法指令MUL ABMUL AB也会影响也会影响OVOV标志,积标志,积255255时时OV = 1OV = 1,否,否 则则OV =0OV =0。 执行除法指令执行除法指令DIV ABDIV AB也会影响也会影响O

27、VOV标志,如标志,如B B中所放除数为中所放除数为0, 0, OV=1,OV=1,否则否则OV =0OV =0。 (6)(6)未使用位未使用位Fl ( PSW.1) ; PSWFl ( PSW.1) ; PSW中唯一一个无作用的位,用中唯一一个无作用的位,用 户也不可以对其使用。户也不可以对其使用。 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU (7)(7)奇偶标志位奇偶标志位P ( PSW.0):P ( PSW.0):在执行指令后,单片机根据累加在执行指令后,单片机根据累加 器器A A中中1 1的个数的奇偶自动给该标志置位或清零。若的个数的奇偶自动给该标志置位或

28、清零。若A A中中1 1的个的个 数为奇数,则数为奇数,则P=1P=1,否则,否则P=0P=0。该标志对串行通信的数据传输。该标志对串行通信的数据传输 非常有用,通过奇偶校验可检验传输的可靠性。非常有用,通过奇偶校验可检验传输的可靠性。 6.6.布尔处理机布尔处理机 布尔处理机布尔处理机( (即位处理即位处理) )是是MCS-51MCS-51单片机单片机ALUALU所具有的一种功所具有的一种功 能。单片机指令系统中的位处理指令集能。单片机指令系统中的位处理指令集(17(17条位操作指令条位操作指令) ), 存储器中的位地址空间,以及借用程序状态寄存器存储器中的位地址空间,以及借用程序状态寄存器

29、PSWPSW中的进中的进 位标志位标志CYCY作为位操作作为位操作“累加器累加器”,构成了,构成了MCS-51MCS-51单片机内的单片机内的 布尔处理机。它可对直接寻址的位布尔处理机。它可对直接寻址的位(hit)(hit)变量进行位处理,如变量进行位处理,如 置位、清零、取反、测试转移以及逻辑置位、清零、取反、测试转移以及逻辑“与与”、“或或”等位等位 操作,使用户在编程时可以利用指令完成原来单凭复杂的硬操作,使用户在编程时可以利用指令完成原来单凭复杂的硬 件逻辑所完成的功能,并可方便地设置标志等。件逻辑所完成的功能,并可方便地设置标志等。 上一页 下一页返回 2.2 2.2 中央处理单元中

30、央处理单元CPUCPU 2.2.2 2.2.2 控制器控制器 控制部件是单片机的神经中枢,它包括主要由程序计数器控制部件是单片机的神经中枢,它包括主要由程序计数器Pc,Pc, 指令寄存器指令寄存器IR ,IR ,指令译码器指令译码器IDID、堆栈指针、堆栈指针SPSP、数据指针、数据指针DPTRDPTR、 时钟发生器及定时控制逻辑等。它先以主振频率为基准发出时钟发生器及定时控制逻辑等。它先以主振频率为基准发出 CPUCPU的时序,对指令进行译码,然后发出各种控制信号,完成的时序,对指令进行译码,然后发出各种控制信号,完成 一系列定时控制的微操作,用来协调单片机内部各功能部件一系列定时控制的微操

31、作,用来协调单片机内部各功能部件 之间的数据传送、数据运算等操作,并对外发出地址锁存之间的数据传送、数据运算等操作,并对外发出地址锁存ALEALE、 外部程序存储器选通外部程序存储器选通PSENPSEN,以及通过,以及通过P3.6P3.6和和P3.7P3.7发出数据存发出数据存 储器读储器读RDRD、写、写WRWR等控制信号,并且接收处理外接的复位和外等控制信号,并且接收处理外接的复位和外 部程序存储器访问控制部程序存储器访问控制EAEA信号。信号。 1.1.指令寄存器指令寄存器IRIR、指令译码器、指令译码器IDID 指令寄存器用于存放指令代码。指令寄存器用于存放指令代码。CPUCPU执行指

32、令时,由程序存储执行指令时,由程序存储 器中读取的指令代码送人指令存储器,经译码器译码后再由器中读取的指令代码送人指令存储器,经译码器译码后再由 定时与控制电路发出相应的控制信号,完成指令所指定的操定时与控制电路发出相应的控制信号,完成指令所指定的操 作。指令的内容由操作码和地址码两部分构成,操作码送到作。指令的内容由操作码和地址码两部分构成,操作码送到 指令译码器,经其译码后便确定了要执行的操作。指令的地指令译码器,经其译码后便确定了要执行的操作。指令的地 址码送到操作数地址形成电路,以便形成实际的操作数地址。址码送到操作数地址形成电路,以便形成实际的操作数地址。 上一页 下一页返回 2.2

33、 2.2 中央处理单元中央处理单元CPUCPU 指令译码器用于分析指令功能,根据操作码产生相应操作的指令译码器用于分析指令功能,根据操作码产生相应操作的 控制信号。例如,控制信号。例如,8 8位操作码经指令译码器译码后,可以转换位操作码经指令译码器译码后,可以转换 为为256256种操作控制信号,其中每一种控制信号对应一种特定的种操作控制信号,其中每一种控制信号对应一种特定的 操作功能。操作功能。 2.2.程序计数器程序计数器PC (Program Counter)PC (Program Counter) 程序计数器程序计数器PCPC是一个是一个1616位的有自动加位的有自动加1 1功能的计数

34、器。功能的计数器。1616位位PCPC 中的内容总是中的内容总是CPUCPU将要执行的那条指令所存放的存储单元的首将要执行的那条指令所存放的存储单元的首 地址。地址。 在单片机复位时,在单片机复位时,PCPC中的内容为中的内容为0000H0000H,指向第,指向第1 1条要执行的条要执行的 指令的首地址,在指令的首地址,在CPUCPU从存储单元取指令的过程中,每取从存储单元取指令的过程中,每取1 1个个 字节的内容,程序计数器字节的内容,程序计数器PCPC就自动加就自动加1 1,在取完这条指令后,在取完这条指令后, PCPC中的内容就是下一条要执行的指令所存放的存储单元的首中的内容就是下一条要

35、执行的指令所存放的存储单元的首 地址。地址。 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU 在实际应用中,有时在实际应用中,有时CPUCPU还要执行程序的转移、子程序的调用还要执行程序的转移、子程序的调用 和中断响应等操作,那时和中断响应等操作,那时PCPC中的内容不再是上述情况中简单中的内容不再是上述情况中简单 的加的加1 1,而是根据不同的情况自动地被置入或修改成新的日的,而是根据不同的情况自动地被置入或修改成新的日的 地址,从而改变程序的执行顺序。地址,从而改变程序的执行顺序。 PCPC没有地址,是不可寻址的,因此用户不能对它进行读写。没有地址,是不可寻址的,

36、因此用户不能对它进行读写。 3.3.数据指针寄存器数据指针寄存器DPTRDPTR 数据指针寄存器数据指针寄存器DPTRDPTR是一个是一个1616位专用寄存器。它主要用来存位专用寄存器。它主要用来存 放片外数据存储器或放片外数据存储器或I/OI/O口地址,也可以分成口地址,也可以分成DPHDPH、DPLDPL两个两个8 8 位来使用。位来使用。 4.4.堆找指针堆找指针SPSP 堆栈指针堆栈指针SPSP是一个是一个8 8位专用寄存器。单片机复位时寄存器的位专用寄存器。单片机复位时寄存器的 值为值为07 H07 H,它用来存放当前堆栈操作的位置即地址,它用来存放当前堆栈操作的位置即地址,SPSP

37、始终始终 指向堆栈栈顶,每压人指向堆栈栈顶,每压人8 8位数据进入堆栈,位数据进入堆栈,SPSP自动加自动加1 1,每弹,每弹 出出8 8位数据,位数据,SPSP自动减自动减1 1。数据在堆栈中遵循。数据在堆栈中遵循“先进后出先进后出”的的 原则。原则。 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU 5.5.定时与控制电路定时与控制电路 定时与控制逻辑由时序部件和微操作控制部件构成。用于控定时与控制逻辑由时序部件和微操作控制部件构成。用于控 制取指令、执行指令、存取操作数或运算结果等操作,向其制取指令、执行指令、存取操作数或运算结果等操作,向其 他部件发出各种微操作

38、控制信号,协调各部件的工作。它是他部件发出各种微操作控制信号,协调各部件的工作。它是 单片机的心脏。单片机的心脏。 指令执行的基本过程指令执行的基本过程: : (1) (1)单片机在工作前,首先必须在存储器中装入程序。所谓单片机在工作前,首先必须在存储器中装入程序。所谓 程序,就是为了完成某项工作,将一系列指令有序地组合,程序,就是为了完成某项工作,将一系列指令有序地组合, 而指令则是要求单片机执行某种操作的命令。而指令则是要求单片机执行某种操作的命令。 (2)(2)指令分为操作码和地址码两个部分,操作码部分规定了指令分为操作码和地址码两个部分,操作码部分规定了 单片机操作类型,而地址码部分一

39、般是直接或间接地给出了单片机操作类型,而地址码部分一般是直接或间接地给出了 参与操作的数据的存放地址,所以地址码也可以直接称为操参与操作的数据的存放地址,所以地址码也可以直接称为操 作数。作数。 上一页 下一页返回 2.2 2.2 中央处理单元中央处理单元CPUCPU (3)(3)单片机完成每项工作,必须有序地执行一系列指令。单片单片机完成每项工作,必须有序地执行一系列指令。单片 机执行一条指令一般分为取指令、分析指令和执行指令。机执行一条指令一般分为取指令、分析指令和执行指令。 从存储器中取出指令,并且对指令进行译码,以明确该指令从存储器中取出指令,并且对指令进行译码,以明确该指令 执行何种

40、操作,以及操作数的存放地址执行何种操作,以及操作数的存放地址( (即操作数存放在哪一即操作数存放在哪一 个单元中个单元中) ),再根据这个地址获取操作数,这是取指令和分析,再根据这个地址获取操作数,这是取指令和分析 指令阶段。按操作码指明的操作类型对获取的操作数进行操指令阶段。按操作码指明的操作类型对获取的操作数进行操 作作( (也可称为运算也可称为运算) ),这是执行指令阶段。,这是执行指令阶段。 上一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 单片机存储器结构有两种类型单片机存储器结构有两种类型: :一种程序存储器和数据存储器一种程序存储器和数据存储器 统一编

41、址,属于普林斯顿结构,另一种是程序存储器和数据统一编址,属于普林斯顿结构,另一种是程序存储器和数据 存储器分开编址的哈佛结构。存储器分开编址的哈佛结构。MCS-51MCS-51系列单片机采用的是哈系列单片机采用的是哈 佛结构。佛结构。 MCS-51MCS-51存储结构如存储结构如图图2-52-5所示。所示。 MCS-51MCS-51单片机的存储器在物理结构上可以分为片内程序存储单片机的存储器在物理结构上可以分为片内程序存储 器、片外程序存储器、片内数据存储器、片外数据存储器。器、片外程序存储器、片内数据存储器、片外数据存储器。 而在逻辑结构上,分为而在逻辑结构上,分为3 3个逻辑地址空间个逻辑

42、地址空间: :片内片外统一编址片内片外统一编址 的的64 KB64 KB程序存储器地址空间程序存储器地址空间; ;片内独立编址的片内独立编址的256 B256 B数据存储数据存储 器地址空间器地址空间; ;片外独立编址的片外独立编址的64 KB64 KB数据存储器地址空间。即数据存储器地址空间。即 访问这访问这3 3个不同的逻辑空间,要采用不同形式的指令。个不同的逻辑空间,要采用不同形式的指令。 存储器的最小空间可以存放存储器的最小空间可以存放1 1位二进制数,位二进制数,MCS-51MCS-51单片机把单片机把8 8 位位2 2进制数所存放的空间成为进制数所存放的空间成为1 1个单元,即一个

43、字节。为了区个单元,即一个字节。为了区 分不同的单元用二进制编制的符号称为单元地址,简称地址。分不同的单元用二进制编制的符号称为单元地址,简称地址。 用地址来描述存储器的空间结构方便了对存储器单元数据的用地址来描述存储器的空间结构方便了对存储器单元数据的 读写。读写。 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 2.3.1 2.3.1 程序存储器程序存储器ROMROM 程序存储器用于存放程序及表格常数。程序存储器用于存放程序及表格常数。 1.1.程序存储器由内、外两部分组成程序存储器由内、外两部分组成 80518051片内有片内有4 K4 K字节的程序存储器,

44、其编址为字节的程序存储器,其编址为0000H0000H0FFFH0FFFH, 外部外部EPROMEPROM也从也从0000H0000H开始编址。在地址开始编址。在地址0000 H0000 H0FFFH0FFFH内,地内,地 址有重叠,由址有重叠,由EAEA信号来控制内、外程序存储器的选择。信号来控制内、外程序存储器的选择。 (1)/EA=1(1)/EA=1时,当时,当PCPC值在值在0000 H 0FFFH0000 H 0FFFH范围内,范围内,CPUCPU访问内部存访问内部存 储器储器; ;当当PCPC值大于值大于0FFFH0FFFH范围时,范围时,CPUCPU访问外部存储器。访问外部存储器

45、。 (2)/EA=0(2)/EA=0时,不管时,不管PCPC值的大小,值的大小,CPUCPU总是访问外部程序存储器。总是访问外部程序存储器。 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 对于对于80318031单片机,由于内部没有程序存储器,必须外接单片机,由于内部没有程序存储器,必须外接 EPROMEPROM,所以,所以/EA/EA必须接地,即必须接地,即E/A = 0E/A = 0。外部程序存储器。外部程序存储器 从从0000 H0000 H开始编址,寻址范围开始编址,寻址范围64 KB 64 KB 。 2.2.程序存储器以计数器程序存储器以计数器

46、PCPC作为地址指针。程序计数器作为地址指针。程序计数器PCPC为为 1616位的寄存器,它决定厂位的寄存器,它决定厂MCS-51MCS-51单片机可寻址的最大范围单片机可寻址的最大范围 为为64 K64 K字节,即字节,即0000 H0000 H0FFFFH0FFFFH。 3.3.程序存储器也存放程序所需的常数表程序存储器也存放程序所需的常数表 访问程序存储器还是数据存储器在指令上有所不同,访问程序存储器还是数据存储器在指令上有所不同,MOVCMOVC 指令用于访问程序存储器。指令用于访问程序存储器。 程序存储器的程序存储器的0000H0000H002AH002AH共共4343个单元用作存储

47、特定程序个单元用作存储特定程序 的入口地址。的入口地址。 0000H 0000H 0002H0002H这这3 3个单元是系统的启动单元个单元是系统的启动单元; ; 0003H0003H002AH002AH共共4040个单元是中断服务程序地址区,它被分个单元是中断服务程序地址区,它被分 为五段,每段为五段,每段8 8个单元,分别分配给个单元,分别分配给5 5个中断源个中断源: : 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 0003H0003H000AH000AH外部中断外部中断0 0中断服务程序地址区中断服务程序地址区; ; 000BH 000BH00

48、12H0012H定时定时/ /计数器。中断服务程序地址区计数器。中断服务程序地址区; ; 0013H 0013H001AH001AH外部中断外部中断1 1中断服务程序地址区中断服务程序地址区; ; 001BH 001BH0022 H0022 H定时定时/ /计数器计数器1 1中断服务程序地址区中断服务程序地址区; ; 0023H 0023H002AH002AH串行口中断服务程序地址区。串行口中断服务程序地址区。 其中,一组特殊单元是其中,一组特殊单元是0000 H0000 H0002H0002H。系统复位后,。系统复位后,(PC ) (PC ) = 0000 H= 0000 H,单片机从,单片

49、机从0000 H0000 H单元开始取指令执行程序。如果单元开始取指令执行程序。如果 程序不从程序不从0000 H0000 H单元开始,应在这三个单元中存放一条无条单元开始,应在这三个单元中存放一条无条 件转移指令,以便直接转去执行指定的程序。件转移指令,以便直接转去执行指定的程序。 中断响应后,按中断种类,自动转到各中断区的首地址去执中断响应后,按中断种类,自动转到各中断区的首地址去执 行程序,因此在中断地址区中理应存放中断服务程序。但通行程序,因此在中断地址区中理应存放中断服务程序。但通 常情况下,常情况下,8 8个单元难以存下一个完整的中断服务程序,因此个单元难以存下一个完整的中断服务程

50、序,因此 通常也是从中断地址区首地址开始存放一条无条件转移指令,通常也是从中断地址区首地址开始存放一条无条件转移指令, 以便中断响应后,通过中断地址区,再转到中断服务程序的以便中断响应后,通过中断地址区,再转到中断服务程序的 实际入口地址。实际入口地址。 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 2.3.22.3.2数据存储器数据存储器RAMRAM MCS-51MCS-51单片机数据存储器用于暂存程序执行过程产生的数据单片机数据存储器用于暂存程序执行过程产生的数据 和运算结果等。和运算结果等。 MCS-51MCS-51单片机数据存储器也可以分为片内数

51、据存储器和片外单片机数据存储器也可以分为片内数据存储器和片外 数据存储器。当片内数据存储器不够用时,可扩展片外数据数据存储器。当片内数据存储器不够用时,可扩展片外数据 存储器。一般情况下,片外数据存储器的容量不超过存储器。一般情况下,片外数据存储器的容量不超过64 KB64 KB。 与内、外部的程序存储器不同,内部和外部数据存储器空间与内、外部的程序存储器不同,内部和外部数据存储器空间 存在重叠存在重叠( (内部内部RAMRAM的地址范围为的地址范围为00H00H07FH07FH,外部,外部RAMRAM的地址的地址 范围为范围为0000H0000H0FFFFH0FFFFH,通过不同指令来区别。

52、当访问内部,通过不同指令来区别。当访问内部 RAMRAM时,用时,用MOVMOV类指令类指令; ;当访问外部当访问外部RAMRAM时,则用时,则用MOVXMOVX类指令,类指令, 所以地址重叠不会造成操作混乱。所以地址重叠不会造成操作混乱。 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 1.1.外部数据存储器外部数据存储器 外部数据存储器一般用来存放相对来讲使用不太频繁的数据,外部数据存储器一般用来存放相对来讲使用不太频繁的数据, 其中的数据不能直接进行处理,要进行处理前必须提前从外其中的数据不能直接进行处理,要进行处理前必须提前从外 部数据存储器送到单

53、片机内部。部数据存储器送到单片机内部。 外部数据存储器地址空间寻址范围为外部数据存储器地址空间寻址范围为64 K64 K字节,采用字节,采用R0, R1R0, R1 或或DPTRDPTR寄存器间址方式访问。当采用寄存器间址方式访问。当采用R0, R1R0, R1间址时只能访问间址时只能访问 00H00HOFFHOFFH的低的低256256字节,采用字节,采用DPTRDPTR间址可访问整个间址可访问整个64 K64 K字节字节 空间。空间。RD/WRRD/WR作为数据存储器的读作为数据存储器的读/ /写选通信号。写选通信号。 2.2.内部数据存储器内部数据存储器 MCS-51MCS-51单片机内

54、部有单片机内部有128128个字节的数据存储器个字节的数据存储器RAMRAM,它们可以,它们可以 作为数据缓冲器、堆栈、工作寄存器和软件标志等使用。作为数据缓冲器、堆栈、工作寄存器和软件标志等使用。CPUCPU 对内部对内部RAMRAM有丰富的操作指令。不同的地址区域,功能完全不有丰富的操作指令。不同的地址区域,功能完全不 同。同。 128128字节字节RAMRAM不同地址区域功能结构如不同地址区域功能结构如图图2-62-6所示。分为三个所示。分为三个 区域区域: :工作寄存器区、可位寻址区、通用工作寄存器区、可位寻址区、通用RAMRAM区。区。 (1)(1)工作寄存器区。工作寄存器区地址范围

55、在工作寄存器区。工作寄存器区地址范围在00 H00 H1FH1FH的的3232 个字节,可分成个字节,可分成4 4个工作寄存器组,每组占个工作寄存器组,每组占8 8个字节。个字节。 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 具体划分如下具体划分如下: : 第第0 0组工作寄存器组工作寄存器: :地址范围为地址范围为00H00H07 H07 H 第第1 1组工作寄存器组工作寄存器: :地址范围为地址范围为08H08H0FH0FH 第第2 2组工作寄存器组工作寄存器: :地址范围为地址范围为l0Hl0H17H17H 第第3 3组工作寄存器组工作寄存器:

56、:地址范围为地址范围为18H18H1FH1FH 每个工作寄存器组都有每个工作寄存器组都有8 8个寄存器,它们分别称为个寄存器,它们分别称为R0, R1, R2, R0, R1, R2, R3, R4,R5, R6, R7R3, R4,R5, R6, R7。在任一时刻,。在任一时刻,CPUCPU只能使用其中的一组只能使用其中的一组 寄存器,并且把正在使用那组寄存器称之为当前寄存器组。寄存器,并且把正在使用那组寄存器称之为当前寄存器组。 到底是哪一组,由程序状态字寄存器到底是哪一组,由程序状态字寄存器PSWPSW中中RS1, RS0RS1, RS0位的状态位的状态 组合来决定。所以每组之间不会因为

57、名称相同而混淆出错。组合来决定。所以每组之间不会因为名称相同而混淆出错。 单片机复位时,当前工作寄存器默认为单片机复位时,当前工作寄存器默认为0 0组。组。 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 通用寄存器为通用寄存器为CPUCPU提供厂就近存储数据的便利,有利于提高单提供厂就近存储数据的便利,有利于提高单 片机的运算速度。此外,使用通用寄存器还能提高程序编制片机的运算速度。此外,使用通用寄存器还能提高程序编制 的灵活性,因此,在单片机的应用编程中应充分利用这些寄的灵活性,因此,在单片机的应用编程中应充分利用这些寄 存器,以简化程序设计,提高程序

58、运行速度。工作寄存器区存器,以简化程序设计,提高程序运行速度。工作寄存器区 的选择如的选择如表表2-22-2所示。所示。 (2)(2)位寻址区。单片机片内位寻址区。单片机片内RAMRAM中中20H 20H 2FH2FH地址范围中共地址范围中共1616个个 字节单元称为位寻址区。该区的字节单元称为位寻址区。该区的1616个字节单元,既可作为一个字节单元,既可作为一 般的般的RAMRAM使用,进行字节操作,也可以对单元中的每一位进行使用,进行字节操作,也可以对单元中的每一位进行 位操作。位操作。 1616个字节单元共个字节单元共128128位,每位有位地址,地址范围是位,每位有位地址,地址范围是0

59、0H00H7FH.7FH. 如如表表2-32-3所示。所示。 位寻址区中的每一位地址有两种表示形式位寻址区中的每一位地址有两种表示形式: :一是表中位地址形一是表中位地址形 式,另一种是单元地址式,另一种是单元地址位序形式。位序形式。 上一页 下一页返回 2.3 MCS-51 2.3 MCS-51 存储器结构存储器结构 为厂适应控制型应用领域的需要,为厂适应控制型应用领域的需要,MCS-51MCS-51单片机具有一个功单片机具有一个功 能很强的布尔处理器。位寻址空间的每一位都可以看做是软能很强的布尔处理器。位寻址空间的每一位都可以看做是软 件触发器,由程序直接进行位处理,执行置位、清零、取反件

60、触发器,由程序直接进行位处理,执行置位、清零、取反 等操作。单片机位操作功能很强。通常把各种程序的状态标等操作。单片机位操作功能很强。通常把各种程序的状态标 志位、位控制变量设在位寻址区。这种功能提供厂把硬件实志位、位控制变量设在位寻址区。这种功能提供厂把硬件实 现的逻辑式变为软件实现的简单方法,不需要过多的数据传现的逻辑式变为软件实现的简单方法,不需要过多的数据传 送、字节屏蔽和测试分支树就能实现复杂的组合逻辑功能。送、字节屏蔽和测试分支树就能实现复杂的组合逻辑功能。 尽管位地址和字节地址有重叠,读尽管位地址和字节地址有重叠,读/ /写位寻址空间时也采用写位寻址空间时也采用 MOVMOV指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论