第二章 MCS51的结构和原理_第1页
第二章 MCS51的结构和原理_第2页
第二章 MCS51的结构和原理_第3页
第二章 MCS51的结构和原理_第4页
第二章 MCS51的结构和原理_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

1、LiuHongHarbin university刘刘 宏宏单片机原理及其应用电气信息工程电气信息工程Harbin University2第二章 MCS-51的结构和原理 12MCS-51的内部结构3MCS-51的存储器组织4MCS-51的并行口结构与操作5MCS-51的典型产品资源配置Harbin University3第五位数字第五位数字1 基本型基本型 4K ROM2 增强型增强型 8K ROM2.1 MCS-512.1 MCS-51系列概述系列概述2.1.1 MCS-51系列系列 MCS-51是是Intel公司生产的一个单片机系列名称。这一系列的公司生产的一个单片机系列名称。这一系列的单

2、片机包括单片机包括第四位数字第四位数字代表片内有无程序存储器代表片内有无程序存储器3 片内无程序存储器片内无程序存储器5 片内有程序存储器片内有程序存储器第二位数字第二位数字 代表代表程序存储器类型程序存储器类型0 无无ROM或为工厂掩膜或为工厂掩膜7 为为OTP或或EPROM9 为为FlashHarbin University4芯片型号中C的意义Harbin University5程序存储器类型程序存储器类型在片内程序存储器的配置上,该系列单片机有三种形式,在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜即掩膜ROMROM、EPROMEPROM和和ROMROM。兼容型。兼容型5151

3、则存在则存在OTPOTP和和FlashFlash类型。类型。只读存储器只读存储器ROMROM(Read Only MemoryRead Only Memory) 特点特点:在正常操作时只能读出而不能写入,断电后:在正常操作时只能读出而不能写入,断电后ROMROM中的信息不会丢失。中的信息不会丢失。常用来存放一些固定程序或数据表等。常用来存放一些固定程序或数据表等。 ROMROM按编程(存储信息)的方式又可分为:按编程(存储信息)的方式又可分为: 掩膜掩膜ROMROM:信息由厂家固化,用户不能更改。:信息由厂家固化,用户不能更改。 可编程只读存储器可编程只读存储器PROMPROM:信息由用户一次

