第2章 MCS-51单片机结构及原理_第1页
第2章 MCS-51单片机结构及原理_第2页
第2章 MCS-51单片机结构及原理_第3页
第2章 MCS-51单片机结构及原理_第4页
第2章 MCS-51单片机结构及原理_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,第2章MCS-51单片机结构及原理,2.1MCS-51单片机结构,2.2MCS-51的存储器结构,2.3单片机的复位、时钟与时序,2.4并行I/O口,2.1MCS-51单片机结构,2.2.1MCS-51的基本结构,MCS-51单片机主要由以下功能部件组成:,(1)8位微处理器(CPU);,(2)128B数据存储器(RAM),片外可扩展到64KB;,(3)4KB程序存储器(ROM/FLASH),片外可扩展到64KB;,(4)21个特殊功能寄存器(SFR);,(5)4个8位并行I/O口(P0口、P1口、P2口、P3口);,(6)1个全双工异步串行口(UART);,(7)2个16位定时器/计数器(

2、T0,T1);,(8)5个中断源的中断系统(X0,T0,X1,T1,S)。,MCS-51的内部结构,1288RAM,RAM地址寄存器,P3口,P1口,P2口,P0口,锁存器,锁存器,锁存器,锁存器,中断控制定时/计数器串行I/O口,SP,寄存器B,累加器A,暂存器1,暂存器2,程序状态字PSW,指令寄存器IR,指令译码器ID,数据指针DPTR,缓冲器,程序计数器,PC增1,程序地址寄存器AR,定时与控制,4K8ROM,ALU,CPU,51的微处理器,运算器P20,CPU,算术/逻辑部件ALU(ArithmeticLogicUnit),累加器ACC(Accumulator),程序状态字寄存器PS

3、W(ProgramStatusWord),暂存寄存器,寄存器B,控制器P19,定时控制与条件转移逻辑电路,程序计数器PC,指令寄存器IR,指令译码器ID,ALU实现8位数据的算数运算、逻辑运算和位运算。,1、运算器,累加器A用于向ALU提供操作数和存放运算的结果。,最常用的一个专用寄存器,大部分单操作数指令的操作数取自A,很多双操作数指令的一个操作数取自A,算术运算和逻辑运算的结果放在A或AB对中,指令系统采用A作为累加器的标识符,例:INCA,;执行A中的内容加1操作,ADDA,#data,寄存器B,8位寄存器,与累加器A配合使用,一般用于乘除法运算,例:MULAB,DIVAB,作一RAM单

4、元用,余B,程序状态字PSW,8位寄存器,存放ALU运算结果的特征,格式如下:,进/借位标志CY(PSW.7),加法运算时,如果D7有进位,则CY=1,否则CY=0,减法运算时,如果D7有借位,则CY=1,否则CY=0,PSW,D7D0,CY,辅助进位标志AC(PSW.6),8位加法运算时,如果低半字节的D3向D4有进位,则AC=1,否则AC=0,8位减法运算时,如果低半字节的D3向D4有借位,则AC=1,否则AC=0,标志F0(PSW.5),由用户定义,可用软件来使它置“1”、或清“0”,可由软件测试F0来控制程序流向,AC,工作寄存器区选择位RS1、RS0(PSW.4、PSW.3),通过软

5、件来改变RS1、RS0的组合,以确定当前工作寄存器区。,PSW.4PSW.3,用布尔操作来改变,溢出标志OV(PSW.2),作为有符号数加、减法时由硬件置位或清除,以指示运算结果是否溢出,执行加/减法指令时,用Ci表示i位向i+1有进/借位,a)第6位向第7位有进/借位,而第7位不向CY进/借位时,b)第6位不向第7位进/借位,而第7位向CY有进/借位时,OV=1,否则OV=0,若OV=1,意味着加/减法的结果已超出了一个字节有符号补码数所表示的范围(-128+127),D7D6D5D4D3D2D1D0,例:,01010110(+86)(正),00110010(+50)(正),0,0,0,1,

6、0,0,0,1,此时C6=1、C7=0则,D7D6D5D4D3D2D1D0,10010110(-106)(负),1,1,0,1,1,1,0,0,1,(+136)(正),(-197)(负),符号位,1,10100101(-91)(负),Cy,奇偶标志P(PSW.0),每个指令周期都由硬件置位或清零,以表示累加器A中值为“1”的位数的奇偶性,该标志可用于串行数据通讯,验证数据传输的可靠性,P=,1A中1的个数为奇数,0A中1的个数为偶数,程序计数器PC,2、控制器,16位专用寄存器,寻址范围64KB,此时的程序是顺序执行的,通电时自动复位,运行时可手动复位,复位后,,PC的内容自动清零,用来存放下

