第二章 MCS-51单片机的硬件结构_第1页
第二章 MCS-51单片机的硬件结构_第2页
第二章 MCS-51单片机的硬件结构_第3页
第二章 MCS-51单片机的硬件结构_第4页
第二章 MCS-51单片机的硬件结构_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、内部结构内部结构性能特点性能特点引脚功能描述引脚功能描述存储器配置存储器配置振荡器、时钟电路和振荡器、时钟电路和CPUCPU时序时序I/OI/O端口端口MCS-51MCS-51系列单片机包含系列单片机包含5151子系列及子系列及5252子系列性能价子系列性能价格比比较好。格比比较好。l51子系列有三个版本:子系列有三个版本:8031、8051、8751。l52子系列有三个版本:子系列有三个版本:8032、8052、8752。时钟电路时钟电路CPU中断控制中断控制INT0INT1T0T1串行口串行口64KB总总线扩展线扩展控制器控制器并行并行接口接口串行串行接口接口定时定时/计数器计数器RAMT

2、0T1ROM时钟电路时钟电路CPU中断控制中断控制INT0INT1T0T1串行口串行口64KB总总线扩展线扩展控制器控制器并行并行接口接口串行串行接口接口定时定时/计数器计数器RAMT0T1无无ROM时钟电路时钟电路CPU中断控制中断控制INT0INT1T0T1串行口串行口64KB总总线扩展线扩展控制器控制器并行并行接口接口串行串行接口接口定时定时/计数器计数器RAMT0T1EPROM5252子系列相对于子系列相对于5151子系列而言,内部子系列而言,内部RAMRAM为为256B256B,并增加了一个定时,并增加了一个定时/ /计数器计数器2 2。l单片微型计算机(单片机):顾名思义,就单片微

3、型计算机(单片机):顾名思义,就是将计算机的所有部件集成到一个硅片上。是将计算机的所有部件集成到一个硅片上。它包括只读存储器、随机存取存储器、中央它包括只读存储器、随机存取存储器、中央处理单元、并行输入输出口、串行输入输出处理单元、并行输入输出口、串行输入输出口、定时口、定时/计数器、时钟电路。计数器、时钟电路。包含运算器和控制器,运算器进行算术运算和逻辑包含运算器和控制器,运算器进行算术运算和逻辑运算,能对运算,能对BCDBCD数据进行处理,还具有对数据进行处理,还具有对RAMRAM或或I/OI/O的某位进行测试、置位或复位的功能,即位操作的某位进行测试、置位或复位的功能,即位操作功能。功能

4、。 l 运算器:以八位的算术运算器:以八位的算术/逻辑运算部件逻辑运算部件ALU 为核为核心,与通过内部总线挂在其周围的暂存器心,与通过内部总线挂在其周围的暂存器1、暂存器、暂存器2、累加器、累加器ACC、寄存器、寄存器B、程序状态寄存器、程序状态寄存器PSW 及布尔处理机组成了整个运算器的逻辑电路。及布尔处理机组成了整个运算器的逻辑电路。lALU用来完成加减乘除算术运算及布尔数的逻辑运算。累加用来完成加减乘除算术运算及布尔数的逻辑运算。累加器器A8位,是最繁忙的寄存器,所有的算术运算和大部分的逻位,是最繁忙的寄存器,所有的算术运算和大部分的逻辑运算都是通过辑运算都是通过A来完成的,在运算前来

5、完成的,在运算前A中暂存一个操作数,中暂存一个操作数,运算后保存结果。运算后保存结果。B寄存器除用于乘除法操作外,对于其它寄存器除用于乘除法操作外,对于其它指令只能作一个寄存器使用。指令只能作一个寄存器使用。PSW用来存放运算结果的一些用来存放运算结果的一些特征。特征。寄存器寄存器BACC暂存暂存2暂存暂存1ALUPSW内部内部总线总线l 布尔处理机:是布尔处理机:是CPU中的重要组成部分,拥有中的重要组成部分,拥有相应的布尔指令子集。硬件有自己的处理单元相应的布尔指令子集。硬件有自己的处理单元(进进位位位位CY)和自己的位寻址空间和和自己的位寻址空间和I/O口,是一个独口,是一个独立的位处理

6、机。大部分的操作均围绕立的位处理机。大部分的操作均围绕CY来完成。来完成。能够完成位的传送、清能够完成位的传送、清0、置位、求反、与、或、置位、求反、与、或及判位转移操作。及判位转移操作。l 控制器:控制器是控制器:控制器是CPU的控制中枢,包括定时的控制中枢,包括定时控制逻辑、指令寄存器、译码器、地址指针控制逻辑、指令寄存器、译码器、地址指针DPTR、堆栈指针、堆栈指针SP、程序计数器、程序计数器PC、RAM地地址寄存器及址寄存器及16位的地址缓冲器等。位的地址缓冲器等。VCCVCCALEALERAM地址地址寄存器寄存器RAMP0锁存器锁存器 P2锁存器锁存器ROMP0驱动器驱动器P2驱动器

7、驱动器ACC寄存器寄存器B暂存暂存2暂存暂存1SP程序地址程序地址寄存器寄存器缓冲器缓冲器PC加加1PCDPTRPSWP1锁存器锁存器P3锁存器锁存器P1驱动器驱动器P3驱动器驱动器SFR特殊功特殊功能寄存器能寄存器PSENPSENVSSVSSEAEARSTRST定时定时及控及控制制指令指令寄存寄存器器内部内部时钟时钟外接晶振外接晶振P1.0P1.7P3.0P3.7P0.0P0.7P2.0P2.7中断、串行中断、串行通讯及定时通讯及定时ALUl用于永久性地存储应用程序。用于永久性地存储应用程序。l单片机中大量采用的是掩模式只读存储器单片机中大量采用的是掩模式只读存储器MROM和改写只读存储器和