4、性写入,一旦写入,只能读出,不:信息由用户一次性写入,一旦写入,只能读出,不能再更改。(能再更改。(OTPOTP) 可擦除可编程只读存储器可擦除可编程只读存储器EPROMEPROM:紫外线擦除,可重复编程。:紫外线擦除,可重复编程。 电可擦除可编程只读存储器电可擦除可编程只读存储器EEPROM/EEEPROM/E2 2PROMPROM:可通过加电写入或清除其内:可通过加电写入或清除其内容。既有与容。既有与RAMRAM一样读写操作简便,又有数据不会因掉电而丢失的优点。但一样读写操作简便,又有数据不会因掉电而丢失的优点。但价格昂贵。价格昂贵。快擦写存储器快擦写存储器FLASHFLASH:类似:类似

5、EEPROMEEPROM可以采用电擦除和写入,但是只能整页擦可以采用电擦除和写入,但是只能整页擦除和写入,擦除次数和数据保存时间不如除和写入,擦除次数和数据保存时间不如EEPROM,EEPROM,但是价格低廉。但是价格低廉。Harbin University6单片机的三总线结构以以微处理器微处理器(CPU)为为核心核心CPU与与其他部件其他部件间间通通过过三总线三总线连连接接AB: Address BusDB: Data BusCB: Control Bus AB复复位位外外部部设设备备ROMRAMC/T中断中断系统系统I/O口口CPU时时钟钟D BCB嵌入式处理器嵌入式处理器Harbin U

6、niversity7总线:连接功能部件间的一组公共信号线总线:连接功能部件间的一组公共信号线地址总线地址总线ABAB:CPUCPU输出的输出的地址码信号,用于选择被访问的具体的存储单元、地址码信号,用于选择被访问的具体的存储单元、I/OI/O端口端口* *地址线的根数决定了地址线的根数决定了CPUCPU的寻址范围。的寻址范围。 CPU CPU的寻址范围的寻址范围 = 2= 2n n,n-n-地址线根数地址线根数如:如:8 8位地址码,可寻址位地址码,可寻址 2 28 8 =256 =256 个存储单元个存储单元1616位地址码,可寻址位地址码,可寻址 2 216 16 = 64K = 64K

7、个存储单元个存储单元数据总线数据总线 DBDB:CPUCPU与存储器、与存储器、I/OI/O接口之间接口之间 ( (双向双向) )传送数据的公共通路。传送数据的公共通路。 * * 数据总线的条数决定数据总线的条数决定CPUCPU一次最多可以传送的数据宽度(位数)。一次最多可以传送的数据宽度(位数)。如:如:8 8位机的位机的DBDB有有8 8条,条,CPUCPU一次可读写一次可读写8 8位数据位数据1616位机的位机的DBDB有有1616条,条,CPUCPU一次可读写一次可读写1616位位 控制总线控制总线 CBCB:用来传送各种控制或状态信号:用来传送各种控制或状态信号 * * CPUCPU

8、送出和接受的对存储器、送出和接受的对存储器、I/OI/O接口读写接口读写 及中断等控制信号及中断等控制信号2.2.12.2.1单片机的单片机的三总线三总线(BUSBUS)Harbin University82.2.2 MCS-512.2.2 MCS-51单片机的引脚及封装单片机的引脚及封装40引脚,双列直插式结构引脚,双列直插式结构VCCGND电电 源源 VCC-40GND-20DC 5V单片机电源处理需要注意什么问题?单片机电源处理需要注意什么问题?1、4.0V to 5.5V 电压范围电压范围2、并联退耦电容、并联退耦电容Harbin University92.2.2 MCS-512.2.

9、2 MCS-51单片机的引脚及封装单片机的引脚及封装40引脚,双列直插式结构引脚,双列直插式结构VCCXTAL1XTAL2GND电电 源源 VCC-40、 GND-20 时时 钟钟 XTAL1-18、 XTAL2-19单片机中时钟的作用?单片机中时钟的作用?Harbin University102.2.2 MCS-512.2.2 MCS-51单片机的引脚及封装单片机的引脚及封装40引脚,双列直插式结构引脚,双列直插式结构RST/VPDVCCEA/VPPALE/PROGPSENXTAL2XTAL1GND电电 源源 VCC-40、 GND-20 时时 钟钟 XTAL2-18、 XTAL1-19控制

10、总线控制总线PSEN -33 Program Store EnableALE -32 Address Latch EnableEA/VPP -31 External Access EnableRESET -9Harbin University110 时,选外部时,选外部ROM;EA=复位信号:高电平复位复位信号:高电平复位CPU,低电平,低电平CPU工作工作EA/VPPALEPSEN名称名称功功 能能片外取指信号片外取指信号(片外(片外程序存储器读程序存储器读)输出端)输出端低电平有效。通过低电平有效。通过P0口读回指令或常数。口读回指令或常数。控制的是片外程序存储器控制的是片外程序存储器RE

11、SET控制总线控制信号控制总线控制信号地址锁存信号地址锁存信号。ALE低电平时,低电平时, P0口出现数据信息;口出现数据信息;ALE高电平时,高电平时, P0口出现地址信息。口出现地址信息。程序存储器选择信号程序存储器选择信号 1,地址小于,地址小于4k时,选内部时,选内部ROM (针对(针对51)地址大于地址大于4k时,选外部时,选外部ROM (针对(针对51)P0口是数据口是数据/地址复用口地址复用口用用下降沿下降沿 锁存锁存P0口的低口的低8位地址到位地址到外部锁存器外部锁存器Harbin University122.2.2 MCS-512.2.2 MCS-51单片机的引脚及封装单片机

12、的引脚及封装40引脚,双列直插式结构引脚,双列直插式结构P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0RST/VPDP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0RXD TXD INT0 INT1 T0 WR RDT1 P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2.7VccEA/VPPALE/PROGPSENXTAL1XTAL2GND电电 源源 Vcc-40、 GND-20 时时 钟钟 XTAL1-18、 XTAL2-19控制总线控制总线PSEN -33ALE -32EA/VPP

13、 -31RESET -9I/O口线口线 P0 P1 P2 I/O口口|地址总线高地址总线高8bit P3 共共32条条I/O口口|数据数据/地址总线低地址总线低8bitI/O口口I/O口口|第二功能口第二功能口一共有几一共有几个总线个总线?Harbin University132.2.3 MCS-512.2.3 MCS-51的应用模式的应用模式(1 1)无外部总线应用模式)无外部总线应用模式优点:优点:不使用外部扩展总线不使用外部扩展总线因此具有较多的外部因此具有较多的外部I/OI/O口口(最多(最多3232根根I/OI/O)外部电路简单,体积小功耗低,外部电路简单,体积小功耗低,可靠性高可靠

14、性高缺点:缺点:只能使用单片机内部的只能使用单片机内部的ROMROM和和RAMRAM,因此资源有限,无法,因此资源有限,无法实现复杂功能实现复杂功能由于半导体工艺技术的提高,由于半导体工艺技术的提高,单片机内部集成的单片机内部集成的RAM/ROMRAM/ROM资源不断提高,而成本则不断资源不断提高,而成本则不断降低,因此无外部总线的应用降低,因此无外部总线的应用模式是低成本单片机系统主要模式是低成本单片机系统主要的工作方式的工作方式如左图所示的能使单片机运行的如左图所示的能使单片机运行的最基本的硬件环境被称作最基本的硬件环境被称作最小系统最小系统Harbin University14非总线型非

15、总线型5151单片机单片机非总线型非总线型1 2 3 4 5 6 7 8 9 10201918 17 16 15 14 13 12 11 RST P3.0/RXDP3.1/TXD XTAL 2XTAL 1P3.2/INT0P3.3/INT1 P3.4/T0P3.5/T1GNDV VCCCCP P1 1. .7 7P P1 1. .6 6P P1 1. .5 5P P1 1. .4 4P P1 1. .3 3P P1 1. .2 2P P1 1. .1 1/ /AINAIN1 1P P1 1. .0 0/ /AINAIN0 0P P3 3. .7 789C2051注注:类似的还有类似的还有 Ph

16、ilips公司的公司的 87 LPC64,20引脚引脚 8XC748/750/(751),),24引脚引脚 8X749(752),),28引脚引脚 8XC754,28引脚引脚等等等等Harbin University15(2 2)扩展外部总线应用模式)扩展外部总线应用模式优点:优点:通过通过“三总线三总线”可以扩展如下可以扩展如下资源:资源:1) 1) 程序存储器、数据存储器程序存储器、数据存储器2 2)并行总线外围器件)并行总线外围器件一般情况下,并行扩展外围设一般情况下,并行扩展外围设备的数据传输率比串行扩展高,备的数据传输率比串行扩展高,通信时序简单,接口协议简洁通信时序简单,接口协议简

