收藏 分销(赏)

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

上传人:精**** 文档编号:7519528 上传时间:2025-01-07 格式:PPT 页数:182 大小:1.86MB
下载 相关 举报
第2章-51系列单片机的硬件结构.ppt_第1页
第1页 / 共182页
第2章-51系列单片机的硬件结构.ppt_第2页
第2页 / 共182页
第2章-51系列单片机的硬件结构.ppt_第3页
第3页 / 共182页
第2章-51系列单片机的硬件结构.ppt_第4页
第4页 / 共182页
第2章-51系列单片机的硬件结构.ppt_第5页
第5页 / 共182页
点击查看更多>>
资源描述

1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,51,系列单片机的硬件结构,2.1 51,系列单片机简介,2.2 51,单片机的内部结构与引脚信息,2.3,微处理器,2.4,存储器,2.5,并行输入,/,输出接口,2.6,定时器,/,计数器,2.7,串行输入,/,输出口,2.8 51,单片机的中断系统,2.9,复,位状态与复位电路,2.10 51,单片机的低功耗方式,51,系列单片机是指具有,8051,内核,体系结构、,引脚信号,和,指令系统,完全,兼容,的单片机的总称。,本章将从应用角度介绍,51,系列单片机的硬件结构特征,着重讲述,51

2、,单片机提供给用户的,可用资源,以及如何合理使用这些资源。,第,2,章,51,系列单片机的硬件结构,MCS-51,系列单片机,MCS-51,系列单片机最早由,Intel,公司推出,其产品可分为两大系列:,51,子系列,和,52,子系列,。,51,子系列的基本产品有,8031,、,8051,和,8751,,与这三种机型兼容的低功耗,CMOS,器件为,80C31,、,80C51,和,87C51,。它们的指令系统与芯片引脚完全兼容,它们的差别仅在于片内有无,ROM,或,EPROM,。,52,子系列主要有,8032,、,8052,、,8752,三种机型。它与,51,子系列的不同之处在于:片内数据存储器

3、增至,256,字节;片内程序存储器增至,8KB(8032,无,),;有,3,个,16,位定时,/,计数器,,6,个中断源。,2.1 51,系列单片机简介,8051,派生产品,8051,派生产品是各厂家以,51,为基本内核而推出的单片机产品。这些派生产品在,8051,内核上增加了存储器、通信接口和实时控制部件,增强了,8051,单片机的调试与应用能力。这些增强型,8051,单片机是基于,CMOS,工艺的,通常称为,80C51,系列单片机。,虽然这些单片机产品之间存在差异,但它们的基本结构和功能是相同的。在此统称它们为“,51,单片机,”。,2.1 51,系列单片机简介,51,单片机基本组成,51

4、,系列单片机的内部结构框图如图,2.1,所示。,从图中可看出,,MCS-51,单片机组成结构中包含运算器、控制器、片内存储器、,4,个并行,I/O,口、,1,个串行口、定时器,/,计数器、中断系统、振荡器等功能部件。图中,SP,是堆栈指针寄存器,,PC,是程序计数器,,PSW,是程序状态字寄存器,,DPTR,是数据指针寄存器。,2.2 51,单片机内部结构与引脚信号,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,双列直插式,(DIP)51,系列单片机芯片一般为,40,条引脚,其引脚说明如下:,主电源引脚,Vcc,

5、(40,脚,),:接,+5V,电源正端。,Vss,(20,脚,),:接,+5V,电源地端。,外接晶体引脚,XTAL1,(19,脚,),:接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,可构成片内振荡器。当采用外部时钟时,对于,HMOS,单片机,该引脚接地;对于,CHMOS,单片机,该引脚作为外部振荡信号的输入端。,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,外接晶体引脚,XTAL2,(18,脚,),:接外部石英晶体的另一端。在片内,它是片内振荡器反相放大器的输出端。当采用外部时钟时,对于,HMOS,单片机,该引脚为外部振荡信号的输入端;对于,CHMOS,单片

6、机,该引脚悬空不接。,输入,/,输出引脚,P0,口,(39,32,脚,),:,P0.0,P0.7,统称为,P0,口。在不接片外存储器与不扩展,I/O,口时,可作为准双向输入,/,输出口。在接有片外存储器或扩展,I/O,口时,,P0,口分时复用为,低,8,位地址总线,和,双向数据总线,。,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,输入,/,输出引脚,P1,口,(1,8,脚,),:,P1.0,P1.7,统称为,P1,口,可作为准双向,I/O,口使用。对于,52,子系列,,P1.0,与,P1.1,还有第二功能:,P1.0,可用作定时器,/,计数器,2,的计数脉冲输入端,T2,;