8、改写只读存储器EPROM,随着电子技术的发,随着电子技术的发展,已开始采用电可读写只读存储器展,已开始采用电可读写只读存储器EEPROM。lATMEL公司的单片机芯片采用闪存存储技术。公司的单片机芯片采用闪存存储技术。 随机存取存储器随机存取存储器 l用于在程序运行时存储工作变量和数据。用于在程序运行时存储工作变量和数据。l每根口线可灵活地选作输入或输出,并且可以作为系每根口线可灵活地选作输入或输出,并且可以作为系统总线使用,可以扩展片外存储器和输入统总线使用,可以扩展片外存储器和输入/输出接口输出接口芯片。芯片。 串行输入串行输入/ /输出口输出口(2(2条条) )l用于多处理机通讯,或全双

9、工用于多处理机通讯,或全双工UART(通用异步收发通用异步收发器器)通讯,也可以与一些特殊功能的芯片相连,进行通讯,也可以与一些特殊功能的芯片相连,进行输入输入/输出扩展。输出扩展。 中断系统有中断系统有5 5个中断源、个中断源、2 2个优先级,可以个优先级,可以实现多个软件功能的并行运行。实现多个软件功能的并行运行。 l单片机定时单片机定时/计数器为增量计数器,当计数满时溢计数器为增量计数器,当计数满时溢出中断将标志位置位。定时出中断将标志位置位。定时/计数器的作用在于:计数器的作用在于: 进行精确定时,实行实时控制;进行精确定时,实行实时控制; 用于事件计数。这样作减少了软件开销。用于事件

10、计数。这样作减少了软件开销。 时钟电路为内部振荡器外接晶振电路。时钟电路为内部振荡器外接晶振电路。2.2 MCR-512.2 MCR-51的主要性能特点的主要性能特点l计算机有两种基本结构:计算机有两种基本结构:哈佛结构哈佛结构,即程序存储器和,即程序存储器和数据存储器分开,互相独立;数据存储器分开,互相独立;普林斯顿结构普林斯顿结构,即程序,即程序存储器和数据存储器合而为一,地址空间统一编址。存储器和数据存储器合而为一,地址空间统一编址。l单片机为哈佛结构。有如下性能特点:单片机为哈佛结构。有如下性能特点: 定时定时/计数器:计数器:2个个16位可编程的定时位可编程的定时/计数器;计数器;

11、内部程序存储器:内部程序存储器:4KB; 内部数据存储器:内部数据存储器:128B; 外部程序存储器:可扩展到外部程序存储器:可扩展到64KB; 外部数据存储器:可扩展到外部数据存储器:可扩展到64KB; 输入输入/输出口线:输出口线:32根(根(4个端口,每个端口个端口,每个端口8根);根); 指令系统(系统时钟为指令系统(系统时钟为12MHz时):大部分指令执时):大部分指令执行时间为行时间为1 s;少部分指令执行时间为;少部分指令执行时间为2 s;只有乘、;只有乘、除指令的执行时间为除指令的执行时间为4 s。2.2 MCR-512.2 MCR-51的主要性能特点的主要性能特点 串行口:全

12、双工,二根;串行口:全双工,二根; 寄存器区:在内部数据存储器的寄存器区:在内部数据存储器的128B中划出一部分中划出一部分作为寄存器区,分为四个区,每个区作为寄存器区,分为四个区,每个区8个通用寄存器;个通用寄存器; 中断源:中断源:5个中断源,个中断源,2个优先级别;个优先级别; 堆栈:最深堆栈:最深128B; 布尔处理机:即位处理机,对某些单元的某位作单布尔处理机:即位处理机,对某些单元的某位作单独处理;独处理;2.3 MCS-512.3 MCS-51引脚功能描述引脚功能描述l掩模掩模MOS制造工艺的制造工艺的MCS-51单片机都采用单片机都采用40脚的脚的双列直插式封装双列直插式封装(

13、DIP)方式,方式,CHMOS制造工艺的单片制造工艺的单片机机80C31/80C51除采用除采用DIP封装外,还采用方形的封封装外,还采用方形的封装方式。方形封装的有装方式。方形封装的有44个引脚,标有个引脚,标有NC的的4个引脚个引脚不连线。在不连线。在40条引脚中有条引脚中有2条专用于主电源,条专用于主电源,2条外接条外接晶振,晶振,4条控制或与其它电源复用的引脚,条控制或与其它电源复用的引脚,32条条I/O引引脚。下面分别叙述这脚。下面分别叙述这40条引脚的功能。条引脚的功能。VCC(40脚脚):正常操作、对:正常操作、对EPROM编程和验证时编程和验证时接接+5V电源。电源。 主电源引

14、脚主电源引脚VSS(20脚脚):接地。:接地。标定角6543214443 4241 40393837363534333231302928272625242322212019181716151413121110987P1.5P1.6P1.7RSTP3.0NCP3.1P3.2P3.3P3.4P3.5P0.4P0.5P0.6P0.7EANCALEPSENP2.7P2.6P2.5P3.6P3.7P1.4P1.380C51BH80C51BH-280C31BH80C31BH-2XTAL1NCP2.1P2.3P2.2P2.4P2.0VSSXTAL2P1.2P1.1P1.0NCVCCP0.0P0.1P0.2P

