片微机原理第二章80C51的结构与原理.ppt
1,第二章 单片微机原理与结构,2,2.1 80C51系列概述,2.1.1 MCS-51系列(1)MCS-51是Intel公司生产的一个单片机系列名称。属于这一系列的单片机有多种,如:8051/8751/8031;8052/8752/8032;80C51/87C51/80C31 80C52/87C52/80C32等。,3,(2)该系列生产工艺有两种:一是HMOS工艺(高密度短沟道MOS工艺)。二是CHMOS工艺(互补金属氧化物的HMOS工艺)。CHMOS是CMOS和HMOS的结合,既保持了HMOS高速度和高密度的特点,还具有CMOS的低功耗的特点。在产品型号中凡带有字母“C”的即为CHMOS芯片,CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。,4,(3)在功能上,该系列单片机有基本型和增强型两大类基本型:8051/8751/803180C51/87C51/80C31增强型:8052/8752/803280C52/87C52/80C32,5,(4)在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROMLess(无片内程序存储器)。如:80C51有4K字节的掩膜ROM;87C51有4K字节的EPROM;80C31在芯片内无程序存储器。,6,2.1.2 80C51系列 80C51是MCS-51系列单片机中CHMOS工艺的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;ATMEL的:89C51、89C52、89C2051等;Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品。,7,2.2 80C51的基本结构与应用模式,2.2.1 80C51的基本结构,8,9,2.2.2 80C51的应用模式 一、总线型单片机应用模式总线型应用的“三总线”模式 非总线型应用的“多I/O”模式,10,二、非总线型单片机应用模式 非总线型单片机已经将用于外部总线扩展用的I/O口线和控制功能线去掉,从而使单片机的引脚数减少、体积减小。对于不需进行并行外围扩展,装置的体积要求苛刻且程序量不大的系统极其适合。非总线型单片机典型产品如:AT89C2051/AT89C4051。,11,2.2.3 80C51典型产品资源配置与引脚,2.2.3.1 80C51典型产品资源配置,12,由表可见:(1)增强型与基本型在以下几点不同:片内ROM字节数:从4K增加到8K;片内RAM字节数:从128增加到256;定时/计数器从2个增加到3个;中断源由5个增加到6个。,13,(2)片内ROM的配置形式:无ROM(即ROMLess)型,应用时要在片外扩展程序存储器;掩膜ROM(即MaskROM)型,用户程序由芯片生产厂写入;EPROM型,用户程序通过写入装置写入,通过紫外线照射擦除;FlashROM型,用户程序可以电写入或擦除(当前常用方式)。还有OTPROM型(一次性编程写入ROM)产品,具有较高的环境适应性和可靠性。,14,2.2.3.2 80C51的引脚封装,总线型,非总线型,15,2.2.3.3 80C51的内部结构,16,2.2.3.4 80C51的内部结构,一、80C51的微处理器(CPU)(1)运算器累加器ACC;寄存器B;程序状态字寄存器PSW。(2)控制器程序计数器PC;指令寄存器IR;定时与控制逻辑。,17,8051的内部结构,8051芯片按功能结构,CPU,控制器,程序计数器PC指令译码器指令寄存器数据指针寄存器DPTR,运算器,累加器A程序状态寄存器PSW,存储器,数据存储器RAM程序存储器ROM,定时计数器:,2个16位定时器T0,T1,I/O接口:,P0、P1、P2、P3四个8位口,一个全双工串行口,5个中断源,18,二、80C51的片内存储器 在物理上设计成程序存储器和数据存储器两个独立的空间(称为哈佛结构):内部ROM容量4K字节 范围是:0000H0FFFH 内部RAM容量128字节 范围是:00H7FH,19,三、80C51的I/O口及功能单元 四个8位的并行口,即P0P3。它们均为双向口,既可作为输入,又可作为输出。每个口各有8条I/O线。有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);有2个16位的定时/计数器;有1套完善的中断系统。,20,四、80C51的特殊功能寄存器(SFR)内部有SP,DPTR(可分成DPH、DPL两个8位寄存器),PCON,IE,IP等21个特殊功能寄存器单元,它们同内部RAM的128个字节统一编址,地址范围是80HFFH。这些SFR只用到了80HFFH中的21个字节单元,且这些单元是离散分布的。增强型单片机的SFR有26个字节单元,所增加的5个单元均与定时/计数器2相关。,21,2.2.3.5 MCS-51系列引脚及功能,1电源引脚:VCC(40脚):供电电源+5V VSS(20脚):接地线2时钟电路引脚:XTAL2(18脚)XTAL1(19脚)利用内部时钟电路时,于XTALl与XTAL2之间接一晶体振荡器,XTAL1为内部放大电路输入端,XTAL2为输出端。,22,振荡器及时钟电路,振荡电路 外接时钟源接法,8051XTAL1XTAL2,C1 晶振C2,8051XTAL2XTAL1VSS,VCCTTL,外部时钟信号,23,RSTVPD(9脚):1.接复位电路可实现复位;2.接+5V备用电源,当断电时RAM中数据不丢失。ALE/PROG(30脚):1、访问片外存储器时,ALE输出作低位地址锁存允许控制;2、对875l片内EPROM编程(固化时),此脚用于输入编程脉冲(PROG)。PSEN(29脚):访问片外程序存储器时,此脚输出负脉冲作为读选通信号。,3、控制信号引脚,24,EA/VPP(31脚):,1、当EA=1,PC4KB,自动执行片外程序存储器程序。2、当EA=0时,CPU直接访问片外存储器。3、在对8751的EPROM编程时,此引脚用于施加编程电压VPP,25,4、输入/输出口引脚 805l共四个8位I/O口,占32个引脚。P0口(P0.0P0.7)占3932脚 Pl口(P1.0P1.7)占18脚;P2口(P2.0P2.7)占2l28脚;P3口(P3.0P3.7)占1017脚。,26,2.2.4 80C51的时钟与时序,一、80C51的时钟产生方式,内部时钟 外部时钟,27,二、80C51的时钟信号,一个机器周期包含12个晶荡周期或6个时钟周期,指令的执行时间称作指令周期(单、双、四周期),28,2.2.5 80C51单片机的复位,一、复位电路复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。,上电复位电路 按键与上电复位,29,二、单片机复位后的状态,复位后:PC=0000H,所以程序从0000H地址单元开始执行;启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容;特殊功能寄存器复位后的状态是确定的:P0P3=FFH,各口可用于输出,也可用于输入;SP=07H,第一个入栈内容将写入08H单元;IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断、串行通讯的波特率不加倍;PSW=00H,当前工作寄存器为0组。,30,2.3 80C51的存储器组织,80C51存储器可以分成两大类:RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。,31,存储器的结构,普林斯顿结构-一般微机的存储器配置方式.只有一个地址空间,ROM 和RAM的地址同在一个队列里分配不 同的地址空间,CPU访问存储器时,用同类访问指令。哈佛结构-程序存储器和数据存储器的地址空间分开的结构形式。,32,8051单片微机存储器采用哈佛结构,分四个物理空间,片内程序存储器片内 数据存储器 片外程序存储器片外数据存储器。,逻辑空间,物理空间,片内、外统一编址的64KB的程序存储器地址空间(用16位地址),256B字节的片内数据存储器的地址空间用8位地址,64KB片外数据存储器的地址空间,33,SFRRAM,FFH80H7FH00H,4KBROMEA=1,0FFFH0000H,FFFFH 64K RAM(I/O)0000H,FFFFH 64K ROM1000H0FFFH EA=00000H,8051片内存储器,存储空间分布图,34,805l单片机内有4KB ROM(803l无内部ROM),片外还可扩展到64KB的程序存储区,片内外统一编址。地址范围是0000HFFFFH,用EA引脚(31脚)控制内外寻址.当EA1时,片内外统一编址。片内ROM地址范围0000H0FFFH共4KB;片外ROM地址从1000HFFFFH,内外共64KB。当EA0时,只能片外寻址,即只能执行片外ROM的程序。片外ROM地址从0000HFFFFH共64KB。,35,2.3.2 80C51的程序存储器配置,PC是16位的计数器,所以能寻址64KB的ROM。80C51内部有4KB的掩膜ROM,87C51在内部有4KB的EPROM,而80C31在内部没有程序存储器。,36,2.3.3 80C51的数据存储器配置,37,工作寄存器区,用户堆栈区,位寻址区,专用寄存器区,38,一、工作寄存器区,低端32个字节分成4个工作寄存器组,每组8个单元。当前工作寄存器组的机制便于快速现场保护。,PSW的RS1、RS0 决定当前工作寄存器组号 寄存器0组:地址00H07H;寄存器1组:地址08H0FH;寄存器2组:地址10H17H;寄存器3组:地址18H1FH。,39,二、位寻址区,40,三、通用RAM区,位寻址区之后的30H至7FH共80个字节为通用RAM区。这些单元可以作为数据缓冲器使用。这一区域的操作指令非常丰富,数据处理方便灵活。在实际应用中,常需在RAM区设置堆栈。80C51的堆栈一般设在30H7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在系统初始化时可以重新设置。,41,2.3.4 80C51的特殊功能寄存器(SFR),42,一、与运算器相关的寄存器(3个),累加器ACC,8位。用于向ALU提供操作数,许多运算的结果也存放在累加器中;寄存器B,8位。主要用于乘、除法运算。也可以作为RAM的一个单元使用;程序状态字寄存器PSW,8位。其各位含义为:CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0;AC:辅助进位、借位标志;F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位。有溢出时OV=1,否则OV=0;P:奇偶标志位。ACC中结果有奇数个1时P=1,否则 P=0。,43,二、指针类寄存器(3个),堆栈指针SP,8位。它总是指向栈顶。80C51单片机的堆栈常设在30H7FH这一段RAM中。堆栈操作遵循“后进先出”的原则,入栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时,先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。可见,80C51单片机的堆栈区是向地址增大的方向生成的(与常用的80X86微机不同);数据指针DPTR,16位。用来存放16位的地址。它由两个8位的寄存器DPH和DPL组成。间接寻址或变址寻址可访问片外的64KB范围的RAM或ROM数据。,44,三、与口相关的寄存器(7个),并行I/O口P0、P1、P2、P3,均为8位。通过对这4个寄存器的读/写,可以实现数据从相应口的输入/输出;串行口数据缓冲器SBUF;串行口控制寄存器SCON;串行通讯波特率倍增寄存器PCON(一些位还与电源控制相关,所以又称为电源控制寄存器)。,45,四、与中断相关的寄存器(2个),中断允许控制寄存器IE;中断优先级控制寄存器IP。,46,五、与定时器/计数器相关的寄存器(6个),定时/计数器T0的两个8位计数初值寄存器TH0、TL0,它们可以构成16位的计数器,TH0存放高8位,TL0存放低8位;定时/计数器T1的两个8位计数初值寄存器TH1、TL1,它们可以构成16位的计数器,TH1存放高8位,TL1存放低8位;定时/计数器的工作方式寄存器TMOD;定时/计数器的控制寄存器TCON。,47,四个IO接口的主要用途及使用注意事项,P0口:1.数据口(输送8位数据)(8位二进制)2.传送低8位地址(访问外部存储器或其它接口芯片时)分时兼作数据线和低八位地址线,P1口:可输入、输出,接打印机、控制信号等P2口:作高八位地址线。P3口:除作IO接口外还兼有专用功能编程时 P0、P1、P2都作输入口,P0输入指令,P1输入低8位地址、P2输入高8位地址。验证程序时,Pl、P2仍作地址口而P0输出指令代码。注意:P1、P2作输入口时,必先使每位置“1”,才能读入外部数据。,48,P3用作第二功能使用,P3.0:RXD(串行口输入);P3.1:TXD(串行口输出);P3.2:外部中断0输入;P3.3:外部中断1输入;P3.4:T0(定时器0的外部输入);P3.5:T1(定时器1的外部输出);P3.6:(片外数据存储器“写”选通控制输出);P3.7:(片外数据存储器“读”选通控制输出)。,49,思考题与习题1、80C51的存储器组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?2、80C51晶振频率为12MHz,时钟周期、机器周期为多少?3、80C51复位后的状态如何?复位方法有几种?4、80C51的片内、片外存储器如何选择?5、80C51的PSW寄存器各位标志的意义如何?6、80C51的当前工作寄存器组如何选择?7、80C51的控制总线信号有哪些?各信号的作用如何?8、80C51的程序存储器低端的几个特殊单元的用途如何?,