您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第2章MCS-51单片机的硬件结构
第2章MCS-51单片机的硬件结构2.1MCS-51单片机的硬件结构CPUFlashROM容量:nX4KBSRAM总线总线寄存器映射I/O口4X8bitUART定时器外部中断INT0,1MSC-51单片机寄存器时钟源晶振介绍图2-1中的各功能部件:1.CPU(中央处理器)中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2.数据存储器(RAM)•51内部有128个字节用户数据存储单元和128个字节的专用寄存器单元,它们是统一编址的,用户能使用的RAM只有128个字节,可存放读写的数据,运算的中间结果或用户定义的字型表。•对于5x系列,有另外的128个字节的SRAM,汇编语言采用间接寻址方式访问,C语言中定义为idata类型即可。3.程序存储器(ROM)•51共有4KBROM(一般为Flash结构),用于存放用户程序,原始数据或表格等。•对于5x系列,ROM容量为x乘4KB4.中断系统8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。5.定时器/计数器(T/C)•8051有两个16位的可编程定时/计数器(Timer0与Timer1),以实现定时或计数,并产生中断用于控制程序转向。•对于5x系列,增加一个Timer26.串行口(UART)8051内置1个全双工的异步串行通信口,用于与其它设备间的串行数据传送。7.P0口、P1口、P2口、P3口8051共有4个8位并行I/O口,用于对外部数据的传输。8.特殊功能寄存器(SFR)共有21个,是一个具有特殊功能的RAM区。9.时钟电路内置晶振时钟电路,需外置无源晶振。2.2MCS-51的引脚MCS-51系列单片机均采用40Pin封装的双列直接DIP结构,现在我们对这些引脚的功能加以说明: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脚)8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。GNDX112-40MC922pC822p内部时钟方式X119X218GND20GNDVCCOUTGNDNCX?12~40MGNDVCCX119X218GND20外部时钟方式2.2.2控制引脚(1)RST/VPD(9脚):复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。R210KC10.1uFVCCS5RESETRESTGNDRESET9(2)ALE/PROG*(30脚):第一功能ALE为地址锁存允许。PROG*为本引脚的第二功能。为编程脉冲输入端。当访问外部存储器时,ALE(地址锁存)的输出用于锁存地址的低8位字节。而访问内部存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部存储器,ALE会跳过一个脉冲。在编程其间,ALE将用于输入编程脉冲。(3)PSEN*(29脚):外部程序存储器的读选通信号。(4)EA*/VPP(31脚)EA*为内外程序存储器选择控制端。EA*=1,访问片内程序存储器,但在PC(程序计数器)值超过0FFFH(以51单片机为例)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。EA*=0,单片机则只访问外部程序存储器。VPP为本引脚的第二功能。用于施加编程电压(例如+21V)。2.2.3I/O口引脚(1)P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口。(2)P1口:8位准双向I/O口。(3)P2口:8位准双向I/O口,与地址总线(高8位)复用。(4)P3口:8位准双向I/O口,双功能复用口。注意:准双向口与双向三态口的差别。•当3个准双向I/O口作输入口使用时,要向该口先写“1”。然后读回的数据才能真实反映该I/O口的输入状态。•准双向I/O口无高阻的“浮空”状态。P3.0/RXD10EA/VPP31X119X218RESET9P3.7/RD17P3.6/WR16P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.5/MOSI6P1.6/MISO7P1.7/SCK8P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE/PROG30P3.1/TXD11GND20VCC40U2(AT/STC/SST)89(S/C)5XR210KC10.1uFVCCS5RESETRESTGNDGNDX112-40MC922pC822pVCCVCCR1R2R3R4R5R6R7R8COMRP24K751单片机最小系统•电源•复位电路•时钟电路•PIN31(EA/VPP)拉高•P0上拉电阻2.3MCS-51的CPU由运算器和控制器所构成2.3.1运算器对操作数进行算术、逻辑运算和位操作。1.算术逻辑运算单元ALU2.累加器A使用最频繁的寄存器,可写为Acc。A的作用:(1)是ALU的输入之一,又是运算结果的存放单元。(2)数据传送大多都通过累加器A。MCS-51增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。A的进位标志Cy同时又是位处理机的位累加器。3.程序状态字寄存器PSW(1)Cy(PSW.7)进位标志位(2)Ac(PSW.6)辅助进位标志位。(3)F0(PSW.5)用户使用的状态标志位。(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。RS1RS0所选的4组寄存器000区(内部RAM地址00H~07H)011区(内部RAM地址08H~0FH)102区(内部RAM地址10H~17H)113区(内部RAM地址18H~1FH)(5)OV(PSW.2)溢出标志位指示运算是否产生溢出。(6)PSW.1位:保留位,未用(7)P(PSW.0)奇偶标志位P=1,A中“1”的个数为奇数P=0,A中“1”的个数为偶数2.3.2控制器1.程序计数器PC(ProgramCounter)存放下一条要执行的指令在程序存储器中的地址。基本工作方式有以下几种:(1)程序计数器自动加1(2)执行有条件转移或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3)在执行调用子程序调用或中断调用,完成下列操作:①PC的现行值保护②将子程序入口地址或中断向量的地址送入PC。2.指令寄存器IR、指令译码器及控制逻辑电路2.4MCS-51存储器的结构哈佛(Harvard)结构存储器空间可划分为5类:1.程序存储器空间2.内部数据存储器空间3.特殊功能寄存器SFR-SpecialFunctionRegister4.位地址空间:211个可寻址位。5.外部数据存储器空间:片外可扩展64K字节RAM。2.4.1程序存储器存放应用程序和表格之类的固定常数。分为片内和片外两部分,由EA*引脚上所接的电平确定。程序存储器中的0000H地址是系统程序的启动地址5个单元具有特殊用途表2-15种中断源的中断入口地址外中断00003H定时器T0000BH外中断10013H定时器T1001BH串行口0023H2.4.2内部数据存储器128个,字节地址为00H~7FH。00H~1FH:32个单元,是4组通用工作寄存器区20H~2FH:16个单元,可进行128位的位寻址30H~7FH:用户RAM区,只能进行字节寻址,用作数据缓冲区以及堆栈区。2.4.3特殊功能寄存器(SFR)CPU对各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个。有的SFR可进行位寻址,其字节地址的末位是0H或8H。表2-2是SFR的名称及其分布。下面介绍SFR块中的某些寄存器。表2-2SFR的名称及其分布1.堆栈指针SP指示堆栈顶部在内部RAM块中的位置复位后,SP中的内容为07H。(1)保护断点(2)现场保护堆栈向上生长2.数据指针DPTR高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。3.I/O端口P0~P3P0~P3分别为I/O端口P0~P3的锁存器。4.寄存器B为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。5.串行数据缓冲器SBUF存放欲发送或已接收的数据,一个字节地址,物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。6.定时器/计数器两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来寻址访问。2.4.4位地址空间211个(128个+83个)寻址位。位地址范围为:00H~FFH。内部RAM的可寻址位128个(字节地址20H~2FH)见表2-3(P24)。特殊功能寄存器SFR为83个可寻址位,见表2-4(P24)。2.4.5外部数据存储器最多可外扩64K字节的RAM或I/O。使用各类存储器,注意几点:(1)地址的重叠性表2-3内部RAM的可寻址位及位地址表2-4SFR中的位地址分布程序存储器(ROM)与数据存储器(RAM)全部64K字节地址空间重叠)。(2)程序存储器(ROM)与数据存储器(RAM)在使用上是严格区分的。(3)位地址空间共有两个区域。(4)片外数据存储区中,RAM与I/O端口统一编址。所有外围I/O端口的地址均占用RAM单元地址,使用与访问外部数据存储器相同的传送指令。图2-6为各类存储器在存储器空间的位置的总结。2.5并行I/O端口4个双向的8位并行I/O端口(Port),记作P0~P3属于特殊功能寄存器,还可位寻址。2.5.1P0端口(1)P0作输出口使用注意:必须外接上拉电阻才能有高电平输出。(2)P0作输入口使用区分“读引脚”和“读锁存器”。“读引脚”引脚上的状态经缓冲器读入内部总线;“读锁存器”把锁存器Q端的状态读入内部总线。当指令中的目操作数是并行端口时,该指令执行的是读出端口锁存器数据,并通过源操作数修改之,然后再写回到端口锁存器。涉及到“读锁存器”操作的指令有:ANLP1,ACPLP1·2INCP1等等。而当指令中的源操作数是并行端口时,该指令执行的是读取端口引脚PX.i上的状态。涉及到“读引脚”操作的指令有:ANLA,P1MOVC,P1·5等等。2.5.2P1端口P1口只作通用的I/O口使用,因此输出电路中有上拉电阻。因此:(1)P1口作为输出口使用时,外电路无需再接上拉电阻。(2)P1口作为输入口使用时,应先向其锁存器先写入“1”。2.5.3P2端口在实际应用中,P2口可以作为高位地址线使用,也可以作为通用I/O口使用。2.5.4P3端口P3口的
本文标题:第2章MCS-51单片机的硬件结构
链接地址:https://www.777doc.com/doc-3318659 .html