您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第2章 MCS-51单片机的结构和原理
第二章MCS-51单片机的结构和原理内容标题1、MCS-51系列单片机的结构2、MCS-51单片机引脚及其功能3、8051存储器的配置4、CPU的时序5、复位及复位电路6、输入/输出端口结构2.1MCS-51系列单片机的结构MCS-51是Intel公司于1980年推出的高档系列8位单片机,主要有8051、8031、8751、80C51BH等。在本课程中,为了叙述方便,以8051为例进行讨论。2.1.1MCS-51单片机的基本组成MCS-51系列单片机内部由8部分组成(见下页图):8位CPURAM(128B/256B)ROM/EPROM(4KB/8KB)并行I/O接口(4个)定时器/计数器(2个/3个)中断控制器全双工串行I/O口振荡器和时钟电路(A/D转换器,D/A转换器,WatchdogTimer,可编程计数阵列,USB2.0接口,CAN总线控制器,JTAG接口,闪存等等)2.1MCS-51系列单片机的结构2.1MCS-51系列单片机的结构•MCS-51系列单片机的性能如下表HMOS对电平要求低(大于2.0V,小于0.8V),功耗大.CMOS对电平要求高(大于4.5V,小于0.45V),功耗低.2.1MCS-51系列单片机的结构•2.1.2MCS-51单片机的内部结构(见下图)2.1MCS-51系列单片机的结构•8051的基本特征:•8位CPU;•片内时钟振荡器;•4KB程序存储器ROM(FLASHROM);•片内有128B(256B)数据存储器RAM;•可寻址外部程序存储器和数据存储器空间各64KB;•21个特殊功能寄存器SFR;•4个8位并行I/O口,共32根I/O线;•1个全双工串行口;•2(3)个16位定时器/计数器;•5(6)个中断源,有2个优先级;•具有位寻址功能,适用于位(布尔)处理。2.1MCS-51系列单片机的结构一、CPU1、运算器由ALU、暂存器(1、2)、ACC(Accumulator)、B、PSW(ProgramStatusWord)、和一个布尔处理器(作位运算)等组成.另外,堆栈指针SP(StackPointer)、数据指针DPTR(Datapointer).2、控制器由PC(ProgramCounter)、IR(InstructionRegister)、ID(InstructionDecoder)等组成.二、存储器ROM(ReadOnlyMemory)、RAM(RandomAccessMemory).三、I/O端口2.2MCS-51单片机的引脚及其功能其引脚如右图所示,为40脚。分为4类:1、电源引脚Vcc、Vss2、时钟电路引脚XTAL1、XTAL23、控制信号引脚RST/VPD:复位输入/备用电源输入ALE//PROG:地址锁存输出/编程脉冲输入2.2MCS-51单片机的引脚及其功能/PSEN:程序存储器允许(从EPROM/ROM中读取指令)/EA/Vpp:外部程序存储器地址允许输入/编程电压输入当/EA接高电平时,CPU只访问及执行片内EPROM/ROM,但当PC的值超过0FFFH(对8751/8051为4KB)时,将自动转去执行片外程序存储器的内容当/EA接低电平时,CPU只访问及执行片外EPROM/ROM中的程序Vpp=12V~21V,对8751片内的EPROM固化程序ALE、/PSEN的负载能力:8个LS型TTL4、输入/输出端口P0~P32.38051存储器的配置2.3.08051存储器概述一般的微机的只有一个存储空间,统一编址,ROM和RAM可以安排在任一范围内,用相同的指令访问ROM或RAM,这种结构称为普林斯顿结构。8051的存储器在物理上分为四个存储空间:片内程序存储器、片外程序存储器和片内数据存储器、片外数据存储器,这种程序存储器和数据存储器分开的结构称为哈佛结构。8051的存储器空间分为三类(程序员的角度):1、片内、外统一编址的程序存储空间,0000H~FFFFH共64KB(16位地址)2.38051存储器的配置2、片外数据存储空间,0000H~FFFFH共64KB(16位地址)3、片内数据存储空间,00H~FFH共256B(8位地址)。8051的存储空间配置如下页的图2-4所示三类不同存储空间(逻辑空间)的访问方法:用不同的指令区别:访问片内外ROM用MOVC指令;访问片外RAM用MOVX指令;访问片内RAM用MOV指令;2.38051存储器的配置•存储器空间分布图:2.38051存储器的配置2.3.1程序存储器的地址空间一、注意几个问题:1、总空间容量(64KB)2、8051/8751片内ROM/EPROM的容量(4KB)3、引脚/EA接高、低电平对程序空间的选择性(图2-4)4、8051从片内外取指令的速度相同二、程序存储器保留的存储单元•0000H,0003H,000BH,0013H,001BH,0023H,002BH.2.38051存储器的配置•保留单元和中断矢量地址:0000H单元为系统复位入口单元中断源中断向量地址外部中断00003H定时器/计数器0中断000BH外部中断10013H定时器/计数器1中断001BH串行口中断0023H定时器/计数器2中断002BH2.38051存储器的配置2.3.2数据存储器的地址空间一、片外RAM最大范围:0000H~FFFFH,64KB;用指令MOVX访问.二、片内RAM最大范围:00H~FFH,256B;用指令MOV访问.分为两部分:低128B(00~7FH)为真正的RAM区,高128B(80~FFH)为特殊功能寄存器(SFR)区。见下页图2-5。2.38051存储器的配置•片内RAM空间2.38051存储器的配置1、低128BRAM(00H~7FH)可直接、间接访问。分为三个区域(见上页图):(1)工作寄存器组区(字节地址00H~1FH,见下图)4组32个单元,每组8个寄存器R0、R1、R2……R7(2)位寻址区(字节地址20H~2FH)共16个单元128位,位地址:00H~7FH(3)用户RAM区(字节地址30H~7FH)共80个单元,为用户RAM区(堆栈、数据缓冲)2.38051存储器的配置2、高128BRAM----特殊功能寄存器(SFR)8051在高128B中,只有21个SFR,离散地分布在80H~FFH中(见表2-6)。只能够直接访问。2.38051存储器的配置•专用寄存器区(SFR)图2-6SFR中的位地址分布图2.38051存储器的配置这里介绍部分SFR(1)累加器ACC(E0H),指令中用A表示,有一全0标志Z(2)寄存器B(F0H)在乘除指令中固定用,也作一般寄存器用(3)程序状态字PSW(D0H)8位CYACF0RS1RS0OV--PPSW位地址PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVF1PCY(PSW.7)——进位(借位)标志位。其功能有二:一是存放算术运算的进位()时,CY由硬件置“1”,否则清“0”;二是在进行位操作时,CY作为累加器借位)标志,在作加法(减法)运算时,如果操作结果的最高位有进位(借位C使用,可进行位传送、位与位的逻辑运算等位操作,会影响该标志位。AC(PSW.6)——辅助进位标志位。在进行加法(减法)运算中,当低4位向高4位进位(借位)时,AC由硬件置“1”,否则AC位被清“0”。AC位常用于调整BCD码运算结果。F0(PSW.5)——用户标志位。这是一个留给用户自己定义的标志位,可以根据自己的需要通过软件方法置位或复位F0位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)——工作寄存器组选择位。工作寄存器共有4组,对应关系见表2-5。RS1和RS0这两位的状态是由软件置“1”或清“0”来设置的,被选中的工作寄存器组即为当前工作寄存器组。注意:当单片机上电或复位后,RS1RS0=00,选中第0组。OV(PSW.2)——溢出标志位。在带符号数的算术运算时,如果运算结果超出了8位二进制数所能表示的符号数有效范围(-128~+127),这产生了溢出OV=1,表示运算结果是错误的;否则,OV=0即无溢出产生,表示运算结果正确。PSW.1位——保留未用。P(PSW.0)——奇偶标志位。表明运算结果累加器A中内容的奇偶性。如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。注意:P标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。2.38051存储器的配置(4)堆栈指针SP(81H)SP初值为07H,堆栈地址向大的方向变化(与微机堆栈地址向小的方向变化相反);一般使SP初值为5FH。(5)数据指针DPTR(83H、82H)是一个唯一的16位寄存器,即可整体作为16位寄存器使用,也可作为两个独立的8位寄存器DPH、DPL使用。DPTR主要用作16位间址寄存器,访问程序存储器和片外数据寄存器。(6)I/O端口P0~P3(80H、90H、A0H、B0H)是四个I/O口的映射寄存器2.4CPU时序2.4.1片内振荡器及时钟信号的产生1、振荡电路C1、C2取30pF,晶振:1.2~12MHz.2、外部时钟上拉电阻取5.1kΩ,外部时钟频率小于12MHz.•(HMOS器件)(a)HMOS和CHMOS型器件(b)HMOS型器件(c)CHMOS型器件图2-11MCS-51和外部时钟的连接方式2.4CPU时序3、时钟信号振荡信号(其周期为振荡周期)频率的二分频为状态信号,其周期为状态周期S,也叫时钟周期;一个状态周期的两个振荡信号称作两个相位P1、P2,也叫两个拍节。2.4CPU时序2.4.2机器周期和指令周期机器周期:是CPU访问存储器一次所需要的时间。是单片机的重要计时单位。一个机器周期含12个振荡周期、6个状态(S1~S6)若晶振为6MHz,则机器周期为2μs,若晶振为12MHz,则机器周期为1μs。指令周期:完成一条指令所需要的时间,有单、双、四机器周期2.4.3CPU取指、执行周期时序指令的字节数:单、双、三字节下页图绘制出了几类指令的执行时序。2.4CPU时序可通过测量ALE确定CPU是否工作,ALE有时钟的特点。S1S2S3S4S5S6S1S2S3S4S5S6S1S2S3S4S5S6S1S2S3S4S5S6S1S2S3S4S5S6S1S2S3S4S5S6读操作码再读下一个操作码读下一个操作码(丢弃)读操作码读第二字节读下一个操作码读下一个操作码(丢弃)再读下一个操作码读下一个操作码(丢弃)读操作码不取指无ALE地址数据访问外部存储器(a)单字节单周期指令,如INCA(b)双字节单周期指令,如ADDA,#data(c)单字节双周期指令,如INCDPTR(d)单字节双周期指令S1S2S3S4S5S6P1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6P1P2P1P2P1P2P1P2P1P2P1P2读操作码不取指再读下一个操作码如MOVX类指令ALEOSC一个机器周期一个机器周期2.5复位及复位电路2.5.1复位操作复位后一些寄存器的状态(见下表)2.5复位及复位电路2.5.2复位信号及其产生RST引脚高电平持续两个机器周期以上,系统便实现复位(CPU在S5P2状态对RST采样)2.5.3复位电路复位电路是单片机应用系统的一部分基本电路。复位操作有上电自动复位和两种方式按键手动复位2.5复位及复位电路下图为上电复位电路、按键电平复位电路和按键脉冲复位电路2.6输入/输出端口结构8051单片机的四个8位并行口是P0(开漏输入/输出,双向口),P1、P2和P3均为准双向口,每一条I/O线都能独立地作输入/输出.准双向口:作输入时,先向端口写1大多数端口线都有双重功能,介绍如下:1、P0口具有双重功能:(1)作为通用I/O,外接I/O设备。(2)作为地址/数据总线。在有片外扩展存储器的系统中,低8位地址和数据由P0口分时传送。2、P1口是唯一的单功能口:作为输入/输出口,P1口的每一
本文标题:第2章 MCS-51单片机的结构和原理
链接地址:https://www.777doc.com/doc-3369869 .html