第2章 51系列单片机CPU的硬件结构.ppt

上传人:s****8 文档编号:69247220 上传时间:2023-01-01 格式:PPT 页数:108 大小:1.01MB
返回 下载 相关 举报
第2章 51系列单片机CPU的硬件结构.ppt_第1页
第1页 / 共108页
第2章 51系列单片机CPU的硬件结构.ppt_第2页
第2页 / 共108页
点击查看更多>>
资源描述

《第2章 51系列单片机CPU的硬件结构.ppt》由会员分享,可在线阅读,更多相关《第2章 51系列单片机CPU的硬件结构.ppt(108页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章章 51系列单片机系列单片机CPU的硬件结构的硬件结构 本章主要介绍本章主要介绍5151系列单片机的硬件编程结构及引脚、系列单片机的硬件编程结构及引脚、CPUCPU主要部件与特殊功能寄存器、片内外存储器的主要部件与特殊功能寄存器、片内外存储器的组织结构和编址、并行组织结构和编址、并行I/OI/O口、定时口、定时/计数器、串行口、计数器、串行口、中断及中断系统应用实例。读者应重点掌握中断及中断系统应用实例。读者应重点掌握CPUCPU的的使用特性、特殊功能寄存器的用法、控制引脚的作使用特性、特殊功能寄存器的用法、控制引脚的作用及定时用及定时/计数器、串行口、中断技术等。计数器、串行口、中断

2、技术等。2 21 1 硬件编程结构与引脚功能硬件编程结构与引脚功能硬件编程结构与引脚功能硬件编程结构与引脚功能2 21 11 1 编程结构编程结构编程结构编程结构图图2121是是5151系列单片机的基本编程结构。系列单片机的基本编程结构。图图21 MCS5121 MCS51单片机的基本结构单片机的基本结构图21一块芯片上包括:l8位中央处理器单元CPU;l4K/8K字节ROM或EPROM(8031无ROM);l128/256个字节的数据存储器RAM;l21/26个特殊功能寄存器SFR;l4个8位并行I/O口,其中P0为低8位地址/数据线,P2为高8位地址线,可外扩64KROM和64KRAM;l

3、2/3个16位可编程的定时/计数器T0、T1。用来对外部脉冲进行计数;也可设置成定时器,并根据计数或定时的结果进行控制;l有5/6个中断源,其中3个内部中断源,2个外部中断源,通过软件可编程为两个中断优先级;l一个全双工的通过编程工作在异步方式的串行接口,使数据可一位一位在微机之间串行传送;l内部时钟产生电路,但石英晶体振荡器和微调电容需要外接,允许最高振荡频率为12MHz。l64K字节外部程序存储器寻址空间;l64K字节外部数据存储器寻址空间;l具有位寻址功能,212 外部引脚功能外部引脚功能 4040脚可分为六部分脚可分为六部分 :电源电源 VCCVCC、VSSVSS、VDDVDD、VPD

4、 VPD 时钟时钟 XTAL1XTAL1、XTAL2XTAL2I/O P0P3I/O P0P3地址总线地址总线 P0P0、P2P2数据总线数据总线 P0P0 控制总线控制总线 地址锁存地址锁存 ALEALE 复位输入复位输入 RSTRST 编程脉冲输入编程脉冲输入/PORG/PORG 外存选择外存选择 /PSEN/PSEN 外存控制外存控制 /EA/EA213 CPU主要部件与特殊功能寄存器主要部件与特殊功能寄存器 无论什么型号的微型计算机,一般都由微处理器无论什么型号的微型计算机,一般都由微处理器 (CPUCPU),存储器和),存储器和I/OI/O接口组成,将这三部分集中在一接口组成,将这三

5、部分集中在一 块大规模集成电路芯片之中所构成的微型计算机称之为单块大规模集成电路芯片之中所构成的微型计算机称之为单片机。因此,将图片机。因此,将图2121中去掉存储器电路和中去掉存储器电路和I/OI/O部件,剰下部件,剰下的便是的便是CPUCPU。与别的微型计算机一样,。与别的微型计算机一样,CPUCPU可分为运算器可分为运算器和控制器两部分。运算器功能部件包括算术逻辑运算部件和控制器两部分。运算器功能部件包括算术逻辑运算部件ALUALU,累加器,累加器A A,寄存器,寄存器B B、暂存器、暂存器TRTR,程序计数器,程序计数器PCPC、程序状态寄存器程序状态寄存器PSWPSW,堆栈指针,堆栈

6、指针SPSP,数据指针寄存器,数据指针寄存器DPTRDPTR以及布尔处理器等。控制器功能部件包括指令寄存以及布尔处理器等。控制器功能部件包括指令寄存器、指令译码器、控制逻辑阵器、指令译码器、控制逻辑阵PLAPLA等。等。CPUCPU是单片机的指是单片机的指挥中心,执行机构,它的作用是读入和分析每条指令,根挥中心,执行机构,它的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个部件执行相应的操作。据每条指令的功能要求,控制各个部件执行相应的操作。1.算术/逻辑运算部件ALU ALU ALU的作用是对传送到的作用是对传送到CPUCPU的数据进行算术的数据进行算术/逻辑运算操作。这些操作主要

