《单片机李衍丹ppt课件》由会员分享,可在线阅读,更多相关《单片机李衍丹ppt课件(63页珍藏版)》请在金锄头文库上搜索。
1、8051单片机的构造和原理单片机的构造和原理MCS-51系列系列单片机概述片机概述 MCS-51是指由美国是指由美国Intel公司消公司消费费的一系列的一系列单单片片机的机的总总称,称,这这一系列一系列单单片机包括了片机包括了许许多型号,如多型号,如8031,8051,8751,8032,8052,8752等。其中等。其中8051是最早消是最早消费费、最典型的、最典型的产产品。品。MCS-51系列的其系列的其他他单单片机,都是在以片机,都是在以8051为为内核的根底上,内核的根底上,进进展了展了功能的添加以及外功能的添加以及外围围接口的改接口的改动动。因此,人。因此,人们习惯们习惯于用于用80
2、51来称来称谓谓MCS-51系列系列单单片机。片机。 8051是最早消费、最典型的产品。是最早消费、最典型的产品。MCS-51系列的系列的Intel公司将公司将MCS-51的中心技术授的中心技术授权给了很多其他公司,所以有很多公司在消权给了很多其他公司,所以有很多公司在消费以费以8051为中心的单片机。在我国运用的,为中心的单片机。在我国运用的,具代表性的芯片是具代表性的芯片是Phillips的的80系列和系列和Atmel的的AT89系列单片机。系列单片机。MCS-51系列单片机简介系列单片机简介 MCS-51系列系列单片机共有十多种芯片,分片机共有十多种芯片,分为两大系列,即两大系列,即51
3、子系列与子系列与52子系列,并以芯片子系列,并以芯片型号的末位数字最型号的末位数字最为标志。它志。它们的内部构造根的内部构造根本一本一样,其中,其中51子系列是根本型,子系列是根本型,52子系列是子系列是加加强强型。型。MCS-51系列系列单片机各种芯片的技片机各种芯片的技术目的目的见表表2-1带C的是运用的是运用CMOS技技术的低功的低功耗芯片。耗芯片。 MCS-51系列单片机简介系列单片机简介表表2-1 MCS-51系列系列单片机芯片技片机芯片技术目的目的子系子系列列片内片内ROM形式形式ROM容量容量RAM容量容量寻址范址范围I/O特性特性中中断断源源无无ROMEPROM定定时器器并行并
4、行口口串串行行口口51子子系列系列8031805187514KB128B264KB216481580C3180C5187C514KB128B264KB216481552子子系列系列8032805287528KB256B364KB316481680C3280C5287C528KB256B364KB31648162.1.1 MCS-51系列单片机简介系列单片机简介2.12.1MCS-51MCS-51单单片机的内部构造片机的内部构造一、组成一、组成8051单片机构造框图如下图单片机构造框图如下图80518051单单片机构造框片机构造框图图外中断外中断内中断内中断控制控制并行口并行口串行通串行通讯外部
5、外部时钟源源外部事件外部事件计数数由由 运算器运算器ALU、控制器定时控、控制器定时控制部件和公用存放器组三部分电路制部件和公用存放器组三部分电路构成。构成。2.1.2 MCS-51单单片机片机CPU构造构造公用存放器组公用存放器组 公用存放器公用存放器组组主要用来指示当前要主要用来指示当前要执执行指令行指令的内存地址、存放操作数和指示指令的内存地址、存放操作数和指示指令执执行后的形行后的形状等。它是任何一台状等。它是任何一台计计算机的算机的CPU不可短少的部不可短少的部件,存放器的多寡因机器型号的不同而异。公用件,存放器的多寡因机器型号的不同而异。公用存放器存放器组组主要包括程序主要包括程序
6、计计数器数器PC、累加器、累加器A、程、程序形状存放器序形状存放器PSW、堆、堆栈栈指示器指示器SP、数据指、数据指针针DPTR和通用存放器和通用存放器B等。等。程序计数器程序计数器PC16位位由两个由两个8 8位计数器位计数器PCHPCH、PCLPCL组成。组成。PCPC是程序的字节地址计数器,是程序的字节地址计数器,PCPC内内容为将要执行的指令地址。容为将要执行的指令地址。改动改动PCPC内容,改动执行的流向。内容,改动执行的流向。PCPC可对可对64KB64KB的的ROMROM直接寻址,也可对直接寻址,也可对80518051片内片内RAMRAM寻址。寻址。前往前往其它存放器其它存放器累
7、加器累加器A、程序形状存放器、程序形状存放器PSW、堆栈指、堆栈指示器示器SP、数据指针、数据指针DPTR和通用存放器和通用存放器B等等在存储器一节讲解。在存储器一节讲解。2.38051存存储储器构造器构造:2.3.12.3.180518051存存储储器分器分类类:2.3.22.3.2程序存程序存储储器地址空器地址空间间:2.3.32.3.3数据存数据存储储器地址空器地址空间间2.3.12.3.1 8051 8051存存储储器分器分类类一、物理构造一、物理构造二、用户角度二、用户角度一、物理构造哈佛构造一、物理构造哈佛构造二、用户角度二、用户角度图图2-4 8051存储器配置存储器配置2.3.
8、2 2.3.2 程序存程序存储储器地址空器地址空间间一、用途:一、用途:二、编址:二、编址:三、寻址方式:三、寻址方式:一、用途:一、用途:用于存放编好的程序和表格常数。用于存放编好的程序和表格常数。二、编址:二、编址:容量为容量为4KB。地址为。地址为0000H0FFFH。片外最多可扩至片外最多可扩至64KB ROM/EPROM,地址为,地址为1000HFFFFH。片内外一致编址。片内外一致编址。三、寻址方式:三、寻址方式:1、当、当 EA=“1时时:在在00000FFFH范范围围内内执执行片内行片内ROM中的程中的程序,当指令地址超越序,当指令地址超越0FFFH 后就自后就自动转动转向片外
9、向片外ROM中取指令。中取指令。2、当、当 EA=0时时:片内片内ROM不起作用,不起作用,CPU只能从片只能从片ROM/EPROM中取指令。可以从中取指令。可以从 0000H 开开场场寻寻址。址。2.3.3 数据存数据存储储器地址空器地址空间间一、用途:一、用途:二、片外二、片外RAM: 三、片内三、片内RAM: 一、用途:一、用途:用于存放运算的中间结果、数据暂存和用于存放运算的中间结果、数据暂存和缓冲、标志位等。缓冲、标志位等。二、片外二、片外RAM:地址:地址:0000HFFFFH 寻址:用寻址:用MOVX指令指令三、片内三、片内RAM: 片内数据存储器最大可寻址片内数据存储器最大可寻
10、址256个单元,个单元,它们又分为两部分:它们又分为两部分: 低低128字节字节(00H7FH)是真正的是真正的RAM区;高区;高128字节字节(80HFFH)为特殊功能存放器为特殊功能存放器(SFR)区。区。高高128字节和低字节和低128字节字节RAM中的配置及中的配置及含义如图含义如图28和图和图29所示。所示。图图28 低低128字节字节RAM区区图图29 高高128字节字节RAM区区(SFR区,特区,特殊功能存放器区殊功能存放器区)1) 低低128字节字节RAM8051的32个任务存放器与RAM安排在同一个队列空间里,一致编址并运用同样的寻址方式(直接寻址和间接寻址)。00H1FH地
11、址安排为4组任务存放器区,每组有8个任务存放器(R0R7),共占32个单元,见表2-4。经过对程序形状字PSW中RS1、RS0的设置,每组存放器均可选作CPU的当前任务存放器组。假设程序中并不需求4组,那么其他可用作普通RAM单元。CPU复位后,选中第0组存放器为当前的任务存放器。任务存放器区后的16字节单元(20H2FH),可用位寻址方式访问其各位。在89系列单片机的指令系统中,还包括许多位操作指令,这些位操作指令可直接对这128位寻址。这128位的位地址为00H7FH,其位地址分布见图28。2) 高128字节RAM特殊功能存放器(SFR)8051片内高片内高128字节字节RAM中,有中,有
12、21个特个特殊功能存放器殊功能存放器(SFR),它们离散地分布在,它们离散地分布在80HFFH的的RAM空间中。访问特殊功空间中。访问特殊功能存放器只允许运用直接寻址方式。能存放器只允许运用直接寻址方式。这些特殊功能存放器见图这些特殊功能存放器见图29。各。各SFR的称号及含义如表的称号及含义如表25所列。所列。(1) 累加器累加器ACC(E0H) 累加器ACC是8051最常用、最忙碌的8位特殊功能存放器。在CPU执行指令前,两个操作数中一个通常存放在ACC中,运算完成后结果也存放于ACC中。在指令系统中用A作为累加器ACC的助记符。(2) 存放器存放器B(F0H)在乘、除指令中,用到了在乘、
13、除指令中,用到了8位存放器位存放器B。乘法指令。乘法指令的两个操作数分别取自的两个操作数分别取自A和和B,乘积存于,乘积存于B和和A两两个个8位存放器中。除法指令中,位存放器中。除法指令中,A中存放被除数,中存放被除数,B中放除数,商存放于中放除数,商存放于A,B中存放余数。中存放余数。在其他指令中,在其他指令中,B可作为普统统用存放器或一个可作为普统统用存放器或一个RAM单元运用。单元运用。(3) 程序形状存放器程序形状存放器PSW(D0H)PSW是一个是一个8位特殊功能存放器,它的各位包位特殊功能存放器,它的各位包含了程序执行后的形状信息,供程序查询或判含了程序执行后的形状信息,供程序查询
14、或判别之用。各位的含义及其格式如下表所列。别之用。各位的含义及其格式如下表所列。PSW除有确定的字节地址除有确定的字节地址(D0H)外,每一位均外,每一位均有位地址,见下表有位地址,见下表D7D6D5D4D3D2D1D0CYACF0RS1RS0OV-P进、借辅进用户标定寄存器组选择溢出保留奇/偶(4) 栈指针栈指针SP(81H)堆栈指针堆栈指针SP为为8位特殊功能存放器,位特殊功能存放器,SP的的内容可指向内容可指向8051片内片内00H7FH RAM的任的任何单元。系统复位后,何单元。系统复位后,SP初始化为初始化为07H,即指向即指向07H的的RAM单元。单元。在图210中,假假设有8个R
15、AM单元,每个单元都在其右面编有地址,栈顶由堆栈指针SP自动管理。每次进展压入或弹出操作以后,堆栈指针便自动调整以坚持指示堆栈顶部的位置。这些操作可用图210阐明。图210 堆栈的压入与弹出(5) 数据指针数据指针DPTR(83H,82H)DPTR是一个是一个16位的特殊功能存放器,其高位位的特殊功能存放器,其高位字节存放器用字节存放器用DPH表示表示(地址地址83H),低位字节,低位字节存放器用存放器用DPL表示表示(地址地址82H)。DPTR既可以作既可以作为一个为一个16位存放器来处置,也可以作为两个独位存放器来处置,也可以作为两个独立的立的8位存放器位存放器DPH和和DPL运用。运用。
16、DPTR主要用于存放主要用于存放16位地址,以便对位地址,以便对64 KB片外片外RAM作间接寻址。作间接寻址。(6) /端口端口P0P3(80H,90H,A0H,B0H)P0P3为为4个个8位特殊功能存放器,分别是位特殊功能存放器,分别是4个并行个并行/端口的锁存器。它们都有字节地址,每一个口锁存端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,每一条器还有位地址,每一条/线均可独立用作输入或输线均可独立用作输入或输出。出。用作输出时,可以锁存数据;用作输入时,数据可以用作输出时,可以锁存数据;用作输入时,数据可以缓冲。缓冲。图图2-11所示为各个所示为各个SFR所在的字节地址位置。
17、空格部分所在的字节地址位置。空格部分为未来设计新型芯片可定义的为未来设计新型芯片可定义的SFR位置。位置。图图2-11 特殊功能存放器特殊功能存放器SFR的位置的位置2.2 MCS-51单片机引脚及其功能单片机引脚及其功能2.2.1MCS-51单片机引脚2.2.2 MCS-51单单片机引脚功能片机引脚功能2.2.1 8051单单片机引脚片机引脚80518051单单片机引脚片机引脚图图2.2.2 8051单单片机引脚功能片机引脚功能一、一、I/O端口端口P0、P1、P2和和P3二、电源引脚:二、电源引脚:Vcc和和Vss三、时钟电路引脚:三、时钟电路引脚:XTAL1和和XTAL2四、控制信号引脚
18、四、控制信号引脚RST、ALE、PSEN和和EA四、四、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P31 1、准双向、准双向2 2、P0P0口口3 3、P1P1口口4 4、P2P2口口5 5、P3P3口口1、准双向、准双向当当I/OI/O口作为输入时,应先向此口锁口作为输入时,应先向此口锁存器写入全存器写入全1 1, 此时该口引脚浮空,此时该口引脚浮空,可作高阻抗输入。可作高阻抗输入。MOV P1MOV P1, #0FFH #0FFHMOV A, P1MOV A, P12、P0口:口:P0P0口可作为一个数据输入口可作为一个数据输入/ /输出口;输出口;P0P0口无上拉电阻,输出
19、时需接上拉口无上拉电阻,输出时需接上拉电阻。电阻。3、P1口:口:P1口也是一个准双向口。口也是一个准双向口。P1口口内内部部有有上上拉拉电电阻阻。当当P1口口输输出出高高电电平平常常,能能向向外外提提供供拉拉电电流流负负载载,所以不用再接上拉电阻。所以不用再接上拉电阻。4、P2口:口:带带内内部部上上拉拉电电阻阻的的8位位准准双双向向I/O端端口口在在CPU访访问问片片外外存存储储器器时时,它它输输出出高高8位地址。位地址。5、P3口:口:带内部上拉电阻的带内部上拉电阻的8 8位准双向位准双向I/OI/O端端口口P3P3口除作为普通口除作为普通I/OI/O口外,每个引脚口外,每个引脚都有第二
20、功能。都有第二功能。表表2-10 P3口线与第二功能表口线与第二功能表前往前往二、电源引脚:二、电源引脚:Vcc和和Vss1Vcc(40脚):电源端,为+5V。2Vss(20脚):接地端。图图2-32-3三、时钟电路引脚:三、时钟电路引脚:XTAL1和和XTAL2XTAL2XTAL21818脚:接外部晶体和微调电容的一端;在脚:接外部晶体和微调电容的一端;在8051 8051 片内它是振荡电路反向放大器的输出端,振荡电片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。假设需采用外部时钟电路的频率就是晶体固有频率。假设需采用外部时钟电路时,该引脚输入外部时钟脉冲。路时,该引脚输
21、入外部时钟脉冲。XTAL1XTAL11919脚:接外部晶体和微调电容的另一端;在脚:接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚接地。时钟时,该引脚接地。8051的片内振荡器及时钟发生器的片内振荡器及时钟发生器外部脉冲输入外部脉冲输入 四、控制信号引脚:四、控制信号引脚:RST、ALE、PSEN和和EARSTRST9 9脚:脚:RSTRST:复位信号输入端,高电平有效。当此输:复位信号输入端,高电平有效。当此输入端坚持两个机器周期的高电平常,就可以完入端坚持两个机器周期的高电平常,就可以完成复位操作。
22、成复位操作。前往前往复位操作的主要功能复位操作的主要功能主要功能是把主要功能是把PC初始化为初始化为0000H,使单片,使单片机从机从0000H单元开场执行程序。单元开场执行程序。复位操作还对其他一些存放器有影响,它复位操作还对其他一些存放器有影响,它们的复位形状如表们的复位形状如表28所列。所列。表表28中的符号意义如下:中的符号意义如下:各特殊功能存放器的复位值各特殊功能存放器的复位值前往前往一、上电自动复位:一、上电自动复位:是经过外部复位电路的电容充电实现。是经过外部复位电路的电容充电实现。如图如图 (a)所示。所示。二、按键手动复位:二、按键手动复位:按键电平复位方式:如图按键电平复
23、位方式:如图 (b)所示。所示。前往前往复位的两种方式复位的两种方式前往前往四、控制信号引脚:四、控制信号引脚:RST、ALE、PSEN和和EA用于程序运转或者写入时的控制。后面陆续用于程序运转或者写入时的控制。后面陆续讲解讲解2.4CPU时时序序2.4.1片内振片内振荡荡器及器及时钟时钟信号的信号的产产生生前往前往2.4.2机器周期和指令周期机器周期和指令周期2.4.3CPU取指、取指、执执行周期行周期时时序序2.4.1 片内片内时钟时钟信号的信号的产产生生8051芯片内部有一个高增益反相放大器,用于构成振荡器。反相芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为放大器的
24、输入端为XTAL1,输出端为,输出端为XTAL2,两端跨接石英晶体,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器和通及两个电容就可以构成稳定的自激振荡器。电容器和通常取常取30 pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为频率范围为fOSC=024 MHz。晶体振荡器的频率为晶体振荡器的频率为fOSC,振荡信号从,振荡信号从XTAL2端输入到片内的端输入到片内的时钟发生器上。时钟发生器上。前往前往4一个机器周期是指一个机器周期是指CPU访问存存储器一次所器一次所需的需的时间。例如,取指令、。例如,取指令、读存存储
25、器、写器、写存存储器等等。器等等。4一个机器周期包括一个机器周期包括12个振个振荡周期,分周期,分为6个个S形状:形状:S1S6。4每个形状又分每个形状又分为两拍,称两拍,称为P1和和P2。4因此,一个机器周期中的因此,一个机器周期中的12个振个振荡周期表周期表示示为S1P1,S1P2,S2P1,S6P1,S6P2。4假假设采用采用6MHz晶体振晶体振荡器,那么每个机器,那么每个机器周期器周期为2s微秒微秒机机器器周周期期如下图如下图前前往往4指令周期:指令周期:执行一条指令所需的行一条指令所需的时间。4每条指令由一个或假每条指令由一个或假设干个字干个字节组成。有成。有单字字节指令,双字指令,
26、双字节指指令,令,多字多字节指令等。字指令等。字节数少数少那么占存那么占存储器空器空间少。少。4每条指令的指令周期都由一个或每条指令的指令周期都由一个或几个机器周期几个机器周期组成。有成。有单周期指周期指令、双周期指令、和周令、双周期指令、和周围期指令。期指令。机器周期数少那么机器周期数少那么执行速度快。行速度快。指指令令周周期期如下图如下图前前往往2. 机器周期和指令周期3. 根本时序定时单位综上所述,综上所述,8051或其他或其他80C51单片机的根本时序定时单位有如下单片机的根本时序定时单位有如下4个。个。振荡周期:振荡周期: 晶振的振荡周期,为最小的时序单位。晶振的振荡周期,为最小的时
27、序单位。形状周期:形状周期: 振荡频率经单片机内的二分频器分频后提供应片内振荡频率经单片机内的二分频器分频后提供应片内CPU的时钟周期。因此,一个形状周期包含的时钟周期。因此,一个形状周期包含2个振荡周期。个振荡周期。机器周期机器周期MC: 1个机器周期由个机器周期由12个振荡周期组成,是计算机执个振荡周期组成,是计算机执行一种根本操作的时间单位。行一种根本操作的时间单位。指令周期:指令周期: 执行一条指令所需的时间。一个指令周期由执行一条指令所需的时间。一个指令周期由14个机器个机器周期组成,根据指令不同而不同,见附录。周期组成,根据指令不同而不同,见附录。2.8 思索题与习题1. 8051单片机片内包含哪些主要逻辑功能部件?2. 8051的端有何用途?3. 8051的存储器分哪几个空间?如何区别不同空间的寻址?4. 简述8051片内RAM的空间分配。5. 简述布尔处置存储器的空间分配,片内RAM中包含哪些可位寻址单元。