7、,P1.1,可用作定时器,/,计数器,2,的外部控制端,T2EX,。,P2,口,(21,28,脚,),:,P2.0,P2.7,统称为,P2,口,一般可作为准双向,I/O,口使用;在接有片外存储器或扩展,I/O,口且寻址范围超过,256,字节时,,P2,口可用作高,8,位地址总线。,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,输入,/,输出引脚,P3,口,(10,17,脚,),:,P3.0,P3.7,统称为,P3,口。除作为准双向,I/O,口使用外,还可以将每一位用于第二功能,而且,P3,口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。,P3,口的第二功能如表,2.

8、1,所示。,在,P3,口中最常用的是读,/,写控制线,即:,P3.7(,读控制线,),P3.6(,写控制线,),2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,输入,/,输出引脚,P3,口的第二功能,2.2 51,单片机内部结构与引脚信号,引脚,第二功能,P3.0,RxD,串行口输入端,P3.1,TxD,串行口输出端,P3.2,INT0,外部中断,0,请求输入端,低电平有效,P3.3,INT1,外部中断,1,请求输入端,低电平有效,P3.4,T0,定时器,/,计数器,0,计数脉冲输入端,P3.5,T1,定时器,/,计数器,1,计数脉冲输入端,P3.6,WR,外部数据存储器写选通

9、信号输出端,低电平有效,P3.7,RD,外部数据存储器读选通信号输出端,低电平有效,51,单片机的引脚信号,控制线,ALE/PROG,(30,脚,),:地址锁存有效信号输出端。在访问片外程序存储器期间,,ALE,以每机器周期两次进行信号输出,其下降沿用于控制锁存,P0,输出的低,8,位地址;在不访问片外程序存储器期间,,ALE,端仍以上述频率,(fosc/6),输出,所以可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,,ALE,脉冲会跳空一个,此时作为时钟输出就不妥了,(,详见,2.3.3,节,CPU,时序,),。,对于片内含有,EPROM,的机型,在编程期间,该引

10、脚用作编程脉冲,PROG,的输入,端。,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,控制线,PSEN,(29,脚,),:片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线,P0,口读回指令或常数。在访问片外数据存储器期间,,PSEN,信号将不出现。,EA/VPP,(31,脚,),:,EA,为片外程序存储器选用端。该引脚有效,(,低电平,),时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。,对于片内含有,EPROM,的机型,在编程期间,此引脚用作,21V,编程电源,V,PP,的输入端

11、。,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号,控制线,RST/V,PD,(9,脚,),:,RST,即为,RESET,,,V,PD,为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续,10ms,以上才能保证有效复位。,当,Vcc,发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源,V,PD,为内部,RAM,供电,以保证,RAM,中的数据不丢失。,2.2 51,单片机内部结构与引脚信号,51,单片机的引脚信号

12、,综上所述,,MCS-51,系列单片机引脚可归纳为:,单片机功能多,引脚数少,因而许多引脚都具有第二功能,(,引脚复用,),。,单片机对外呈现,3,总线形式,即:由,P2,口、,P0,口,(,接地址锁存器,),组成,16,位地址总线;由,P0,口分时复用为数据总线;由,ALE,、,PSEN,、,RST,、,EA,与,P3,口中的,INT0,、,INT1,、,T0,、,T1,、,WR,、,RD,共,10,个引脚组成控制总线,如图,2.2(b),所示。,由于是,16,位地址线,因此片外存储器的寻址范围可达到,64KB,。,2.2 51,单片机内部结构与引脚信号,运算部件,运算部件以算术逻辑单元,A

13、LU,为核心,包括累加器,ACC,、寄存器,B,、暂存器、程序状态字,PSW,等许多部件。它能实现数据的算术逻辑运算、位变量处理和数据传输等操作。,算术逻辑单元,ALU,算术逻辑单元不仅能完成,8,位二进制的加、减、乘、除、加,1,、减,1,及,BCD,加法的十进制调整等算术运算,还能对,8,位变量进行逻辑“与”、“或”、“异或”、循环移位、求补、清零等逻辑运算,并具有数据传输、程序转移等功能。,2.3,微处理器,CPU,运算部件,累加器,ACC,、寄存器,B,累加器,ACC,(简称,累加器,A,)为一个,8,位寄存器,它是,CPU,中使用最频繁的寄存器。进入,ALU,作算术和逻辑运算的操作数