7、有,对逻辑运算操作。这些操作主要有,对8 8位信息进行位信息进行+、*、/算术运算和与、或、异或等逻辑操作,算术运算和与、或、异或等逻辑操作,移位、置位、清零、取反,加移位、置位、清零、取反,加1/1/减减1 1操作。此外,操作。此外,MCS51MCS51系列的系列的ALUALU还具有极强的位处理功能:置还具有极强的位处理功能:置位、清零、取反、逻辑与、逻辑或、条件判断转位、清零、取反、逻辑与、逻辑或、条件判断转移等。这在控制中特别有用,因为一些控制中常移等。这在控制中特别有用,因为一些控制中常需要进行按位运行,位操作指令提供了把逻辑等需要进行按位运行,位操作指令提供了把逻辑等式直接变换成软件

8、的简单明了的方法,使得不使式直接变换成软件的简单明了的方法,使得不使用过多的数据传送、字节屏蔽用过多的数据传送、字节屏蔽/组合和测试分支树组合和测试分支树等编程方法,也能实现较为复杂的组合逻辑功能,等编程方法,也能实现较为复杂的组合逻辑功能,从而简化了程序逻的编制。为此,它获得了布尔从而简化了程序逻的编制。为此,它获得了布尔处理器的称号。处理器的称号。2.累加器A MCS51 MCS51系列单片机虽然在结构上仍以累加器系列单片机虽然在结构上仍以累加器A A作为基础。但由于内部电路采取了措施,使得累作为基础。但由于内部电路采取了措施,使得累加器加器A A在数据传送、逻辑控制等方面的核心作用受在数

9、据传送、逻辑控制等方面的核心作用受到了削载,数据可以在片内直接到了削载,数据可以在片内直接/间接地址的存储间接地址的存储器之间直接传送而不必经过累加器器之间直接传送而不必经过累加器A A。直接地址存。直接地址存储器也可和常量直接进行逻辑运算。储器也可和常量直接进行逻辑运算。在布尔处理器中,还有它自己的在布尔处理器中,还有它自己的“位累加器位累加器”C C。进位标志。进位标志C C在位操作中所起的作用,类似于在位操作中所起的作用,类似于累加器累加器A A在字节操作中所起的作用,在任何可位寻在字节操作中所起的作用,在任何可位寻址的位与进位标志址的位与进位标志C C之间,可进行逻辑之间,可进行逻辑“

10、与与”、“或或”操作,其结果送回到进位标志操作,其结果送回到进位标志C C。3.程序状态字寄存器PSW 程序状态字寄存器程序状态字寄存器PSWPSW是指令可以访问的、单片机是指令可以访问的、单片机中各有关标志寄存器的集合体。其各位的信息分配见表中各有关标志寄存器的集合体。其各位的信息分配见表2222。表表22 22 程序状态字寄存器程序状态字寄存器PSWPSW信息位分配表信息位分配表PSW状态字PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0 标志位CYACF0RS1RS0OVP CY CY(PSW.7PSW.7):进位标志,如果操作结果在最高位有进位输出(加法

11、)或借位输):进位标志,如果操作结果在最高位有进位输出(加法)或借位输入(减法)时置位,否则清零。入(减法)时置位,否则清零。AC(PSW.6)AC(PSW.6):辅助进位标志,是低半进位位(累加器:辅助进位标志,是低半进位位(累加器A A中中A3A3向向A4A4位的进位),位的进位),BCDBCD码调整时用。码调整时用。F0(PSW.5)F0(PSW.5):用户定义的状态标志位,可通过软件对它置位:用户定义的状态标志位,可通过软件对它置位/复位或测试。复位或测试。RS1(PSW.4)RS0(PSW.3)RS1(PSW.4)RS0(PSW.3):工作寄存器组开关选择位,用于选择四组工作寄存器:

12、工作寄存器组开关选择位,用于选择四组工作寄存器之一。由于各组寄存器在指令中使用同一名称,因而这种多寄存器组的结构形式可以之一。由于各组寄存器在指令中使用同一名称,因而这种多寄存器组的结构形式可以节约程序调用时为保护寄存器内容而必须的进栈、出栈等语句,从而方便编程并提高节约程序调用时为保护寄存器内容而必须的进栈、出栈等语句,从而方便编程并提高运算速度。每个寄存器组有运算速度。每个寄存器组有8 8个个8 8位的工作寄存器,它们是内部位的工作寄存器,它们是内部RAMRAM的一部分,各组的的一部分,各组的编码为:编码为:RS1 RS1 RS0RS0寄存器组对应的地址寄存器组对应的地址0 00 0组组0

