欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第2章MCS1单片机的硬件结构.ppt

    • 资源ID:2599430       资源大小:1.92MB        全文页数:134页
    • 资源格式: PPT        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章MCS1单片机的硬件结构.ppt

    ,串行通信接口 全双工 1个,内部 ROM,TXD RXD,中断系统,并行通信接口 4×8bit,定时/计数器 n×16bit,内部RAM,时 钟 电 路,CPU,总线控制,第2章 MCS-51单片机的硬件结构 2.1 MCS-51单片机的硬件结构,MCS-51单片机的功能部件 1. 中央处理器(CPU) 1个8位CPU:运算器控制器 可以处理字节数据和位数据 2.数据存储器(RAM) 片内为128个字节(52子系列的为256个字节) 片外最多可扩64KB 3.程序存储器(ROM/EPROM) 8031:无此部件; 8051:4K字节ROM; 8751:4K字节EPROM ; 89C51/89C52/89C55:4K/8K/20K 字节闪存。 片外可扩展至64KB,MCS-51单片机的功能部件 4.中断系统 5个中断源,2级中断优先权 5.定时器/计数器 片内2个16位定时/计数器(52系列有3个16位定时/计数器),具有4种工作方式,用以对外部事件进行计数,也可用作定时器。 6. 串行口 1个全双工的异步串行口,具有四种工作方式。 7. P1口、P2口、P3口、P0口 为4个并行8位I/O口。 8. 特殊功能寄存器(SFR) 共有21个,是一个具有特殊功能的RAM区。用以实现CPU对功能部件的集中控制。,MCS-51单片机基本特性,8位的CPU,片内有振荡器和时钟电路,工作频率为 112MHz(Atmel 89Cxx为024MHz) 片内有 128/256字节 RAM 片内有 0K/4K/8K字节 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM 可寻址片外 64K字节 程序存储器ROM 片内 21/26个 特殊功能寄存器(SFR) 4个8位的并行I/O口(PIO) 1个全双工串行口(SIO/UART) 2/3个16位定时器/计数器(TIMER/COUNTER) 可处理 5/6个中断源,两级中断优先级 内置1个布尔处理器和1个布尔累加器(Cy) MCS-51指令集含111条指令,2.2 MCS-51的引脚 MCS-51系列中各各种型号的芯片的引脚是相互兼容的。 制造工艺为HMOS的MCS-51 单片机都采用40只引脚双列直插封装(DIP)。 制造工艺为CHMOS的80C31/80C51/87C51除采用DIP封装方式外,还采用44只引脚的方形封装方式,其中4只NC引脚是无效引脚。,MCS-51的引脚描述说明,2.2 MCS-51的引脚 40只引脚按功能分为3类: (1)电源及时钟引脚: Vcc、Vss;XTAL1、XTAL2。 (2)控制引脚: PSEN*、EA* 、ALE、RESET (即RST)。 (3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。 2.2.1 电源及时钟引脚 1电源引脚 (1)Vcc(40脚):+5V电源; (2)Vss(20脚):接地。 2时钟引脚 (1)XTAL1(19脚):接外部晶体,如果采用外接振荡器时,振荡器的输出应接到此引脚上。 (2)XTAL2(18脚):接外部晶体的另一端或悬空。,2.2.1电源及时钟(晶振端)引脚,Vcc(40引脚):正电源端 (+5V) GND(20引脚):接地端 XTAL1(19引脚): XTAL2(18引脚):片内振荡电路输入/输出端,20100pfx2,112MHz(MCS-51)/024MHz(Atmel-89C),XTAL1,XTAL2,也可以由 XTAL2端接入外部时钟,此时应将 XTAL1接地:,XTAL1,XTAL2,外部时钟,通常外接一个晶振两个电容,2.2.2 控制引脚 提供控制信号,有的引脚还具有复用功能。 (1) RST/VPD(9脚):复位与备用电源。 (2) ALE/PROG*(30脚): 第一功能:ALE为地址锁存允许,可驱动8个LS型TTL负载。 第二功能:PROG*为编程脉冲输入端。 (3) PSEN* (29脚):外部程序存储器的读选通信号。可驱动8个LS型TTL负载。 (4) EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚) EA*为内外程序存储器选择控制端。 VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。,单片机的控制引脚(复位端),RESET(9引脚):复位端(正脉冲有效,宽度8 mS) VPD(9引脚):本引脚的第二功能,即备用电源输入端,与复位端引脚有关的概念,引脚RST/VPD :时钟电路工作后,加上两个机器周期的高电平,单片机将复位。单片机运行出错或进入死循环时,可按复位键重新运行。 复位后,引脚由高电平变为低电平时,单片机从0号单元取指,开始执行程序。 复用功能:将VPD接+5V备用电源,一但Vcc电位突然下降或断电,能保护片内RAM中的信息不被丢失,使复电后能正常工作。,ALE/PROG(30引脚):地址锁存允许信号/编程脉冲输入端。 当单片机访问外部存储器时,P0口输出的低八位地址由ALE输出的控制信号锁存到片外地址锁存器,P0口输出地址低8位后,又能与片外存储器之间传送信息。,单片机的控制引脚( ALE端),由于P0口作地址/数据复用口,那么P0口上的信息究竟是地址还是数据完全由ALE来定义,ALE高电平期间,P0口上一般出现地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外地址锁存器,在ALE低电平期间P0口上一般出现指令和数据信息。平时不访问片外存贮器时,该端也以六分之一的时钟频率固定输出正脉冲。因而亦可作系统中其它芯片的时钟源。ALE可驱动8个TTL门。 对于EPROM型单片机,在EPROM编程时,此脚用于编程脉冲PROG。,单片机的控制引脚( ALE端),PSEN(29引脚):片外程序存储器选通信号,低有效,可驱动8个LS型TTL负载。在寻址外部程序存储器时选通外部EPROM的读控制端(OE)。,单片机的控制引脚( PSEN),EA/Vpp(31引脚):内部和外部程序存贮器选择信号 /编程电源输入端。 对8051来说,当EA为高时,CPU访问程序存贮器有两种情况: 地址小于4K时访问内部程序存贮器。 地址大于4K时访问外部程序存贮器。 当EA接地,则不使用内部程序存贮器,不管地址大小,取指时总是访问外部程序存贮器。 片内无ROM时(8031)必须接地; 片内有ROM时应当接高电平; VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。,单片机的控制引脚( EA端),2.2.3 I/O口引脚 (1) P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 (3) P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。 (4) P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。 注意:准双向口与双向三态口的差别。 当3个准双向I/O口作输入口使用时,要向该口先写“1”。 准双向I/O口无高阻 “浮空”状态。,51单片机的8个特殊引脚,Vcc, GND: 电源端、接地端 XTAL1, XTAL2: 片内振荡电路输入、输出端 RESET/Vpd: 复位端、正脉冲有效(宽度8 mS) EA/Vpp: 寻址外部ROM控制端。低有效 片内有ROM时应当接高电平。 ALE/PROG: 地址锁存允许控制端。 PSEN:选通外部ROM的读(OE)控制端。低有效,小结,51单片机引脚汇总,2.3 MCS-51的CPU 中央处理器CPU是单片微机内部的核心部件,主要包括控制器、运算器和工作寄存器及时序电路。 2.3.1 运算器 运算器主要用来实现对操作数进行算术、逻辑运算和位操作。 运算器主要包括: 算术逻辑运算单元ALU 累加器ACC(A) 位处理器 暂存寄存器、B寄存器 程序状态标志寄存器PSW BCD码运算修正电路,1算术逻辑运算单元ALU ALU实质上是全加器,结构参见下图。 ALU有两个输入: 通过暂存器1的输入:输入数据来自寄存器、直接寻址单元(含I/O口)、内部RAM、寄存器B或是立即数。 通过暂存器 2或累加器 ACC的输入:通过暂存器 2的运算的指令有 ANL direct, data ORL direct,data XRL direct,data 其它的运算,其输入之一大多数也要通过累加器ACC。,1算术逻辑运算单元ALU,2累加器A 累加器A是CPU中使用最频繁的一个八位专用寄存器,可写为Acc或A寄存器。 主要功能: 累加器A存放操作数,是ALU单元的输入之一,也是ALU运算结果的暂存单元。 由于累加器的“瓶颈”作用制约着单片微机运算速度的提高,人们又推出寄存器阵列来代替累加器,赋予更多寄存器以累加器功能,形成了多累加器结构,比如Intel公司的MCS-96系列中的8098十六位单片微机。,2累加器A A的作用: (1)是ALU的输入之一,又是运算结果的存放单元。 (2)数据传送大多都通过累加器A。MCS-51增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。 A的进位标志Cy同时又是位处理机的位累加器。,3B寄存器 B寄存器在乘法和除法指令中作为ALU的输入之一。 乘法中,ALU的两个输入分别为A、B,运算结果存放在AB寄存器对中A中放积的低8位,B中放积的高8位。 除法中,被除数取自A,除数取自B,商数存放于A,余数存放于B。 在其它情况下,B寄存器可以作为内部RAM中的一个单元来使用。,4程序状态字寄存器PSW 程序状态字寄存器PSW是一个8位的可读写寄存器,位于单片机片内的SFR区,字节地址为D0H。 PSW的不同位用于保存指令执行状态的信息,以供程序查询和判别。,CY,AC,F0,RS0,OV,P,RS1,D0H,PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。,AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DAA”指令时自动要判断这一位,我们可以暂时不关心它。,F0 (PSW.5)可由用户定义的标志位。,PSW.6,PSW.5,程序状态字寄存器 (PSW),F0,程序状态字寄存器 PSW,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。,RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R7分别代表08H 0FH单元。,RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。,RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0R7分别代表18H 1FH单元。,PSW.4 PSW.3,RS1,RS0 = 0 0 则选择了工作寄存器组 0 区R0R7分别代表00H 07H单元。,程序状态字寄存器 PSW,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV (PSW.2)溢出标志位。 OV=1时特指累加器在进行带符号数(-128+127)运算时出错(超出范围);OV=0时未出错。,PSW.1 未定义。,P (PSW.0)奇偶标志位。 P=1表示累加器中“1”的个数为奇数 P=0表示累加器中“1”的个数为偶数 CPU随时监视着ACC中的“1”的个数,并反映在PSW中,PSW.2,PSW.1,2.3.2 控制器 控制器是识别指令,并根据指令性质控制计算机各组成部件进行工作的部件,与运算器一起构成中央处理器。 其功能是控制指令的读取、译码和执行,对指令的执行过程进行定时控制,并根据执行结果决定是否分支转移。 在80C51单片机中,控制器包括: 程序计数器PC 程序地址寄存器 指令寄存器IR 指令译码器 条件转移逻辑电路 定时控制逻辑电路,2.3.2 控制器 1程序计数器PC(Program Counter) 程序计数器PC(Program Counter)是一个独立的计数器,不属于内部的特殊功能寄存器。PC中存放下一条要执行的指令在程序存储器中的地址。 程序计数器的基本工作过程: 读指令时,程序计数器将其数据作为所取指令的地址输出给程序存储器,然后程序存储器根据此地址输出指令字节,同时程序计数器自身的内容自动增加,指向下一条指令的地址。 PC中内容的变化决定程序的流向。PC的位数决定了单片机对程序存储器可以寻址的直接范围。在MCS-51单片机中,程序计数器是16位的计数器,故可对64KB的程序存储器寻址。,1程序计数器PC(Program Counter) 特点: 总指向下一条指令所在首地址(当前PC值) 一切分支/跳转/调用/中断/复位 等操作的本质就是:改变 PC 值 基本工作方式有以下几种: (1)程序计数器自动加1 (2)执行有条件转移或无条件转移指令时, PC将被置入新的数值,从而使程序的流向发生变化。 (3)执行子程序调用或中断调用,完成下列操作: PC的现行值保护 将子程序入口地址或中断向量的地址送入PC。,2数据指针 DPTR DPTR是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器或I/O寻址用的地址寄存器(间接寻址),故称为数据存储器地址指针。 访问片外数据存储器或I/O的指令为: MOVX A,DPTR 读 MOVX DPTR,A 写 DPTR寄存器也可以作为访问程序存储器时的基址寄存器。这时寻址程序存储器中的表格、常数等单元,而不是寻址指令。 MOVC A,ADPTR JMP ADPTR DPTR寄存器既可以作为一个16位寄存器处理,也可以作为两个8位寄存器处理,其高8位用DPH表示,低8位用DPL表示。,3指令寄存器IR、指令译码器及控制逻辑电路 指令寄存器IR是用来存放指令操作码的专用寄存器。 执行程序时,首先进行程序存储器的读操作,也就是根据程序计数器给出的地址从程序存储器中取出指令,送指令寄存器IR,IR的输出送指令译码器;然后由指令译码器对该指令进行译码,译码结果送定时控制逻辑电路。 定时控制逻辑电路则根据指令的性质发出一系列定时控制信号,控制计算机的各组成部件进行相应的工作,执行指令。 条件转移逻辑电路主要用来控制程序的分支转移。在80C51中,转移条件也可分为两部分。一部分是内部条件,即程序状态标志位(PSW)和累加器的零状态。另一部分是外部条件,即F0和所有位寻址空间的状态。,指令寄存器和指令译码器,2.4 MCS-51存储器的结构 单片机的存储器有两种基本结构: 一种是在通用微型计算机中广泛采用的将程序和数据合用一个存储器空间的结构,称为普林斯顿结构; 另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛结构。 Intel的MCS51和80C51系列单片微机采用哈佛结构。,2.4 MCS-51存储器的结构 存储器空间可划分为5类: 1.程序存储器空间 8031无内部程序存储器。 2.片内数据存储器空间 3.特殊功能寄存器SFR-Special Function Register 实际上是MCS-51各功能部件的状态级控制寄存器 4.位地址空间: 211个(12883)可寻址位。 5.外部数据寄存器空间:片外可扩展64K字节RAM。,物理上4个存储器地址空间: 片内/片外程序存储器空间 片内/片外数据存储器空间 逻辑上3个存储器地址空间: 64KB 程序存储器 256(或384)B 片内数据存储器 64KB 片外数据存储器,物理空间与逻辑地址,程序存储器,片内数据存储器,片外数据存储器,MCS-51单片机存贮器配置,2.4.1 程序存储器 程序存储器用于存放应用程序和表格之类的固定常数。 由于采用16位的程序计数器 PC和16位的地址总线,因而其可扩展的地址空间为64 KB。 51单片机的程序存储器分为片内和片外两部分,由EA*引脚上所接的电平确定。 EA引脚接高电平时,程序从片内程序存储器0000H开始执行,即访问片内存储器;当PC值超出片内ROM容量(0FFFH)时,会自动转向片外程序存储器空间执行。 EA引脚接低电平时,迫使系统全部执行片外程序存储器0000H开始存放的程序。 对于片内无ROM的80C31/80C32单片机,应将EA引脚固定接低电平,以迫使系统全部执行片外程序存储器程序。 程序存储器中的0000H地址是系统程序的启动地址。,2.4.1 程序存储器 程序存储器的某些单元被保留用于特定的程序入口地址。 由于系统复位后的PC地址为0000H,故系统从0000H单元开始取指,执行程序。 从0003H002DH单元被保留用于5个中断源的中断服务程序的入口地址。 5个单元具有特殊用途: 5种中断源的中断入口地址 外中断0 0003H 定时器T0 000BH 外中断1 0013H 定时器T1 001BH 串行口 0023H 计时器 T2/T2EX 002BH(针对8052),2.4.2 内部数据存储器 在80C51中,数据存储器又分片内数据存储器(internal data memory)和片外数据存储器(external data memory)两部分。 片内数据存储器(IRAM)地址只有8位,因而最大寻址范围为256个字节。 在80C51中,设置有一个专门的数据存储器的地址指示器数据指针DPTR,用于访问片外数据存储器(ERAM)。数据指针DPTR也是16位的寄存器,这样,就使80C51具有64 KB的数据存储器扩展能力。,2.4.2内部数据存储器 片内数据存储器是最灵活的地址空间。它在物理上又分成两个独立的功能不同的区。 片内数据RAM区: 对80C51,为地址空间的低128 B; 对80C52,为地址空间的0256B。 特殊功能寄存器SFR区:地址空间的高 128 B。 对于80C52,高128B的RAM区和SFR区的地址空间是重叠的。 究竟访问哪一个区是通过不同的寻址方式来加以区别,即访问高 128B RAM区时,选用间接寻址方式;访问SFR区,则应选用直接寻址方式。,片内RAM,高128单元:SFR (80H FFH),低128单元 (00H7FH),堆栈和数据缓冲区 (30H7FH) 位寻址区 (20H2FH) 通用寄存器区 (00H1FH),片内数据存储器框架分析,存储器配置(片内RAM),片内RAM 128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,89C51 128字节,片内数据RAM区:通用寄存器区 00H1FH:32个单元,是4组通用工作寄存器区,每个组包含 8个 8位寄存器,编号为 R0R7。 这是一个用寄存器直接寻址的区域,指令的数量最多,均为单周期指令,执行的速度最快。 在某一时刻,只能选用一个寄存器组使用。其选择是通过软件对程序状态字(PSW)中的RS0、RS1二位的设置来实现的。设置RS0、RS1时,可以对PSW字节寻址,也可以位寻址方式,间接或直接修改RS0、RS1的内容。通常采用后者较方便。 累加器ACC、B、DPTR及CY(布尔处理器的累加器)一般也作为寄存器对待。 寄存器R0、R1 通常用做间接寻址时的地址指针。,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,片内RAM前32个单元是工作寄存器区 (00H1FH),存储器配置(片内RAM),片内数据RAM区:可位寻址区 20H2FH:16个单元,可进行128位的位寻址 从片内数据RAM区的3247(20H2FH)的16个字节单元,共包含128位,是可位寻址的RAM区。这16个字节单元,既可进行字节寻址,又可位寻址。 这16个位寻址单元,再加上可位寻址的特殊功能寄存器一起构成了布尔(位)处理器的数据存储器空间。在这一存储器空间所有位都是可直接寻址的,即它们都具有位地址。,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,在片内RAM的地址范围为:00H7FH中共有128个可按位寻址的位。 分布在: 20H2FH字节单元中,即168128位,存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,分布在:20H2FH单元,存储器配置(片内RAM),片内数据RAM区:用户RAM区 30H7FH:用户RAM区,只能字节寻址,用作数据缓冲区以及堆栈区。 从片内数据RAM区的48127(30H7FH),共80个字节单元,可以采用直接字节寻址的方法访问。 对于 80C52,还有高 128 B的数据 RAM区。这一区域只能采用间接字节寻址的方法访问。,2.4.3 特殊功能寄存器(SFR) 特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。 不同的SFR管理不同的硬件模块,负责不同的功能各司其职。 换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。 CPU对片内各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个(89C52有26个) 。 有的SFR可进行位寻址:字节地址的末位是0H或8H可位寻址。,SFR的名称及其分布,1堆栈指针SP 1个8位的特殊功能寄存器,指示堆栈顶部在内部RAM块中的位置 。SP总是指向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈时数据先出栈 然后(SP)-1。 堆栈: 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。MCS-51单片机的堆栈结构是向上生长型堆栈。 单片机复位后,SP中的内容为07H,故堆栈实际是从08H开始执行的。但考虑到08H-1FH属于13组的工作寄存器区,故SP的值应为1FH或更大值。,1堆栈指针SP 堆栈的主要功能是为子程序调用和中断操作而设立的。 堆栈的具体功能: (1)保护断点 子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。 (2)保护现场/恢复现场 (3)数据的临时存放和数据传输 堆栈的操作有两种: 数据压入(PUSH)堆栈 数据弹出(POP)堆栈,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,下一个进栈的数据将存在此,数据进栈,已经进栈的数据存放在此,初始 SP,复位后 SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶,堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,当前要出栈的数据,数据出栈,SP-1指向下一个将要出栈的数据,初始 SP,堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,2累加器 ACC: 一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输)。 3. 副累加器 B 一个经常与 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),在不执行乘、除的情况下,可当作一个普通寄存器来使用。 4.程序状态字寄存器 PSW 5.数据指针DPTR 16位的专用寄存器,由两个8位寄存器DPL和DPH组成。主要用于保存16位地址(对外部数据存储器或外部程序存储器操作时)。,6.端口P0P3 专用寄存器P0P3分别是I/O口P0P3的锁存器。在MCS51中,可以把I/O口当作一般专用寄存器使用,端口操作指令与访存指令统一(采用MOV)。 7.串行数据缓冲器SBUF 由两个独立的寄存器组成:发送缓冲器,接收缓冲器存放欲发送或已接收的数据,一个字节地址,物理上是两个独立寄存器。 8.定时器/计数器 MCS51中有两个16位的T0和T1 2个16位:T1和T0,各由2个独立的8位寄存器组成: TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来访问。,9其他控制寄存器 IP 中断优先级控制; IE 中断允许控制; TMOD 定时/计数器方式控制; TCON 定时/计数器控制; SCON 串行口控制; PCON 电源供电方式控制。,PC与SFR复位状态表,回顾,2.4.4 位地址空间 MCS-51有211个(128个+83个)寻址位。位地址范围为:00HFFH。 内部RAM的可寻址位128个(字节地址20H2FH); 特殊功能寄存器SFR为83个可寻址位。,内部RAM的可寻址位及位地址,SFR中的位地址分布,2.4.5 外部数据存储器 MCS-51最多可外扩64K字节的RAM或I/O 。,使用各类存储器,注意几点: (1) 地址的重叠性 程序存储器(ROM)与数据存储器(RAM)全部64K字节地址空间重叠)。 (2)程序存储器(ROM)与数据存储器(RAM)在使用上是严格区分的 。 (3)位地址空间共有两个区域。 (4)片外数据存储区中,RAM与I/O端口统一编址。 所有外围I/O端口的地址均占用RAM单元地址,使用与访问外部数据存储器相同的传送指令。,00H,1FH,20H,2FH,30H,7FH,80H,FFH,80H,88H,90H,98H,A0H,A8H,B0H,B8H,D0H,E0H,F0H,特殊功能寄存器中位寻址,外部 ROMEA=0/1均可访问到,内部 ROM (EA=1),外部 ROM (EA=0),0000H,0000H,0FFFH,0FFFH,1000H,FFFFH,外 部 RAM (I/O口 地址),0000H,FFFFH,内部数据存储器 (a),外部数据存储器 (b),程序存储器 (c),工作寄存器区,MCS-51单片机存储器结构地址细分,位寻址区,128BRAM,若有外部ROM: EA=0只访问外部0000H-FFFFH; EA=1可访问内部0000H-0FFFH与外部1000H-FFFFH,通用RAM区,2.5 并行I/O端口 MCS-51系列单片机有4个8位的并行I/O接口:P0、P1、P2和P3口,共有32根口线。 这4个I/O口的端口寄存器均属于特殊功能寄存器(SFR)。 这4个I/O口,既可以字节寻址,也可以位寻址。 这4个I/O口的基本功能都是相同的:输出数据锁存、输入数据缓冲。 P0口、P2口,除了基本的I/O接口功能外,还具有第二功能(用来构建系统的数据总线和地址总线)。 P3口的每一位具有第二功能。 在4个I/O口中,只有P0口在地址/数据总线复用时是真正的双向口,P1P3口都是准双向口。,并行I/O端口的基本功能 4个I/O口的硬件结构不完全相同,但主要结构是一样的,32个I/O接口均有4个主要部件: 端口锁存器、输入缓冲器、输出驱动器和端口引脚(引至芯片外)。 故4个I/O口的基本功能( I/O 工作方式)都是相同的: (1)作为输出口时,由于内部自带锁存器,可直接和外设相连,不必外加锁存器。 (2)作为输入口时,有两种工作方式:读引脚和读端口(读锁存器)。 读引脚是直接读取引脚上的的状态,把外部的数据读到内部总线。 读端口时,实际上并不从外部读入数据,只是把端口锁存器中的内容读到内部总线,经过某种运算和变换后,再写回到端口锁存器。属于这种操作的指令很多,如端口内容取反。,并行I/O端口的基本功能 每个端口的逻辑结构中有两个输入缓冲器,CPU根据不同的指令,分别发出“读端口”和“读引脚”的信号,以完成两种不同的读操作。 (3)P1、P2和P3口是准双向口。在端口作为外部输入线即读引脚时,要先通过指令把端口锁存器置1,然后再进行读引脚操作,否则读入出错。 若不先对端口置1,端口锁存器的原来状态可能为0,加到输出驱动FET栅极的信号为1,该FET导通对地呈低阻抗。此时,即使引脚上的输入信号为1,也会由于端口的低阻抗使信号变低,最终读到内部总线的电平不一定为1。 若先执行置1操作,则可以使驱动FET截止,引脚信号直接加到三态的读引脚输入缓冲器,实现正确的读入。 在输入操作时,必须附加一个准备动作,所以这一类I/O端口被称为准双向口。,P0口的字节地址为80H,位地址为80H87H。 P0口包括一个输出锁存器、两个三态缓冲器、一个多路的转换开关MUX,输出驱动电路和输出控制电路组成。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,Vcc,2.5.1 P0端口,P0口作通用I/O端口使用 当控制信号为低电平时,P0口作为通用I/O口使用。 控制信号为0时,封锁了与门,转换开关MUX把输出级与与D锁存器的 端接通。 在CPU向端口输出数据时,因与门输出为0,使上拉FET截止,此时,输出级是漏极开路电路。当写入脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在 端,又经输出FET反相,在P0.X引脚上出现的数据正好是内部总线的数据。 当要从P0.X口输入数据时,引脚信号经输入缓冲器进入内部总线。 在输入数据前,应先向P0口写1,此时锁存器的 端为0,使输出级的两个场效应管均截止,引脚处于悬浮状态,才可作高阻输入。,P0口作通用I/O端口使用 当控制信号为低电平时,P0口作为通用I/O口使用。 因为,从P0口引脚输入数据时,下面FET一直处于截止状态,引脚上的外部信号既加在三态缓冲器1的输入端,又加在下面FET的漏极。假定在此之前曾经输出数据“0”,则下面FET是导通的,这样引脚上的电位就始终被箝位在低电平,使输入高电平无法读入。因此,在输入数据时,应人为地先向P0口写1,使两个FET均截止,方可高阻输入。 所以,P0口作为通用I/O口使用时,仍然是准双向I/O口。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输出I/O口(输出1时,必须外接上拉电阻),0,0,1,0,0,截止,截止,=0,Vcc,P0口作通用I/O端口使用,1,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输出I/O口,0,0,0,1,1,截止,导通,=0,Vcc,P0口作通用I/O端口使用,0,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输入口(事先必须对它写“1”),0,0,1,截止,截止,=0,Vcc,P0口作通用I/O端口使用,1,2,0,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输入口(事先必须对它写“1”),0,0,0,截止,截止,=0,Vcc,P0口作通用I/O端口使用,0,P0口作地址或数据总线使用(第二功能) 8051单片机的芯片引脚没有专门的地址总线和数据总线,在向外扩展存储器和接口时,由P2口输出地址总线的高8位A15A8,由P1口输出地址总线的低8位A7A0。 同时,对P0采用了总线复用技术,P0口又兼做8位双向数据总线,即P0口分时输出低8位地址或输入输出8位数据。 P0口作为低8位地址总线和8位数据总线使用时,CPU发出控制信号为高电平,打开上面的与门,使MUX打向上边,使内部地址/数据线与下面的场效应管反相接通。此时由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。此时,P0口为真正的双向口。,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时,1,0,1,1,=0,导通,截止,=0,Vcc,从P0口输出地址或数据信号,当地址或数据为“0”时,经反相器使下面的FET导通而上拉FET截止,引脚上出现相应的低电平“0”,这样就将地址/数据的信号输出。,P0口作地址或数据总线使用(第二功能),2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时,1,1,0,0,=1,截止,导通,=1,Vcc,从P0口输出地址或数据信号,当地址或数据为“1”时,经反相器使下面的FET截止,而经与门使上拉FET导通,P0.x引脚上出现相应的高电平“1”。,P0口作地址或数据总线使用(第二功能),2,1,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口: (3)输入数据时,输入指令将使引脚与内部总线直通,Vcc,从P0口输入数据,输入数据从引脚下方的三态输入缓冲器进入内部总线。,P0口作地址或数据总线使用(第二功能),2.5.

    注意事项

    本文(第2章MCS1单片机的硬件结构.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开