《单片机的结构》PPT课件.ppt

上传人:牧羊曲112 文档编号:5475511 上传时间:2023-07-11 格式:PPT 页数:36 大小:1.45MB
返回 下载 相关 举报
《单片机的结构》PPT课件.ppt_第1页
第1页 / 共36页
《单片机的结构》PPT课件.ppt_第2页
第2页 / 共36页
《单片机的结构》PPT课件.ppt_第3页
第3页 / 共36页
《单片机的结构》PPT课件.ppt_第4页
第4页 / 共36页
《单片机的结构》PPT课件.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《《单片机的结构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机的结构》PPT课件.ppt(36页珍藏版)》请在三一办公上搜索。

1、第02讲 单片机的结构(综述),电气信息实验教学中心仝迪,一、单片机的引脚,单片机的引脚随器件类型的不同,有着显著的差异,本课程以DIP40封装的AT89S52单片机为例,进行单片机外部引脚和内部结构的介绍,一、单片机的引脚,1主电源引脚VCC(40脚):接+5 V电源正端。GND(20脚):接+5 V电源地端。2外接晶体引脚XTAL(18、19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,19脚作为外部振荡信号的输入端。,一、单片机的引脚,3输入/输出引脚(1)P0口(3932脚):P0.0P0.7统称为P0口。在不接片外

2、存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。(2)P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。,一、单片机的引脚,(3)P2口(2128脚):P2.0P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(1017脚):P3.0P3.7

3、统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。,一、单片机的引脚,P3口的第二功能,一、单片机的引脚,4控制线(1)ALE/PROG(30脚):地址锁存有效信号输出端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。,一、单片机的引脚,(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。(3

4、)RST(9脚):RST即为RESET。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10 ms以上才能保证有效复位。,一、单片机的引脚,(4)EA/VPP(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内含有EPROM的机型,在编程期间,此引脚用作编程电源VPP的输入端。,一、单片机的引脚,综上所述,MCS-51系列单片机的引脚可归纳为以下两点:(1)单片

5、机功能多,引脚数少,因而许多引脚都具有第二功能。(2)单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此,可使片外存储器的寻址范围达到64 KB。,二、单片机的内部结构,二、单片机的内部结构,从图中可看出,51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。图中SP是堆栈指针寄存器,PC是程序计数器,PSW是程序状态字寄存器,DPTR是数据指针寄存器。,二、

6、单片机的内部结构,1.存储器 单片机的存储空间按存储类型的不同可分为程序存储器和数据存储器两个部分,但根据存储的位置不同,又可以分为片内(程序/数据)存储区和片外(程序/数据)存储区。89C51单片机片内存储器采用的是哈佛结构,即程序存储器和数据存储器分开存储。因此,89C51的片内存储器分为4KB(即212)程序存储器和256B数据存储器,其中数据存储器的高128B单元为SFR区,被专用寄存器占用,低128 B单元可供用户使用。,二、单片机的内部结构,在用C51编程中,存储区分为CODE区(程序代码区)、DATA区(普通内存区)、BDATA区(位寻址区)、IDATA区(间接寻址区)、SFR区

7、(特殊功能寄存器区)和XDATA区(片外存储区)、PDATA区(片外低256 B分页寻址区)。51单片机实际的硬件存储区称为物理存储区,51编程用到的存储区称为逻辑分区。两者的关系如图所示。,二、单片机的内部结构,图1.3 物理存储区与逻辑存储区的对应关系图,二、单片机的内部结构,(1)程序存储器(CODE)89C51的程序存储器是用来存放一段编写好的程序、表格或数据,片内外的程序存储器是统一编址的,CPU可通过引脚EA所接的电平来确定访问片内程序存储器。当EA=1,程序将从片内程序存储器开始执行,即PC的值在0000H0FFFH的范围内,当PC的值超过片内ROM的容量(4K)时,会自动转向片

8、外程序存储器空间执行程序,即PC的值为1000HFFFFH。当EA=0,程序将从片外程序存储器开始执行。,二、单片机的内部结构,(2)片内数据存储器低128B单元数据存储器用来存放运算的中间结果,数据暂存和缓冲、标志位以及待测试的程序等。89C51片内有128B的RAM单元,其地址范围为00HFFH,分为两大部分:高128 B(80HFFH)为特殊功能寄存器区,简称SFR;低128 B(00H7FH)为真正的RAM区。89C51片内RAM存储器的组成如图所示。,二、单片机的内部结构,89C51单片机真正的片内数据存储单元共有128个,字节地址为00H7FH。,二、单片机的内部结构,寄存器区(0

9、0H-1FH)这部分共有32个单元,是4组通用工作寄存器区,每个区含8个8位寄存器,编号为R0R7,可通过PSW(程序状态字)中的RS0和RS1设定值来选择使用哪一组的寄存器,RS1、RS0与片内工作寄存器组的对应关系如表1.1所示。表1.1 RS1、RS0与片内工作寄存器组的对应关系,二、单片机的内部结构,位寻址区(20H2FH)MCS-51单片机指令系统中有丰富的位操作指令。其中,处于内部RAM字节地址20H-2FH单元中的16个单元可进行共128位的位地址。位寻址区的分配如表1.2所示。,表1.2 位寻址区地址分配表,二、单片机的内部结构,位寻址方式指操作数是二进制的一位(0或1)的寻址

10、方式,这个存储区如果要进行按位寻址时在C51中对应着BDATA区。如果进行字节寻址,要是直接寻址时采用DATA方式,如果是间接寻址采用的是IDATA方式。字节地址30H7FH为用户区这部分存储空间中只能进行字节寻址,共有80字节,可以用作堆栈或数据缓冲区。,二、单片机的内部结构,(3)SFR区SFR(特殊功能寄存器)指的是片内数据存储区的高128B单元,即在这个存储空间中用于存放控制命令、状态或数据。除PC外,还有21个特殊功能寄存器,离散的分布在该区域中,地址空间为80HFFH,其中11个特殊功能寄存器还可以进行按位寻址,表1.3是SFR的名称及其分布,下面将对部分专用寄存器分类作简要介绍。

11、这部分在C51中如果是直接寻址方式对应着SFR;如果采用间接寻址方式,对应着IDATA。这部分物理存储区和逻辑存储区的对应关系如图1.3中所示。,二、单片机的内部结构,二、单片机的内部结构,与算数运算相关的寄存器,如B寄存器、A累加器及PSW程序状态字B寄存器:B是一个通用寄存器,在做乘除运算时,用于暂存数据;A累加器:是ACC的简写,用来存放ALU运算的中间结果,常常作为数据的中转站;PSW(Program Status Word)程序状态字:8位的程序状态字寄存器,用于指示指令执行后的状态信息,供程序查询和判别使用。与中断控制有关的寄存器,如IP、IE。中断优先级控制(IP)用来确定中断优

12、先级的顺序;中断允许控制寄存器(IE)用来确定是否允许中断。,二、单片机的内部结构,与串行通信有关的寄存器,如SBUF、SCON。串行数据缓冲(SBUF)用于存放待发送或已接受的数据,它由发送缓冲器和接收缓冲器两个独立的寄存器组成;串行口控制寄存器(SCON)常和SBUF一起进行串口通信时使用。与定时/计数有关寄存器,如TH0、TL0、TH1、TL1及TMOD、TCON.89C51中有两个16位的定时/计数器,分别是T0和T1,它们分别由两个8位的寄存器组成,即TH0、TL0和TH1、TL1;定时/计数器方式控制字(TMOD)用来选择两个定时器计数器的工作方式;在定时/计数时,定时/计数器控制

13、字(TCON)常和TMOD联合使用。,二、单片机的内部结构,指针类寄存器,如DPTR、SP。数据指针DPTR为一个16位的专用寄存器,其高位用DPH表示,低位用DPL表示,它既可以作为一个16位的寄存器来使用,也可作为两个8位的寄存器DPH和DPL使用,DPTR在访问外部数据存储器时既可用来存放16位地址,也可作为地址指针使用。堆栈是数据区域中一个存放数据地址的特殊区域,主要用来存放暂存数据和地址,是按先进后出的原则存储。堆栈指针SP初值是一个8位专用寄存器,指示出堆栈顶部在片内RAM区的位置。系统复位后,SP的初值为07H,实际堆栈操作是从08H开始的。此外,指针还有程序指针PC、数据指针R

14、0和R1。R0和R1位于片内数据存储区的00H1FH中的寄存器区。,二、单片机的内部结构,端口P0P3 P0P3为4个8位的特殊功能寄存器,分别是4个并行I/O端口的锁存器,当I/O端口的某一位用作输入时,对应的锁存器必须先置“1”。(4)片外数据存储区(PDATA、XDATA)在C51中外部数据存储区常用PDATA、XDATA表示。XDATA表示用DPTR间接访问外部64 K的存储空间,因为DPTR是16位的寄存器,故用DPTR访问外部数据存储空间时可达到 的范围,即可在0000HFFFFH范围内。PDATA表示用R0、R1访问而外部数据存储区中的低256 B字节区,因为R0、R1都是8位的

15、寄存器,因而用R0、R1访问时最大可达到 的范围内,即在00HFFH的范围内进行访问。,二、单片机的内部结构,总之,在使用C51进行编程时,物理分区和逻辑分区的对应关系如图1.3所示,但是要注意编程时采用的寻址方式。若采用直接寻址方式,DATA用来表示物理存储区为00H7FH的片内数据存储区内共128 B单元的存储区;BDATA用来位寻址,字节地址00HFFH的片内数据存储范围内共16 B单元128位;SFR表示片内数据存储区的80HFFH范围;CODE表示片内/外的64K程序存储空间;若采用间接寻址时,IDATA表示整个片内00-FFH共256 B存储单元;PDATA、XDATA表示外部数据

16、存储单元。直接寻址和间接寻址方式的区别就要看存储区中直接给出的是源操作数还是源操作数的地址。,二、单片机的内部结构,2.CPU了解单片机的存储器结构以后,有必要了解一下CPU。从图1.2中可以看出,单片机内部最核心的部分是CPU,它能处理8位二进制数和代码,完成各种数据运算和逻辑控制。CPU在功能上可以分为运算器和控制器两个部分,下面分别对这两个部分进行介绍。(1)运算器运算器的功能是对操作数进行算术、逻辑运算和位操作(布尔操作)。主要包括算术逻辑运算单元ALU、累加器A、寄存器B、位处理器、程序状态字寄存器PSW以及BCD码修正电路等。ALU(Arithmetic Logic Unit,逻辑

17、运算单元)。ALU由加法器和逻辑电路构成,可对数据进行与、或、异或、求补、移位等逻辑运算,四则运算、加1、减1以及BCD码调整等算数运算。,二、单片机的内部结构,A(Accumulator)累加器。A累加器是累加器ACC的简写,用来存放ALU运算的中间结果,常常作为数据的中转站。累加器为8位寄存器,是程序中最常用的专用寄存器,在指令系统中累加器的助记符为A。B寄存器。B寄存器为8位寄存器,主要用于乘除指令中。在做乘除运算时,用于暂存数据。乘法指令中,两个操作数分别取自A和B,结果存于B中。在除法指令中,A为被除数,B为除数,结果商存放A中,余数存放B中。在其他指令中,B寄存器也可作为一般的数据

18、单元来使用。,二、单片机的内部结构,PSW(Program Status Word)。PSW是一个8位寄存器,它包含程序的状态信息。在状态字中,有些位状态是根据指令执行结果,由硬件自动完成设置,而有些状态位则必须通过软件方法设定。PSW中的每一位可以作为一个程序执行结果的标志位,指令执行时可以根据测试PSW中某一位的状态作出决定。PSW中各位的信息如图所示:,二、单片机的内部结构,CY:进位位,在加法运算有进位,减法运算有借位时,CY由硬件置1,否则清零,在进行位运算时,CY简写为C,常作为位累加器。AC:辅助进位位,当低4位向高4位进位或借位时,AC置“1”。在进行BCD码调整指令时,AC可

19、以作为判断位。F0:用户标志位,由用户置位或者复位。RS1,RS0:工作寄存器组选择位,通过这两位的值可以选择当前的工作寄存器组。P:奇偶标志位,是判断A累加器中8位内容中1的个数是奇数还是偶数个。通过这一位,可以提高串行通信的可靠性。每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性,若累加器中1的个数为奇数,则P1,否则P0。,二、单片机的内部结构,OV:溢出标志位,当进行补码运算时,如果运算结果产生溢出,OV置“1”。当执行算术指令时,由硬件置位或清零来指示溢出状态。在带符号的加减运算中,OV1表示加减运算结果超出了累加器A所能表示的符号数有效范围(128127),即运算结

20、果是错误的;反之,OV0表示运算正确,即无溢出产生。无符号数乘法指令MUL的执行结果也会影响溢出标志,若置于累加器A和寄存器B的两个数的乘积超过了255,则OV1;反之,OV0。由于乘积的高8位存放于B中,低8位存放于A中,OV0则意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积结果。在除法运算中,DIV指令也会影响溢出标志,当除数为0时,OV1,否则OV0.,二、单片机的内部结构,(2)控制器控制器是单片机的指挥控制部件。控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。程序指针PC:16位的程序计数器,由8位的PCH和PC

21、L组成,用于将要存放的下一条指令的地址。通过改变PC的值,可以改变程序的执行方向。数据指针DPTR:16位的数据地址寄存器,由8位的DPH和DPL组成,在对片外存储器扩展时,常用DPTR进行间接寻指;在访问程序存储器时,可以作为基址寄存器使用。指令寄存器:8位的寄存器,用于存放待执行的指令,等待译码。指令译码器:对指令进行译码,将指令转变为所需要的电信号,根据译码器的输出信号,在经过定时控制电路定时产生执行该指令所需要的各种控制信号。,二、单片机的内部结构,3.定时/计数器89C51单片机中定时/计数器T0、T1分别由两个相互独立的8位寄存器组成TH0、TL0和TH1、TL1组成,有4种工作方

22、式分别是:方式0工作时,使用低字节的5位和高字节的8位组成13位的计数器。方式1工作时,使用低字节和高字节组成16位计数器。方式2工作时,是自动预置方式的8位计数器,其使用低字节的8位作为计数器,高字节的8位作为预置常数的寄存器。方式3只适用于定时器计数器T0,T0分为两个独立的8位计数器,即TH0、TL0。,二、单片机的内部结构,4.中断系统89C51共有5个中断源,其中2个是外部中断,3个是内部中断。89C51单片机的5个中断源分成高和低2个优先级别,每一个中断请求源都可以编程设置为高优先级中断或低优先级中断,能实现两级中断嵌套。应用中可以通过设置4个与中断有关的特殊功能寄存器中的状态位,来使用MCS-51单片机的中断系统。这4个特殊功能寄存器分别是定时器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)、中断优先级控制寄存器(IP)。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号