13、 00H07H0 00H07H0 1 0 1 组组1 08H0FH1 08H0FH1 1 0 0 组组2 10H17H2 10H17H0 1 0 1 组组3 18H1FH 3 18H1FH OV OV(PSW.2PSW.2):溢出标志位,用于表示有符号数算术运算溢出。当次高位发生向):溢出标志位,用于表示有符号数算术运算溢出。当次高位发生向最高位进位而最高位不发生进位时,发生溢出,最高位进位而最高位不发生进位时,发生溢出,OVOV便由硬件置位,否则清零。便由硬件置位,否则清零。P(PSW.0)P(PSW.0):奇偶标志位,它是每一指令周期累加器:奇偶标志位,它是每一指令周期累加器A A中中8

14、8位按位模位按位模2 2和的结果。因和的结果。因此此P P总是表示累加器总是表示累加器A A中内容的奇偶性,而与中内容的奇偶性,而与PSWPSW中其它标志的变化无关。中其它标志的变化无关。4.堆栈指针SP 所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。我们知道,“堆”遵循“先进后出、后进先出”的原则,堆栈是按该工作方式工作的,用来暂时存放数据的寄存器或存储单元,它是只在一端进行存取的一块特别的存储区。1)堆栈的作用 在在CPUCPU响应中断或调用了程序时,需要把断响应中断或调用了程序时,需要把断点处的点处的PCPC值以及现场的一些数据保存起来,在微值以及现场的一些数据保存起来,在微型计

15、算机中,它们就是保存在堆栈中的。同样,型计算机中,它们就是保存在堆栈中的。同样,当发生中断嵌套(高级中断中断低级中断)或子当发生中断嵌套(高级中断中断低级中断)或子程序嵌套(在执行一个子程序中,又调用另一个程序嵌套(在执行一个子程序中,又调用另一个子程序)时,也要把各级断点的子程序)时,也要把各级断点的PCPC值以及一些现值以及一些现场数据都要保护起来,为了能保证逐级正确返回,场数据都要保护起来,为了能保证逐级正确返回,要求后保存的值先取回即符合要求后保存的值先取回即符合“先进后出、后进先进后出、后进先出先出”的原则。堆栈正是为此目的而设计的。的原则。堆栈正是为此目的而设计的。2)堆栈方式 硬

16、件堆栈 在在CPUCPU内部设置一组专用的按堆栈工作方式存取数据内部设置一组专用的按堆栈工作方式存取数据的寄存器,称为硬件堆栈。其优点是工作速度快,缺点是的寄存器,称为硬件堆栈。其优点是工作速度快,缺点是不能做得容量太大。不能做得容量太大。软件堆栈 在在RAMRAM区中开辟一个任意大的区域用作为栈区,栈区可设置在区中开辟一个任意大的区域用作为栈区,栈区可设置在RAMRAM的任意区,在的任意区,在CPUCPU内仅由一个专用的寄存器来管理堆栈的栈顶,内仅由一个专用的寄存器来管理堆栈的栈顶,这个寄存器叫做堆栈指示器(常称为堆栈指针)。这个寄存器叫做堆栈指示器(常称为堆栈指针)。3)堆栈指针SP 堆栈

17、指针是一个地址寄存器,它指向堆栈指针是一个地址寄存器,它指向RAMRAM中的一个存中的一个存储单元。堆栈指针的初值称为栈区的栈底,每当一个数据储单元。堆栈指针的初值称为栈区的栈底,每当一个数据送到堆栈中(称为压入堆栈)或从堆栈中取出(称为弹出送到堆栈中(称为压入堆栈)或从堆栈中取出(称为弹出堆栈),堆栈指针都要随之作相应的变化,它始终指向栈堆栈),堆栈指针都要随之作相应的变化,它始终指向栈区的顶端(栈顶)。区的顶端(栈顶)。堆栈的生长方向有两种,当栈底设在堆栈的生长方向有两种,当栈底设在RAMRAM中地址号小中地址号小的地方,堆栈指针增加后压入一个数据堆栈向地址号大的的地方,堆栈指针增加后压入

18、一个数据堆栈向地址号大的方向伸展,这叫做堆栈是向下生长的;反之为向上生长。方向伸展,这叫做堆栈是向下生长的;反之为向上生长。MCS51MCS51系列单片机堆栈是向下生长。需要入栈时(中断系列单片机堆栈是向下生长。需要入栈时(中断或执行或执行PUSHPUSH或或CALLCALL指令时),指令时),CPUCPU首先把首先把SPSP加加1 1,再,再把数据压栈;当需要把数据弹出时(为执行把数据压栈;当需要把数据弹出时(为执行POPPOP或返回指或返回指令时),令时),CPUCPU先把数据弹出,然后先把数据弹出,然后SPSP减减1 1,这样保证,这样保证SPSP所指的栈顶总是满的。所指的栈顶总是满的。