17、洁缺点:缺点:占用大量占用大量I/OI/O(仅剩余(仅剩余P1P1和和P3P3的一部分,约的一部分,约1414根)根)外围电路复杂,采用外部程序外围电路复杂,采用外部程序和数据扩展时程序运行速度慢,和数据扩展时程序运行速度慢,系统可靠性降低系统可靠性降低Harbin University16(3) Harbin University172.2.4 MCS-51最小系统设计 AB复复位位外外部部设设备备ROMRAMC/T中断中断系统系统I/O口口CPU时时钟钟D BCB嵌入式处理器嵌入式处理器Harbin University182.2.4 MCS-51最小系统设计最小系统的组成最小系统的组成1

18、 1)时钟电路)时钟电路2 2)复位电路)复位电路3 3)EA/VEA/VPPPP4) 4) 电源和退藕电容电源和退藕电容Harbin University191)时钟电路时钟电路PiercePierce振荡器振荡器皮尔斯振荡器有低功耗、低成本皮尔斯振荡器有低功耗、低成本及良好的稳定性等特点,因此常及良好的稳定性等特点,因此常见于通常的应用中。见于通常的应用中。 InvInv:内部反向器,作用等同于放大器。:内部反向器,作用等同于放大器。 QQ:石英或陶瓷晶振。:石英或陶瓷晶振。 R RF F: 内部反馈电阻内部反馈电阻( (译注:它的存在使反相译注:它的存在使反相器工作在线性区器工作在线性区

19、, , 从而使其获得增益,作用从而使其获得增益,作用等同于放大器等同于放大器) )。 R RExtExt:外部限流电阻。:外部限流电阻。 C CL1L1和和C CL2L2:两个外部负载电容。:两个外部负载电容。 CsCs:由于:由于PCBPCB布线及连接等寄生效应引起的布线及连接等寄生效应引起的等效杂散电容等效杂散电容(OSC_IN(OSC_IN和和OSC_OUTOSC_OUT管脚上管脚上) )。 Harbin University20石英晶振等效电路C0:等效电路中与串联臂并接的电容(译注:也叫并电容,静电电容,其值一般仅与晶振的尺寸有关)。 Lm:(动态等效电感)代表晶振机械振动的惯性。

20、Cm:(动态等效电容)代表晶振的弹性。 Rm:(动态等效电阻)代表电路的损耗。 Harbin University21石英晶振的振荡特性Fs的是当电抗的是当电抗Z=0时的串联谐频率,是时的串联谐频率,是Lm、Cm和和Rm支路的谐振频率支路的谐振频率Fa是当电抗是当电抗Z趋于无穷大时的并联谐振频率,是整个等效电路的谐振频率趋于无穷大时的并联谐振频率,是整个等效电路的谐振频率在在Fs到到Fa的区域即通常所谓的:的区域即通常所谓的:“并联谐振区并联谐振区”(图中的阴影部分图中的阴影部分),在这一区域,在这一区域晶振工作在并联谐振状态。该区域是晶振的正常工作区域,晶振工作在并联谐振状态。该区域是晶振的

21、正常工作区域,FaFs就是晶振的带就是晶振的带宽。带宽越窄,晶振品质因素越高,振荡频率越稳定。宽。带宽越窄,晶振品质因素越高,振荡频率越稳定。在此区域晶振呈电感特性,从而带来了相当于在此区域晶振呈电感特性,从而带来了相当于180 的相移。的相移。Fs = 7988768Hz,Fa = 8008102Hz 如果该晶振的如果该晶振的CL为为10pF,则其振荡频率为:则其振荡频率为:FP = 7995695Hz。 要使其达到准确的标称振荡要使其达到准确的标称振荡频率频率8MHz,CL应该为应该为4.02pF。 Harbin University22时钟电路设计所涉及的问题1、使用内部时钟振荡电路还是