7、一条指令地址。CPU取指令时,,将PC内容经地址总线送到程序存储器,从该地址单元取回指令,译码并执行;同时,PC自动加1,如果程序需要转移,可在程序中安排转移或条件转移指令,指令寄存器IR保存当前正在执行的一条指令。定时与控制控制取指令、执行指令、存取操作数或运算结果等操作,向其它部件发出各种微操作控制信号,协调各部件的工作。,PC管理程序执行顺序的过程:,74H,0001H,08H,0002H,24H,0003H,04H,0004H,02H,22H,00H,0005H,0006H,0007H,2200H,78H,2201H,74H,2202H,2202H,下一条指令,RST/VPD,Vss,

8、Vcc,2.2.2MCS-51的引脚及功能,I/O口线P0、P1、P2、P3共32条,电源Vcc、Vss共2条,时钟XTAL1、XTAL2共2条,数据/地址复用口,I/O口,双功能口,80C51的40只引脚,管脚的功能,(1)电源与时钟,Vcc:接+5V电源端,Vss:接地端,XTAL1:片内振荡电路输入端,XTAL2:片内振荡电路输出端,时钟电路:,内时钟方式,外时钟方式,复位信号:高电平复位CPU,低电平CPU工作,ALE,片外取指信号(片外程序存储器读)输出端低电平有效。通过P0口读回指令或常数。控制的是片外程序存储器,名称,功能,RESET,地址锁存信号。ALE低电平时,P0口出现数据

9、信息;ALE高电平时,P0口出现地址信息。,控制引脚,程序存储器选择信号,0时,选外部ROM;,1,地址小于4k时,选内部ROM,地址大于4k时,选外部ROM,P0口是数据/地址复用口,用下降沿锁存P0口的低8位地址到外部锁存器,一、存储器的划分方法,8051单片机与一般微机的存储器配置方式很不相同。一般微机通常只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令。而MCS-51则不同。,2.2MCS-51的存储器结构,计算机的两种不同结构普林斯顿结构:,中央处理器(CPU),输入/输出部件,存储器,逻辑部件(AL

10、U),控制部件,计算机的两种不同结构哈佛结构:,中央处理器(CPU),输入/输出部件,程序存储器,逻辑部件(ALU),控制部件,数据存储器,片内程序存储器4KB(ROM0000H0FFFH)片内数据存储器128B(RAM00H7FH),仅用来访问外部程序存储器和外部数据存储器,存储器,数据存储器,程序存储器,对单片机来讲,ROM和RAM的寻址机构和寻址方式是分开的。,ROM、EPROME2ROM或FLASH,RAM,按地址访问的一维线性(逻辑)空间,按地址访问的一维线性(逻辑)空间,单片机,容量小,容量大,普林斯顿结构,哈佛结构,普林斯顿结构,0000H,0FFFH,0FFFH,0000H,1

11、000H,FFFFH,4KB,64KB,64KB,在程序存储器中,有6个单元具有特殊功能:,0003H:外部中断0入口。000BH:定时器0溢出中断入口。0013H:外部中断1入口。001BH:定时器1溢出中断入口。0023H:串行口中断入口。,0000H:8051复位后,PC0000H,即程序从0000H开始执行指令。,使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。,低128BRAM区(00H7FH),高128BRAM区(80HFFH),二、数据存储器,0FH08H,17H10H,2FH20H,7

12、FH30H,80个字节RAM,只能按字节寻址,16个字节分为128个RAM位,可按位亦可按字节寻址,四个工作寄存器区,00H,1FH,07H00H,1FH18H,亦可作普通RAM使用,1、低128BRAM区,工作寄存器区32个RAM单元,共4个区,每个区8个通用工作寄存器R0R7,“区”的选择由程序状态字PSW中的RS1和RS0确定,位寻址区(16个RAM单元VS11个SFR),字节地址:20H2FH,16个RAM字节共128个RAM位,位地址:00H7FH,11个SFR中的83位具有位寻址功能,布尔处理机数据存储器的主要组成部分,直接地址能被8所整除的,其中5位无定义,00H,20H,2FH

13、,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,位地址,(3)用户RAM区(数据缓冲区)共80个单元,字节地址:30H7FH,8051单片机复位时,堆栈指针SP指向07H单元,片内RAM的部分单元可用作堆栈,51的栈区不是固定的,为避开工作寄存器区、位寻址区,用户堆栈一般设置在30H7FH之间,真正的RAM单元,SP指针是可编程的寄存器,特殊功能寄存器SFR(专用寄存器)是一类专门用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。,不同的SFR管理不同的硬件模块,负责不同的功能,各司其职换而言之:要让单片机

14、实现预订的功能,必须有相应的硬件和编写相应的软件,而编写软件中最重要的一项工作就是对SFR进行设置。,2、高128BRAM区,例:堆栈操作,建立堆栈,压入操作,弹出操作,A的内容,B的内容,MOVSP,#60H,PUSHA,PUSHB,POPdirect,direct,栈底,(5)数据指针DPTR,(DPTR),(A),()+(DPTR),(6)I/O端口P0P3地址:80H90H0A0H0B0H,专用寄存器P0P3分别是端口P0P3的锁存器,(7)串行数据缓冲器SBUF地址:99H,(8)定时/计数器T0T1,MCS-51系列有2个16位定时/计数器T0、T1,MCS-52系列增加了1个16