19、当复位时,堆栈指针初始化为当复位时,堆栈指针初始化为07H07H,因此,堆栈从地,因此,堆栈从地址址08H08H开始;堆栈指针也可由指令改变,因而堆栈可设置开始;堆栈指针也可由指令改变,因而堆栈可设置在片内数据存储器在片内数据存储器RAMRAM的任何一个连续区间。的任何一个连续区间。5.特殊功能寄存器SFR MCS51系列单片机将物理上分散在片 内各处的具有某种特定功能的一些寄存器,在数学上把它们组织在特殊功能寄存器的地址空间中,使用统一后的直接寻址方式访问。这样,大多数指令能对它们进行操作,使单片机许多不同功能的实现在指令形式上变得极其简单和统一,从而减少了指令的种类和数量,使指令系统更加规

20、整和有效。8051、8751、8031有21个特殊功能寄存器,8052、8032则有26个特殊功能寄存器。它们大致可分为以下几类(括号内为8052、8032所增加的5个特殊功能寄存器):1)1)算术运算寄存器算术运算寄存器 A A:累加器(:累加器(E0HE0H)B B:寄存器(:寄存器(F0HF0H)PSW PSW:程序状态字寄存器(:程序状态字寄存器(D0HD0H)2)2)指针寄存器指针寄存器 SP SP:堆栈指针(:堆栈指针(81H81H)DPTR DPTR:数据指针,分为:数据指针,分为DPHDPH(高(高8 8位)和位)和DPLDPL(低(低8 8位)位)2 2个个8 8位寄存器(位

21、寄存器(83H83H、82H82H)3)并行I/O口 P0 P0:口:口0 0(80H80H)P1 P1:口:口1 1(90H90H)P2 P2:口:口2 2(A0HA0H)P3 P3:口:口3 3(B0HB0H)4)串行I/O口 SCON:串行控制/状态寄存器(98H)SBUF:串行数据缓冲区(99H)PCON:电源控制(97H)5)5)中断系统中断系统 IP IP:中断优先级控制寄存器(:中断优先级控制寄存器(B8HB8H)IE IE:中断允许控制寄存器(:中断允许控制寄存器(A8HA8H)6 6)定时)定时/计数器计数器 TMOD TMOD:定时器方式寄存器(:定时器方式寄存器(98H9

22、8H)TCON TCON:定时器控制寄存器(:定时器控制寄存器(88H88H)TH0 TH0:定时器:定时器0 0高高8 8位(位(8CH8CH)TL0 TL0:定时器:定时器0 0低低8 8位(位(8AH8AH)TH1 TH1:定时器:定时器1 1高高8 8位(位(8DH8DH)TL1 TL1:定时器:定时器1 1低低8 8位(位(8BH8BH)T2CON T2CON:定时器:定时器2 2控制寄存器高控制寄存器高8 8位(位(CBHCBH)RCAP2L RCAP2L:定时器:定时器2 2陷阱寄存器低陷阱寄存器低8 8位(位(CAHCAH)这种特殊功能寄存器不连续地分布在地址空间80HFFH中

23、,如表23所示。其中,地址号能被8整除的那些特殊功能寄存器单元中的位,可以直接位寻址,位地址空间为80HFFH,位地址分配见表24。地址符号名称地址符号名称F0HB寄存器98HSCON串行控制/状态寄存器E0HA累加器90HP1口1D0HPSW程序状态字8DHTH1定时器1高8位CDHTH2定时器2高8位8CHTL1定时器1低8位CCHTL2定时器2低8位8BHTH0定时器1高8位CBHRCAP2H定时器2陷阱寄存器高8位8AHTL0定时器1低8位CAHRCAP2L定时器2陷阱寄存器低8位89HTMOD定时器方式寄存器C8HT2CON定时器2控制寄存器88HTCON定时器控制寄存器B8HIP中

24、断口优先级控制寄存器器87HPCON电源控制寄存器B0HP3口383HDPH数据指针高8位A8HIE中断允许控制寄存器82HDPL数据指针低8位A0HP2口281HSP堆栈指针99HSBUF串行数据缓冲器80HP0口0表23 特殊功能寄存器映像214 存储器存储器1 1数据存储器数据存储器1)1)内部数据存储器结构内部数据存储器结构 数据存储器主要用于暂存程序执行过程中的需要经数据存储器主要用于暂存程序执行过程中的需要经常存取的一些数据。常存取的一些数据。5151系列单片机的片内数据存储器由系列单片机的片内数据存储器由两部分组成,一部分是两部分组成,一部分是128/256128/256个字节的

25、个字节的RAMRAM区,另一区,另一部分是部分是128128个字节的特殊功能寄存器区。个字节的特殊功能寄存器区。80518051、87518751、80318031的的RAMRAM区为区为128128个字节,地址空间为个字节,地址空间为00H7FH00H7FH;80528052、80328032的的RAMRAM区为区为256256个字节,地址空间为个字节,地址空间为00HFFH00HFFH。所以,对于。所以,对于80528052、80328032来讲,来讲,RAMRAM区区80HFFH80HFFH与特殊功能寄存器地址空间重叠,但这由不同与特殊功能寄存器地址空间重叠,但这由不同寻址方式的指令来解

26、决这个问题。寻址方式的指令来解决这个问题。内部数据内部数据RAMRAM阵列中,包括有工作寄存器,可直接寻阵列中,包括有工作寄存器,可直接寻址的址的1616个单元和数据缓冲区。它们共用一个地址数据,从个单元和数据缓冲区。它们共用一个地址数据,从而减少了内部操作寄存器的数量。另外,而减少了内部操作寄存器的数量。另外,RAMRAM区的每个单区的每个单元既有其独特的功能,又可以统一调度用作数据缓冲区。元既有其独特的功能,又可以统一调度用作数据缓冲区。也就是说,也就是说,RAMRAM区的存储单元具有多种功能,因而可充分区的存储单元具有多种功能,因而可充分发挥内部有限数量发挥内部有限数量RAMRAM的作用

27、。的作用。片内片内RAMRAM区单元的功能分配如图区单元的功能分配如图2525。第。第0 0号到第号到第3131号号共共3232个单元分为四组工作寄存器,每组有个单元分为四组工作寄存器,每组有R0R78R0R78个工作个工作寄存器;第寄存器;第3232号到第号到第4747号共号共1616个单元的个单元的128128个位是可以直个位是可以直接位寻址的,位地址空间为接位寻址的,位地址空间为00H7FH00H7FH;从;从4848号单元开始号单元开始为用户数据缓冲区。堆栈可位于为用户数据缓冲区。堆栈可位于RAMRAM区的任何单元,由软区的任何单元,由软件设置堆栈指针件设置堆栈指针SPSP,堆栈深度仅

28、受内部数据,堆栈深度仅受内部数据RAMRAM区的大区的大小所限制。小所限制。2)工作寄存器 RAM阵列中的四组工作寄存器由工作寄存器区开关选择位RS0,RS1来区分和选择,在指令中,每组均以R0R7名称出现。它们的主要功能如下:(1)工作寄存器只需指令操作码字节中的3位地址来访问,这样,许多指令可视为单字节,操作方便,存取速度快,因此,经常用于存放一些常用的中间运算结果。(2 2)四组工作寄存器中的)四组工作寄存器中的R0R0、R1R1这这2 2个工作寄个工作寄存器,都可以用作为内部存器,都可以用作为内部/外部数据存储器寄存器外部数据存储器寄存器间接寻址的指针;这种寻址方式可寻址内部间接寻址的

29、指针;这种寻址方式可寻址内部/外部外部数据存储器数据存储器00HFFH00HFFH范围内的任一单元。范围内的任一单元。(3 3)当它们不作为工作寄存器使用时,可以作)当它们不作为工作寄存器使用时,可以作为一般的数据缓冲区,由直接寻址方式或用为一般的数据缓冲区,由直接寻址方式或用R0/R7R0/R7的寄存器间接寻址方式来访问。的寄存器间接寻址方式来访问。(4 4)由于有四组工作寄存器,故给程序设计带)由于有四组工作寄存器,故给程序设计带来了方便,不同的程序数据可以选择不同的寄存来了方便,不同的程序数据可以选择不同的寄存器组,因而可以省去原先必须的因寄存器被重复器组,因而可以省去原先必须的因寄存器

30、被重复使用时不得不采取的数据入栈保护的步骤。使用时不得不采取的数据入栈保护的步骤。3)直接寻址空间 RAM阵列中可直接位寻址的16个单元的128个位的位地址分配如表23。当这些单元不用于位操作时,它们将和一般的RAM区单元一样作为用户的数据缓冲区。4)外部数据存储器 当内部当内部RAMRAM区不够用时,区不够用时,MCS51MCS51系列单片机提供了系列单片机提供了可以扩展可以扩展64K64K外部数据存储器的手段。由于外部数据存储器的手段。由于MCS51MCS51系列系列单片机有单片机有1616根地址线,所以扩展的外部数据存储器地址空根地址线,所以扩展的外部数据存储器地址空间范围可用间范围可用