14、多来自于,ACC,,运算结果也常送回,ACC,保存。寄存器,B,是为,ALU,进行乘,/,除法运算而设置的。若不作乘除运算时,,B,可作为通用寄存器使用。,2.3,微处理器,CPU,运算部件,程序状态字,PSW,程序状态字,PSW,是一个,8,位的标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。其各位的定义如下:,进位标志位,C(PSW.7),:在执行某些算术操作类、逻辑操作类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位,(,加法时,),或有借位,(,减法时,),,则,C=1,,否则,C=0,。,2.3,微处理器,CPU,运算部件,程序状态

15、字,PSW,辅助进位(,或称,半进位)标志位,AC(PSW.6),:它表示两个,8,位数运算,低,4,位有无进,(,借,),位的状况。当低,4,位相加,(,减,),时,若,D3,位向,D4,位有进,(,借,),位,则,AC,为,1,,否则,AC,为,0,。在,BCD,码运算的十进制调整中要用到该标志。,用户自定义标志位,F0(PSW.5),:用户可根据自己的需要对,F0,赋予一定的含义,通过软件置位或清零,并根据,F0=1,或,0,来决定程序的执行方式,或反映系统某一种工作状态。,2.3,微处理器,CPU,运算部件,程序状态字,PSW,工作寄存器组选择位,RS1,、,RS0(PSW.4,、,P

16、SW.3),:可用软件置位或清零,用于选定当前使用的,4,个工作寄存器组中的某一组,(,详见第,2.4,节,),。,奇偶标志位,P,(PSW.0),:在执行指令后,单片机根据累加器,A,中“,1”,的个数的奇偶自动给该标志置位或清零。若,A,中“,1”,的个数为奇数,则,P,为“,1”,;否则,P,为“,0”,。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。,2.3,微处理器,CPU,运算部件,程序状态字,PSW,溢出标志位,P,(PSW.1),:做加法或减法时,由硬件置位或清零,以指示运算结果是否溢出。,OV=1,反映运算结果超出了累加器的数值范围,(,无符号数的范围为

17、,0,255,,以补码形式表示的有符号数范围为,-128,+127),。进行无符号数的加法或减法时,,OV,的值与进位位,C,的值相同;进行有符号数的加法时,如最高位、次高位之一有进位,或做减法时,如最高位、次高位之一有借位,,OV,被置位,即,OV,的值为最高位和次高位的异或,(C7C6),。,2.3,微处理器,CPU,运算部件,程序状态字,PSW,溢出标志位,P,(PSW.1),:,执行乘法指令“,MUL AB”,也会影响,OV,标志,如果积大于,255,时,,OV=1,;否则,OV=0,。,执行除法指令“,DIV AB”,也会影响,OV,标志,如果,B,中所存放的除数为,0,,,OV=1

18、,;否则,OV=0,。,2.3,微处理器,CPU,运算部件,布尔处理机,布尔处理机(即位处理,),是,MCS-51,单片机,ALU,所具有的一种功能。单片机指令系统中的,位处理指令集,(17,条位操作指令,),,存储器中的位地址空间,以及借用程序状态寄存器,PSW,中的,进位标志,CY,作为位操作,“,累加器,”,,构成了,MCS-51,单片机内的布尔处理机。它可对直接寻址的位,(bit),变量进行位处理,如置位、清零、取反、测试转移以及逻辑“与”、“或”等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能,并可方便地设置标志等。,2.3,微处理器,CPU,控制部件及振荡

19、器,控制部件是单片机的神经中枢,它包括定时和控制电路、指令寄存器、译码器以及信息传送控制等部件。它先以,主振频率为基准,发出,CPU,的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的,微操作,,以协调单片机内部各功能部件之间的数据传送、数据运算等操作,并对外发出地址锁存信号,ALE,、外部程序存储器选通,PSEN,,以及通过,P3.7,和,P3.6,发出数据存储器读,RD,、写,WR,等控制信号,并且接收处理外接的复位信号和外部程序存储器访问控制信号,EA,。,2.3,微处理器,CPU,控制部件及振荡器,单片机的定时控制功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产

20、生方式有两种:内部时钟方式和外部时钟方式。,内部时钟,方式下,外接晶振,的方法如下:,2.3,微处理器,CPU,控制部件及振荡器,采用片内时钟方式时,片内高增益反相放大器通过,XTAL1,、,XTAL2,外接作为反馈元件的晶体与电容组成的并联谐振回路,构成一个自激振荡器向内部时钟电路提供振荡时钟。,振荡器的频率主要取决于晶体的振荡频率,一般晶体可在,1.2,12MHz,之间任选;电容,C1,、,C2,的值则有微调作用,通常取,30pF,左右。,2.3,微处理器,CPU,控制部件及振荡器,采用,外部时钟,方式的电路如下:,2.3,微处理器,CPU,控制部件及振荡器,采用外部时钟方式时,按不同工艺

