第2章 MCS-51单片机单片机的硬件结构与工作原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机原理及应用Principleofmicrocontrolleranditsapplication主讲教师丁纪凯第2章MCS-51单片机的硬件结构与工作原理第2章MCS-51单片机的硬件结构与工作原理2.1MCS-51单片机的片内结构2.2MCS-51单片机的封装与引脚2.3MCS-51单片机的CPU2.4MCS-51单片机最小系统2.5MCS-51单片机的存储器结构2.1MCS-51单片机的片内结构片内结构如下图2-1所示:由如下功能部件组成:1.CPU(微处理器)2.数据存储器(RAM)片内为128个字节(52系列的为256个字节)3.程序存储器(ROM/EPROM)8031:无此部件;8051:4K字节ROM;8751:4K字节EPROM;89C51/89C52/89C55:4K/8K/20K字节闪存(flash)。4.4个并行8位I/O口P1口、P2口、P3口、P0口5.串行口1个全双工的异步串行口,具有四种工作方式。6.定时器/计数器两个16位定时器/计数器T0、T1(52系列有3个T0、T1、T3)7.中断系统8.特殊功能寄存器(SFR)共有21个,是一个具有特殊功能的RAM区(52系列有26个)。CPU对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。2.2MCS-51单片机的封装与引脚2.2.1封装形式40只引脚双列直插封装(DIP)。一、电源及时钟引脚1.电源引脚(1)Vcc(40脚):+5V电源(2)Vss(20脚):接地2.时钟引脚(1)XTAL1(19脚):接外部晶振,如果采用外接振荡器时,振荡器的输出应接到此引脚上。(2)XTAL2(18脚):接外部晶体的另一端或采用外接振荡器时悬空。2.2.2MCS-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口的外部引脚。二、控制引脚提供控制信号,有的引脚还具有复用功能。(1)RST/VPD(9脚):复位与备用电源。(2)EA/VPP(EnableAddress/VoltagePulseofProgRaming,31脚)EA:为内外程序存储器选择控制端。EA=1,访问片内程序存储器,但在PC(程序计数器)值超出片内程序存储器地址范围时,将自动转向执行外部程序存储器内的程序;EA=0,只访问外部程序存储器。VPP:本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。(3)ALE/PROG(30脚):第一功能:ALE为地址锁存允许,可驱动8个LS型TTL负载。第二功能:PROG为编程脉冲输入端。(4)PSEN(29脚):外部程序存储器的读选通信号。可驱动8个LS型TTL负载。三、I/O口引脚(1)P0口:当89C51扩展外部存储器及I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。为双向I/O口。也可作为通用的I/O口使用,但需加上拉电阻,这时为准双向口。当作为普通的I/O输入时,应先向端口的输出锁存器写入1。P0口可驱动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负载。2.3MCS-51单片机的CPU由运算器、控制器所构成一、运算器1.算术逻辑运算单元ALU由一个加法器、两个暂存器、一个布尔处理器组成进行算术、逻辑运算,还具有位操作功能2.累加器A使用最频繁的、特殊用途的8位寄存器。可写为Acc4.程序状态字寄存器PSW8位标志寄存器,存放指令执行后的有关状态3.寄存器B为乘法、除法设置的8位寄存器二、控制器1.程序计数器PC(ProgramCounter)16位寄存器;存放下一条要执行的指令在程序存储器中的地址。基本工作方式有以下几种:(1)程序计数器自动加1(2)执行有条件转移或无条件转移指令时,PC将被置入新的数值,从而使程序的流向发生变化。(3)执行子程序调用或中断调用,完成下列操作:①PC的现行值保护②将子程序入口地址或中断向量的地址送入PC。2.指令寄存器IR、指令译码器ID及控制逻辑电路2.4MCS-51单片机最小系统使51单片机正常运行和执行程序实现简单功能的硬件电路2.4.1时钟电路与时序时钟电路用于产生MCS-51单片机工作所必需的时钟控制信号。1、MCS-51的时钟电路时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性。常用的时钟电路有两种方式:内部时钟方式和外部时钟方式。(1)内部时钟电路片内一个用于构成振荡器的高增益反相放大器,反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。见下图。C1和C2典型值通常选择为30pF±10pF左右。晶体的振荡频率在1.2MHz~12MHz之间。某些高速单片机芯片的时钟频率已达40MHz(如89S52)。PD为掉电控制位(2)外部时钟方式常用于多片89C51单片机同时工作。外部时钟源直接接到XTAL1端,XTAL2端悬空,其电路见下图。(3)时钟信号的输出为应用系统中的其它芯片提供时钟,但需增加驱动能力。2、MCS-51单片机的时序时序指执行指令过程中,控制器发出的一系列控制信号在时间上的关系;单片机执行的指令的各种时序均与时钟周期有关(1)时钟周期单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,时钟周期Tosc=1/fosc。;例fosc=6MHz,Tosc=166.7ns。(2)机器周期CPU完成一个基本操作所需的时间称为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。MCS-51单片机每12个时钟周期为1个机器周期。一个机器周期又分为6个状态:S1~S6。每个状态又分为两拍:P1和P2。因此,一个机器周期中的12个时钟周期表示为:S1P1、S1P2、S2P1、S2P2、…、S6P2。机器周期(3)指令周期执行一条指令所需的时间。MCS-51单片机中按字节可分为单字节、双字节、三字节指令。因此执行一条指令的时间也不同。对于简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。从指令的执行时间看,单字节和双字节指令一般为单机器周期和和双机器周期,三字节指令都是双机器周期,只有乘、除指令占用4个机器周期。2.4.2复位操作和复位电路1、复位操作单片机的初始化操作,摆脱死锁状态。引脚RST加上大于2个机器周期的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。复位操作还对内部一些寄存器初始化,见下表。在复位有效期间,ALE脚和PSEN脚均为高电平,内部RAM的状态不受复位的影响。2、复位方式两种基本形式:◆上电自动复位接通电源后使单片机自动复位最简单的上电自动复位电路:◆手动按键复位通过按动按钮开关使单片机复位。电平方式:其中,RSRK◆兼有上电复位和手动按键复位功能的电路◆兼有上电复位与按钮复位的实用的集成电路芯片。2.4.3MCS-51单片机最小系统硬件电路2.5MCS-51单片机的存储器结构哈佛结构:程序存储器和数据存储器分开◆物理空间上,MCS-51单片机存储器可划分为4个:1.片内程序存储器空间不同型号单片机包含不同容量2.片外程序存储器空间3.片内数据存储器空间128B+21B(256B+26B)SFR4.外部数据存储器空间64KB◆逻辑空间上,MCS-51单片机存储器可划分为3个:1.程序存储器空间64KB2.片内数据存储器空间128B+21B(256B+26B)SFR3.外部数据存储器空间64KB64KB存储单元:存储器中存储信息的最小的单位,每个存储单元能存放若干位二进制数据,51单片机中指存放8位(即一个字节)二进制数据。◆存储器容量指存储器能存储的二进制信息存储单元地址:存储单元按照顺序的线性方式组织编号。排在前面的单元是0号单元,其地址(单元编号)为0,往下依次是1号单元、2号单元……。地址具有唯一性,对存储单元的访问就可以通过地址进行。存储容量单位:1字节=8bit;1KB=210字节=1024字节;1MB=210KB=1024KB;1GB=210MB=1024MB;1TB=210GB=1024GB2.5.1程序存储器◆存放应用程序和表格之类的固定常数。◆地址范围为0000H-FFFFH◆采用ROM或EPROM或Flash存储器件◆64KB有片外或分为片内和片外两部分的两种情况,由单片机芯片类型决定EA引脚应接低电平或高电平EA=0EA=1◆程序存储器中的0000H地址是系统程序的启动地址◆5个单元具有特殊用途,为5个中断源的中断入口地址:外部中断00003H定时器T0000BH外部中断10013H定时器T1001BH串行口0023H2.5.2内部数据存储器包括RAM区128个字节单元和21个SFR1、RAM单元字节地址为00H~7FH分为3个区:●工作寄存器区00H~1FH:32个单元,4组通用工作寄存器,每组包含8个寄存器R0-R7●位寻址区20H~2FH:16个单元,可进行128位的寻址。位地址和字节地址如下表。●通用RAM区30H~7FH:用户RAM区,80个单元,只能字节寻址,用作数据缓冲区以及堆栈区。2、特殊功能寄存器(SFR)CPU对片内各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个。(1)SFR的名称及其分布如下表所示。(2)SFR中的位地址分布有11个SFR可进行位寻址。其字节地址的末位是0H或8H的可位寻址。(3)SFR中的重要寄存器。①累加器A▲8位寄存器,使用最频繁的寄存器,可写为Acc。▲ALU的输入之一,又是运算结果的存放单元。▲数据传送大多都通过累加器A。▲字节地址为E0H②寄存器B▲8位寄存器,字节地址为F0H▲执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用③程序状态字寄存器PSW▲8位寄存器,字节地址为D0H▲包括4位状态位和2位控制位★Cy(PSW.7)进位/借位标志位★Ac(PSW.6)辅助进位/借位标志位,用于BCD码的十进制调整运算。★F0(PSW.5)用户使用的状态标志位。★RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择标志位RS1RS0所选的4组寄存器000区(内部RAM地址00H~07H)011区(内部RAM地址08H~0FH)102区(内部RAM地址10H~17H)113区(内部RAM地址18H~1FH)★OV(PSW.2)溢出标志位,指示运算是否溢出。★PSW.1位:保留位,未用★P(PSW.0)奇偶标志位,表示A中1的格式的奇偶性P=1,A中“1”的个数为奇数P=0,A中“1”的个数为偶数例若A=38H,B=7FH,PSW=00H,写出执行A和B加法指令后的PSW。④数据指针DPTR▲16位寄存器,用于访问外部数据存储器寻址▲分为两个8位寄存器,高位字节寄存器用DPH表示,低位字寄存器用DPL表示,地址分别为83H、82H。⑤堆栈指针SPⅰ、堆栈▼堆栈是内存中的一个特殊存储区(RAM区),用于数据的保存;MCS-51单片机的堆栈设置于片内RAM区。▼堆栈中的数据只能通过堆栈的一端进行存取,这一端称为“栈顶”▼堆栈数据总是通过栈顶进行存取,栈顶指针用SP寄存器表示;▼堆栈操作的原则为“先进后出”或“后进先出”;▼堆栈操作必须以“字”或“字节”为单位进行;MCS-51单片机的堆栈操作为“字节”操作▼堆栈中的数据在堆栈段中从地址高端向低端存放,称为向下生长型;堆栈中的数据在堆栈段中从地址低端向高端存放,称为向上生长型;MCS-51单片机的堆栈属向上生长型。▼堆操作指令包括入栈指令PUSH和出栈指

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功