31、1616位地址间接寻址,可访问全部位地址间接寻址,可访问全部64K64K外部数据外部数据存储器地址空间中的任一单元。这时,低存储器地址空间中的任一单元。这时,低8 8位地址由位地址由P0P0口口输出,高输出,高8 8位地址从位地址从P2P2口引脚输出,在读口引脚输出,在读/写周期持续期间写周期持续期间保持不变,而保持不变,而P2P2口的特殊功能寄存器内容也不变,并在读口的特殊功能寄存器内容也不变,并在读/写选通信号结束后将又自动重新出现在写选通信号结束后将又自动重新出现在P2P2口引脚上;如口引脚上;如使用使用8 8位位R0/R1R0/R1间接寻址,则给出间接寻址,则给出8 8位地址,地址由位

32、地址,地址由P0P0口给口给出,可访问出,可访问256256字节块(单片机又称为字节块(单片机又称为“页页”)中的任一)中的任一单元。这时,单元。这时,P2P2口的特殊功能寄存器的内容在读口的特殊功能寄存器的内容在读/写周期写周期持续期间将保持在持续期间将保持在P2P2口引脚上,所以,所寻址的外部数据口引脚上,所以,所寻址的外部数据存储器地址页号只能由存储器地址页号只能由P2P2口的内容事先选定,这利于进行口的内容事先选定,这利于进行寻址。在访问外部数据存储器指令执行时,将相应产生寻址。在访问外部数据存储器指令执行时,将相应产生/RD/RD或或/WR/WR信号,用于选通外部数据存储器,并确定数

