ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:174.66KB ,
资源ID:6478916      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6478916.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(mcs51单片机的详细组成.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

mcs51单片机的详细组成.docx

1、mcs51单片机的详细组成 第二章 MCS-51单片机组成原理(初识单片机) MCS-51系列单片机是美国Intel公司生产的高档8位机,在这个系列中常用的、最典型的有下列三种产品:1、8031单片机;2、8051单片机;3、8751单片机。2-1 MCS-51单片机的内部结构框图: 一、 中央处理器CPU(8位机)由运算器和控制器组成,是单片机的核心:(1) 运算器ALU:完成二进制的算术运算和逻辑运算功能;(2) 控制器:在时钟脉冲的作用下,对指令进行译码,控制单片机系统的各部件协调有序的工作。二、 片内ROM主要用于存放程序、原始数据和表格等内容,也称为:程序存储器或片内ROM。(在MC

2、S-51系列中:8031单片机,片内无ROM;8051单片机,片内有4KB的掩膜ROM;8751单片机,片内有4KB的EPROM)。三、片内RAM(256个字节单元)(1) 高128个的字节单元组成了21个特殊功能的寄存器SFR,其功能已有专门规定,用户不能乱用;(2) 低128个的字节单元,作随机存取单元,供用户使用。(有时指片内RAM为128B就是这个意思)四、 定时器/计数器(216位)片内有2个16位的定时/计数器(T0,T1),并能以其定时或计数的结果对系统进行控制。五、并行I/O接口(48位)片内有4个8位并行I/O接口(P0,P1,P2,P3)。它们可双向使用。(1) P0口通常

3、用作8位数据总线或低8位的地址总线的信息传送;(2) P1口一般作通用数据I/O接口使用;(3) P2口通常用作高8位地址总线的信息传送;(4) P3口常用于以第2功能(有8种)的输入或输出的形式。六、 串行接口片内有2个1位的串行接口,TXD为输出口,RXD为输入口,它们还可编程为一个全双工(双向同步信息传送)的通用异步串行接口模式(UART)。七、 中断控制系统MCS-51有5个中断源:(1)2个外部中断源;(2)2个定时器/计数器中断源;(3)1个串行中断源。八、 重要功能(1)可以寻址64KB的片外ROM和64KB的片外RAM;(2)具有位操作功能(逻辑处理)的位寻址功能。2-2 CP

4、U的结构 CPU是单片机的核心,它由两大部分所组成:运算器和控制器。一、运算器1、 算术/逻辑部件:(1) 完成算术运算。如:加、减、乘、除运算;(2) 完成逻辑运算。如:与、或、非、异或等;(3) 将运算结果的特征量,作为下一步操作指令的依据。2、 累加器A:(8位寄存器)(1) 在算/逻运算中用于存放操作数或结果(2) 与外部存储器交换信息时要经过A;(3) 与I/O接口交换信息时也要经过A。3、 寄存器B:(8位寄存器)(1) 做乘法运算时,用来寄存乘数或积的高位字节;(2) 做除法运算时,用来寄存除数或余数;(3) 不做上述运算时,可做通用寄存器使用。4、 程序状态标志寄存器PSW:(

5、8位寄存器)(1) 进位标志位Cy(D7位):做加、减运算时,若运算结果在最高位有进位或借位时,Cy被硬件自动置“1”,反之则自动置“0”。(2) 辅助进位标志位AC:(半进位标志位,D6位) 做加、减运算时,若低4位有向高4位进位或借位时,AC被硬件自动置“1”,反之则自动置“0”。 CPU常根据AC的状态对BCD码的运算结果进行调整。(3) 用户标志位F0(D5位):用户可用软件对F0位,置“1”或置“0”,以决定程序的走向。(4) 工作寄存器组选择标志位RS1、RS0(D4、D3位):用户通过软件改变RS1和RS0的组合内容,来选择片内RAM中4组工作寄存器组之一。RS1RS0选定的当前

6、使用的工作寄存器组(区)片内RAM地址通用寄存器名称00第0组00H07HR0R701第1组08H0FHR0R710第2组10H17HR0R711第3组18H1FHR0R7(5) 溢出标志位OV(D2位): 当运算的结果超过8位二进制数的允许范围时,OV由硬件自动置“1”,反之置“0”。(6) 空缺位(D1位):此位未定义。(7) 奇偶校验标志位P(D0位):MCS-51采用偶校验,当A累加器中1的个数为奇数时,P被硬件置为“1”,反之被置为“0”。二、控制器控制器主要由定时控制逻辑电路和各种控制寄存器组成,它们严格按照定时电路的各种译码指令完成规定的操作。1、 指令寄存器IR和指令译码器ID

7、(8位)IR主要用于寄存指令代码,并通过ID将指令代码译出由控制电路产生相应的控制信号。2、 程序计数器PC是一个十六位的寄存器,专门用于寄存CPU将要执行的指令地址(即下一条指令的地址),所以PC会自动加1。PC可寻址64KB范围的ROM。注意PC本身没有地址,因此用户无法对其进行读写,但可以通过相应的指令改变其内容,实现程序的转移。3、 堆栈指针(寄存器)SP(8位)堆栈:只有一个数据进/出端口且按照“先进后出”原则管理的存储器。栈底:堆栈存储器的底部。此时的堆栈指针为SP。栈顶:存储器的数据入口处。空栈时,栈顶的地址等于栈底的地址(两者重合)。随着数据的不断进栈,栈顶的地址也不断的增加(

8、上浮)。数据进栈的操作:首先SP+1,送入SP,然后再向堆栈存储器写入数据;数据出栈的操作:首先从堆栈存储器读出数据,然后SP-1,送入SP。堆栈指针(寄存器)SP:就是专门用于寄存指示堆栈存储器地址的寄存器。4、 数据指针(地址)寄存器DPTR(16位)是一个十六位的专用寄存器,它由两个8位的寄存器DPH(高8位)和DPL(低8位)组成。专门用来寄存片外RAM及扩展I/O口进行数据存取用的地址。三、寄存器和特殊功能寄存器R1、工作寄存器MCS-51共有32个工作寄存器(在片内RAM的00H1FH的地址单元中),分为四个组(区),每个组(区)有8个寄存器,分别用R0、R1、R2、R3、R4、R

9、5、R6、R7表示。(由前面的表中可以看出)每个时刻只有一个区工作,而且由程序状态标志寄存器RS1、RS0来决定。当RS1RS0=00时,选定的当前的工作器组为第0组(区),它们的地址分别为00H07H,对应的通用寄存器的名称分别为R0R7。注意:R0、R1不仅做工作寄存器用外,还经常用于做间接寻址的地址指针。2、特殊功能寄存器SFR(专用寄存器)MCS-51共有21个特殊功能寄存器(除PC外),离散地分布在片内RAM的80H0FFH的地址单元中,共占据了128个存储单元,构成了SFR存储块。 将其地址由大到小排列如下(关于寻址方式将在下一章讨论)特殊功能寄存器 功能名称 地址 单元内复位后初

10、态 是否可以位寻址B 寄存器 F0H 00H 可以A 累加器 E0H 00H 可以PSW 程序状态 D0H 00H 可以标志寄存器 IP 中断优先级 B8H XXX00000B 可以 控制寄存器P3 P3口数据寄存器 B0H FFH 可以IE 中断允许 A8H 0XX00000B 可以 控制寄存器P2 P2口数据寄存器 A0H FFH 可以SBUF 串行口发送/接收 99H 不定 不可以 数据缓冲寄存器SCON 串行口控制寄存器 98H 00H 可以P1 P1口数据寄存器 90H FFH 可以TH1 T1计数器 8DH 00H 不可以 高8位寄存器 TH0 T0计数器 8CH 00H 不可以

11、高8位寄存器 TL1 T1计数器 8BH 00H 不可以 低8位寄存器TL0 T0计数器 8AH 00H 不可以 低8位寄存器 TMOD 定时器/计数器 89H 00H 不可以 方式控制寄存器TCON 定时器控制寄存器 88H 00H 可以PCON 电源控制寄存器 87H 00H 不可以DPH 地址寄存器高8位 83H 00H 不可以DPL 地址寄存器低8位 82H 00H 不可以SP 堆栈指针寄存器 81H 07H 不可以P0 P0口数据寄存器 80H FFH 可以以上21个特殊功能寄存器,它们的地址能被8整除的都可以位寻址。上面已介绍了B、A、PSW、SP及DPTR,其它的将在以后的章节中

12、分别读者讨论。23 MCS-51单片机存储器存储器是存放程序和数据的器件。MCS-51单片机一共有四个物理存储器:1、 内部程序存储器(ROM);2、 外部程序存储器(ROM); 内/外程序存储器统一编址,片外地址从0000HFFFFH有64KB,片内地址从0000H0FFFH有4KB,重叠处由信号来控制。 当时,从0000H0FFFFH片内到片外; 当时,内部地址无效,外部地址从0000H0FFFFH。 0000H为系统复位后程序的入口地址; 0000H0002H内存放一条无条件转移指令,转至主程序的入口地址; 0003H002AH单元均匀分为5段(每段8个单元),存放5个中断源入口地址及对

13、应的中断服务程序; 从0003H开始存放外部中断0()地址; 从000BH开始存放定时器0溢出中断地址; 从0013H开始存放外部中断1()地址; 从001BH开始存放定时器1溢出中断地址; 从001BH开始存放串行中断口地址。 从002BH以后开始存放主程序; 片内数据存储空间区:地址00H7FH,共有128B个存储单元:分配如下1 工作寄存器组(区):地址00H1FH,共有四个组(区),每个组(区)8个单元; 位寻址区:地址20H2FH,共有16个单元,每个单元又有8位,每一位都有一个位地址,共有128个位地址。(见教材P11的128位地址单元分配表) 用户RAM区(数据缓冲区):地址30

14、H7FH,共有80个单元,主要用于存放随机数据、运算的中间结果和作堆栈工作区。 专用寄存器区(特殊功能寄存器SFR):地址80H0FFH,共有12B个存储单元。主要存放21个特殊功能的寄存器组成SFR块。(前面已讲述)3、内部数据存储器;(独立编址) 4、外部数据存储器。(独立编址)由于单片机内部数据存储器不够用,则在片外扩展数据存储器,地址从0000H0FFFFH,共有64KB个存储单元。 内/外数据存储器的地址有重叠,但由于操作的指令不同,因此单片机可以正确地访问内/外数据存储器; 访问片内的数据存储器用MOV指令; 访问片外的数据存储器用MOVX指令; 外部存储器的16位地址,用数据指针

15、寄存器DPTR来寄存。(前面已讲述)24 时钟电路及时序 单片机本身就是一个复杂的同步时序电路,为了确保同步工作方式的执行,电路应在唯一的时钟信号的控制下严格地按时序进行工作。、XTAL1端和XTAL2端将晶振、电容C1和C2与内部的反相放大器连接起来组成并联谐振电路;、振荡频率范围在212MHz,一般常用6MHz或12MHz;、C1、C2取31PF,对频率有微调作用;、产生的振荡信号送入内部的时钟电路再二分频构成了单片机的时钟;、最后向CPU提供P1、P2两相时钟信号。一、时钟电路1、 内部方式时钟电路:倒相器晶振2、 外部方式时钟电路:(8051型单片机)、由外部振荡器产生振荡信号;、经电

16、平转换电路接至XTAL2端;、XTAL1端接低电平。外部振荡器二、时序 CPU在执行指令时,各控制信号在时间顺序上的关系称时序。CPU发出的时序信号有两类: 一类是用于片内各功能部件的控制,基本于用户无关;(不讨论) 另一类用于片外存储器、扩展的I/O端口的控制,非常重要。(要掌握)1、基本概念: 振荡周期晶体振荡器直接产生的振荡信号的周期。 时钟周期(状态周期)S 一个时钟周期等于两个振荡周期,换句话说就是对振荡频率进行2分频的振荡信号。一个时钟周期S分为P1和P2两个节拍:1 P1节拍完成算术逻辑运算;2 P2节拍完成内部寄存器间数据的传送。 机器周期 完成一个基本操作所需的时间称为机器周

17、期。一个机器周期由6个时钟周期(分别用S1S6来表示)即12个振荡周期(分别用S1P1、S1P2、S2P1、S2P2、S3P1、S6P2)组成。 指令周期执行一条指令所需的全部时间称为指令周期。MCS-51单片机的指令周期一般需要14个机器周期。例 已知晶振频率分别为:6MHz、12MHz,试计算出它们的机器周期和指令周期。解:当晶振频率为6MHz时: 振荡周期=1/振荡频率=1/6(s) 时钟周期=2振荡周期=2/6(s) 机器周期=6时钟周期=2(s) 指令周期=(14)机器周期=28(s)当晶振频率为12MHz时:振荡周期=1/振荡频率=1/12(s) 时钟周期=2振荡周期=2/12(s

18、) 机器周期=6时钟周期=1(s) 指令周期=(14)机器周期=14(s)由此可见:单片机在晶振频率为12MHz时,执行一条指令最多需要14(s)。2、几种典型的MCS-51单片机 取指/执行时序单片机的每条指令的执行过程都要包括两个阶段,即取指阶段和执行阶段。、指令存放在内部ROM区域,指令本身是访问内部RAM的时序 地址锁存信号ALE(单片机的输出信号)在每一个机器周期内有效两次。即:S1P2S2P1、S4P2S5P1,有效宽度为一个S状态周期(图中第四行波形)。ALE信号每有效一次,单片机就进行一次读指令的操作。(图中第2行波形) 单字节单机器周期指令如:INC A(这是一条累加器A加1

19、指令)属于单字节指令,所以只进行一次取指操作,其完整过程是:当ALE第一次有效(即S1)时,从ROM中读出上指令并送至指令寄存器IR中开始执行,在执行过程中CPU一方面在第二次ALE有效(即S4)时封锁PC加1,使第二次读操作成为假读,另一方面完成指令的执行。(图中第3行波形) 双字节单机器周期指令 如:ADD A, #data(这是一条将累加器A中的内容与data数据相加的加法指令)属于双字节指令,其对应ALE的两次取指操作都是有效的,其完整过程是: 第一次读指令的操作码,经译码器译码后得知是双字节指令,CPU一方面使PC+1,继续第二次读指令的操作数,另一方面等两个字节全读出后,便完成了指

20、令的执行。(图中第4行波形) 单字节双机器周期指令 如:INC DPTR(这是一条数据指针DPTR加1指令)属于单字节指令,但用了两个机器周期,共进行了4次读指令操作。其完整过程是:当第一次读指令的操作码后,经译码器译码得知是单字节双机器周期指令,CPU一方面自动封锁后面的读操作(PC不加1),使后3次读操作全成为假读,另一方面在第2个机器周期结束时完成指令的执行。(图中第5行波形)、指令存放在内部ROM区域,指令本身是访问外部RAM的时序如:MOVX A,DPTR(这也是一条单字节的数据传送指令),只要是访问外部RAM的指令都是双机器周期指令,它与前述的单字节双机器周期指令不同。其完整的过程

21、如下: 在第一个机器周期中第一次ALE有效时(即S1)读操作码,在第二次ALE有效(即S4)时封锁PC加1,使第二次读操作成为假读,在S5的状态开始时送出外部RAM单元的地址,进行数据的读写;在第二个机器周期中,因CPU在读/写数据,所以ALE信号全部丢失,在S1、S4时不产生取指操作,在S6P2时完成指令的全部执行。(图中第6行波形)25 输入/输出端口MCS-51单片机有32条I/O线,分属于4个(P0、P1、P2、P3)8位I/O双向并行接口,每个接口均由锁存器、输出驱动电路和输入缓冲器组成。一、 P0口P0口有8位,每1位由一个锁存器、两个三态输入缓冲器、控制电路和驱动电路组成。(见下

22、图)1、P0口作通用I/O口 P0口既可作输入口,也可作输出口(每1位都可以作),其工作原理如下: P0口作输入口:1 在地址/数据和控制信号的作用下,使MUX接端;2 为保证数据正确输入,必须使T2管处于截止状态,因此应先对锁存器写“1”,然后再写入数据;3 外部信号通过P0.X进入2号三态缓冲器,三态缓冲器打开,数据输入到内部总线。4 锁存器一方面通过端到MUX控制T2的状态,另一方面通过1号三态缓冲器维持输入的状态。 P0口作输出口:1 在地址/数据和控制信号的作用下,使MUX接端;2 内部数据通过内部总线并在写脉冲的控制下写入锁存器;3 内部信号通过端到MUX控制T2的状态,使T2的输

23、出保持与内部数据的同相; P0口的I/O是分时使用,所以称它为准双向口。2、作分时复用的地址/数据总线(第二功能) MCS-51单片机没有单独的地址/数据总线。当接RAM时,它的16位地址和8位数据分别由P0口和P2口共同完成,P2口负责传送高8位地址,P0口负责传送低8位地址和8位双向数据。(这就是所谓分时复用技术)其工作原理如下: 从P0口输出地址或数据:1 在地址/数据(假若为“1”)和控制信号的作用下,使MUX接上面的触点,此时T1导通,T2截止,输出为“1”,完成了地址/数据信号的正确传送;2 在地址/数据(假若为“0”)和控制信号的作用下,使MUX接上面的触点,此时T1截止,T2导

24、通,输出为“0”,完成了地址/数据信号的正确传送。 从P0口输入数据:输入数据直接通过2号三态缓冲器进入内部总线,无需先对锁存器写“1”,此工作由CPU自动完成。是一个真正的双向端口。二、P1口 P1口是一个专用的准双向I/O口,每1位都由一个锁存器、两个三态输入缓冲器和驱动电路组成。(见下图) 它与P0口有两点不同:1、没有电子开关MUX,所以工作时必须先对该位的锁存器写“1”,然后再输入数据;2、在驱动电路部分,用内部的上拉电阻取代了场效应管。 其工作原理与P0口相同,只是不能复用(无第二功能),是一个准双向口。三、P2口P2口是一个8位的准双向口,每1位由一个锁存器、两个三态输入缓冲器、

25、控制电路和驱动电路组成。(见下图)1、作通用I/O口,与P0口的功能类似;2、可以作扩展系统的高8位地址总线,然后与P0口传送的低8位地址一起组成16位地址总线。(第二功能)四、P3口P3口也是一个8位准双向口,每1位都由一个锁存器、两个三态输入缓冲器和驱动电路组成。(见下图)1、P3口作一般输出口使用时与P1口的功能类同,均可以作为通用的I/O口使用。注意:第二功能输出端(与非门的输入端)要保持高电平,以维持锁存器到输出端的数据畅通。2、P3口最重要的功能是第二功能。当P3工作在第二功能时,锁存器的Q端要保持高电平,以维持第二功能(与非门的另一端)输出的数据畅通。在P3口工作在第二功能时,它

26、的每1位都具有不同的功能。(见下表)P3口引脚第 二 功 能P3-0RXD串行数据输入口P3-1TXD串行数据输出口P3-2外部中断0P3-3外部中断1P3-4T0定时/计数器0外部计数脉冲输入端P3-5T1定时/计数器1外部计数脉冲输入端P3-6片外RAM写选通信号输出端P3-7片外RAM读选通信号输出端五、P0口P3口有使用中的特点1、 P0口的输出级的每一位可驱动8个TTL门,但它驱动NMOS门时需外加上拉电阻;而作地址/数据总线(复用)时,无须外接上拉电阻。2、 P1口P3口输出级的每一位可驱动4个TTL门,无须外接上拉电阻。3、 P0口P3口若是由CMOS电路组成,当它驱动普通晶体管

27、的基极时,应在端口和晶体管之间串入一个电阻,来限制高电平的输出电流。4、 P0口一般可用作8位的数据总线的输入/输出。5、 P0口在第二功能时和P2口构成16位地址总线中的低8位。6、 P1口通常用于数据的输入/输出。(无第二功能)7、 P2口一般可用作8位的数据总线的输入/输出。8、 P2口在第二功能时和P0口构成16位地址总线中的高8位。9、 P3口可以用作8位的数据总线的输入/输出。10、P3口通常用于第二功能的输入/输出。11、系统复位后,P0口P3口的32个管脚均输出高电平(0FFH)。(注意与外设的配合)12、可以规定并行口的一部分管脚为输入脚,另一部分脚为输出脚,没有使用的脚可以

28、悬空。26 MCS-51单片机的引脚功能 MCS-51型系列单片机是具有40个引脚的双列直插式封装的器件,其中许多引脚具有第二功能,一共分为四大类。(不同的芯片略有不同)见下引脚图:一、电源类引脚1、(40脚):芯片工作电源的输入端,+5V。2、(20脚):电源的接地端。二、时钟振荡电路引脚XTAL1(19脚)和XTAL2(18脚)的内部是一个振荡电路。1、当使用内部振荡电路时,在这两个管脚上外接石英晶体和微调电容;2、当使用外部时钟时,XTAL2接外部振荡信号,XTAL1接低电平。三、输入/输出引脚1、 P0口(3239脚):是一个8位漏极开路型的双向I/O口;访问外部RAM时,分时提供低8

29、位地址,并用作8位数据总线。2、 P1口(18脚):是一个带内部提升电阻的8位准双向I/O口。3、 P2口(2128脚):是一个带内部提升电阻的8位准双向I/O口;访问外部RAM时,分时提供高8位地址。4、 P3口(1017脚):是一个带内部提升电阻的8位准双向I/O口。四、控制类引脚1、(9脚,两功能)1 RST为复位信号输入端:只要给RST端两个机器周期的高电平,就可以复位;2 为内部的备用电源(+5V)的输入端:若突然掉电,可保护内部RAM的信息不丢失。2、(30脚,两功能)1 ALE地址锁存信号输出端:(a) 在访问外部RAM时,ALE用来锁存P0的扩展地址低8位;(b) 不访问外部R

30、AM时,ALE以时钟频率的1/6的固定频率输出;(给外部定时用)(c) ALE能驱动8个TTL逻辑门。 编程脉冲输入端:仅用于8751型单片机内部EPROM编程的脉冲输入(低电平有效)。3、(29脚)外部程序ROM的读选通信号输出端:当访问外部程序ROM时,定时产生一个负脉冲作选通信号,即每个机器周期内的效两次。注意:若访问外部RAM或片内的ROM,不会有输出(为高电平)。4、(31脚,两功能) 访问内/外程序存储器的控制信号输出端:(a) 当时,限定访问外部的程序ROM,地址从0000HFFFFH;若某单片机(如:8031型)无内部程序ROM,则应将端接地。(b) 当时,先访问片内的程序ROM(有4KB),若超出时自动切换到外部RAM去访问。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1