15、0.3INT0/P3.212345678910111213141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 RST/VPDRXD/P3.0TXD/P3.1INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 VSSVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA/VPPALE/PROGPSENP2.7/A15P2.6/A14P2.

16、5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8803180518751DIP封装封装方形封装方形封装RST/VPD(9脚脚):当振荡器运行时,在此引脚上出现两个机器:当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单片机复位。一般在此引脚与周期的高电平将使单片机复位。一般在此引脚与VSS引脚之间连引脚之间连接一个约接一个约8.2K的下拉电阻,与的下拉电阻,与VCC引脚之间连接一个引脚之间连接一个20 F的的电容,以保证可靠复位。电容,以保证可靠复位。复位以后,复位以后,P0P3口输出高电平,口输出高电平,SP指针重新赋值为指针重新赋值为07H,其它

17、特殊功能寄存器和程序计数器其它特殊功能寄存器和程序计数器PC被清被清0。 外接晶振引脚外接晶振引脚XTAL1(19脚脚):接外部晶振的一个引脚。当采用外部振荡器:接外部晶振的一个引脚。当采用外部振荡器时,对时,对HMOS单片机单片机,此引脚应接地;对此引脚应接地;对CHMOS单片机,此单片机,此引脚作为带动端。引脚作为带动端。XTAL2(18脚脚):接外部晶振的一个引脚。当采用外部振荡器:接外部晶振的一个引脚。当采用外部振荡器时,对时,对HMOS单片机单片机,此引脚接收振荡器的信号;对此引脚接收振荡器的信号;对CHMOS单片机,此引脚应悬浮。单片机,此引脚应悬浮。 控制或与其它电源复用引脚控制

18、或与其它电源复用引脚MCS-51复位后内部寄存器初态复位后内部寄存器初态特殊功能寄存器特殊功能寄存器初始状态初始状态特殊功能寄存器特殊功能寄存器初始状态初始状态 ACC ACC 00H 00H TCON TCON 00H 00H B B 00H 00H TH0 TH0 00H 00H PSW PSW 00H 00H TL0 TL0 00H 00H SP SP 07H 07H TH1 TH1 00H 00H DPL DPL 00H 00H TL1 TL1 00H 00H DPH DPH 00H 00H SCON SCON 00H 00H P0 P0P3P3 0FFH 0FFH SBUF SBUF

19、 不定不定 IP IP* * * *00000B00000B PCON PCON0 0* * * * * * * *B B IE IE0 0* * *00000B00000B TMOD TMOD 00H 00H+5V+5VRESET/VPDRESET/VPD (8031) (8031)a)a)上电复位电路上电复位电路 b)b)电平方式开关复位电路电平方式开关复位电路CrCrRrRr+5V+5VCrCrK KR1R1RrRrRESET/VPDRESET/VPD (8031) (8031)+5V+5Vc)c)脉冲方式开关复位电路脉冲方式开关复位电路 d)d)单片机内部复位电路单片机内部复位电路Cr

20、CrK KCCRRRrRrRESET/VPDRESET/VPD(8031)(8031)RST/VPDRST/VPDVCCVCCVSSVSS复位电路复位电路斯密特触发器斯密特触发器内部内部RAMRAM+ + + +MCS-51复位电路复位电路只要只要RESET保持高电平,保持高电平,8031就会循环复位。就会循环复位。RESET由由高电平变为低电平后,高电平变为低电平后,8031从从0地址开始执行程序。地址开始执行程序。8031初始复位不影响内部初始复位不影响内部RAM的状态,包括工作寄存器的状态,包括工作寄存器R0R7。 电平方式开关复位电路和脉冲方式开关复位电路电平方式开关复位电路和脉冲方式

21、开关复位电路如如b)、c)所示。复位电路中的电阻、电容参数和所示。复位电路中的电阻、电容参数和CPU采用的时钟频率有关,由实验调整。在实际的采用的时钟频率有关,由实验调整。在实际的8031应应用系统中,外部扩展的用系统中,外部扩展的I/O口电路也需初始复位,如果口电路也需初始复位,如果和和8031的复位端相连也将影响复位电路中的的复位端相连也将影响复位电路中的RC参数。参数。也可以采用独立的外围接口上电自动复位电路。也可以采用独立的外围接口上电自动复位电路。 上电复位电路:如图上电复位电路:如图a)所示。在通电瞬间,由于所示。在通电瞬间,由于Cr通过通过Rr充电充电,在在RESET端出现正脉冲

22、,端出现正脉冲,8031加电后加电后自动复位。自动复位。Cr、Rr随随CPU时钟频率而变化,可由实验时钟频率而变化,可由实验调整。调整。当采用当采用6MHz晶体振荡器时,晶体振荡器时,Cr为为22 F,Rr为为1K,就能可靠复位,就能可靠复位。ALE/PROG(30脚脚):当访问外部数据存储器时,:当访问外部数据存储器时,ALE的输出用于锁存地址低字节,即使不访问外部存储器,的输出用于锁存地址低字节,即使不访问外部存储器,ALE仍以不变的频率周期性地出现正脉冲信号,为振仍以不变的频率周期性地出现正脉冲信号,为振荡器频率的六分之一,因此可用作对外输出的时钟。荡器频率的六分之一,因此可用作对外输出