33、据信号,用于选通外部数据存储器,并确定数据在总线上的数据流向。在总线上的数据流向。2.程序存储器1 1)寻址范围)寻址范围 程序存储器主要用于存放程序及一些常数。程序存储器主要用于存放程序及一些常数。单片机的单片机的1616位程序计数器位程序计数器PCPC和和1616根地址总线,使根地址总线,使它们具有它们具有64K64K程序存储器的寻址能力。程序存储器的寻址能力。8051/8051/(80528052)/8751/8751片内片内ROM/EPROMROM/EPROM占据了最占据了最低低4K4K(8K8K)地址,若)地址,若EA=1EA=1,则当,则当PCPC在在04K04K(8K8K)范围内

34、时,不产生)范围内时,不产生/PSEN/PSEN信号,从片信号,从片内程序存储器中取指,超过这个范围后,将自动内程序存储器中取指,超过这个范围后,将自动从外部程序存储器取指;当从外部程序存储器取指;当EA=0EA=0,则所有取指操,则所有取指操作均对外部程序存储器进行。作均对外部程序存储器进行。80318031(80328032)没有)没有内部程序存储器,因此内部程序存储器,因此EAEA必须接于必须接于VSSVSS,从而使,从而使它们能从外接的程序存储器取指。它们能从外接的程序存储器取指。2 2)专用地址矢量)专用地址矢量 程序存储器的某些单元保留用于某些特定的程序存储器的某些单元保留用于某些

35、特定的程序,首地址程序,首地址0000H0002H0000H0002H单元保留用于初始化单元保留用于初始化程序,复位后,单片机总是从程序,复位后,单片机总是从0000H0000H号单元开始号单元开始执行程序。执行程序。0003H002AH0003H002AH号单元保留用于号单元保留用于5 5个中个中断请求服务程序,每个占断请求服务程序,每个占8 8个单元,每一个请求中个单元,每一个请求中断源的服务程序分别放在它们各自的保留单元中。断源的服务程序分别放在它们各自的保留单元中。8052/80328052/8032另外将另外将002BH0032H002BH0032H的的8 8个单元保留个单元保留给定

36、时器给定时器 2 2中断请求服务程序。一般这些单元不中断请求服务程序。一般这些单元不够存放对应的程序,故往往存放一条转移指令使够存放对应的程序,故往往存放一条转移指令使程序转移到对应的程序逻辑入口地址。当程序中程序转移到对应的程序逻辑入口地址。当程序中没有某种中断时,保留给它的没有某种中断时,保留给它的8 8个单元将释放出来,个单元将释放出来,作为一般的程序存储单元使用。作为一般的程序存储单元使用。MCS51MCS51系列单片系列单片机的专用地址矢量定义如下:机的专用地址矢量定义如下:0000H:复位地址矢量0003H:外部中断0地址矢量000BH:定时器0中断地址矢量0013H:外部中断1地

37、址矢量001BH:定时器1中断地址矢量0023H:串行中断地址矢量002BH:定时器2中断地址矢量3)程序存储器数据存储器空间的重叠 在一般情况下,按不同功能存储器分成程序在一般情况下,按不同功能存储器分成程序存储器和数据存储器两个独立的部分,因而产生存储器和数据存储器两个独立的部分,因而产生地址空间重叠,但这可由不同的控制信号来选通地址空间重叠,但这可由不同的控制信号来选通整个存储器。但在某些应用场合,需要执行存于整个存储器。但在某些应用场合,需要执行存于数据存储器中的程序,这时把数据存储器中的程序,这时把RDRD和和PSENPSEN信号逻信号逻辑辑“与与”,产生一个低有效信号,作为合并外部

