单片机技术基础第二章课件

上传人:txadgkn****dgknqu... 文档编号:242009522 上传时间:2024-08-09 格式:PPT 页数:47 大小:652.87KB
返回 下载 相关 举报
单片机技术基础第二章课件_第1页
第1页 / 共47页
单片机技术基础第二章课件_第2页
第2页 / 共47页
单片机技术基础第二章课件_第3页
第3页 / 共47页
点击查看更多>>
资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第2章 单片机硬件结构和原理,单片机原理与应用,2.1 89C51单片机的内部结构及特点,2.2 89C51单片机引脚及其功能,2.3 89C51存储器配置,2.4 CPU时序,2.5 复位及复位电路,2.6 89C51单片机的低功耗工作方式,2.7 输出/输入端口结构,2.8 思考题与习题,8/9/2024,1,第2章 单片机硬件结构和原理单片机原理与应用2.1,熟悉89C51,内部结构,熟悉,部分,特殊功能寄存器(SFR)的,功能,掌握存储器,配置及特点,掌握,复位,电路及,堆栈,的,概念,掌握,部分引脚,的功能,达到,会应用,的目的,了解CPU时序及单片机的工作过程,了解并行I/O端口内部结构,学习目的和要求,8/9/2024,2,熟悉89C51内部结构学习目的和要求8/20/20232,被抽象为一个硬件模型的电子产品大致包括:,1)输入 2)处理核心 3)输出,输入可能有:,1)键盘,2)串行接口(RS232/485/can bus/以太网/USB),3)开关量(TTL,电流环路,干接点),4)模拟量(420ma、010ma、05V(平衡和非平衡信号),处理核心主要有:,1)8位单片机,主要就是51系列,2)32位arm单片机,主要有atmel和三星系列,输出的基本组成:,1)串行接口(RS232/485/can bus/以太网/USB),2)开关量(TTL、电流环路、干接点、功率驱动),3)模拟量(420ma,010ma,05V(平衡和非平衡信号),4)LED显示:发光管等,5)液晶显示器,6)蜂鸣器,8/9/2024,3,被抽象为一个硬件模型的电子产品大致包括:8/20/202,51系列单片机最小系统:,实际上,51单片机核心外围电路是很简单的即:,单片机+时钟电路+复位电路,单片机:atmel的89C51系列、89C51系列、winbond的78E52系列,还有philips的系列等;,复位电路:由电容串联电阻构成。适当组合RC的取值可以保证可靠的复位。一般C取10,f,R取8.2K。,至于如何定量计算,可以参考相关书籍。,时钟电路:一般选用11.0592M晶振,为了准确无误地得到9600波特率和19200波特率;两片磁片电容:22pf30pf,可以查找什么晶振频率对应什么容量的磁片电容。,8/9/2024,4,51系列单片机最小系统:8/20/20234,2.1.1 89C51单片机的基本组成,2.1.2 89C51单片机内部结构,2.1 89C51单片机的结构,8/9/2024,5,2.1.1 89C51单片机的基本组成 2.1.2,MCS-51系列单片机为Intel 公司产品,1980年推出。,89C51单片机是ATNMEL、PHILIPS、SST公司的产品:,89C51 80C51373Flash ROM,价格便宜,广泛的应用。,它们的基本组成、基本性能和指令系统都是相同的。,8/9/2024,6,MCS-51系列单片机为Intel 公司产品,1,2.1.1 89C51单片机的基本组成,80C51,CPU,振荡器和 时序,OSC,64KB 总线,扩展控制器,数据存储器,256B RAM/SFR,216位,定时器/计数器,可编程I/O,程序存储器,4KBROM,可编程全双工,串行口,外中断,内中断,控制,并行口,串行通信,外部时钟源,外部事件计数输入,89C51单片机结构框图,DBUS,8/9/2024,7,2.1.1 89C51单片机的基本组成80C51振荡器和 时,80c51 CPU,字长8位,地址16位,最大存储器寻址能力为64KB。能实现8位二进制数的加、减、乘、除以及与、或、异或、移位等运算。,用以存放可以读/写的,数据,,如运算的,中间结果,、最终结果以及欲显示的数据等。,256 B/128 B RAM/SFR,用以存放,程序,、一些原始,数据,和,表格,。但有一些单片机内部不带ROM/EPROM,如8031、8032、80C31等,(8051/8052是掩膜 ROM,8751/8752是EPROM,但8031、8032、80C32片内无ROM),。,片内4KB程序存储器Flash ROM:,每个口可以用作输入,也可以用作输出。,四个8位并行I/O(输入/输出)接口P0P3:,8/9/2024,8,80c51 CPU字长8位,地址16位,最大存储器寻址能力,每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。,两个定时/计数器:,可实现单片机与单片机或与其它微机之间串行通信。,一个全双工UART的串行I/O口:,但需外接晶振和电容。,片内振荡器和时钟产生电路:,五个中断源的中断控制系统。,2个外中断,2个定时/计数器中 断,1个串行口中断,8/9/2024,9,每个定时/计数器都可以设置成计数方式,用,51系列单片机的温度适用范围 为,:,民品(商业用)070,C,工业品 4085,C,军品 55125,C,与8051相比,89C51具有两种用软件选择的节电工作方式:,空闲方式:CPU停止工作,RAM、定时/计数器、中断系统等继续工作。,掉电方式:片内振荡器停止,所以系统不能工作,仅保存RAM中内容。,第2章 89C51单片机硬件结构和原理,8/9/2024,10,51系列单片机的温度适用范围 为:与8051相比,89C51,2.1.2 89C51单片机内部结构,由,中央处理单元(CPU)、,存储器(ROM及RAM),和,I/O接口,组成。,MCS-51单片机内部结构如图21所示。,8/9/2024,11,2.1.2 89C51单片机内部结构 由,P0驱动器,P2驱动器,P0锁存器,P2锁存器,RAM地址寄存器,128BRAM,4KB,Flash ROM,B寄存器,暂存器1,暂存器2,ACC,SP,程序地址寄存器,缓冲器,PC增1,PC,DPTR,中断、串行口和定时器,PSW,P1锁存器,P1驱动器,P3锁存器,P3驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,P0.0-P0.7,P2.0-P2.7,P3.0-P3.7,P1.0-P1.7,XTAL1 XTAL2,PSEN,ALE,EA,RET,8/9/2024,12,P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器12,(一)、中央处理单元(CPU),运算器,控制器,单片机中的中央处理器(CPU)和通用微处理器基本相同,只是,增设了“面向控制”的处理功能,。例如:位处理、查表、多种跳转、乘除法运算、状态检测、中断处理等,增强了实时性。,CPU,1运算器,+、算术运算,与、或、非、异或逻辑运算,循环移位、位处理,(1),算术逻辑运算单元ALU(8位):,8/9/2024,13,(一)、中央处理单元(CPU)运算器控制器 单片机中,(2)8位累加器ACC(A):,它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC。,指示指令执行后的状态信息供程序查询和判别用。,(3)8位程序状态寄存器PSW:,(4)8位寄存器B:,在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器,8/9/2024,14,(2)8位累加器ACC(A):它经常作为一个,(5)布尔处理器:,专门用于处理位操作的,以PSW中的C为其累加器。,(6)2个8位暂存器:,ALU的两个入口处。,8/9/2024,15,(5)布尔处理器:专门用于处理位操作的,以PSW中的C为其,(1)程序计数器PC(16位),由两个8位计数器PCH、PCL组成。,PC是程序的字节地址计数器,PC内容为将要执行的指令地址。,改变PC内容,改变程序的流向。,PC可对64KB的ROM直接寻址,也可对89C51片内RAM寻址。,2控制器,(2)指令寄存器IR及指令译码器ID,由PC找到ROM地址,取出指令经IR再送至ID,由ID对指令,译码,产生一定序列的,控制信号,,以执行指令所规定的操作。,(3)振荡器和定时电路,89C51单片机片内有振荡电路,只需外接石英晶体和2个频率微调电容(30pF左右),产生频率范围为1.2MHz,12MHz。该信号就作为89C51工作的基本节拍(时间的最小单位)。,8/9/2024,16,(1)程序计数器PC(16位)由两个8位计数器PCH、PCL,(二)存储器,程序存储器(ROM),数据存储器(RAM),存储器,89C51存储器,包含,4KB,程序存储器Flash ROM,包含,128B,内部数据存储器。,(三)、I/O接口,89C51有四个8位并行I/O接口P0P3。,它们都是双向端口,每个端口各有8条I/O线。,P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。,8/9/2024,17,(二)存储器程序存储器(ROM)数据存储器(RAM)存储器,2.2 89C51单片机引脚及其功能,89C51单片机引脚图,8/9/2024,18,2.2 89C51单片机引脚及其功能,一.电源引脚:Vcc和Vss,2个,1Vcc(40脚):电源端,为+5V。,2Vss(20脚):接地端。,二.时钟电路引脚:XTAL1和XTAL2,2个,XTAL2(18脚):接外部,晶体,和微调,电容,的一端。是89C51片内振荡器反向放大器的输出端,振荡电路的频率就是晶体固有频率。,当采用外部时钟时,此脚悬空。,若89C51正常工作时,该引脚应有脉冲信号输出。,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,RST/VPD,RXD/P3.0,TXD/P3.1,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,WR/P3.6,RD/P3.7,XTAL2,XTAL1,V,SS,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,V,CC,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0,ALE/PROG,PSEN,EA/VPP,31,30,29,28,27,26,25,24,23,22,21,40,39,38,37,36,35,34,33,32,80C51,8/9/2024,19,一.电源引脚:Vcc和Vss 2个1Vcc(40脚):电,XTAL1(19脚):接外部晶体和微调电容的,另一端,;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲。,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,RST/VPD,RXD/P3.0,TXD/P3.1,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,WR/P3.6,RD/P3.7,XTAL2,XTAL1,V,SS,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,V,CC,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0,ALE/PROG,PSEN,EA/VPP,31,30,29,28,27,26,25,24,23,22,21,40,39,38,37,36,35,34,33,32,80C51,8/9/2024,20,XTAL1(19脚):接外部晶体和微调电容的另一端;在,振荡电路的频率为晶体固有频率,C 30PF,C 30PF,6MHZ,89C51,X1,X2,V,CC,5.1K,外时钟信号,89c51,X1,X2,第2章 89C51单片机硬件结构和原理,8/9/2024,21,振荡电路的频率为晶体固有频率C 30PFC 3,三、控制信号引脚:RST、ALE、PSEN和EA,4个,RST/VPD,(9脚):复位/后备电源输入,时钟信号正常时,该引脚高电平时,单片机进入复位状态(RST);当VCC掉电时,该引脚作为后备电源输入,以保持片内RAM中的数据不丢失(VPD)。,ALE/PROG(30脚):,地址锁存允许/编程脉冲输入端,ALE:地址锁存允许信号端。正常工作时,该引脚以振荡频率的,1/6固定输出正脉冲,。CPU访问片外存储器时,该引脚输出信号作为锁存,低8位地址,的控制信号。它的负载能力为8个LS型TTL负载。,PROG:是对片内带有4KB Flash ROM编程写入时的编程脉冲输入端。,8/9/2024,22,三、控制信号引脚:RST、ALE、PSEN和EA,PSEN(29脚):,程序存储器允许信号输出端。,在访问片外,ROM,时,定时输出负脉冲作为读片外ROM的选通信号,接片外,ROM,的,OE,端。,它的负载能力为8个,LS,型,TTL,负载。,VPP:用于在对89C51的片内Flash ROM编程时,施加,(12V21V)的编程允许电源。,EA1,CPU访问片内 Flash ROM,并执行其指令。,当,PC 0FFFH,时(4KB),自动转向片外 ROM。,EA/VPP(31脚)内外程序存储器选择/编程电源输入,EA=0,不论片内是否有存储器,,只执行片外,ROM 的指令。,8/9/2024,23,PSEN(29脚):VPP:用于在对89C51的片内Flas,单片机上电后不运转的原因,首先应该确认,电源电压是否正常,。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压;,接下来就是检查,复位引脚电压是否正常,,分别测量按下复位按钮和放开复位按钮的电压值,看是否正确;,然后再检查,晶振是否起振,了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。,另外还要注意的地方是,,如果使用片内ROM的话,一定要将EA引脚拉高,,否则会出现程序乱跑的情况。,经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。,8/9/2024,24,单片机上电后不运转的原因首先应该确认电源电压是否正常。用电压,四、I/O端口P0、P1、P2和P3,(1),P0,口,(,P0.0P0.7,3932pin,I/O,),是,8,位,准双向,I/O,端口。,准双向,作为输入口使用时,应先写入全1。,每位能驱动,8个,LS型TTL负载。,可用作,8位数据输入/输出,,同时也可用作外部,地址总线,的,低,8位。,在CPU访问,片外存储器,(RAM、ROM)时,P0口作为,分时,复用的,低8位地址总线,/数据总线。,8/9/2024,25,四、I/O端口P0、P1、P2和P3(1)P0口(P0.,(3),P1口,(P1.0P1.7,18pin,I/O)8位,准双向,I/O口。,输出时,,P1口的每一位能驱动,4个,LS型TTL负载。,输入时,,先向P1口锁存器写入全1,此时将P1口引脚由内部上拉电阻拉成高电平。,第2章 89C51单片机硬件结构和原理,(2)P2口,(P2.0P2.7,2128,I/O),8位,准双向,I/O口,可用作8位,数据,输入/输出,同时也可用作,外部地址总线,的,高8位,。,当有外部存贮器时,用作,高8 位地址总线,).,当无外部存贮器时,可用作一般I/O线。,(4),P3,口,(,P3.0P3.7,1017pin,I/O),8位,准双向,I/O端口。,每位能驱动,4个,LS型TTL负载。,P3口除作为,一般,I/O口外,每个引脚都有,第二功能,。,8/9/2024,26,(3)P1口(P1.0P1.7,18pin,I/O),P3.0 RXD,P,3.1 TXD,P3.2 INT0,P3.3 INT1,P3.4 T0,P3.5 T1,P3.6 WR,P3.7 RD,串行口输入/,输出端,外部中断输入,定时/计数器的计数脉冲 输入,片外,RAM,读,/,写信号,P3口第二功能:,系统控制信号,定义如下:,任意一位不用于第二功能(首选)时,可用于第一功能。,第2章 89C51单片机硬件结构和原理,8/9/2024,27,P3.0 RXD串行口输入/输出端外部中断输入定时,2.3 89C51存储器配置,89C51存储器,程序存储器ROM,数据存储器ROM,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,物理结构(哈佛结构),8/9/2024,28,2.3 89C51存储器配置 89C51存储器程序存,普林斯顿结构:,程序和数据共用一个存储器逻辑空间,,统一编址,。,哈佛结构:,程序与数据分为两个独立存储器逻辑空间,,分开编址,。,89C51存储器属于哈佛结构:,包含4KB程序存储器Flash ROM,包含128B内部数据存储器。,存储器的结构,8/9/2024,29,普林斯顿结构:哈佛结构:89C51存储器属于哈佛结构:存,片内外程序存储器,片内数据存储器,片外数据存储器,片外,64KB,0000H,FFFFH,提示:CPU访问片内、外ROM用指令 MOVC,片外RAM用 指令 MOVX,片内RAM用 指令 MOV,片外,60KB,片外,60KB,片内,4KB,FFFFH,0000H,0000H,0FFFH,1000H,FFFFH,EA=1,EA=0,128B,128B,SFR,00H,7FH,80H,FFH,8/9/2024,30,片内外程序存储器片内数据存储器片外数据存储器0000HFFF,2.3.1 程序存储器,用于存放程序和常数表。,含4KB Flash ROM,当EA=1时,片内程序存储器被允许(地址为00000FFFH时自动访问片内,地址为1000HFFFFH时自动访问片外)。,当EA=0时,片内程序存储器被禁止。,片外,60KB,片外,60KB,片内,4KB,FFFFH,0000H,0000H,0FFFH,1000H,FFFFH,EA=1,EA=0,片内片外统一编址:0000HFFFFH,8/9/2024,31,2.3.1 程序存储器片外片外片内FFFFH0000H000,中断向量表,0023H,串行口中断,001BH,定时器1溢出中断,0013H,INT1中断,000BH,定时器0溢出中断,0003H,INT0中断,中断入口地址,中断源,0003H002AH,均匀,地分为5段,为5个中,断服务程序起始处。,因为字节单元太少,,所以常在这些存储单,元中存放转移指令。,片内ROM和片外ROM取指的速度相同。,应尽量避免外扩程序存储器芯片而增加硬件的负担.在极特殊的情况下,才应外扩程序存储器芯片执行外部程序.,程序存储器的低地址的40多个单元留给系统使用。,8/9/2024,32,中断向量表0023H串行口中断001BH定时器1溢出中断00,2.3.2 数据存储器地址空间,用于存放运算的中间结果、数据暂存和缓冲、标志位等。,1.片外,RAM,0000HFFFFH,,使用,MOVX,指令访问。,2.片内,RAM,00HFFH,,使用,MOV,指令访问。,8/9/2024,33,2.3.2 数据存储器地址空间 用于存放运算的中间结果、,安排了,21个SFR,地址分布离散,32个字,节通用,Reg.区,即可字节,寻址,又,可位寻址.,80字节,RAM,区,由,PSW中RS1、RS0,组合来决定选中,当前组,CPU上电时选中0组;未用到的组可作为RAM用.,程序执行的任何时刻,只能用一组。,8/9/2024,34,安排了32个字即可字节80字节由PSW中RS1、RS0CPU,图28 低128字节RAM区,图29 高128字节RAM区(SFR区),第2章 89C51单片机硬件结构和原理,8/9/2024,35,图28 低128字节RAM区图29 高128字节RAM,1)低128字节RAM,89C51的,32个工作寄存器,与RAM安排在同一个队列空间里,统一编址并使用同样的寻址方式(直接寻址和间接寻址)。,00H1FH地址安排为,4组工作寄存器区,,每组有8个工作寄存器(R0R7),共占32个单元。通过对程序状态字寄存器PSW中RS1、RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。若程序中并不需要4组,那么其余可用作一般RAM单元。CPU复位后,选中第0组寄存器为当前的工作寄存器。,工作寄存器区后的,16字节单元,(20H2FH),可用位寻址方式访问其各位。在89系列单片机的指令系统中,还包括许多位操作指令,这些位操作指令可直接对这128位寻址。这128位的位地址为00H7FH。,8/9/2024,36,1)低128字节RAM89C51的32个工作寄存器与RAM,2)高128字节RAM特殊功能寄存器(SFR),89C51片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80HFFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。,(1)累加器ACC(E0H),累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数,取自于,ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。,8/9/2024,37,2)高128字节RAM特殊功能寄存器(SFR)89C5,(2)寄存器B(F0H),在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A,B中存放余数。,在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。,(3)程序状态寄存器PSW(D0H),PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。PSW除有确定的字节地址(D0H)外,每一位均有位地址。,8/9/2024,38,(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B,P,X,OV,RS0,RS1,F0,AC,CY,PSW(D0H),进借位标志,位地址D7H,位操作时的,位累加器,。,CY,AC 半进位标志。,FO 用户标志位(用户可设置其为0或1),RS1、RSO 选择工作Reg.区,OV 溢出标志,P 奇偶标志,运行结果有奇数个1,P=1;否则P=0。,8/9/2024,39,P XOVRS0RS1F0ACCYPSW(D0H)进借位,CY(PSW.7),:进位标志位。在执行加法(或减法)运算指令时,如果运算结果最高位(位7)向前有进位(或借位),则CY位由硬件自动置1;如果运算结果最高位无进位(或借位),则CY清0。CY也是89C51在进行位操作(布尔操作)时的位累加器,在指令中用C代替CY。,AC(PSW.6),:半进位标志位,也称辅助进位标志。当执行加法(或减法)操作时,如果运算结果(和或差)的低半字节(位3)向高半字节有半进位(或借位),则AC位将被硬件自动置1;否则AC被自动清0。,F0(PSW.5),:用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。,8/9/2024,40,CY(PSW.7):进位标志位。在执行加法(或减法)运算指,RS0和RS1(PSW.3和PSW.4),:工作寄存器组选择控制位。这两位的值可,决定选择哪一组工作寄存器,为当前工作寄存器组。通过用户用,软件改变,RS1和RS0,值,的组合,以切换当前选用的工作寄存器组。89C51,上电复位,后,RS1=RS0=0,CPU自动选择第0组为当前工作寄存器组。,根据需要,可利用,传送指令对PSW整字节操作,或,用位操作指令,改变RS1和RS0的状态,以切换当前工作寄存器组。这样的设置为程序中保护现场提供了方便。,8/9/2024,41,RS0和RS1(PSW.3和PSW.4):工作寄存器组选择,OV(PSW.2),:溢出标志位。当进行补码运算时,如有溢出,即当运算结果超出128127的范围时,OV位由硬件自动置1;无溢出时,OV=0。,X(PSW.1),:为保留位。89C51未用,89C52为F1用户标志位。,P(PSW.0),:奇偶校验标志位。每条指令执行完后,该位始终跟踪指示累加器A中1的个数。如结果A中有奇数个1,则置P=1;否则P=0。常用于校验串行通信中的数据传送是否出错。,8/9/2024,42,OV(PSW.2):溢出标志位。当进行补码运算时,如有溢,(4)栈指针SP(81H),堆栈指针SP为,8位,特殊功能,寄存器,,SP的内容可指向89C51片内,00H7FH,RAM的任何单元。系统复位后,SP初始化时为07H,即指向07H的RAM单元。,89C51在片内RAM中,专门开辟,出来一个区域,数据的存取是以“,后进先出”,的结构方式处理的;,堆栈的操作有两种,:一种叫数据,压入(,PUSH),另一种叫数据,弹出,(POP)。,89C51的堆栈指针,SP是一个,双向计数器,。,进栈,时,SP内容自动,增值,,,出栈,时自动,减值,。存取信息必须按“后进先出”或“先进后出”的规则进行。,8/9/2024,43,(4)栈指针SP(81H)堆栈指针SP为8位,如右图,假若有8个RAM单元,每个单元都有地址,栈顶由堆栈指针SP自动管理。每次进行压入或弹出操作以后,堆栈指针便自动调整以保持指示堆栈顶部的位置。,图210 堆栈的压入与弹出,8/9/2024,44,如右图,假若有8个RAM单元,每个单元都有地址,栈顶由堆栈指,(5)数据指针DPTR(83H,82H),DPTR是一个,16位,的特殊功能寄存器,其高位字节寄存器DPH(地址83H),低位字节寄存器DPL(地址82H)。DPTR既可以作为一个,16位寄存器,,也可以作为,两个独立的8位,寄存器DPH和DPL使用。,DPTR主要用于存放,16位地址,,以便对64 KB,片外RAM作间接寻址,。,8/9/2024,45,(5)数据指针DPTR(83H,82H)DPTR是一个16,(6)/端口P0P3(80H,90H,A0H,B0H),P0P3为4个8位特殊功能寄存器,分别是,4个并行,/端口的锁存器。它们都有,字节地址,,每一个口锁存器还有,位地址,,,每一条/线,均可,独立,用作输入或输出。,用作输出时,可以,锁存数据,;用作输入时,数据可以,缓冲,。,8/9/2024,46,(6)/端口P0P3(80H,90H,A0H,B0H,图2-11 特殊功能寄存器SFR的位置,空格部分为未来设计新型芯片可定义的SFR位置,8/9/2024,47,图2-11 特殊功能寄存器SFR的位置空格部分为未来设计,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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