23、的时钟。只是当访问外部数据存储器时,将跳过一个只是当访问外部数据存储器时,将跳过一个ALE脉冲。脉冲。ALE端可以带动端可以带动8个个TTL负载。对于有负载。对于有EPROM的单片的单片机,在机,在EPROM编程期间,此脚用于输入编程脉冲。编程期间,此脚用于输入编程脉冲。PSEN(29脚脚):此输出是外部程序存储器的读选通信号。:此输出是外部程序存储器的读选通信号。在由外部程序存储器取指令期间,每个机器周期两次在由外部程序存储器取指令期间,每个机器周期两次PSEN有效。但当访问外部数据存储器时,这两次有效有效。但当访问外部数据存储器时,这两次有效的的PSEN信号不出现。信号不出现。 PSEN可

24、以带动可以带动8个个TTL负载。负载。 EA/VPP(31脚脚):当:当 EA端保持高电平时,访问内部程端保持高电平时,访问内部程序存储器,但当序存储器,但当PC值超过值超过0FFF(51系列系列)或或1FFF(52系系列列)时,将自动转向执行外部程序存储器的程序。当时,将自动转向执行外部程序存储器的程序。当EA端保持低电平时,则只访问外部程序存储器,而不端保持低电平时,则只访问外部程序存储器,而不管是否有内部程序存储器。管是否有内部程序存储器。 对于对于EPROM型单片机,在型单片机,在EPROM编程期间,此引脚编程期间,此引脚用于施加用于施加21伏的编程电源电压伏的编程电源电压(VPP)。

25、P0:是一个:是一个8位漏极开路的双向输入位漏极开路的双向输入/输出口。在访问外部输出口。在访问外部存储器时,送出地址的低八位,接收八位数据。在存储器时,送出地址的低八位,接收八位数据。在EPROM编程时,接收指令字节。验证程序时,输出指令编程时,接收指令字节。验证程序时,输出指令字节。作输出口时字节。作输出口时P0要求外接上拉电阻。可以带动八个要求外接上拉电阻。可以带动八个TTL负载。负载。 输入输入/输出引脚输出引脚P1:是一个带有内部上拉电阻的:是一个带有内部上拉电阻的8位双向位双向I/O口。对口。对EPROM编程和程序验证时,接收低编程和程序验证时,接收低8位地址。能带动位地址。能带动

26、4个个TTL负载。负载。 P2:是一个带内部上拉电阻的:是一个带内部上拉电阻的8位双向输入输出口,访问位双向输入输出口,访问外部存储器时,送出高外部存储器时,送出高8位地址。在对位地址。在对EPROM编程和程序编程和程序验证时,接收高验证时,接收高8位地址。位地址。P2可带动可带动4个个TTL负载。负载。P3:是一个带有内部上拉电阻的:是一个带有内部上拉电阻的8位双向位双向I/O口。在口。在MCS-51中,这中,这8个引脚还用于专门功能。其中,个引脚还用于专门功能。其中,P3.0(RXD)为串为串行输入口,行输入口,P3.1(TXD)为串行输出口,为串行输出口,P3.2(INT0)为外部中为外

27、部中断断0输入,输入,P3.3 (INT1)为外部中断为外部中断1输入,输入,P3.4(T0)为定时为定时器器0的外部输入,的外部输入,P3.5(T1)为定时器为定时器1的外部输入,的外部输入,P3.6 (WR)为外部数据存储器的写选通信号,为外部数据存储器的写选通信号,P3.7(RD)为外部数为外部数据存储器的读选通信号。据存储器的读选通信号。 2.4 2.4 存储器配置存储器配置2.4.1 MCS-51的空间配置的空间配置 物理上,分为四个存储空间:片内程序存储器、物理上,分为四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。片外程序存储器、片内数据存储器、片外

28、数据存储器。(8031无片内程序存储器无片内程序存储器) 逻辑上,分为三个空间:片内、片外同一程序存储逻辑上,分为三个空间:片内、片外同一程序存储器,片内随机存储器,片外随机存储器。器,片内随机存储器,片外随机存储器。地址编址:地址编址:程序存储器和数据存储器分别编址;程序存储器和数据存储器分别编址;程序存储器程序存储器(片内、外片内、外)统一编址,使用统一编址,使用MOVC指令;指令;数据存储器数据存储器(片内片内)统一编址,使用统一编址,使用MOV指令;指令;数据存储器数据存储器(片外片外)统一编址,使用统一编址,使用MOVX指令;指令;以字节编址。以字节编址。内部内部 (EA=1)0FF

29、FH0000H外部外部 (EA=0)0FFFH0000H外部外部1000HFFFFH程序存储器程序存储器SFR内部内部RAMFFH00H7FH80H内部数据存储器内部数据存储器0000HFFFFH外部数据存储器外部数据存储器 功能上,把存储器分为五种类型功能上,把存储器分为五种类型程序存储器,使用程序存储器,使用MOVC指令;指令;内部数据存储器内部数据存储器,使用使用MOV指令;指令;外部数据存储器外部数据存储器,使用使用MOVX指令;指令;特殊功能寄存器特殊功能寄存器,使用使用MOV指令;指令;位地址空间,使用位地址空间,使用MOV、SETB、CLR等指令。等指令。2.4.2 程序存储器程