22、外部时钟?2、内部时钟电路能否稳定振荡的条件?3、时钟电路的准确性及其调校?4、什么情况下需要外部电阻REXT,REXT 如何计算?5、振荡电路的启动时间?Harbin University23挑选合适的晶振及外部器件的简易指南挑选合适的晶振可分为挑选合适的晶振可分为3个主要步骤:个主要步骤: 第一步:增益裕量第一步:增益裕量(Gainmargin)计算计算选择一个晶振选择一个晶振计算晶振的增益裕量计算晶振的增益裕量(Gainmargin)并检查其是否大于并检查其是否大于5: 如果如果Gainmargin 5,进行第二步。,进行第二步。其中:其中: gm是反向器的跨是反向器的跨导导,其,其单单

23、位是位是mA/V(对对于高于高频频的情的情况况)或者是或者是A/V(对对于低于低频频的情的情况况,例如,例如 32kHz)。 gmcrit (gm critical)的的值值 取取决决于晶振本身的于晶振本身的参数参数。例例: 设对于设对于51振荡器,振荡器,其其gm等于等于25mA/V,采用采用Fox晶振晶振frequency = 8 MHz, C0 = 7 pF, CL = 10 pF, ESR = 80gmcrit=4*80*(2*pi*8*106)2*(7*1012+10*1012)2=0.23 mA/VGainmargin=gm/gmcrit=25/0.23= 107第二步:外部负载电

24、容的计算第二步:外部负载电容的计算计计算算CL1和和CL2的的值值,并检查标并检查标定定为该计为该计算算值值的的电电容是否能在市容是否能在市场场上上获获得。得。 如果能找到容值为计算值的电容,则晶振可以在期望的频率正常起振。然后转到第三步。如果能找到容值为计算值的电容,则晶振可以在期望的频率正常起振。然后转到第三步。 如果找不到容值为计算值的电容:如果找不到容值为计算值的电容: 该应用对频率要求很高,你可使用一个可变电容并将其调整到计算值,然后转到第三步。该应用对频率要求很高,你可使用一个可变电容并将其调整到计算值,然后转到第三步。 如果对频率的要求不是特别苛刻,选择市场上能获得的电容中容值距

25、计算值最近的电容,然后转到第三步。如果对频率的要求不是特别苛刻,选择市场上能获得的电容中容值距计算值最近的电容,然后转到第三步。 第三步:驱动级别及外部电阻的计算第三步:驱动级别及外部电阻的计算 振振荡荡器器频频率率F = 8MHz CL2 = 15pF 得到:得到:RExt = 1326 Harbin University24时钟电路的连接方法XTAL1XTAL2外部振荡信号外部振荡信号XTAL1XTAL2VccVssR外部振荡信号外部振荡信号XTAL2XTAL1VccVssR(a)内部时钟方式)内部时钟方式 (b)HMOS工艺外接时钟工艺外接时钟 (c)CHMOS工艺外接时钟工艺外接时钟X

26、TAL1XTAL1(19(19脚脚) ):接外部晶振和微调电容的一端。采用外部时钟电路时,:接外部晶振和微调电容的一端。采用外部时钟电路时,对对HMOSHMOS型工艺的单片机,此引脚应接地;对型工艺的单片机,此引脚应接地;对CHMOSCHMOS型而言,此引型而言,此引脚应接外部时钟的输入端。脚应接外部时钟的输入端。XTAL2XTAL2(18(18脚脚) ):接外部晶振和微调电容的另一端。使用外部时钟时,:接外部晶振和微调电容的另一端。使用外部时钟时,对对HMOSHMOS型工艺的单片机,此引脚应接外部时钟的输入端;对型工艺的单片机,此引脚应接外部时钟的输入端;对CHMCHMOSOS型而言,此引脚

27、悬空。型而言,此引脚悬空。 对晶振频率精确度要求不高的情况下,石英晶振的对晶振频率精确度要求不高的情况下,石英晶振的C CL1L1和和C CL2L2可选可选30pF30pF,陶瓷晶振时可选陶瓷晶振时可选40pF40pFHarbin University252) 复位电路在单片机的RST引脚上保持2个机器周期以上的高电平,单片机即复位;只要RST引脚保持高电平,单片机就循环复位。 RST/VPD引脚输入的高电平不撤除,单片机就一直保持复位状态。当RST从高电平变为低电平后,MCS-51从0000H地址开始执行程序。单片机复位完成后,其内部各寄存器恢复到初始状态。Harbin University

28、26常用的复位电路(1) 分立元件复位电路上电后上电后RST引脚上引脚上的波形的波形(示意图示意图)Harbin University27常用的复位电路(2) (2) 专用复位集成电路专用复位集成电路MAX811MAX811 有多种供电电压及复位有多种供电电压及复位门槛电压版本;门槛电压版本; 支持手动复位;支持手动复位; 有高低两种电平的复位有高低两种电平的复位信号输出;信号输出; 体积小,可靠性高。体积小,可靠性高。X5045/25045X5045/25045 有多种供电电压及复位有多种供电电压及复位门槛电压版本;门槛电压版本; 支持手动复位;支持手动复位; 包含包含4Kb4Kb的的E E