21、制造的单片机芯片其接法各不相同,见下表所示:,2.3,微处理器,CPU,芯片类型,接 法,XTAL1,XTAL2,HMOS,接地,接片外振荡脉冲输入端,(,带上拉电阻,),CHMOS,接片外振荡脉冲输入端,(,带上拉电阻,),接地,CPU,时序,计算机在执行指令时,是将一条指令分解为若干基本的微操作,这些微操作所对应的脉冲信号在时间上的先后次序称为计算机的时序。,51,单片机的时序由四种周期构成:,振荡周期,:振荡脉冲的周期。,状态周期,:两个振荡周期为一个状态周期,也称为时钟周期,用,S,表示。两个振荡周期作为两个节拍分别称为节拍,P1,和节拍,P2,。在状态周期的前半周期,P1,有效时,通

22、常完成算术逻辑操作;在后半周期,P2,有效时,一般进行内部寄存器之间的传输。,2.3,微处理器,CPU,CPU,时序,机器周期,:一个机器周期包含,6,个状态周期,用,S1,、,S2,、,、,S6,表示;共,12,个节拍,依次可表示为,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P1,、,S6P2,。,指令周期,:是指执行一条指令所占用的全部时间,它以机器周期为单位。,MCS-51,系列单片机除乘法、除法指令是,4,周期指令外,其余都是单周期指令和双周期指令。,若选用,12MHz,晶振,则单周期指令和双周期指令的指令周期时间分别为,1s,和,2s,,乘法和除法指令为,4s,

23、。,2.3,微处理器,CPU,CPU,时序,执行单周期指令的,CPU,时序如下:,2.3,微处理器,CPU,CPU,时序,CPU,在固定时刻执行某种内部操作。在指令的执行过程中,分别在,S1P2,、,S4P2,期间读取指令。指令码被读取后送入指令寄存器,供,CPU,执行,同时,PC,指针加,1,。对于,单周期双字节,指令,,CPU,在,S1P2,期间读取指令,同时,PC,加,1,;在,S4P2,期间读取指令的第,2,个字节,然后,PC,加,1,,此时,PC,将指向下一条指令。,2.3,微处理器,CPU,CPU,时序,对于,单周期单字节,指令,,CPU,在,S1P2,期间读取指令,同时,PC,加

24、,1,,,PC,指向下一条指令;而在,S4P2,期间,CPU,仍将执行读取指令操作,但,CPU,不作任何操作,读取的指令将被丢弃,同时,PC,也不执行加,1,操作。,如果是,单字节双周期,指令,则在两个机器周期内将分,4,次读取指令操作码,但是后,3,次的读取操作均丢弃不用。,2.3,微处理器,CPU,51,单片机存储器结构:,2.4,存储器,多数单片机系统的存储器组织结构与通用微机系统不同,其程序存储器地址空间和数据存储器地址空间是相互独立的。,51,单片机存储器从,物理结构,上可分为片内程序存储器、片外程序存储器,(8031,和,8032,无,),、片内数据存储器和片外数据存储器四部分;从

25、,功能,上可分为程序存储器、片内数据存储器、特殊功能寄存器、位地址空间和片外数据存储器等五部分;按其,寻址空间,可划分为程序存储器、片内数据存储器和片外数据存储器三个独立地址空间。,2.4,存储器,程序存储器,编址与访问,计算机工作时是按照事先编好的程序命令一条条顺序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器,ROM,或,EPROM,组成。计算机为了有序地工作,设置了一个专用寄存器,程序计数器,PC,,用以存放将要执行的指令地址。每取出指令的个字节后,其内容自动加,指向下一字节地址,使计算机依次从程序存储器取出指令予以执行,完成某种程序操作。由于,MCS-51,单

26、片机的程序计数器为,16,位,因此可寻址的地址空间为,64 KB,。,2.4,存储器,程序存储器,编址与访问,51,单片机在物理配置上有片内、片外程序存储器,但在同一个编址空间,其编址规律为:先片内,后片外,片内、片外连续,二者不重叠。,单片机执行指令时,是从片内程序存储器取指,还是从片外程序存储器取指,取决于单片机引脚,EA,电平的高低。当,EA,为高电平时,先执行片内程序存储器的程序,当,PC,值超过片内程序存储器地址最大值时,将自动转去执行片外程序存储器中的程序;当,EA,为低电平时,,CPU,则直接从片外程序存储器中取指令。,2.4,存储器,程序存储器,51,系列单片机程序存储器的编址