38、,产生一个低有效信号,作为合并外部程序存储器和外部数据存储器后的物理上重合的程序存储器和外部数据存储器后的物理上重合的公共外部存储器的读选通信号,从而合并了外部公共外部存储器的读选通信号,从而合并了外部程序存储器和外部数据存储器的地址空间。见图程序存储器和外部数据存储器的地址空间。见图2424。图24 存储器映像 22 并行并行I/O口口 所谓并行所谓并行I/OI/O口,即各位的数据同时被输入或输出,它口,即各位的数据同时被输入或输出,它的最大特点是速度快。的最大特点是速度快。2 22 21 1 结构特点结构特点结构特点结构特点 MCS-51MCS-51系列单片机的系列单片机的系列单片机的系列

39、单片机的3232根根根根I/OI/O线分为四个双向并行口线分为四个双向并行口线分为四个双向并行口线分为四个双向并行口P0P3P0P3,每,每,每,每根根根根I/OI/O线由一个锁存器(相对于特殊功能寄存器中的一位),一个输出线由一个锁存器(相对于特殊功能寄存器中的一位),一个输出线由一个锁存器(相对于特殊功能寄存器中的一位),一个输出线由一个锁存器(相对于特殊功能寄存器中的一位),一个输出驱动器(场效应管驱动器(场效应管驱动器(场效应管驱动器(场效应管FETFET)和一个输入缓冲器(三态门)组成。由于功)和一个输入缓冲器(三态门)组成。由于功)和一个输入缓冲器(三态门)组成。由于功)和一个输入

40、缓冲器(三态门)组成。由于功能的不同,能的不同,能的不同,能的不同,P0P3P0P3各口的结构有所区别。各锁存器由各口的结构有所区别。各锁存器由各口的结构有所区别。各锁存器由各口的结构有所区别。各锁存器由D D触发器构成,触发器构成,触发器构成,触发器构成,在在在在CPU“CPU“写锁存器写锁存器写锁存器写锁存器”信号的作用下,内部总线的数据写入信号的作用下,内部总线的数据写入信号的作用下,内部总线的数据写入信号的作用下,内部总线的数据写入D D触发器。触发器。触发器。触发器。两个三态门分别用来读锁存器或读引脚的信息。两个三态门分别用来读锁存器或读引脚的信息。两个三态门分别用来读锁存器或读引脚

41、的信息。两个三态门分别用来读锁存器或读引脚的信息。P1P1、P2P2、P3P3口均有口均有口均有口均有内部上拉电阻,而内部上拉电阻,而内部上拉电阻,而内部上拉电阻,而P0P0口的引脚是通过场效应管接到口的引脚是通过场效应管接到口的引脚是通过场效应管接到口的引脚是通过场效应管接到VCCVCC。显然,当。显然,当。显然,当。显然,当P0P0口的上、下两只场效应管均关断时,引脚相当于口的上、下两只场效应管均关断时,引脚相当于口的上、下两只场效应管均关断时,引脚相当于口的上、下两只场效应管均关断时,引脚相当于“浮空浮空浮空浮空”状态,即状态,即状态,即状态,即可作为高阻抗的输入端口。可作为高阻抗的输入

42、端口。可作为高阻抗的输入端口。可作为高阻抗的输入端口。P0P0、P2P2口的驱动器的输出与多路转换器口的驱动器的输出与多路转换器口的驱动器的输出与多路转换器口的驱动器的输出与多路转换器MUXMUX的状态有关,的状态有关,的状态有关,的状态有关,P3P3口的驱动器也与输出功能的类型有关,这些均口的驱动器也与输出功能的类型有关,这些均口的驱动器也与输出功能的类型有关,这些均口的驱动器也与输出功能的类型有关,这些均为这些端口的多重作用创造了条件。为这些端口的多重作用创造了条件。为这些端口的多重作用创造了条件。为这些端口的多重作用创造了条件。222 输入功能输入功能 单片机有两种读一个端口的方法:读锁

43、存器和读引脚。在CPU“读锁存器”信号的作用下,锁存器的状态通过三态门送到内部总线,然后读到CPU中进行处理,而处理后的值将被重新写入锁存器。能实现这种功能的指令称为读修改写指令,它们有:ANLANL(逻辑与指令)(逻辑与指令)例如:例如:ANL P1ANL P1,A A ORLORL(逻辑或指令)(逻辑或指令)例如:例如:ORL P2ORL P2,A A XRLXRL(逻辑异或指令)(逻辑异或指令)例如:例如:XRL P3XRL P3,A A INCINC(增量指令)(增量指令)例如:例如:INC P2 INC P2 DECDEC(减量指令)(减量指令)例如:例如:DEC P1 DEC P1

44、 DJNZDJNZ(循环判跳指令)(循环判跳指令)例如:例如:DJNZ P2DJNZ P2,LOOP LOOP JBCJBC(位测试转移指令)(位测试转移指令)例如:例如:JBC P1.1,LOOP JBC P1.1,LOOP MOVMOV(位传送指令)(位传送指令)例如:例如:MOV P1.3,C MOV P1.3,C CPLCPL(位取反指令)(位取反指令)例如:例如:CPL P1.0 CPL P1.0 CLRCLR(位清(位清“0”0”指令)指令)例如:例如:CLR P1.0 CLR P1.0 SETBSETB(位置位指令)(位置位指令)例如:例如:SETB P3.3 SETB P3.3

