《MCS51单片机的硬件结构与工作原理.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机的硬件结构与工作原理.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 MCS-51单片机的硬件结构与工作单片机的硬件结构与工作原原 2-1 MCS-51单片机的主要性能特点单片机的主要性能特点 见见P7 1-15小点小点122-2 MCS-51单片机的内部结构单片机的内部结构 见见P83图21 MCS51系列单片机内部结构框图 4 2-3 MCS-51的引脚功能的引脚功能5图23 MCS51系列单片机引脚及总线结构 (a)管脚图;(b)引脚功能分类 6 8051为双到直插为双到直插(DIP)40引脚封装引脚封装.1.主电源引脚主电源引脚 VCC:+5V VSS:接地端接地端2.时钟振荡电路引脚时钟振荡电路引脚 XTAL1,XTAL2:使用单片机内部
2、振荡使用单片机内部振荡电路时电路时,这两引脚用来外接石英晶体这两引脚用来外接石英晶体.若采用片外振荡器若采用片外振荡器,则则XTAL2用于输入用于输入时钟信号时钟信号,而而XTAL1接地接地.3.控制信号引脚控制信号引脚7RST/VPD:双功能引脚双功能引脚.RST:复位信号输入端复位信号输入端.当当RST端保持端保持 2个机器周期个机器周期(24个时钟周期个时钟周期)以上以上”1”,将使单片机完成复位操作将使单片机完成复位操作.进入特定的初进入特定的初始状态始状态.VPD:片内备用电源输入端片内备用电源输入端.当主电源掉当主电源掉电时电时,此引脚输入的此引脚输入的”1”,作为备用电作为备用电
3、源给片内数据存贮器供电源给片内数据存贮器供电.ALE/PROG:双功能引脚双功能引脚8 ALE:地址锁存允许信号输出端地址锁存允许信号输出端.当访问当访问片外存贮器时片外存贮器时.ALE用来控制外部锁存器用来控制外部锁存器锁存锁存P0口送出的低口送出的低8位地址位地址.访问外存时访问外存时,P2口送高口送高8位地址位地址.且在访且在访问外存期间保持不变问外存期间保持不变.P0口则先送访问外口则先送访问外存的低存的低8位地址位地址,然后作为然后作为8位数据线使用位数据线使用.因此低因此低8位地址需要锁存位地址需要锁存.PROG:对对8751片内片内EPROM编程时编程时,编编程脉冲输入端程脉冲输
4、入端.9PSEN:外部外部ROM存贮器的读选通输出信号存贮器的读选通输出信号.当访当访问外部问外部ROM时时,PSEN输出一个负脉冲输出一个负脉冲,作为外作为外部部ROM的选通信号的选通信号.EA/VPP:双功能引脚双功能引脚EA:访访ROM控制信号控制信号,输入输入.当当EA接接”0”时时,只能访外只能访外ROM.对于对于8031,因因为无内部为无内部ROM.所以所以EA必须接地必须接地.且外且外ROM必必须从须从0000H地址单元开始编址地址单元开始编址.当当EA接接”1”时时,若地址在若地址在0000H-0FFFH之之间间,CPU访问片内访问片内ROM.超出时超出时CPU自动访问片自动访
5、问片外外ROM.此时片内外此时片内外ROM统一编址统一编址.10VPP:对对8751片内片内EPROM进行编程时进行编程时,输输入编程电源入编程电源(+21V).4.四个四个8位并行位并行I/O口口.P0口口(P0.0-P0.7)8位漏极开路型双向位漏极开路型双向I/O口口.第二功能为第二功能为,访外存时分时提供低访外存时分时提供低8位地址和作为位地址和作为8位位数据线使用数据线使用.P1口口(P1.0-P1.7)内部带上拉电阻的内部带上拉电阻的8位准双向位准双向I/O口口.11P2口口(P2.0-P2.7)内部带上拉电阻的内部带上拉电阻的8位准双向位准双向I/O口口.第二第二功能为访外存时功
6、能为访外存时,输出高输出高8位地址位地址.P3口口(P3.0-P3.7)内部带上拉电阻的内部带上拉电阻的8位准双向位准双向I/O口口.第第二功能见二功能见P12表表2.312132-4 MCS-51单片机的存贮器配置单片机的存贮器配置 MCS-51单片机的程序存贮器单片机的程序存贮器(ROM)空间空间与数据存贮器与数据存贮器(RAM)空间是相互分离开的空间是相互分离开的.属属Harvard结构结构(非冯非冯.诺依曼结构诺依曼结构).8051的存贮器组织结构的存贮器组织结构,分三个不同的存分三个不同的存贮空间贮空间.必须分别采用不同形式的指令进必须分别采用不同形式的指令进行访问行访问.见见P13
7、图图2.6.由图可见片内外由图可见片内外ROM为统一编址为统一编址,属同一个存贮地址空属同一个存贮地址空间间.而片内外数据存贮器则分属两个不同而片内外数据存贮器则分属两个不同存贮地址空间存贮地址空间.1415一一.程序存贮器程序存贮器.*用于存放程序及常数表格用于存放程序及常数表格.*8051片内驻留有片内驻留有4KB ROM,且可扩展至且可扩展至64KB.片内外统一编址片内外统一编址.*由由MOVC指令访问指令访问.*系统所使用的特定单元见系统所使用的特定单元见P14表表2.5.二二.数据存贮器数据存贮器.*相关概念相关概念.字节单元字节单元:一个单元能存放一个单元能存放8个二进制位个二进制
8、位,其单其单元地址称为字节地址元地址称为字节地址.16 位单元位单元:一个单元只能存放一个单元只能存放1个二进制位个二进制位,其单元地址称为位地址其单元地址称为位地址.*数据存贮器用于存放运算中间结果数据存贮器用于存放运算中间结果,设置设置 特征标志等特征标志等.*片内片内:256B,8位地址寻址位地址寻址.片内片内RAM 128B 特殊功能寄存器区特殊功能寄存器区128B,仅用了仅用了21B.*片外片外:可扩展可扩展64KB,16位地址寻址位地址寻址.1.片内片内RAM.(见见P15-P16表表2.7)1718 地址地址00H-7FH.其存贮速度快其存贮速度快,是系统是系统的宝贵资源的宝贵资
9、源.分为分为:(1)工作寄存器区工作寄存器区 *地址范围地址范围00H-1FH共共32个字节单元个字节单元.分分成成4组组.第第0组组:00H-07H.第第1组组:08H-0FH.第第2组组:10H-17H.第第3组组:18H-1FH.每组构成每组构成8个个8位寄存器位寄存器.均记作均记作R0-R7.且当前程序只能使用一组且当前程序只能使用一组,使使用哪一组由用哪一组由PSW中的中的RS1,RS0来选择来选择.(见见P17表表2.8)并称为当前工作寄存器组并称为当前工作寄存器组.这一特点可使系统具有快速的现场保护这一特点可使系统具有快速的现场保护和恢复能力和恢复能力.1920*对于当前工作寄存
10、器对于当前工作寄存器,既可直接由字节地既可直接由字节地把址寻址把址寻址,也可用符号名也可用符号名R0-R7来寻址来寻址.例如例如:当前工作寄存器为第当前工作寄存器为第0组组.则则 MOV 06H,#21H;(06H)21H 与与 MOV R6,#21H;R6 21H 两条指令作用相同两条指令作用相同.21(2)可位寻址区可位寻址区.地址范围地址范围20H2FH共共16个字节单元个字节单元.特点为既可字节寻地又可位寻址特点为既可字节寻地又可位寻址.进行进行位寻址时共有位寻址时共有128个位单元个位单元(8*16=128).每一位均有一个位地址每一位均有一个位地址,地址范围地址范围00H-7FH.
11、且只能在位操作指令中用位地址且只能在位操作指令中用位地址寻址寻址.例如例如:SETB 1FH;(1FH)1 即将即将()H字节单元的字节单元的()位置位置1.这这里里1FH就是位地址就是位地址.23 D7 22 (3)堆栈堆栈,数据缓冲区数据缓冲区.地址范围地址范围30H-7FH共共80个字节单元个字节单元.只只能字节寻址能字节寻址.2.特殊功能寄存器特殊功能寄存器(SFR)区区.*8051片内共有片内共有21个个8位位SFR.离散地分布离散地分布在内部数据存贮器在内部数据存贮器80H-FFH的地址空间的地址空间中中.见见P17表表2.9*每个每个SFR都有字节地址都有字节地址,并定义了符号名
12、并定义了符号名.访问时既可用字节地址访问时既可用字节地址,也可用符号名也可用符号名.23例如例如:MOV E0H,#06H;(E0H)06H 与与 MOV A,#06H;A06H 都是将累加器都是将累加器A赋值为赋值为06H.*SFR中有中有11个可位寻址个可位寻址.这这11个个SFR的特点的特点为为,其字节地址可以被其字节地址可以被8整除整除.且每位均且每位均有位地址有位地址.有的还定义了位名有的还定义了位名.对其进行对其进行访问时访问时,既可用位地址既可用位地址,位定义名位定义名.还可还可用用”寄存器名寄存器名.位位”.24例如例如:SETB D3H;(D3H)1 SETB RS0;RS0
13、 1 SETB PSW.3;PSW.3 1 三条指令都是将三条指令都是将PSW中的中的D3位置位置1.*下面简介部分下面简介部分SFR.1.累加器累加器A.是使用最频繁的一个寄存器是使用最频繁的一个寄存器,许多指令许多指令 的一个操作数来源于的一个操作数来源于A,且结果也存于且结果也存于A.例如例如:ADD A,#10H;A A+10H25 2.B寄存器寄存器.用于乘除法运算用于乘除法运算,对于其它操作可作为对于其它操作可作为 通用寄存器使用通用寄存器使用.3.程序状态字寄存器程序状态字寄存器PSW.见见P10表表2.1表表2.2 其中其中Cy,AC,OV,P这这4位的内容由位的内容由CPU根
14、根据当前运算结果自动填写据当前运算结果自动填写.无符号数运算时关心无符号数运算时关心Cy位位,Cy=0无进借无进借位位,Cy=1有进借位有进借位.且无符号数运算结果且无符号数运算结果总是正确的总是正确的.2627 有符号数运算时关心有符号数运算时关心OV位位,OV=0结果正结果正确确,OV=1则产生了溢出则产生了溢出,结果错误结果错误.P标志始终跟踪标志始终跟踪A的内容的内容.若若A中中1的个数的个数为奇数个为奇数个P=1,偶数个偶数个P=0.4.堆栈指针堆栈指针SP.复位后复位后SP=07H.用户也可用数据传送指用户也可用数据传送指令给令给SP赋初值赋初值.从而设立一个堆栈从而设立一个堆栈.
15、在以在以后的压栈出栈时后的压栈出栈时,SP始终指向栈顶始终指向栈顶.28例如例如:设设A=06H,B=21H.MOV SP,#2FH;SP2FH PUSH A;SP SP+1,(SP)A PUSH B;SP SP+1,(SP)B POP A;A(SP),SP SP-1 POP B;B (SP),SP SP-1 执行完后执行完后A=()H B=()H SP=()H 21 06 2F295.数据指针数据指针DPTR.它的内容是访问外它的内容是访问外RAM的地址的地址.由两个由两个SFR DPH和和DPL构成构成.DPTR(16位位)DPH DPL6.I/O端口锁存器端口锁存器P0-P3.它们是它们
16、是4个个I/O端口端口P0-P3对应的对应的4个锁存器个锁存器.7.8051各功能单元与各功能单元与SFR的关系的关系.(1)CPU A,B,PSW,SP,DPTR(DPH,DPL)共共6个个SFR.而而PC在物理结构上是独立的在物理结构上是独立的,不属不属SFR.30 (2)定时定时/计数器计数器.TMOD,TCON,THO,TLO,TH1,TL1共共6个个SFR.(3)并行并行I/O端口端口.P0,P1,P2,P3共共4个个SFR.(4)中断系统中断系统 IE,IP共共2个个SFR.(5)串行口串行口 SCON,SBUF,PCON共共3个个SFR.31 2-5 并行并行I/O口口 二二.并
17、行并行I/O口的操作口的操作.1.输入时必须先向锁存器写入输入时必须先向锁存器写入”1”,否否则将损坏端口则将损坏端口.2.输出有一般输出和输出有一般输出和”读读改改写写”输输出两种方式出两种方式,由由CPU根据不同指令自行决根据不同指令自行决定输出方式定输出方式.3.P0口带拉电流负载时口带拉电流负载时,需外接上拉电阻需外接上拉电阻.32一一.并行并行I/O口的结构口的结构.8051的的4个并行个并行I/O口口,共共32根根I/O线引脚线引脚.每一根每一根I/O线均能独立用作输入或输出线均能独立用作输入或输出.且具有输出锁存能力且具有输出锁存能力.1.P0口口.结构见结构见P23图图2.13
18、 图中给出的是一位的功能结构图中给出的是一位的功能结构.其中锁器其中锁器就是就是SFR P0的一位的一位.3334*P0口作口作I/O使用使用:此时此时CPU发内部控制信号为发内部控制信号为”0”,使与使与门封锁其输出为门封锁其输出为”0”.V2截止截止;另外又另外又通过开关通过开关MUX使使Q与与V1栅极接通栅极接通.(1)输入输入(读引脚操作读引脚操作).端口用作输入时端口用作输入时,必须先向锁存器写入必须先向锁存器写入”1”.使使Q为为”0”V1截止截止.引脚处于高引脚处于高阻态阻态.当执行读引脚指令当执行读引脚指令(如如:MOV A,P0)时时,读信号将下方的三态门打开读信号将下方的三
19、态门打开.数据进入内数据进入内部总线部总线.P1-P3类同类同.35(2)输出输出.(a).一般输出一般输出 执行一般传送指令执行一般传送指令,如如:MOV P0,A时时,进行进行一般输出一般输出.此时写锁存器脉冲加到锁存器此时写锁存器脉冲加到锁存器CLK端端,将内部总线上的待输出数据将内部总线上的待输出数据,经经锁存器和输出驱动器送到引脚锁存器和输出驱动器送到引脚.又又,由于由于P0口为开路输出口为开路输出(V2截止截止).因此带拉电因此带拉电流负载时流负载时,需接上拉电阻需接上拉电阻.36(b)”读读-改改-写写”输出输出.当端口处于输出状态时当端口处于输出状态时.CPU的某些操作的某些操
20、作是先将端口原输出数据读入是先将端口原输出数据读入,经过运算修经过运算修改后再从端口输出改后再从端口输出.这称为这称为”读读-改改-写写”输出输出.例如例如:ANL P0,A;P0 P0*A.注注意这里读为读锁存器意这里读为读锁存器,而非读引脚而非读引脚.因为因为若原输出为若原输出为”1”,负载接三极管的负载接三极管的b.由于由于嵌位作用嵌位作用,引脚为引脚为0.7V变成变成”0”了了.对于对于P1-P3也一样也一样.37*P0口作地址数据线使用口作地址数据线使用:(1)输出地址输出地址/数据信息数据信息.此时此时CPU发的控制信号为发的控制信号为”1”,与门打开与门打开.其输其输出电平由地址
21、出电平由地址/数据信号决定数据信号决定.同时同时MUX把反相把反相后的地址后的地址/数据信号与数据信号与V1的栅极接通的栅极接通.如是如是V1,V2构成推拉式输出电路构成推拉式输出电路,其负载能力大大加其负载能力大大加强强.(2)输入数据输入数据.此时数据从引脚通过下方三态门进入内部总线此时数据从引脚通过下方三态门进入内部总线.在扩展糸统中由于在扩展糸统中由于P0作地址作地址/数据线使用数据线使用,因此因此无法再作无法再作I/O口使用了口使用了.382.P1口口:见见P21 图图2.10 由图可见由图可见,P1口只能用作口只能用作I/O.与与P0比较有比较有了上拉电阻了上拉电阻.因此带拉电流负
22、载时不需外因此带拉电流负载时不需外接上拉电阻接上拉电阻.又又,输入时由于上拉电阻的输入时由于上拉电阻的存在存在,在没有输入信号时引脚即为在没有输入信号时引脚即为”1”,但它可被外部输入的但它可被外部输入的”0”拉成低电平拉成低电平.正因为此所以称为准双向口正因为此所以称为准双向口.P2,P3也都也都有上拉电阻有上拉电阻,因此均有此特点因此均有此特点.39403.P2口口.见见P22 图图2.11 与与P1口比较多了一个控制转换部分口比较多了一个控制转换部分.可作可作I/O也可输出高也可输出高8位地址信息位地址信息.41424.P3口口.见见P22 图图2.12(1)作通用作通用I/O口口:此时
23、第二功能输出端此时第二功能输出端=”1”,同同P1口口.(2)用于第二功能用于第二功能:输出输出:此时锁存器此时锁存器Q=”1”输入输入:引脚上的第二功能信号引脚上的第二功能信号,通过缓冲通过缓冲器器4到内部第二功能输入端上到内部第二功能输入端上.4344 2-6 时钟电路时钟电路,复位电路和复位电路和CPU时序时序一一.时钟电路时钟电路.见见P19 图图2.7二二.复位电路复位电路.见见P19 图图2.8 复位后的初如状态复位后的初如状态.见见P19 表表2-10.454647三.CPU时序时序.执行一条指令的时间称为指令周期执行一条指令的时间称为指令周期.它由若干机器周期它由若干机器周期构
24、成构成.而一个机器周期由而一个机器周期由12个时钟周期构成个时钟周期构成,且分为且分为6个个状态状态S1-S6.每个状态又分为两拍每个状态又分为两拍P1,P2.即即:S1P1,S1P2至至S6P2.8051指令糸统中指令糸统中,有单字节有单字节,双字节和双字节和3字节三类指令字节三类指令.其中单字节和双字节指令可为单或双机器周期其中单字节和双字节指令可为单或双机器周期.3字节指令均为双机器周期字节指令均为双机器周期.只有乘除法指令为四机器周期只有乘除法指令为四机器周期.在每个机器周期中在每个机器周期中,ALE信号出现两次信号出现两次.每出现一次每出现一次ALE信号信号,CPU就进行一次取指操作就进行一次取指操作.见见P20 图图2.9 其中图其中图(a)第二个第二个ALE出现时为假读出现时为假读.即读后丢弃不用即读后丢弃不用,PC也不加也不加1.4849