30、序存储器寻址范围:寻址范围:0000HFFFFH,共,共64KB。容量:可扩展到容量:可扩展到64KB;EA=1,寻址内部程序存储器;,寻址内部程序存储器;EA=0,寻址外部程序存储器。,寻址外部程序存储器。地址码长度:地址码长度:16位;位;如:如: MOVCA,A+DPTRMOVCA,A+PC作用:存放程序及程序运行时所需的常数。作用:存放程序及程序运行时所需的常数。寻址方式:基址变址寻址寻址方式:基址变址寻址特征:特征: 若无片内程序存储器若无片内程序存储器(8031),64KB全部由外部程序全部由外部程序存储器承担,存储器承担,EA=0;若有片内程序存储器,其余;若有片内程序存储器,其

31、余60KB由外部程序存储器承担,由外部程序存储器承担, EA=1,访问内部程序存储器。,访问内部程序存储器。发掘外部程序存储器的发掘外部程序存储器的4KB,使,使EA=0,在,在4KB外部程序外部程序存储器中存入调试程序。存储器中存入调试程序。 有七个单元具有特殊含义:有七个单元具有特殊含义:0000H:主程序入口:主程序入口系统复位后,系统复位后,PC=0000H,由,由0000H单元存放一条绝对单元存放一条绝对跳转指令,用户设计的程序由跳转后的地址存放;跳转指令,用户设计的程序由跳转后的地址存放;0003H:外部中断:外部中断0的入口地址;的入口地址;000BH:定时器:定时器0的溢出中断