27、,2.4,存储器,程序存储器,程序的入口地址,程序地址空间原则上可由用户任意安排,但复位和中断源的,程序入口地址,在,51,单片机中是,固定,的,用户不能修改。单片机复位后,,CPU,将自动从,0000H,地址开始执行程序。当,CPU,响应某个中断处理时,也将自动从其对应的中断入口地址执行中断服务程序。,51,单片机复位及中断入口地址表见下页所示。从表中可以看出,各入口地址相离很近,只有几个字节单元,容纳不下较长的服务程序段,所以在实际中存放的往往是一条,无条件转移,指令,之后跳转到真正的用户程序、中断程序起始地址处。,2.4,存储器,程序存储器,程序的入口地址,2.4,存储器,入口地址,操

28、作,0000H,复位,0003H,外部中断,0,000BH,定时器,/,计数器,0,溢出,0013H,外部中断,1,001BH,定时器,/,计数器,1,溢出,0023H,串行口中断,002BH,定时器,/,计数器,2,溢出或,T2EX,端负跳变,(52,子系列,),数据存储器,编址与访问,51,单片机片内、片外数据存储器是两个独立的地址空间,分别单独编址。片内数据存储器除,RAM,块外,还有,特殊功能寄存器,(SFR),块,。对于,51,子系列,前者有,128,个字节,其编址为,00H,7FH,;后者有,128,个字节,其编址为,80H,FFH,;二者连续但不重叠。对于,52,子系列,前者有,

29、256,个字节,其编址为,00H,FFH,;后者有,128,个字节,其编址为,80H,FFH,。后者与前者的高,128,个字节的编址是重叠的。由于访问它们所用的指令,(,寻址方式,),不同,所以并不会引起混乱。片外数据存储器一般是,16,位编址,但也可按,8,位寻址。,2.4,存储器,数据存储器,51,系列单片机数据存储器的编址,2.4,存储器,数据存储器,编址与访问,51,单片机片外扩展时,如果只扩展少量的片外数据存储器,且容量不超过,256,字节,则可按,8,位进行编址,其地址范围为,00H,FFH,。这种情况下,其地址空间与片内数据存储器重叠,但,访问,片内、片外数据存储器所使用的,指令

30、不同,,所以不会造成混淆。,片外数据存储器按,16,位编址时,其地址空间与程序存储器重叠。但也不会引起混乱,访问程序存储器是使用,PSEN,信号选通,而访问片外数据存储器时是由读信号,(RD),和写信号,(WR),选通的。,2.4,存储器,片内数据存储器,工作寄存器区,片内,00H,1FH,单元为工作寄存器区,用于临时寄存,8,位信息。工作寄存器分为,4,组,每组都有,8,个寄存器,用,R0,R7,来表示。程序中每次只使用,1,组,其它各组均不工作。使用哪一组寄存器是由程序状态字,PSW,中的,PSW.3(,RS0,),和,PSW.4(,RS1,),来选择的,其对应关系如表,2.4,所示。,通

31、过,软件设置,RS0,和,RS1,两位的状态,就可任意选一组工作寄存器工作。这个特点使,MCS-51,单片机具有快速现场保护功能,对于提高程序效率和响应中断的速度是很有利的。,2.4,存储器,片内数据存储器,工作寄存器区,2.4,存储器,片内数据存储器,工作寄存器组的选择表,2.4,存储器,PSW.4(RS1),PSW.3(RS0),当前使用的工作寄存器组,0,0,0,组(,00H,07H,),0,1,1,组(,08H,0FH,),1,0,2,组(,10H,17H,),1,1,3,组(,18H,1FH,),片内数据存储器,位寻址区,片内,20H,2FH,单元是位寻址区。这,16,个单元,(,共

32、计,168=128,位,),的每一位都赋予了一个,位地址,,位地址编址的范围为,00H,7FH,。,位寻址区的每一位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存于位寻址区内。,2.4,存储器,片内数据存储器,位寻址区,2.4,存储器,片内数据存储器,数据缓冲区,30H,7FH,是数据缓冲区,也即,用户,RAM,区,,共,80,个单元。,由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,因此这三个区的单元既有自己独特的功能,又可统一调度使用。前两个区未使用的单元也可作为用户,RAM,单元使用,使容量较小的片内,RAM,得以充分利用。,52,