15、位定时/计数器T2,片外,片外,程序存储器,数据存储器,8051在逻辑上,即从用户角度上8051有三个存储空间:片内外统一编址的程序存储器片内外不统一编址的数据存储器特殊功能寄存器(片内),访问这几个不同的逻辑空间时,采用的指令:片内外程序存储器空间-MOVC片内数据存储器空间和SFR-MOV片外数据存储器地址空间-MOVX,课堂练习,MCS-51单片机的工作寄存器组如何选择?若PSW的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是多少?MCS-51单片机内部数据存储器可以分为几个不同的区域?各有什么特点?8051单片机堆栈可以设置在什么地方?如何实现?80C51单片机的PS

16、W的作用是什么?80C51单片机的控制总线信号有哪些?各信号的作用如何?简述80C51的内部结构。,一、复位与复位电路,2.3单片机的复位、时钟与时序,复位电路,PC与SFR复位后的状态,内时钟方式:,在XTAL1、XTAL2上外接定时元件,使其形成自激振荡器。,定时元件采用由石英晶体和电容组成并联谐振电路。晶体和电容尽可能靠近单片机芯片。,19,18,C1,C2,振荡频率1.2MHz12MHz,晶振,二、时钟电路,外时钟方式:XTAL1接外部振荡器,XTAL2悬空,外时钟方式电路图,外部振荡源,19,18,频率低于12MHz,用于多片80C51的同时工作,三、CPU时序,1、几个概念,又称为

17、CPU周期,OSC,S1,S2,S3,S4,S5,S6,机器周期,晶振周期,状态周期,晶振周期状态周期机器周期指令周期,2、典型指令的取指和执行时序,读操作码24H,读第二字节#data,再读下一个操作码,(b)双字节单周期指令如:ADDA,#data,XTAL1,(b)双字节单周期指令,指令长度为2个字节,执行时间为一个机器周期,在S4P2期间读入第2字节,在本周期的S6P2期间执行完毕,在S1P2期间读入操作码并锁存在指令寄存器中,读操作码A3H,(c)单字节双周期指令如:INCDPTR,读下一个操作码(丢掉)PC不增“1”,“+1”,XTAL1,(c)单字节双周期指令,指令长度为1个字节

18、,执行时间为2个机器周期,因DPTR是16位的,即在本周期的S4P2及下一周期的2次取指无效,在第2周期的S6P2期间执行完毕,在S1P2期间读入操作码并锁存在指令寄存器中在后面3个ALE出现时(PC)不加1,而CPU是8位的,,需要2次运算,读操作码E0H,不取指,不取指无ALE,读下一个操作码(丢掉)PC不增“1”,XTAL1,MOVX类指令:,在S1P2期间读入操作码并锁存在指令寄存器中,在S5期间送出外部数据存储器地址,随后在S6直到下一机器周期的S3期间送出或读入数据,在第2周期的S6P2期间执行完毕,课堂练习:,1.如果某单片机的振荡频率fosc=12MHz,则:机器周期=uS;A

19、LE地址锁存=uS;2.已知乘法指令“MULAB”是一条4周期指令,则执行这条指令需要uS;3.加法指令“ADDA,#01H”是单周期指令,那么1S内该单片机可以进行次加法运算。,2.4并行I/O口,51单片机有P0、P1、P2、P3共四个8位并口。P1口只可作为I/O口使用,其余三个口除I/O口之外还有其它功能。作为I/O口时,每个口都可按字节或按位来输入或输出。8051单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。,地址/数据,控制,读锁存器,写锁存器,内部总线,读引脚,P0口位结构,Vcc,1,1,0

20、,0,1,“读”,0,1,1,0,0,D0D7,A0A7,P0口作地址/数据复用总线,从P0口输出数据或地址信息的过程:,从P0口输入数据信息:,引脚信号从输入三态缓冲器进入内部总线,“读”,P0口:作通用I/O口使用,外接上拉电阻,0,1,0,0,读修改写功能,1,ANLP0,A,(P0),(A),P0,“读”,Vcc,P0P3口线上的“读修改写”是通过上面一个三态门实现的。,P0口作通用I/O口使用输入时:,先将锁存器写“1”,T0、T1截止,读引脚信号,1,0,0,2、P1口:准双向口只可作为I/O口使用,读锁存器,写锁存器,内部总线,读引脚,内部上拉电阻,0,1,0,1,0,1,输出,输入,“读引脚”,P1口位结构,80C51中仅作通用的数据输入/输出口,作通用I/O口输出时:,将“1”写入锁存器,输出高电平,将“0”写入锁存器,输出低电平,作通用I/O口输入时:口锁存器必须写“1”,先将“1”写入锁存器,使T截止,口线上的数据取决于外部输入,内部总线为,引脚为,“高电平”,“低电平”,“1”,“0”,准双向口,3、P2口:准双向口,地址,控制,上拉电阻,3.P2口作通用I/O口使用时:,准双向口。MUX倒向左边,输出级与锁存器“Q”端接通,P2口I/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论