第2章MCS1单片机的硬件结构.ppt
《第2章MCS1单片机的硬件结构.ppt》由会员分享,可在线阅读,更多相关《第2章MCS1单片机的硬件结构.ppt(134页珍藏版)》请在三一文库上搜索。
1、,串行通信接口 全双工 1个,内部 ROM,TXD RXD,中断系统,并行通信接口 48bit,定时/计数器 n16bit,内部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/89C5
2、2/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,片内有振荡器和时钟电路,工作频率为 1
3、12MHz(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系列中各各种型号的芯片的引脚是相互兼容的。
4、制造工艺为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电源
5、; (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,外部时钟,通常外接一个晶
6、振两个电容,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)。,单片机的控制引
7、脚(复位端),RESET(9引脚):复位端(正脉冲有效,宽度8 mS) VPD(9引脚):本引脚的第二功能,即备用电源输入端,与复位端引脚有关的概念,引脚RST/VPD :时钟电路工作后,加上两个机器周期的高电平,单片机将复位。单片机运行出错或进入死循环时,可按复位键重新运行。 复位后,引脚由高电平变为低电平时,单片机从0号单元取指,开始执行程序。 复用功能:将VPD接+5V备用电源,一但Vcc电位突然下降或断电,能保护片内RAM中的信息不被丢失,使复电后能正常工作。,ALE/PROG(30引脚):地址锁存允许信号/编程脉冲输入端。 当单片机访问外部存储器时,P0口输出的低八位地址由ALE输出
8、的控制信号锁存到片外地址锁存器,P0口输出地址低8位后,又能与片外存储器之间传送信息。,单片机的控制引脚( ALE端),由于P0口作地址/数据复用口,那么P0口上的信息究竟是地址还是数据完全由ALE来定义,ALE高电平期间,P0口上一般出现地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外地址锁存器,在ALE低电平期间P0口上一般出现指令和数据信息。平时不访问片外存贮器时,该端也以六分之一的时钟频率固定输出正脉冲。因而亦可作系统中其它芯片的时钟源。ALE可驱动8个TTL门。 对于EPROM型单片机,在EPROM编程时,此脚用于编程脉冲PROG。,单片机的控制引脚( ALE端),PSEN(
9、29引脚):片外程序存储器选通信号,低有效,可驱动8个LS型TTL负载。在寻址外部程序存储器时选通外部EPROM的读控制端(OE)。,单片机的控制引脚( PSEN),EA/Vpp(31引脚):内部和外部程序存贮器选择信号 /编程电源输入端。 对8051来说,当EA为高时,CPU访问程序存贮器有两种情况: 地址小于4K时访问内部程序存贮器。 地址大于4K时访问外部程序存贮器。 当EA接地,则不使用内部程序存贮器,不管地址大小,取指时总是访问外部程序存贮器。 片内无ROM时(8031)必须接地; 片内有ROM时应当接高电平; VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对
10、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
11、单片机的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 运算器 运算器主要用来实现对操作数进行算术、逻辑运算和位操作。 运算器主要包括: 算术逻辑运算单元AL
12、U 累加器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中使用最频繁的一个八位专用寄存器,可写
13、为Acc或A寄存器。 主要功能: 累加器A存放操作数,是ALU单元的输入之一,也是ALU运算结果的暂存单元。 由于累加器的“瓶颈”作用制约着单片微机运算速度的提高,人们又推出寄存器阵列来代替累加器,赋予更多寄存器以累加器功能,形成了多累加器结构,比如Intel公司的MCS-96系列中的8098十六位单片微机。,2累加器A A的作用: (1)是ALU的输入之一,又是运算结果的存放单元。 (2)数据传送大多都通过累加器A。MCS-51增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。 A的进位标志Cy同时又是位处理机的位累加器。,3B寄存器 B寄存器在乘法
14、和除法指令中作为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,C
15、Y,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(PS
16、W.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时特指累加
17、器在进行带符号数(-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 指令译
18、码器 条件转移逻辑电路 定时控制逻辑电路,2.3.2 控制器 1程序计数器PC(Program Counter) 程序计数器PC(Program Counter)是一个独立的计数器,不属于内部的特殊功能寄存器。PC中存放下一条要执行的指令在程序存储器中的地址。 程序计数器的基本工作过程: 读指令时,程序计数器将其数据作为所取指令的地址输出给程序存储器,然后程序存储器根据此地址输出指令字节,同时程序计数器自身的内容自动增加,指向下一条指令的地址。 PC中内容的变化决定程序的流向。PC的位数决定了单片机对程序存储器可以寻址的直接范围。在MCS-51单片机中,程序计数器是16位的计数器,故可对64K
19、B的程序存储器寻址。,1程序计数器PC(Program Counter) 特点: 总指向下一条指令所在首地址(当前PC值) 一切分支/跳转/调用/中断/复位 等操作的本质就是:改变 PC 值 基本工作方式有以下几种: (1)程序计数器自动加1 (2)执行有条件转移或无条件转移指令时, PC将被置入新的数值,从而使程序的流向发生变化。 (3)执行子程序调用或中断调用,完成下列操作: PC的现行值保护 将子程序入口地址或中断向量的地址送入PC。,2数据指针 DPTR DPTR是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器或I/O寻址用的地址寄存器(间接寻址),故称为数据存储器地址指针。
20、 访问片外数据存储器或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的输出送指令译码
21、器;然后由指令译码器对该指令进行译码,译码结果送定时控制逻辑电路。 定时控制逻辑电路则根据指令的性质发出一系列定时控制信号,控制计算机的各组成部件进行相应的工作,执行指令。 条件转移逻辑电路主要用来控制程序的分支转移。在80C51中,转移条件也可分为两部分。一部分是内部条件,即程序状态标志位(PSW)和累加器的零状态。另一部分是外部条件,即F0和所有位寻址空间的状态。,指令寄存器和指令译码器,2.4 MCS-51存储器的结构 单片机的存储器有两种基本结构: 一种是在通用微型计算机中广泛采用的将程序和数据合用一个存储器空间的结构,称为普林斯顿结构; 另一种是将程序存储器和数据存储器截然分开,分别
22、寻址的结构,称为哈佛结构。 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(或38
23、4)B 片内数据存储器 64KB 片外数据存储器,物理空间与逻辑地址,程序存储器,片内数据存储器,片外数据存储器,MCS-51单片机存贮器配置,2.4.1 程序存储器 程序存储器用于存放应用程序和表格之类的固定常数。 由于采用16位的程序计数器 PC和16位的地址总线,因而其可扩展的地址空间为64 KB。 51单片机的程序存储器分为片内和片外两部分,由EA*引脚上所接的电平确定。 EA引脚接高电平时,程序从片内程序存储器0000H开始执行,即访问片内存储器;当PC值超出片内ROM容量(0FFFH)时,会自动转向片外程序存储器空间执行。 EA引脚接低电平时,迫使系统全部执行片外程序存储器0000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS1 单片机 硬件 结构
链接地址:https://www.31doc.com/p-2599430.html