33、子系列片内,RAM,有,256,个单元,前两个区的单元数与地址都和,51,子系列的一致,用户,RAM,区却为,30H,FFH,,有,208,个单元。,2.4,存储器,片内数据存储器,堆栈与堆栈指针,堆栈是按照“,先进后出,”或“,后进先出,”的原则进行读,/,写的特殊,RAM,区域。,MCS-51,单片机的堆栈区是不固定的,原则上可设置在片内,RAM,的任意区域内。,2.4,存储器,片内数据存储器,堆栈与堆栈指针,在堆栈的实际应用中,应避开工作寄存器区、位寻址区和用户实际使用的数据区,一般设在,2FH,地址单元之后的数据缓冲区中。堆栈栈顶的位置由专用的,堆栈指针寄存器,SP,指出。,51,单片

34、机的,SP,是,8,位寄存器,堆栈为“,向上生长型,”,即栈顶地址总是大于栈底地址的。堆栈从栈底地址单元开始,向高端地址延伸。,2.4,存储器,片内数据存储器,堆栈与堆栈指针,当,CPU,执行压栈操作时,先执行,SP,加,1,的操作,然后再存入数据;当数据从堆栈弹出之后,,SP,的值自动减,1,。,注意:,51,单片机复位后,SP,的初值为,07H,,所以堆栈实际上是从,08H,开始存放数据的。,用户必须重新给,SP,赋值以规定其栈底位置。,2.4,存储器,片内数据存储器,特殊功能寄存器,特殊功能寄存器,(SFR,,即,Special Function Registers),又称为专用寄存器,

35、专用于控制、管理片内算术逻辑部件、并行,I/O,口、串行,I/O,口、定时器,/,计数器、中断系统等功能模块的工作。用户在编程时可以设置参数,却不能随意移作它用。,在,51,子系列单片机中,各专用寄存器,(PC,例外,),与片内,RAM,统一编址,且作为直接寻址字节,可直接寻址。,2.4,存储器,片内数据存储器,特殊功能寄存器,除,PC,外,,51,子系列,有,18,个,专用寄存器,其中,3,个为双字节寄存器,共占用,21,个字节;,52,子系列,有,21,个,专用寄存器,其中,5,个双字节寄存器,共占用,26,个字节。按地址排列的各特殊功能寄存器名称、表示符、地址等如表,2.5,所示。其中有

36、,12,个,专用寄存器,可以位寻址,,其字节地址的低半字节都为,0H,或,8H(,即可位寻址的特殊功能寄存器字节地址具有能被,8,整除的特征,),,共有可寻址位,128,3(,未定义,)=93,位。,2.4,存储器,2.4,存储器,序号,标识符,名 称,字节地址,位地址,1,ACC,累加器,E0H,E0H,E7H,2,B,B,寄存器,F0H,F0H,F7H,3,PSW,程序状态字,D0H,D0H,D7H,4,SP,堆栈指针,81H,5,DPTR,数据指针(,DPH,,,DPL,),83H,、,82H,6,P0,P0,口,80H,80H,87H,7,P1,P1,口,90H,90H,97H,8,P

37、2,P2,口,A0H,A0H,A7H,9,P3,P3,口,B0H,B0H,B7H,10,IP,中断优先级控制寄存器,B8H,B8H,BFH,11,IE,中断允许控制寄存器,A8H,A8H,AFH,12,TOMD,定时器,/,计数器方式控制寄存器,89H,2.4,存储器,13,TCON,定时器,/,计数器控制寄存器,88H,88H,8FH,14,T2CON,定时器,/,计数器,2,控制寄存器,C8H,C8H,CFH,15,TH0,定时器,/,计数器,0,(高字节),8CH,16,TL0,定时器,/,计数器,0,(低字节),8AH,17,TH1,定时器,/,计数器,1,(高字节),8DH,18,T

38、L1,定时器,/,计数器,1,(低字节),8BH,19,TH2,定时器,/,计数器,2,(高字节),CDH,20,TL2,定时器,/,计数器,2,(低字节),CCH,21,RLDH,定时器,/,计数器,2,重自动装载(高字节),CBH,22,RLDL,定时器,/,计数器,2,重自动装载(低字节),CAH,23,SCON,串行口控制寄存器,98H,98H,9FH,24,SBUF,串行数据缓冲器,99H,25,PCON,电源控制及波特率选择寄存器,97H,片内数据存储器,特殊功能寄存器,注意,:在,SFC,块的地址空间,80H,FFH,中,仅有,21,个(,51,子系列)或,26,个(,52,子系

39、列)字节作为特殊功能寄存器离散分布在这,128,个字节范围内。,其余字节无定义,,但用户不能对这些字节进行读,/,写操作;若对其进行访问,则将得到一个不确定的随机数,因此是没有任何意义的。,2.4,存储器,51,单片机存储器结构可总结如下:,2.4,存储器,51,系列单片机有,4,个,8,位的并行输入,/,输出接口:,P0,、,P1,、,P2,、,P3,口。这,4,个口既可以并行输入或输出,8,位数据,又可以按位使用,即每一位均能独立地作为输入口或输出口使用。,每个口的功能虽有所不同,但都有一个锁存器,称为,口锁存器,,也即特殊功能寄存器,P0,P3,。除此之外还有一个,输出驱动器,和两个,三