29、2 2PROMPROM; 具有看门狗功能。具有看门狗功能。Harbin University282.3 MCS-512.3 MCS-51的内部结构的内部结构RAMRAM128BRAMRAM地址寄存器地址寄存器P3P3口口P1P1口口P2P2口口P0P0口口锁存器锁存器锁存器锁存器锁存器锁存器锁存器锁存器中断中断定时定时/ /计数器计数器串行口串行口SPSPB BACCACC暂存器暂存器1 1暂存器暂存器2 2PSWPSW指令寄存器指令寄存器IRIR指令译码器指令译码器IDIDDPLDPL缓冲器缓冲器程序计数器程序计数器PCPCPCPC增量器增量器地址寄存器地址寄存器ARAR定时与控制定时与控制

30、4K4KROMROMALUDPHDPHHarbin University29二、控制器二、控制器2.3.1 2.3.1 MCS-51的的CPUHarbin University30Harbin University31 Harbin University32Harbin University33Harbin University34Harbin University35Harbin University36Harbin University37例:例:35+42= 35补补 = 0 0 1 0 0 0 1 1 + 42补补 = 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 1

31、 Cy=0,OV=0,结果为结果为4DH,仍为补码形式。仍为补码形式。 若要显示运算结果,应对运算结果求真值若要显示运算结果,应对运算结果求真值 +77真值真值就是将补码形式的运算结果用就是将补码形式的运算结果用“+”“”“”号号的形式来表示运算结果的实际数值。一般用十六的形式来表示运算结果的实际数值。一般用十六进制或十进制表示进制或十进制表示加法运算加法运算(SUB=0)Harbin University3885+78=Cy=0Cy=0,OV=1 OV=1 ,有溢出结果无意义有溢出结果无意义若将上述运算若将上述运算“看成看成”是有符号数的运算,运算结果的最高位是有符号数的运算,运算结果的最高

32、位可可“看作看作”符号位,结果为负数,由于符号位,结果为负数,由于8 8位有符号数补码的表位有符号数补码的表示范围为示范围为128+127128+127,该运算结果显然超出了数的表示范围,该运算结果显然超出了数的表示范围,OV=1OV=1产生了溢出现象,运算结果无意义,应做溢出提示。产生了溢出现象,运算结果无意义,应做溢出提示。若将上述运算若将上述运算“看成看成”是无符号数的运算,运算结果的最高位是无符号数的运算,运算结果的最高位不再做符号位了,而是数值位(权为不再做符号位了,而是数值位(权为128128),),8 8位无符号数补码位无符号数补码的表示范围为的表示范围为02550255,尽管产

33、生了溢出标志,但运算结果仍有,尽管产生了溢出标志,但运算结果仍有意义,真值为意义,真值为163163溢出溢出 85补补 = 0 1 0 1 0 1 0 1 + 78补补 = 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 Harbin University39 微机的补码运算可分为带符号数的补码运微机的补码运算可分为带符号数的补码运算和无符号数的补码运算,但微机并不认识数算和无符号数的补码运算,但微机并不认识数的属性,运算器在进行加减运算时并不区分操的属性,运算器在进行加减运算时并不区分操作数是否带有符号,运算过程都是一样的作数是否带有符号,运算过程都是一样的 当当SUB=

34、0SUB=0时,直接将两个数相加,当时,直接将两个数相加,当SUB=1SUB=1时,将减数求补(取反加时,将减数求补(取反加1 1),再进行运算。),再进行运算。在运算的同时自动设置在运算的同时自动设置C CY Y和和OVOV,运算后若是运算后若是无符号数,通过判断无符号数,通过判断C CY Y确定是否有进位,如果确定是否有进位,如果是带符号数,则通过判断是带符号数,则通过判断OVOV确定是否溢出确定是否溢出Harbin University4076+(-23)= 76补补 = 0 1 0 0 1 1 0 0+ -23补补 = 1 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1

35、 Cy=1,OV=0+53自动丢失自动丢失Harbin University41Harbin University42程序状态字程序状态字PSW回顾回顾CyACF0RS1RS0OVPD7 D6 D5 D4 D3 D2 D1 D0PSW进位标志、“位累加器” 辅助进位标志 用户通用状态标志 溢出标志 奇偶标志位 保留位 工作寄存器组选择控制位 若A中有奇数个“1”,则P置位,否则清零 Harbin University44Harbin University45Harbin University46运算器和控制器工作实例等效程序代码等效程序代码MOV A,#07HADD A,#0AHMOV A,2

36、0H返回框图返回框图Harbin University47Harbin University48 堆栈是指用户在单片机内部RAM中开辟的、遵循“先进后出”原则、只能从一端存取数据的一个存储区。并把存取数据只能从一端存取数据的一个存储区。并把存取数据的一端称为栈顶,的一端称为栈顶,SP就是指向栈顶的指针。凡是关系到堆栈操作的场合(无论是入栈还是出栈),都需要借助MCS-51的CPU中一个专用8位寄存器SP来间接指示堆栈中数据存取的位置,该寄存器被称为堆栈指针。MCS-51的堆栈是向上生成的(即向地址增加的方向),堆栈指针SP的初始值称为栈底。在堆栈操作过程中,SP始终指向堆栈的栈顶。需要注意的是