32、入口地址;的溢出中断入口地址;0013H:外部中断:外部中断1的入口地址;的入口地址;001BH:定时器:定时器1的溢出中断入口地址;的溢出中断入口地址;0023H:串:串行口中断入口地址;行口中断入口地址;002BH:定时器:定时器2溢出中断入口地溢出中断入口地址址(8032、8052有有)。 访问外部程序存储器的信息传送通路访问外部程序存储器的信息传送通路地址码由地址码由P0、P2口传送;控制信号由口传送;控制信号由PSEN(读选通读选通)接接EPROM的的 OE;数据信息由;数据信息由P0口接收。口接收。 2.4.3 内部数据存储器(内部内部数据存储器(内部RAM )51系列单片机的内部

33、数据存储器在空间上分为两个系列单片机的内部数据存储器在空间上分为两个区:区:00H7FH单元组成的低单元组成的低128字节的内部数据字节的内部数据RAM块以及块以及80H0FFH单元单元128字节的字节的SFR块。块。寻址范围:寻址范围:00H7FH。作用:作数据缓冲器用。作用:作数据缓冲器用。3区2区1区0区1FH00H2FH20H位地址:00H7FH数据缓冲区堆栈区工作单元7FH30H只能字节寻址可位寻址的区域(16个字节128位,也可按字节寻址)4组工作寄存器R0R7(也可以作为RAM单元使用,以字节地址寻址)图2-6 RAM空间分配示意图 00H1FH共共32个单元作工作寄存器用,分为

34、个单元作工作寄存器用,分为4个区,每个区个区,每个区8个单元,由个单元,由PSW中的中的RS1、RS0确确定当前工作区。定当前工作区。 特征:特征:PSW3、PSW4的含义的含义RS1 RS0RS1 RS0寄存器区寄存器区R0R0R7R7所占单元的地址所占单元的地址0 00 00 0组组(BANK0)(BANK0)00H00H07H07H0 10 11 1组组(BANK1)(BANK1)08H08H0FH0FH1 01 02 2组组(BANK2)(BANK2)10H10H17H17H1 11 13 3组组(BANK3)(BANK3)18H18H1FH1FH 20H2FH为位寻址区,作为布尔处理

35、机存储空为位寻址区,作为布尔处理机存储空间的一部分。间的一部分。 可在内部数据存储器中开辟一个堆栈区,堆栈深可在内部数据存储器中开辟一个堆栈区,堆栈深度小于度小于128个字节。个字节。2.4.4 专用寄存器专用寄存器特殊功能寄存器特殊功能寄存器SFR(Special Function Register) 寻址空间:寻址空间:80HFFH80HFFH中定义了中定义了21个特殊功能寄存器,占用个特殊功能寄存器,占用26个字节地址空间。个字节地址空间。特殊功能寄存器的地址分配特殊功能寄存器的地址分配标识符标识符名名 称称位位 地地 址址字节地址字节地址 * *ACCACC 累加器累加器E0HE0HE

36、7HE7H0E0H0E0H * *B B B B寄存器寄存器F0HF0HF7HF7H0F0H0F0H * *PSWPSW 程序状态字程序状态字D0HD0HD7HD7H0D0H0D0H SP SP 堆栈指针堆栈指针81H81H DPTR DPTR 数据指针数据指针83H83H和和82H82H * *P0P0 口口0 080H80H87H87H80H80H * *P1P1 口口1 190H90H97H97H90H90H * *P2P2 口口2 2A0HA0HA7HA7H0A0H0A0H * *P3P3 口口3 3B0HB0HB7HB7H0B0H0B0H * *IPIP 中断优先级寄存器中断优先级寄

37、存器B8HB8HBDHBDH0B8H0B8H * *IEIE 中断允许寄存器中断允许寄存器A8HA8HAFHAFH0A8H0A8H TMOD TMOD 定时定时/ /计数器方式控制计数器方式控制89H89H * *TCONTCON 定时定时/ /计数器控制计数器控制88H88H8FH8FH88H88H T2CON T2CON 定时定时/ /计数器计数器2 2控制控制C8HC8HCFHCFH0C8H0C8H TH0 TH0 定时定时/ /计数器计数器0(0(高位字节高位字节) )8CH8CH TL0 TL0 定时定时/ /计数器计数器0(0(低位字节低位字节) )8AH8AH TH1 TH1 定

38、时定时/ /计数器计数器1(1(高位字节高位字节) )8DH8DH TL1 TL1 定时定时/ /计数器计数器1(1(低位字节低位字节) )8BH8BH +TH2 +TH2 定时定时/ /计数器计数器2(2(高位字节高位字节) )0CDH0CDH +TL2 +TL2 定时定时/ /计数器计数器2(2(低位字节低位字节) )0CCH0CCH +RLDH +RLDH 定时定时/ /计数器计数器2 2自动再装载自动再装载( (高位高位) )0CBH0CBH +RLDL +RLDL 定时定时/ /计数器计数器2 2自动再装载自动再装载( (低位低位) )0CAH0CAH * *SCONSCON 串行通

39、讯控制串行通讯控制98H98H9FH9FH98H98H SBUF SBUF 串行数据缓冲器串行数据缓冲器99H99H PCON PCON 电源控制电源控制87H87H 注:标注:标*号的寄存器可按字节和位寻址,标号的寄存器可按字节和位寻址,标+号的寄存器是定时号的寄存器是定时/计数器计数器2相关的寄存器,仅仅在相关的寄存器,仅仅在52子系列中存在子系列中存在 算术运算寄存器算术运算寄存器 累加器累加器A(Accumulator)l最常用;最常用;l大多数单操作数指令的操作数取自累加器,很多双操作大多数单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器;数指令的一个操作数取自

40、累加器;l运算结果大多存放在累加器中;运算结果大多存放在累加器中;l累加器累加器A的地址为的地址为0E0H。 B寄存器寄存器l乘、除指令,用乘、除指令,用B寄存器作为其中的一个操作数;寄存器作为其中的一个操作数;l进行乘法运算时,进行乘法运算时,A、B分别存放乘数和被乘数,运算的分别存放乘数和被乘数,运算的结果仍旧存放在结果仍旧存放在A、B中,中,B存放结果的高八位,存放结果的高八位,A存放结存放结果的低八位;果的低八位;l进行除法运算时,进行除法运算时,A中存放被除数,中存放被除数,B中存放除数,运算中存放除数,运算后的结果的商存放在后的结果的商存放在A中,余数存放在中,余数存放在B中。中。

41、 程序状态字程序状态字PSW(Program Status Word)l程序状态字程序状态字PSW包含了程序的运行状态信息。包含了程序的运行状态信息。CY AC F0 RS1 RS0 OV - PPSW寄存器各位功能、标志符号、位地址寄存器各位功能、标志符号、位地址功功 能能标标 志志位位 地地 址址进位标志进位标志CYCYPSW.7PSW.7辅助进位标志辅助进位标志ACACPSW.6PSW.6溢出标志溢出标志OVOVPSW.2PSW.2奇偶标志奇偶标志P PPSW.0PSW.0用户标志用户标志F0F0PSW.5PSW.5保留保留- -PSW.1PSW.1寄存器区选择寄存器区选择MsbMsbR

42、S1RS1PSW.4PSW.4寄存器区选择寄存器区选择LsbLsbRS0RS0PSW.3PSW.3CY(PSW.7)(Carry):进位进位/借位标志。借位标志。在进行加法运算时,若最高位有进位,在进行加法运算时,若最高位有进位,CY=1,否则,否则CY=0。在进行减法运算时,若被减数小于减数,在进行减法运算时,若被减数小于减数,CY=1,否则,否则CY=0。在布尔处理机中,。在布尔处理机中,CY被用作位累加器使用。被用作位累加器使用。AC(PSW.6)(Auxiliary Carry):辅助进位辅助进位/借位标志。借位标志。当低半字节向高半字节有进当低半字节向高半字节有进/借位时,借位时,A

43、C=1,否则,否则AC=0。该标志主要用于十进制调整。该标志主要用于十进制调整。F0(PSW.5)(Flag 0):标志标志0,由用户定义,可由软件置位或,由用户定义,可由软件置位或清除,以对程序的运行起指导作用。清除,以对程序的运行起指导作用。RS1、RS0(PSW.4,PSW.3):寄存器区选择控制位寄存器区选择控制位当当(RS1,RS0)=00时,选择寄存器区时,选择寄存器区0区,区,R0对应地址为对应地址为00H,R7对应地址为对应地址为07H;当当(RS1,RS0)=01时,选择时,选择1区,区,R0R7对应对应08H0FH;当当(RS1,RS0)=10时,选择时,选择2区,区,R0

44、R7对应对应10H17H;当当(RS1,RS0)=11时,选择时,选择3区,区,R0R7对应对应18H1FH。OV(PSW.2)(Overflow):溢出标志,由硬件置位或清除。:溢出标志,由硬件置位或清除。执行带符号加减法指令时,执行带符号加减法指令时,OV=C6 C7(Ci为第为第i位向第位向第i+1位位的进位或借位的进位或借位),执行乘法指令时,乘积大于,执行乘法指令时,乘积大于255,OV=1,乘积结,乘积结果的高八位从果的高八位从B取,低八位从取,低八位从A取。取。否则否则OV=0,结果只需从,结果只需从A取。执行除法指令时,若除数为取。执行除法指令时,若除数为0,OV=1,否则,否

45、则OV=0。P(PSW.0)(Parity):奇偶标志,若:奇偶标志,若A中值为中值为1的位数为奇数,的位数为奇数,P=1,否则,否则P=0。 指针寄存器指针寄存器 程序计数器程序计数器PC(Program Counter)指明即将执行的下一条指令的地址,为指明即将执行的下一条指令的地址,为16位寄存器。系统位寄存器。系统开机初始化时,开机初始化时,PC=0000H,可寻址范围,可寻址范围64KB。 堆栈指针堆栈指针SP(Stack Pointer)指明栈顶元素的地址,指明栈顶元素的地址,8位。可由软件设置初始值,系统位。可由软件设置初始值,系统复位时设置为复位时设置为07H。 数据指针数据指

46、针DPTR(Data Pointer)指明访问的数据存储器的单元地址,数据指针指明访问的数据存储器的单元地址,数据指针16位,可寻位,可寻址范围址范围64KB,由,由DPH、DPL组成。在某些情况下,组成。在某些情况下,DPH、DPL也可单独使用。也可单独使用。 并行输入并行输入/输出端口输出端口(Parallel I/O Port)专用寄存器专用寄存器P0、P1、P2、P3分别是分别是I/O端口端口P0P3的锁的锁存器。存器。 串行输入串行输入/输出端口输出端口(Serial I/O Port) 串行数据缓冲器串行数据缓冲器串行数据缓冲器串行数据缓冲器SBUF(Serial Data Buf

47、fer)用于存放要发送用于存放要发送或已接收的数据或已接收的数据,由两个独立由两个独立的寄存器组成的寄存器组成,占用一个地址占用一个地址,其中之一为发送缓冲器,另其中之一为发送缓冲器,另一个为接收缓冲器。一个为接收缓冲器。 接收发送WRCSABDBRD 串行控制串行控制/状态寄存器状态寄存器SCON(Serial Contral)控制监视串行口的工作状态。控制监视串行口的工作状态。 电源控制寄存器电源控制寄存器PCON(Power Contral)。 中断系统中断系统 中断优先级寄存器中断优先级寄存器IP(Interrupt Priority Register)中断分为中断分为2个优先级,可由

48、个优先级,可由IP设定各个中断源的优先级。设定各个中断源的优先级。 中断允许寄存器中断允许寄存器IE(Interrupt Enable Register)用于各个中断源的允许和屏蔽的设置。用于各个中断源的允许和屏蔽的设置。 定时定时/计数器计数器 定时器方式寄存器定时器方式寄存器TMOD(Timer Mode)用于设定定时器的工作方式。用于设定定时器的工作方式。定时器控制寄存器定时器控制寄存器TCON(Timer Contral)其各位用于对定时器和外部中断进行控制。其各位用于对定时器和外部中断进行控制。 计数寄存器计数寄存器TH0、TL0、TH1、TL1用于设定定时用于设定定时/计数器的初值

49、。计数器的初值。TH0、TL0为一组,为一组,TH1、TL1为一组。为一组。 8052/8032增设的专用寄存器增设的专用寄存器 定时器定时器2控制寄存器控制寄存器T2CON ( Timer 2 Contral)对定时器对定时器T2进行控制进行控制,设置工作方式。设置工作方式。 计数寄存器计数寄存器TH2、TL2。 定时器定时器2捕获捕获/重装载寄存器重装载寄存器RCAP2H、RCAP2L存放自动重装载到存放自动重装载到TH2、TL2的数据。的数据。2.4.5 位地址空间位地址空间组成:组成: 内部数据存储器的内部数据存储器的20H2FH共共16个单元可按位寻找,个单元可按位寻找,128位;位

50、; 专用寄存器地址码能被专用寄存器地址码能被8整除的可按位寻址,整除的可按位寻址, 12个专个专用寄存器,但是用寄存器,但是IP.7、IP.6、IE.6三位未定义,共三位未定义,共93位可位可按位寻址。按位寻址。则可按位寻址的空间为则可按位寻址的空间为221位。位。BYTE(MSB) (LSB)BYTE(MSB) (LSB)2FH2FH7F7F7E7E7D7D7C7C7B7B7A7A797978782EH2EH777776767575747473737272717170702DH2DH6F6F6E6E6D6D6C6C6B6B6A6A696968682CH2CH67676666656564646

51、3636262616160602BH2BH5F5F5E5E5D5D5C5C5B5B5A5A595958582AH2AH5757565655555454535352525151505029H29H4F4F4E4E4D4D4C4C4B4B4A4A4949484828H28H4747464645454444434342424141404027H27H3F3F3E3E3D3D3C3C3B3B3A3A3939383826H26H3737363635353434333332323131303025H25H2F2F2E2E2D2D2C2C2B2B2A2A2929282824H24H2727262625252

52、424232322222121202023H23H1F1F1E1E1D1D1C1C1B1B1A1A1919181822H22H1717161615151414131312121111101021H21H0F0F0E0E0D0D0C0C0B0B0A0A0909080820H20H07070606050504040303020201010000RAM位地址分配位地址分配 特殊功能寄存器位地址特殊功能寄存器位地址 字节地址字节地址MSB D7MSB D7D0 LSBD0 LSB寄存器符号名寄存器符号名F0HF0H F7 F6 F5 F4 F3 F2 F1 F0 F7 F6 F5 F4 F3 F2 F

53、1 F0B BE0HE0H E7 E6 E5 E4 E3 E2 E1 E0 E7 E6 E5 E4 E3 E2 E1 E0ACCACCD0HD0H CY AC F0 RS1 RS0 OV CY AC F0 RS1 RS0 OV P PPSWPSW D7 D6 D5 D4 D3 D2 D7 D6 D5 D4 D3 D2 D0 D0C8HC8H CF CE CD CC CB CA C9 C8 CF CE CD CC CB CA C9 C8T2CONT2CONB8HB8H PT2 PS PT1 PX1 PT0 PX0 PT2 PS PT1 PX1 PT0 PX0IPIP BD BC BB BA B9

54、 B8 BD BC BB BA B9 B8 B0HB0H B7 B6 B5 B4 B3 B2 B1 B0 B7 B6 B5 B4 B3 B2 B1 B0P3P3A8HA8H EA ET2 ES ET1 EX1 ET0 EX0 EA ET2 ES ET1 EX1 ET0 EX0IEIE AF AF AD AC AB AA A9 A8 AD AC AB AA A9 A8A0HA0H A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0P2P298H98H SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 SM2 REN TB8 R

55、B8 TI RISCONSCON 9F 9E 9D 9C 9B 9A 99 98 9F 9E 9D 9C 9B 9A 99 9890H90H 97 96 95 94 93 92 91 90 97 96 95 94 93 92 91 90P1P188H88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONTCON 8F 8E 8D 8C 8B 8A 89 88 8F 8E 8D 8C 8B 8A 89 8880H80H 87 86 85 84 83 82 81 80 87 86 85 84 83 82 81

56、80P0P02.4.6 外部数据存储器外部数据存储器 容量最大可扩展到容量最大可扩展到64KB; 寻址范围:寻址范围:0000HFFFFH; 寻址方式:寻址方式:间接寻址。可用间接寻址。可用R0、R1及及DPTR作间址寄存器。作间址寄存器。2.5 2.5 振荡器、时钟电路和振荡器、时钟电路和CPUCPU时序时序2.5.1 时钟的基本概念时钟的基本概念指令执行过程指令执行过程 取指分析执行从取指开始到指令执行完毕所需要的时间叫从取指开始到指令执行完毕所需要的时间叫做一个指令周期。指令周期随着机器的不同做一个指令周期。指令周期随着机器的不同而不同,随指令的不同而不同。而不同,随指令的不同而不同。是

57、机器的基本操作周期。一个指令周期包含至是机器的基本操作周期。一个指令周期包含至少一个机器周期。少一个机器周期。机器周期:机器周期:时钟周期:时钟周期:状态周期:状态周期: 一个机器周期分成六个状态周期。每个状态周一个机器周期分成六个状态周期。每个状态周期由两个脉冲组成期由两个脉冲组成(所谓两相所谓两相),前一个脉冲叫,前一个脉冲叫P1(相位相位1),后一个脉冲叫,后一个脉冲叫P2(相位相位2)。又叫做振荡器周期。由振荡时钟产生,一个状又叫做振荡器周期。由振荡时钟产生,一个状态周期包含两个时钟周期。因此,态周期包含两个时钟周期。因此,1个机器周期个机器周期12个振荡器周期。个振荡器周期。一般情况

58、下,算术和逻辑操作发生在一般情况下,算术和逻辑操作发生在P1期间,而内期间,而内部寄存器到寄存器传输发生在部寄存器到寄存器传输发生在P2期间。期间。指令周期:指令周期:2.5.2 典型指令的取指典型指令的取指/执行时序执行时序 l当当ALE(Address Latch Enable)地址锁存允许信号有效时,地址锁存允许信号有效时,可访问存储器可访问存储器 。l一个机器周期包含一个机器周期包含12个振荡周期,编号为个振荡周期,编号为S1P1(1状态状态1相相)到到S6P2 (6状态状态2相相),每一相持续一个振荡周期,每一,每一相持续一个振荡周期,每一个状态持续两个振荡周期。在每个机器周期中,个

59、状态持续两个振荡周期。在每个机器周期中,ALE信信号有两次有效,一次在号有两次有效,一次在S1P2和和S2P1期间,还有一次在期间,还有一次在S4P2和和S6P1期间。期间。l执行一条单周期指令时,在执行一条单周期指令时,在S1P2期间读入操作码并把它期间读入操作码并把它锁存到指令寄存器中。如果是一条双字节指令,第二个字锁存到指令寄存器中。如果是一条双字节指令,第二个字节在同一机器周期的节在同一机器周期的S4期间读出。如果是一条单字节指令,期间读出。如果是一条单字节指令,在在 S4期间仍然有一个读操作,但这时读出的字节期间仍然有一个读操作,但这时读出的字节(下一条下一条指令的操作码指令的操作码

60、)是不加以处理的,而且程序计数器也不加是不加以处理的,而且程序计数器也不加1。不管上述哪一种情况,指令都不管上述哪一种情况,指令都 在在S6P2期间执行完毕。期间执行完毕。存取存取/执行时序内部状态和相位执行时序内部状态和相位 OSC(XTAL2)P1 P2ALE读操作码读第二字节读下一个操作码(b)双字节单周期指令,如ADDA #data读操作码读下一个操作码(丢掉)再读下一个操作码(c)单字节双周期指令,如INC DPTR读操作码读下一个操作码(丢掉)再读下一个操作码(A)单字节单周期指令,如INC A读操作码(MOVX)读下一个操作码(丢掉)再读下一个操作码(d)MOVX(单字节双周期)不取指不

温馨提示

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

评论

0/150

提交评论