40、态缓冲器,(P3,口为三个,),。下面将分别介绍各口的结构、原理及功能。,2.5,并行输入,/,输出接口,P0,口,P0,口的结构,P0,口是一个,三态双向口,,可作为,地址,/,数据分时复用口,,也可作为,通用,I/O,接口,。其,1,位的结构原理如下页图所示。,P0,口由,8,个这样的电路组成。锁存器起输出锁存作用,,8,个锁存器构成了特殊功能寄存器,P0,;场效应管,(FET)V1,、,V2,组成输出驱动器,以增大带负载能力;三态门,1,是引脚输入缓冲器;三态门,2,用于读锁存器端口;与门,3,、反相器,4,及模拟转换开关构成了输出控制电路。,2.5,并行输入,/,输出接口,P0,口,P

41、0,口的结构,2.5,并行输入,/,输出接口,P0,口,P0,口的地址,/,数据分时复用功能,当,P0,口作为地址,/,数据分时复用总线时,可分为两种情况:一种是从,P0,口输出地址或数据,另一种是从,P0,口输入数据。,2.5,并行输入,/,输出接口,P0,口,P0,口的地址,/,数据分时复用功能,在访问片外存储器而需从,P0,口输出地址或数据信号时,控制信号应为高电平,“,1”,,使转换开关,MUX,把反相器,4,的输出端与,V1,接通,同时把与门,3,打开。当地址或数据为,“,1”,时,经反相器,4,使,V1,截止,而经与门,3,使,V2,导通,,P0.x,引脚上出现相应的高电平,“,1

42、”,;当地址或数据为,“,0”,时,经反相器,4,使,V1,导通而,V2,截止,引脚上出现相应的低电平,“,0”,。这样即可将地址,/,数据的信号输出。,2.5,并行输入,/,输出接口,P0,口,通用,I/O,接口功能,当,P0,口作为通用,I/O,口使用,在,CPU,向端口输出数据时,对应的控制信号为,0,,转换开关把输出级与锁存器,Q,端接通,同时因与门,3,输出为,0,使,V2,截止,此时,输出级是漏极开路电路。当写脉冲加在锁存器时钟端,CLK,上时,与内部总线相连的,D,端数据取反后出现在,Q,端,又经输出,V1,反相,在,P0,引脚上出现的数据正好是内部总线的数据。当要从,P0,口输

43、入数据时,引脚信息仍经输入缓冲器进入内部总线。,2.5,并行输入,/,输出接口,P0,口,通用,I/O,接口功能,当,P0,口作为通用,I/O,接口时应注意以下两点:,(,1,)在输出数据时,由于,V2,截止,输出级是漏极开路电路,要使,“,1”,信号正常输出,必须,外接上拉电阻,。,(,2,),P0,口作为通用,I/O,口使用时,是,准双向口,。其特点是在输入数据时,应先把该口置,1(,写,1),,此时锁存器的,Q,端为,0,,使输出级的两个场效应管,V1,、,V2,均截止,引脚处于悬浮状态,才可作高阻输入。,2.5,并行输入,/,输出接口,P0,口,准双向口的含义,端口的每一位均可定义为输

44、入,/,输出,但是作为输入时,必须先向该位的口锁存器写,“,1”,。,这是因为从,P0,口引脚输入数据时,,V2,一直处于截止状态,引脚上的外部信号既加在三态缓冲器,1,的输入端,又加在,V1,的漏极。假定在此之前曾输出锁存过数据,0,,则,V1,是导通的,这样引脚上的电位就始终被箝位在低电平,使输入高电平无法读入。,2.5,并行输入,/,输出接口,P0,口,准双向口的含义,因此,在输入数据时,应人为地先向口写“,1”,,使,V1,、,V2,均截止,方可高阻输入。所以说,P0,口作为通用,I/O,口使用时,是准双向口。,但在,P0,口,用作地址,/,数据分时复用,功能连接外部存储器时,由于访问