37、,单片机复位后SP的值为07H,因此入栈数据将从08H存起。 4.堆栈指针SP(Stack Pointer)Harbin University49 入栈操作时首先将SP的内容记为(SP)自动增1,将SP间接指示的栈区片内RAM存储单元地址向上调整一次,再把数据压入由SP最新指示的片内RAM单元中;出栈操作时,首先将当前栈顶的内容弹出到相应位置,然后把SP的内容自动减1。可见,在堆栈操作过程中,SP的值将自动增1或减1。 89H栈底栈底SPSP入栈过程入栈过程PUSH ACC栈底栈底出栈过程出栈过程POP ACCSP89HSP 89HAA 89HHarbin University50三、三、与与

38、口相口相关关的寄存器(的寄存器(7个个) 并并行行I/O口口P0、P1、P2、P3,均,均为为8位;位; 串行口串行口数数据据缓缓冲器冲器SBUF; 串行口控制寄存器串行口控制寄存器SCON; 串行通串行通讯讯波特率倍增寄存器波特率倍增寄存器PCON,(又,(又称为电称为电源控制寄存器)。源控制寄存器)。Harbin University51四、四、与与中中断断相相关关的寄存器(的寄存器(2个个) 中中断断允允许许控制寄存器控制寄存器IE; 中中断优断优先先级级控制寄存器控制寄存器IP。 五、五、与与定定时时器器/计数计数器相器相关关的寄存器(的寄存器(6个个) T0的的两个两个8位位计数计数

39、初初值值寄存器寄存器TH0、TL0 T1的的两个两个8位位计数计数初初值值寄存器寄存器TH1、TL1 工作方式寄存器工作方式寄存器TMOD; 控制寄存器控制寄存器TCON。Harbin University522.3.2 MCS-51的存储器结构 ROM:4K 范范围围是:是:000H0FFFH RAM:128字字节节 范范围围是:是:00H7FHHarbin University53程序程序存储器存储器(C语言中被称为语言中被称为code区区)0000H0001H0002H(PC)中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断

40、外部中断1定时器1中断串行口中断8位位0FFFH0FFEH内部外部0000HFFFFH(64K)0000H0FFFH(4K)EA=1 EA=0EA=1 EA=0程序程序存储器(存储器(code)资源分布)资源分布中断入口地址引脚接为高电平时,CPU可访问内部和外部ROM,并且程序自片内程序存储器开始执行,PC值超出片内ROM容量时,会自动转向片外程序存储器中的程序。一一.MCS-51.MCS-51程序存储器配置程序存储器配置Harbin University54程序存储器中的特定程序入口(51子系列为6个) Harbin University55外部RAM数据存储器xdata0000HFFFF

41、H(64K)内部数据数据存储器存储器间接寻址间接寻址idataidata00HFFH7FH80H(高128B)(低128B)RAM专用寄存器sfr0组组R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71组组2组组3组组工作寄存器区工作寄存器区可位寻址区可位寻址区(bdata)20H2FH7F 7807 0030H7FH数据缓冲区数据缓冲区/堆栈区堆栈区内部内部RAMRAM存储器存储器(data)(data)18H18H1FH1FH10H10H17H17H08H08H0FH0FH00H00H07H07H二二. MCS-51. MCS-51内部数据存储器内部数据存储器RS1RS00

42、00组组011组组102组组013组组Harbin University561、工作寄存器区、工作寄存器区 低端低端32个个字字节节分成分成4个个工作寄存器工作寄存器组组,每,每组组8个个单单元,分元,分别称为别称为R0,R1,R7。程序。程序运运行行时时只能只能使用一使用一个个工作寄存器工作寄存器组组作作为当为当前工作寄存器前工作寄存器组组。当当前工作寄存器前工作寄存器组组的机制便于快速的机制便于快速现场现场保保护护。 PSW的的RS1、RS0 决决定定当当前工作寄存器前工作寄存器组号组号 寄存器寄存器0组组 :地址:地址00H07H;寄存器寄存器1组组 :地址:地址08H0FH;寄存器寄存

43、器2组组 :地址:地址10H17H;寄存器寄存器3组组 :地址:地址18H1FH。Harbin University572、位、位寻寻址址区区(bit寻寻址址区区)2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45

44、453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A020279797171696961615959515149494141393931312929212119191111090901017878707068

45、686060585850504848404038383030282820201818101008080000Harbin University583、通用、通用RAM区区(30H7FH)(date)此区间共80个单元,只可按字节寻址,而不可位寻址。程序运行期间,会产生一些运算结果等中间数据,这些数据可在此区间暂时保存。另外,若程序运行过程中遇到调用子程序或响应中断,往往需要保护现场,将有关的数据压入堆栈,待子程序返回或中断响应结束时再将入栈数据弹出,此时,该区间可作堆栈使用。单片机复位后,堆栈指针SP的值为07H,即默认此区间的08H为栈底。考虑到00H2FH通常保留作工作寄存器区和位寻址区,

46、因此一般将栈底设置在30H以上单元。 Harbin University59 寄存器寄存器 位地址位地址 / /位定义位定义 地址地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E1 E0E0 ACCACC E0E0 D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 PSWPSW CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV / / P P D0HD0H BFBF BEBE BDBD BCBC BBBB BABA B9B

47、9 B8B8 IPIP PT2 PT2 PS PS PT1PT1PX1 PX1 PT0 PT0 PX0 PX0 B8HB8H B7B7 B6B6 B5B5 B4B4 B3B3 B2B2 B1B1 B0B0 P3P3 P3.7P3.7 P3.6P3.6 P3.5P3.5 P3.P3.4 4 P3.3P3.3 P3.2P3.2 P3.1P3.1 P3.0P3.0 B0HB0H AFHAFHAE AE AD AD AC AC AB AB AAAAA9 A9 A8 A8 IEIE EA EA - - ET2 ET2 ES ES ET1 ET1 EX1 EX1 ET0 ET0 EX0 EX0 A8HA8

48、H A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 P2P2 P2.7P2.7 P2.6P2.6 P2.5P2.5 P2.4P2.4 P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0 A0HA0H SBUFSBUF 99H99H 4. 特殊功能寄存器(sfr/sfr16)Harbin University609FH9EH 9DH 9CH 9BH9AH 99H98H SCONSM0 SM1 SM2 REN TB8 RB8TI RI 98H 97 96 95 94 93 92 91 90 P1 P1.7 P1.6 P1.5 P1.4 P1.3

49、P1.2 P1.1 P1.0 90H TH1 8DH TH0 8CH TL1 8BH TL0 8AH TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H 8F 8E 8D 8C 8B 8A 89 88 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H PCON SMOD / / / GF1 GF0 PD IDL 87H DPH 83H DPL 82H SP 81H 87 86 85 84 83 82 81 80 P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 80H Harbin Universit

50、y61Harbin University62说明:1、51子系列离散分布有子系列离散分布有21个个特殊功能寄存器特殊功能寄存器SFR、52子系列子系列为为26个个。2、凡地址能被、凡地址能被8整除的寄存器(共整除的寄存器(共11个个)都是可位)都是可位寻寻址的寄存器址的寄存器。3、位、位寻寻址形式:址形式:直接位地址:如直接位地址:如D3H位助位助记记符:符:RS0寄存器寄存器.位:如位:如PSW.3单单元地址元地址.位:如位:如D0H.3位位 型型bit10,1sbit10,1访问访问SFRsfr80255sfr1616065535Harbin University63C51C51的的数数据

51、的存据的存储储器器类类型型 变变量和常量必量和常量必须须以一定的以一定的存存储储器器类类型型定定位于位于单单片机的存片机的存储区储区域中。域中。 存存储储器器类类型型长长度(位)度(位)对应单对应单片机存片机存储储器器bdata1片片内内RAM,位,位寻寻址址区区,共,共128位。(亦能字位。(亦能字节访问节访问)data8片片内内RAM,直接,直接寻寻址,共址,共128字字节节。idata8片片内内RAM,间间接接寻寻址,共址,共256字字节节。pdata8片外片外RAM,分,分页间页间址,共址,共256字字节节。(。(MOVX Ri)xdata16片外片外RAM,间间接接寻寻址,共址,共6

52、4k字字节节。(。(MOVX DPTR)code16ROM区区域,域,间间接接寻寻址,共址,共64k字字节节。(。(MOVC DPTR)Harbin University64C51中的数据类型定义bit bdata flags; / 位位变变量量flags定位在片定位在片内内RAM的位的位寻寻址址区区 char data var; / 字符字符变变量量var定位在片定位在片内内RAM区区 float idata x,y,z; / 实实型型变变量量x,y,z定位在片定位在片内间内间址址RAM区区sfr P1=0 x90; / 定定义义P1口地址口地址为为90H sfr SCON = 0 x90;

53、sfr P0 = 0 x80; sfr16 T2 = 0 xCC; Harbin University652.3.3 I/O2.3.3 I/O口及功能单元口及功能单元 并并口:口:P0P3,双双向口。每口向口。每口8条条I/O线线 串行口:串行口:P3.0、P3.1,全,全双双工工 定定时时/计数计数器:器: 2个个,16位位 中中断断系系统统:5个个中中断断源,源,2个优个优先先级级 Harbin University661 1、并行、并行I/OI/O端口端口MCS-51MCS-51单片机内部有单片机内部有4 4个并行的个并行的I/OI/O接口电路:接口电路:P0P0、P1P1、P2P2、P

54、3P3,它们都是双向口,既可以输入又它们都是双向口,既可以输入又可以输出。可以输出。P0P0、P2P2口经常用作外部扩展存储器时的口经常用作外部扩展存储器时的数据、地址总线,数据、地址总线,P3P3口除了可用作口除了可用作I/OI/O口外,每一根口外,每一根都有第二功能。通过这些都有第二功能。通过这些I/OI/O接口,单片机可以外接接口,单片机可以外接键盘、显示器等外围设备,还可以进行系统扩展,键盘、显示器等外围设备,还可以进行系统扩展,以解决片内硬件资源不足问题。以解决片内硬件资源不足问题。 67 I/O口口 P0口:三态口:三态 双向双向 复用口复用口地址地址/数据数据控制控制读锁存器读锁

55、存器写锁存器写锁存器DCLQQP0.x锁存器锁存器T0T1MUXP0.x引脚引脚内部总线内部总线读引脚读引脚P0口位结构口位结构Vcc11001“读读”01100P0口作口作地址地址/数据数据复用总线复用总线D0D7A0A768P0口作口作地址地址/数据数据复用总线复用总线从从P0口口输出输出数据数据或或地址地址信息的过程:信息的过程:控制端控制端高电平高电平MUX接接反相器反相器输出端输出端输出级输出级T1连接连接与门与门开锁开锁信号驱动信号驱动T0驱动驱动电路电路接通接通P0口输出口输出数据数据/地址地址信息信息从从P0口口输入输入数据数据信息:信息:引脚引脚信号信号从输入从输入三态缓冲器

56、三态缓冲器进入进入内部总线内部总线“读读”69P0口:作通用口:作通用I/O口使用口使用地址地址/数据数据控制控制读锁存器读锁存器写锁存器写锁存器DCLQQP0.x锁存器锁存器T0T1MUXP0.x引脚引脚内部总线内部总线读引脚读引脚P0口位结构口位结构Vcc外接上拉外接上拉电阻电阻0100读读读修改读修改写功能写功能1ANL P0,A(P0) (A)P0“读读”Vcc70P0口作通用口作通用I/O口使用输出时:口使用输出时:P0口作通用口作通用I/O口使用输入时:口使用输入时:先将锁存器先将锁存器写写“1”T0、T1截止截止读引脚读引脚信号信号P0P3口线上的口线上的“读修改写读修改写” 是

57、通过上面一个三态门实现是通过上面一个三态门实现的。的。P0P0的驱动能力的驱动能力: : 驱动驱动8 8个个TTL门门控制端控制端低电平低电平与门输出与门输出低电平低电平T0截止截止输出输出漏级漏级开路开路外接上外接上拉电阻拉电阻MUX接接锁存器锁存器Q端端锁存器锁存器Q与与T1连接连接71P0口作通用口作通用I/O口使用输入时:口使用输入时:先将锁存器先将锁存器写写“1”T0、T1截止截止读引脚读引脚信号信号地址地址/数据数据控制控制读锁存器读锁存器写锁存器写锁存器DCLQQP0.x锁存器锁存器T0T1MUXP0.x引脚引脚内部总线内部总线读引脚读引脚P0口位结构口位结构Vcc010072P

58、1口:准双向口口:准双向口读锁存器读锁存器写锁存器写锁存器内部总线内部总线读引脚读引脚DCLQQP1.x锁存器锁存器TP1.x引脚引脚Vcc内部上拉内部上拉电阻电阻010101输出输出输入输入“读引脚读引脚”P1口位结构口位结构73作通用作通用I/O口输出时:口输出时:将将“1”写写入锁存器入锁存器输出高电平输出高电平将将“0”写入写入锁存器锁存器Q 1, T导通导通输出低电平输出低电平作通用作通用I/O口输入时:口输入时:口锁存器必须写口锁存器必须写“1”先将先将“1”写入锁存器,使写入锁存器,使T截止,口线上的数据取决于外部输截止,口线上的数据取决于外部输入入Q 0, T截止截止 P1口的

59、驱动能力口的驱动能力:驱动驱动4 4个个TTL门门内部总线为内部总线为引脚为引脚为“高电平高电平”“低电平低电平”“1”“0”“读读”准双向口准双向口74P2口:准双向口口:准双向口地址地址控制控制读锁存器读锁存器写锁存器写锁存器内部总线内部总线读引脚读引脚DCLQQP2.x锁存器锁存器TP2.x引脚引脚P2口位结构口位结构VccMUX上上拉拉电电阻阻75P2口作口作通用通用I/O口口使用时:使用时: 准双向口。准双向口。MUX倒向倒向左边左边,输出级与锁存器,输出级与锁存器“Q”端端接通,接通,P2口口I/O操作完全与操作完全与P1口相同口相同P2口作口作地址总线高地址总线高8位位使用时:使

60、用时: 在在CPU的控制下,的控制下, MUX倒向倒向右边右边,接通内部,接通内部地址总线地址总线,P2口的口线状态取决于片内输出的口的口线状态取决于片内输出的地址信息地址信息 P2口的驱动能力:驱动口的驱动能力:驱动4个个TTL门门76第二输第二输入功能入功能P3口:双功能口口:双功能口读锁存器读锁存器写锁存器写锁存器内部总线内部总线读引脚读引脚DCLQQP3.x锁存器锁存器TP3.x引脚引脚Vcc上上拉拉电电阻阻第二输第二输出功能出功能11077P3作第一功能口使用时:作第一功能口使用时: 输出控制线为高电平,与非门的输出取决于锁存输出控制线为高电平,与非门的输出取决于锁存器器“Q”端的状

温馨提示

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

评论

0/150

提交评论