45、 这些指令的一个共同点就是要先读入并行这些指令的一个共同点就是要先读入并行I/OI/O口锁存器口锁存器中的内容,作一定的修改,然后再写入该口的锁存器中。中的内容,作一定的修改,然后再写入该口的锁存器中。上述的后五条指令,属于位操作指令,实际上也是先要将上述的后五条指令,属于位操作指令,实际上也是先要将8 8位锁存器的内容一起读入,再按指定位进行修改,然后位锁存器的内容一起读入,再按指定位进行修改,然后再一起写入锁存器中。再一起写入锁存器中。在响应在响应CPU“CPU“读引脚读引脚”信号时,接在该端口引脚的外部信号时,接在该端口引脚的外部信号通过三态门读到内部总线,并送信号通过三态门读到内部总线

46、,并送CPUCPU处理,因而实现处理,因而实现了数据的输入。但必须注意,在读引脚时,该端口的锁存了数据的输入。但必须注意,在读引脚时,该端口的锁存储器必须事先写储器必须事先写“1”1”。这是因为该端口的输出端也就是。这是因为该端口的输出端也就是外部信号的输入端,两者在逻辑上构成了外部信号的输入端,两者在逻辑上构成了“线与线与”,如果,如果该端口的状态此时为该端口的状态此时为0 0,则驱动器的下方场效应管会导通,则驱动器的下方场效应管会导通,此时相当于输出此时相当于输出“0”0”,尽管外部信号是高电平加到该引,尽管外部信号是高电平加到该引脚上,也会强行箝拉到低电平,故造成读到脚上,也会强行箝拉到

47、低电平,故造成读到CPUCPU中的数据中的数据为为“0”0”。而事先给锁存器写。而事先给锁存器写“1”1”,对于,对于P0P0口,此时上、口,此时上、下两只场效应管均夹断,则构成高阻输入;对于下两只场效应管均夹断,则构成高阻输入;对于P1P1、P2P2和和P3P3口,此时的输出给拉成高电平,故口,此时的输出给拉成高电平,故“线与线与”后的状态后的状态只取决于外部信号。只取决于外部信号。在复位时,各端口的锁存器均置成在复位时,各端口的锁存器均置成“1”1”。当单片机执行改变锁存器值的输出指令时,在该指令的最后周期的状态时,CPU为、锁存器产生出有效的“写锁存器”信号,将内部总线上的新值写入锁存器

48、(即D触发器)。P0口输出驱动器能驱动8个LSTTL输入,P1、P2、P3口可驱动4个LSTTL输入 223 输出功能与负载能力输出功能与负载能力224 特殊功能特殊功能 除了以上的输入、输出指令外,除了以上的输入、输出指令外,P0P0、P1P1、P3P3口还有其特殊的功能。口还有其特殊的功能。1)1)P0P0口(口(BUSBUS)在在5151系列单片机中,系列单片机中,P0P0口还起了数据总线和地址总线(低八位)口还起了数据总线和地址总线(低八位)的作用。在进行正常的输出时,的作用。在进行正常的输出时,“控制控制”端为端为“0”0”,多路转换器,多路转换器MUXMUX接在锁存器的接在锁存器的

49、QQ端。此时上方的场效应管关断,下方的场效应端。此时上方的场效应管关断,下方的场效应管受锁存器的控制,管受锁存器的控制,P0P0口具有开漏输出,这时驱动外部电路时需外口具有开漏输出,这时驱动外部电路时需外加上拉电阻。在加上拉电阻。在CPUCPU进行外部存储器存进行外部存储器存/取时,取时,P0P0口起数据总线或口起数据总线或地址总线的作用,地址总线的作用,“控制控制”端为端为“1”1”,多路转换器,多路转换器MUXMUX接反相器接反相器的输出端,即相当于接在的输出端,即相当于接在“地址地址/数据数据”端。当这个端。当这个“地址地址/数据数据”为为“1”1”时,上方的场效应管导通而下主的场效应管

50、关断,时,上方的场效应管导通而下主的场效应管关断,P0.XP0.X输输出高电平,反之输出低电平。这时出高电平,反之输出低电平。这时P0P0口不需外接上拉电阻,口不需外接上拉电阻,P0P0口口的锁存器(的锁存器(P0P0的特殊功能寄存器的特殊功能寄存器SFRSFR)必须写入)必须写入“1”1”,以便进行,以便进行外部存储器的读操作。外部存储器的读操作。在在CPUCPU需要对外部存储器进行写操作时,需要对外部存储器进行写操作时,“地址地址/数据数据”端应端应先送出地址,然后在把要写的数据输出。很显然,先送出地址,然后在把要写的数据输出。很显然,P0P0口的地址、数口的地址、数据是分时输出,这就是需

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