45、外部存储器期间,,CPU,会,自动,向,P0,口的锁存器,写入,0FFH,,对用户而言,,P0,口此时则是真正的三态双向口。,2.5,并行输入,/,输出接口,P0,口,对,I/O,口的读操作有两种:,(,1,),读端口锁存器,状态,即端口操作;,例:,ANL P0,,,A,(,2,),读口引脚,上的外部输入信息。,例:,MOV A,,,P0,2.5,并行输入,/,输出接口,P0,口,端口操作,MCS-51,单片机有不少指令可直接进行端口操作:,ANL P0,,,A,;,(P0)(P0)(A),ORL P0,,,#data,;,(P0)(P0)data,DEL P0,;,(P0)(P0)1,这些

46、指令的执行过程分成“读,-,修改,-,写”三步:先将,P0,口的数据读入,CPU,,在,ALU,中进行运算,运算结果再送回,P0,。,注意:读取的是口锁存器信息,不是引脚信息,。,2.5,并行输入,/,输出接口,P0,口,端口操作,执行“读,-,修改,-,写”类指令时,,CPU,是通过三态门,2,读回锁存器,Q,端的数据来代表引脚状态的。如果直接通过三态门,1,从引脚读回数据,有时会发生错误。例如,用一根口线去驱动一个晶体管的基极,当向此口线输出,1,时,锁存器,Q=1,,,V2,导通驱动晶体管。当晶体管导通后,引脚上的电平被拉到低电平,(0.7V),。所以如果从引脚直接读回数据,原为“,1”

47、,的状态则会错读为“,0”,,也就是说要从锁存器,Q,端读取数据。,2.5,并行输入,/,输出接口,P0,口,综上所述,,P0,口在有外部扩展存储器时被作为地址,/,数据总线口,此时是一个真正的双向口;在没有外部扩展存储器时,,P0,口也可作为通用的,I/O,接口,但此时只是一个准双向口。,另外,,P0,口的输出级具有驱动,8,个,LSTTL,负载的能力,即输出电流不大于,800A,。,2.5,并行输入,/,输出接口,P1,口,P1,口为准双向口,其,1,位的内部结构如下所示。,2.5,并行输入,/,输出接口,P1,口,P1,口在结构上与,P0,口的区别主要在于输出驱动部分,其输出驱动部分是由

48、场效应管,V1,与,内部上拉电阻,组成的。当其某位输出为高电平时,可以提供拉电流负载,不必像,P0,口那样需要外接上拉电阻。,P1,口只有通用,I/O,接口一种功能,(,对,51,子系列,),,其输入输出原理特性与,P0,口作为通用,I/O,接口使用时一样。,P1,口具有驱动,4,个,LSTTL,负载的能力。,52,子系列单片机,P1,口中的,P1.0,与,P1.1,除作为通用,I/O,接口线外,还具有第二功能。,2.5,并行输入,/,输出接口,P2,口,P2,口也是准双向口,它具有通用,I/O,口和高,8,位地址总线输出两种功能,其,1,位的结构如下所示。,2.5,并行输入,/,输出接口,P

49、2,口,当,P2,口作为准双向通用,I/O,口使用时,控制信号使转换开关,MUX,接向左侧,锁存器输出,Q,端经反相器,3,接,V1,,其工作原理与,P1,口相同,也具有输入、输出、端口操作三种工作方式,负载能力也与,P1,口相同。,2.5,并行输入,/,输出接口,P2,口,当,P2,口作为外部扩展存储器的高,8,位地址总线使用时,控制信号使转换开关,MUX,接向右侧,由程序计数器,PC,来的高,8,位地址,PCH,,或数据指针,DPTR,来的高,8,位地址,DPH,经反相器,3,和,V1,原样呈现在,P2,口的引脚上,输出高,8,位地址,A8,A15,。在上述情况下,口锁存器的内容不受影响,

50、所以,取指或访问外部存储器结束后,由于转换开关又接至左侧,使输出驱动器与锁存器,Q,端相连,引脚上将恢复原来的数据。,2.5,并行输入,/,输出接口,P3,口,P3,口的,1,位结构如下图所示。,2.5,并行输入,/,输出接口,P3,口,P3,口的输出驱动由与非门,3,和,V1,组成,比,P0,口、,P1,口和,P2,口多了一个缓冲器,4,。,P3,口除了可作为通用准双向,I/O,接口外,每一根口线还具有第二功能。,当,P3,口作为通用,I/O,口使用时,“第二功能输出”线为高电平,使与非门,3,的输出取决于口锁存器的状态。这种情况下,,P3,口仍是一个准双向口,其工作方式、负载能力均与,P1

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服