《《单片机的结构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机的结构》PPT课件.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第02讲 单片机的结构(综综述)述)电气信息实验教学中心电气信息实验教学中心仝迪仝迪一、一、单片机的引脚片机的引脚单片机的引脚随器件类型的不同,有着显著的差异,本课程以DIP40封装的AT89S52单片机为例,进行单片机外部引脚和内部结构的介绍一、一、单片机的引脚片机的引脚 1主主电源引脚源引脚VCC(40脚):接+5 V电源正端。GND(20脚):接+5 V电源地端。2外接晶体引脚外接晶体引脚XTAL(18、19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,19脚作为外部振荡信号的输入端。一、一、单片机的引脚片机的引脚 3
2、输入入/输出引脚出引脚(1)P0口(3932脚):P0.0P0.7统称为P0口。在不接片外存储器与不扩展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
3、口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(1017脚):P3.0P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。一、一、单片机的引脚片机的引脚P3口的第二功能编号 功能描述P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2/INT0 外部中断0请求输入端,低电平有效P3.3/INT1 外部中断1请求输入端,低电平有效P3.4T0定时器/计数器0计数脉冲输入端P3.5T1定时器/计数器1计数脉冲输入端P3.6/WR外部数据存储器读写选通信号输出端低电平有效P3.7
4、/RD一、一、单片机的引脚片机的引脚 4控制控制线(1)ALE/PROG(30脚):地址锁存有效信号输出端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。一、一、单片机的引脚片机的引脚(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。(3)RST(9脚):RST即为RESET。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就
5、可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10 ms以上才能保证有效复位。一、一、单片机的引脚片机的引脚(4)EA/VPP(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内含有EPROM的机型,在编程期间,此引脚用作编程电源VPP的输入端。一、一、单片机的引脚片机的引脚 综上所述,MCS-51系列单片机的引脚可归纳为以下两点:(1)单片机功能多,引脚数少,因而许多引脚都具有第二功能。(2)单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;由P
6、0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此,可使片外存储器的寻址范围达到64 KB。二、二、单片机的内部片机的内部结构构二、二、单片机的内部片机的内部结构构 从图中可看出,51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。图中SP是堆栈指针寄存器,PC是程序计数器,PSW是程序状态字寄存器,DPTR是数据指针寄存器。二、二、单片机的内部片机的内部结构构1.存储器 单片机的存储空间按存储类型的不同可分为程序存储器
7、和数据存储器两个部分,但根据存储的位置不同,又可以分为片内(程序/数据)存储区和片外(程序/数据)存储区。89C51单片机片内存储器采用的是哈佛结构,即程序存储器和数据存储器分开存储。因此,89C51的片内存储器分为4KB(即212)程序存储器和256B数据存储器,其中数据存储器的高128B单元为SFR区,被专用寄存器占用,低128 B单元可供用户使用。二、二、单片机的内部片机的内部结构构在用C51编程中,存储区分为CODE区(程序代码区)、DATA区(普通内存区)、BDATA区(位寻址区)、IDATA区(间接寻址区)、SFR区(特殊功能寄存器区)和XDATA区(片外存储区)、PDATA区(片
8、外低256 B分页寻址区)。51单片机实际的硬件存储区称为物理存储区,51编程用到的存储区称为逻辑分区。两者的关系如图所示。二、二、单片机的内部片机的内部结构构FFH 外部低外部低256BFFFFH0000H00FFH64KB外部外部数数据据存存储区区SFR特殊功能特殊功能寄存器寄存器区区用用户区区位位寻址址区区寄存器寄存器区区80H7FH30H2FH20H1FH00H0000H片片内内/外程序外程序存存储区区CODEFFFFHBDATADATAPDATASFRIDATAXDATA图图1.31.3 物理存储区与逻辑存储区的对应关系图物理存储区与逻辑存储区的对应关系图二、二、单片机的内部片机的内
9、部结构构(1)程序存储器(CODE)89C51的程序存储器是用来存放一段编写好的程序、表格或数据,片内外的程序存储器是统一编址的,CPU可通过引脚EA所接的电平来确定访问片内程序存储器。当当EA=1,程序将从片内程序存,程序将从片内程序存储器开始器开始执行,即行,即PC的的值在在0000H0FFFH的范的范围内,当内,当PC的的值超超过片内片内ROM的的容量(容量(4K)时,会自,会自动转向片外程序存向片外程序存储器空器空间执行程序,行程序,即即PC的的值为1000HFFFFH。当当EA=0,程序将从片外,程序将从片外程序存程序存储储器开始器开始执执行行。二、二、单片机的内部片机的内部结构构(
10、2)片内数据存储器低128B单元数据存储器用来存放运算的中间结果,数据暂存和缓冲、标志位以及待测试的程序等。89C51片内有128B的RAM单元,其地址范围为00HFFH,分为两大部分:l高高128 B(80HFFH)为特殊功能寄存器区,特殊功能寄存器区,简称称SFR;l低低128 B(00H7FH)为真正的真正的RAM区。区。89C51片内RAM存储器的组成如图所示。二、二、单片机的内部片机的内部结构构SFR特殊功能寄存器特殊功能寄存器区区用用户区区位位寻址址区区寄存器寄存器区区FFH80H7FH30H2FH20H1FH00HIDATADATABDATASFR 89C51单片机真正的片内数据
11、存储单元共有128个,字节地址为00H7FH。二、二、单片机的内部片机的内部结构构寄存器区(寄存器区(00H-1FH00H-1FH)这这部部分分共共有有3232个个单单元元,是是4 4组组通通用用工工作作寄寄存存器器区区,每每个个区区含含8 8个个8 8位位寄寄存存器器,编编号号为为R0R0R7R7,可可通通过过PSWPSW(程程序序状状态态字字)中中的的RS0RS0和和RS1RS1设设定定值值来来选选择择使使用用哪哪一一组组的的寄寄存存器器,RS1RS1、RS0RS0与与片片内工作寄存器组的对应关系如表内工作寄存器组的对应关系如表1.11.1所示。所示。表表1.1 RS1、RS0与片内工作寄
12、存器与片内工作寄存器组的的对应关系关系二、二、单片机的内部片机的内部结构构位寻址区位寻址区(20H(20H2FH)2FH)MCS-51MCS-51单单片片机机指指令令系系统统中中有有丰丰富富的的位位操操作作指指令令。其其中中,处处于于内内部部RAMRAM字字节节地地址址20H-2FH20H-2FH单单元元中中的的1616个个单单元元可可进行共进行共128128位的位地址。位的位地址。位位寻寻址址区区的的分分配配如如表表1.21.2所示。所示。表表1.2 1.2 位寻址区地址分配表位寻址区地址分配表二、二、单片机的内部片机的内部结构构 位寻址方式指操作数是二进制的一位(0或1)的寻址方式,这个存
13、储区如果要进行按位寻址时在C51中对应着BDATA区。如果进行字节寻址,要是直接寻址时采用DATA方式,如果是间接寻址采用的是IDATA方式。字节地址30H7FH为用户区这部分存储空间中只能进行字节寻址,共有80字节,可以用作堆栈或数据缓冲区。二、二、单片机的内部片机的内部结构构(3)SFR区SFR(特殊功能寄存器)指的是片内数据存储区的高128B单元,即在这个存储空间中用于存放控制命令、状态或数据。除PC外,还有21个特殊功能寄存器,离散的分布在该区域中,地址空间为80HFFH,其中11个特殊功能寄存器还可以进行按位寻址,表1.3是SFR的名称及其分布,下面将对部分专用寄存器分类作简要介绍。
14、这部分在C51中如果是直接寻址方式对应着SFR;如果采用间接寻址方式,对应着IDATA。这部分物理存储区和逻辑存储区的对应关系如图1.3中所示。二、二、单片机的内部片机的内部结构构二、二、单片机的内部片机的内部结构构与算数运算相关的寄存器,如B寄存器、A累加器及PSW程序状态字B寄存器:寄存器:B是一个通用寄存器,在做乘除运算是一个通用寄存器,在做乘除运算时,用于,用于暂存数据;存数据;A累加器:是累加器:是ACC的的简写,用来存放写,用来存放ALU运算的中运算的中间结果,果,常常作常常作为数据的中数据的中转站;站;PSW(Program Status Word)程序状)程序状态字:字:8位的
15、程位的程序状序状态字寄存器,用于指示指令字寄存器,用于指示指令执行后的状行后的状态信息,供程序信息,供程序查询和判和判别使用。使用。与中断控制有关的寄存器,如IP、IE。中断中断优先先级控制(控制(IP)用来确定中断)用来确定中断优先先级的的顺序;序;中断允中断允许控制寄存器(控制寄存器(IE)用来确定是否允)用来确定是否允许中断。中断。二、二、单片机的内部片机的内部结构构与串行通信有关的寄存器,如SBUF、SCON。串行数据串行数据缓冲(冲(SBUF)用于存放待)用于存放待发送或已接受的数据,送或已接受的数据,它由它由发送送缓冲器和接收冲器和接收缓冲器两个独立的寄存器冲器两个独立的寄存器组成
16、;成;串行口控制寄存器(串行口控制寄存器(SCON)常和)常和SBUF一起一起进行串口通信行串口通信时使用。使用。与定时/计数有关寄存器,如TH0、TL0、TH1、TL1及TMOD、TCON.89C51中有两个中有两个16位的定位的定时/计数器,分数器,分别是是T0和和T1,它,它们分分别由两个由两个8位的寄存器位的寄存器组成,即成,即TH0、TL0和和TH1、TL1;定定时/计数器方式控制字(数器方式控制字(TMOD)用来)用来选择两个定两个定时器器计数器的工作方式;数器的工作方式;在定在定时/计数数时,定,定时/计数器控制字(数器控制字(TCON)常和)常和TMOD联合使用。合使用。二、二
17、、单片机的内部片机的内部结构构指针类寄存器,如DPTR、SP。数据指数据指针DPTR为一个一个16位的位的专用寄存器,其高位用用寄存器,其高位用DPH表示,低位用表示,低位用DPL表示,它既可以作表示,它既可以作为一个一个16位的寄存器位的寄存器来使用,也可作来使用,也可作为两个两个8位的寄存器位的寄存器DPH和和DPL使用,使用,DPTR在在访问外部数据存外部数据存储器器时既可用来存放既可用来存放16位地址,也位地址,也可作可作为地址指地址指针使用。使用。堆堆栈是数据区域中一个存放数据地址的特殊区域,主要用来是数据区域中一个存放数据地址的特殊区域,主要用来存放存放暂存数据和地址,是按先存数据
18、和地址,是按先进后出的原后出的原则存存储。堆。堆栈指指针SP初初值是一个是一个8位位专用寄存器,指示出堆用寄存器,指示出堆栈顶部在片内部在片内RAM区的位置。系区的位置。系统复位后,复位后,SP的初的初值为07H,实际堆堆栈操作是从操作是从08H开始的。开始的。此外,指此外,指针还有程序指有程序指针PC、数据指、数据指针R0和和R1。R0和和R1位于片内数据存位于片内数据存储区的区的00H1FH中的寄存器区。中的寄存器区。二、二、单片机的内部片机的内部结构构端口P0P3 P0P3为4个8位的特殊功能寄存器,分别是4个并行I/O端口的锁存器,当I/O端口的某一位用作输入时,对应的锁存器必须先置“
19、1”。(4)片外数据存储区(PDATA、XDATA)在C51中外部数据存储区常用PDATA、XDATA表示。XDATA表示用表示用DPTR间接接访问外部外部64 K的存的存储空空间,因,因为DPTR是是16位的寄存器,故用位的寄存器,故用DPTR访问外部数据存外部数据存储空空间时可达到可达到 的范的范围,即可在,即可在0000HFFFFH范范围内。内。PDATA表示用表示用R0、R1访问而外部数据存而外部数据存储区中的低区中的低256 B字字节区,因区,因为R0、R1都是都是8位的寄存器,因而用位的寄存器,因而用R0、R1访问时最大可达到最大可达到 的范的范围内,即在内,即在00HFFH的范的
20、范围内内进行行访问。二、二、单片机的内部片机的内部结构构总之,在使用C51进行编程时,物理分区和逻辑分区的对应关系如图1.3所示,但是要注意编程时采用的寻址方式。若采用直接若采用直接寻址方式,址方式,DATA用来表示物理存用来表示物理存储区区为00H7FH的片内数据存的片内数据存储区内共区内共128 B单元的存元的存储区;区;BDATA用来位用来位寻址,字址,字节地址地址00HFFH的片内数据存的片内数据存储范范围内共内共16 B单元元128位;位;SFR表示片内数据存表示片内数据存储区的区的80HFFH范范围;CODE表示片内表示片内/外的外的64K程序存程序存储空空间;若采用若采用间接接寻
21、址址时,IDATA表示整个片内表示整个片内00-FFH共共256 B存存储单元;元;PDATA、XDATA表示外部数据存表示外部数据存储单元。元。直接直接寻址和址和间接接寻址方式的区址方式的区别就要看存就要看存储区中直接区中直接给出的出的是源操作数是源操作数还是源操作数的地址。是源操作数的地址。二、二、单片机的内部片机的内部结构构2.CPU了解单片机的存储器结构以后,有必要了解一下CPU。从图1.2中可以看出,单片机内部最核心的部分是CPU,它能处理8位二进制数和代码,完成各种数据运算和逻辑控制。CPU在功能上可以分为运算器和控制器两个部分,下面分别对这两个部分进行介绍。(1)运算器运算器的功
22、能是对操作数进行算术、逻辑运算和位操作(布尔操作)。主要包括算术逻辑运算单元ALU、累加器A、寄存器B、位处理器、程序状态字寄存器PSW以及BCD码修正电路等。ALU(Arithmetic Logic Unit,逻辑运算单元)。ALU由加法器和逻辑电路构成,可对数据进行与、或、异或、求补、移位等逻辑运算,四则运算、加1、减1以及BCD码调整等算数运算。二、二、单片机的内部片机的内部结构构A(Accumulator)累加器。A累加器是累加器ACC的简写,用来存放ALU运算的中间结果,常常作为数据的中转站。累加器为8位寄存器,是程序中最常用的专用寄存器,在指令系统中累加器的助记符为A。B寄存器。B
23、寄存器为8位寄存器,主要用于乘除指令中。在做乘除运算时,用于暂存数据。乘法指令中,两个操作数分别取自A和B,结果存于B中。在除法指令中,A为被除数,B为除数,结果商存放A中,余数存放B中。在其他指令中,B寄存器也可作为一般的数据单元来使用。二、二、单片机的内部片机的内部结构构PSW(Program Status Word)。PSW是一个8位寄存器,它包含程序的状态信息。在状态字中,有些位状态是根据指令执行结果,由硬件自动完成设置,而有些状态位则必须通过软件方法设定。PSW中的每一位可以作为一个程序执行结果的标志位,指令执行时可以根据测试PSW中某一位的状态作出决定。PSW中各位的信息如图所示:
24、二、二、单片机的内部片机的内部结构构l CY:进位位,在加法运算有进位,减法运算有借位时,CY由硬件置1,否则清零,在进行位运算时,CY简写为C,常作为位累加器。l AC:辅助进位位,当低4位向高4位进位或借位时,AC置“1”。在进行BCD码调整指令时,AC可以作为判断位。l F0:用户标志位,由用户置位或者复位。l RS1,RS0:工作寄存器组选择位,通过这两位的值可以选择当前的工作寄存器组。l P:奇偶标志位,是判断A累加器中8位内容中1的个数是奇数还是偶数个。通过这一位,可以提高串行通信的可靠性。每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性,若累加器中1的个数为奇数,
25、则P1,否则P0。二、二、单片机的内部片机的内部结构构lOV:溢出标志位,当进行补码运算时,如果运算结果产生溢出,OV置“1”。当执行算术指令时,由硬件置位或清零来指示溢出状态。在带符号的加减运算中,OV1表示加减运算结果超出了累加器A所能表示的符号数有效范围(128127),即运算结果是错误的;反之,OV0表示运算正确,即无溢出产生。无符号数乘法指令MUL的执行结果也会影响溢出标志,若置于累加器A和寄存器B的两个数的乘积超过了255,则OV1;反之,OV0。由于乘积的高8位存放于B中,低8位存放于A中,OV0则意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积结果。在除法运算中,D
26、IV指令也会影响溢出标志,当除数为0时,OV1,否则OV0.二、二、单片机的内部片机的内部结构构(2)控制器控制器是单片机的指挥控制部件。控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。程序指针PC:16位的程序计数器,由8位的PCH和PCL组成,用于将要存放的下一条指令的地址。通过改变PC的值,可以改变程序的执行方向。数据指针DPTR:16位的数据地址寄存器,由8位的DPH和DPL组成,在对片外存储器扩展时,常用DPTR进行间接寻指;在访问程序存储器时,可以作为基址寄存器使用。指令寄存器:8位的寄存器,用于存放待执行的指令,等待译码。
27、指令译码器:对指令进行译码,将指令转变为所需要的电信号,根据译码器的输出信号,在经过定时控制电路定时产生执行该指令所需要的各种控制信号。二、二、单片机的内部片机的内部结构构3.定时/计数器89C51单片机中定时/计数器T0、T1分别由两个相互独立的8位寄存器组成TH0、TL0和TH1、TL1组成,有4种工作方式分别是:方式方式0工作工作时,使用低字,使用低字节的的5位和高字位和高字节的的8位位组成成13位的位的计数器数器。方式方式1工作工作时,使用低字,使用低字节和高字和高字节组成成16位位计数器。数器。方式方式2工作工作时,是自,是自动预置方式的置方式的8位位计数器,其使用低字数器,其使用低
28、字节的的8位作位作为计数器,高字数器,高字节的的8位作位作为预置常数的寄存器。置常数的寄存器。方式方式3只适用于定只适用于定时器器计数器数器T0,T0分分为两个独立的两个独立的8位位计数器,即数器,即TH0、TL0。二、二、单片机的内部片机的内部结构构4.中断系统89C51共有5个中断源,其中2个是外部中断,3个是内部中断。89C51单片机的5个中断源分成高和低2个优先级别,每一个中断请求源都可以编程设置为高优先级中断或低优先级中断,能实现两级中断嵌套。应用中可以通过设置4个与中断有关的特殊功能寄存器中的状态位,来使用MCS-51单片机的中断系统。这4个特殊功能寄存器分别是定时器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)、中断优先级控制寄存器(IP)。