您好,欢迎访问三七文档
17第三章单片机的结构及原理教学内容:1、单片机结构2、单片机工作原理3、存储器的结构4、单片机输入/输出口结构5、CPU时序及时钟电路6、单片机工作方式本章重点:1、单片机结构及工作原理2、存储器结构3、输入/输出口结构本章难点:1、单片机工作原理2、存储器结构,输入/输出口结构教学要求:通过本章学习,应对单片机的结构有初步认识,对单片机的工作原理和工作时序有所了解,熟悉存储器地址空间,掌握输入/输出口电路结构,对单片机的工作方式有所了解。教案:第一节单片机的结构1、单片机的发展过程单片机的发展过程如表1所示:表1单片机发展过程时间产品特点1976年MCS-48无串行口、RAM、ROM容量小、4K寻址1980年MCS-518位,集成度高、1983年MCS-96集成度高、32位、有A/D转换、速度快1990年全面发展高速、大容量、外围集成到内部、性能强182、单片机生产厂及产品简介单片机生产厂主要有:Intel、Motorola、Zilog公司。从型号来看:MCS系列、68ΧΧΧ系列、Z8系列。从位数来看:4、8、16、32位,51单片机有80C31(无ROM)、80C51(4KROM)、87C51(4KEPROM)。前些年国内教材和产品开发,基本上以8051系列为使用对象,近年国际上广泛使用80C51单片机,80C51单片机是目前8位机中的佼佼者。现以80C51为例来介绍单片机的结构。3、单片机结构1)、80C51单片机的功能结构如下图所示,单片机是属于三总线结构,80C51单片机功能方框图如图1所示:图1单片机内部结构框图2)、单片机内容结构单片机的内部结构如图2所示。从图中看出,它具有以下特征;适于控制应用的8位CPU56字节片内数据存储器,分高低两个128字节4K字节片内程序存储器64KB程序存储器空间中断控制外部中断振荡器内部中断定时器定时器计数器输入64KB总线扩展控制控制信号I/O端口可编程全双工串行口地址/数据据据存储器1964KB数据存储器空间4个8位共32根双向并可按位寻址的I/O口线两个16位定时/计数器;一个全双工的串行I/O接口有5个中断源片内时钟振荡器具有布尔处理(位处理)能力图2单片机内部结构4、单片机的封装形式、引脚定义及功能1)、80C51封装80C51系列单片机具有双列直插式和方形两种封装。2)、80C51系列单片机引脚功能①、引脚分布:如图3所示为双列直插式引脚分布图②、引脚功能口驱动器口锁存器定时和逻辑控制器件指令寄存器口驱动器中断、串行、通道和定时器模块(TX)口锁存器(RX)程序计数器PC程序地址寄存器口驱动器口锁存器地址寄存器寄存器口锁存器口驱动器堆栈指针SP缓冲器加器20VCC----工作电源+5VGND----电源地ALE/PROG-----访问外部存储器时作为低8位地址锁存控制信号;在对EPROM编程时作为编程脉冲输入;在不访问外部存储器和非EPROM编程状态下,该脚输出频率为1/6单片机晶振频率的方波信号,该信号,可作为时钟脉冲,但在访问数据存储器时会丢失一个脉冲;PSEN——外部程序存储器读选通信号.EA/VPP——访问程序存储器控制信号。当EA为低电平时,只读外部存储器,当EA为高电平时则先读内部程序存储器,再读外部程序存储器;这个引脚在编程时接编程电压VPP.RST——复位信号,对系统复位信号要求2T时频。XTAL1——片内振荡电路输入端。XTAL2——片内振荡电路输出端。图3单片机引脚分布P0-P3——输入输出端口。第二节单片机的工作原理1、指令与程序1)、指令规定计算机执行特定操作的命令,分成操作码和操作数,以二进制编码形式出现,具有固定的格式。例如:2000H:MOVA,#34H2000H——是标号,即程序地址。该指令的机械码:7434H其中:74——操作码,表示执行何种操作;34----操作数,表示操作的数据;2)、程序程序就是跟据要求编制的指令集合;80C5121例如,将外部数据存储器5000H单元内容送累加器A的程序;MOVDPTR,#5000HMOVA,@DPTR2、CPU的工作原理CPU是微机的核心部件,由控制器和运算器两部分组成如图4所示。1)、控制器控制器由指令部件、时序部件、控制部件三部分组成。①、指令部件:由程序计数器、指令寄存器和指令操作码译码器构成。程序计数器——用来存放指令的地址的部件。指令寄存器——用来暂时存放指令的部件。指令操作码译码器——对指令操作码进行分析、解释并在输出端产生各种电平。②、时序部件:由时钟系统和节拍发生器构成。时钟系统——它产生具有一定频率和宽度的脉冲信号。节拍发生器——节拍发生器产生节拍电位和节拍脉冲。③、微操作控制部件:对节拍信号和指令操作码信号进行加工处理,产生各种信号。图4CPU内部结构指令寄存器时钟发生器数据总线操作码译码器ID微操作控制电路微操作控制信号操作码节拍发生器程序计数器地址码加程序存储器地址寄存器地址总线外部总线内部总线数据总线缓冲器222)、运算器运算器是数据进行算术运算和逻辑运算的执行部件,单片机不仅有很强的算术运算能力,而且有非常强的位处理能力,因此,特别适合用在实时控制场合。3)、单片机执行程序的过程系统复位,程序计数器PC的值为0000H。在控制信号的作用下,根据PC值从内存单元中取出相应的指令。将取出的指令送指令寄存器,经指令译码器分析,译码信号与时序信号合成,形成所需的各种微操作信号。循环往复执行,直到结束。第三节存储器结构1、单片机存储器空间分布如图5所示,80C51单片机存储器在物理结构上分片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器四个空间;在逻辑结构上(使用上)分成片内外统一编址的64KB程序存储器、256B的片内数据存储器以及64KB片外数据存储器。在访问不同的存储器空间时,使用的指令不同。图5单片机存储器结构2、程序存储器1)、程序存储器的作用用来存放操作程序。内部EA=1片外RAM(I/O)片内存储器片外R0M片外扩展存储器232)、程序存储器的空间分布分片内和片外,共64KB空间,EA=1,先访问片内程序存储器再访问片外存储器,其地址是连续的;当EA=0时,只访问片程序存储器。复位时PC=0000H,值得注意的是,程序存储器从0003H~0030H共40个单元作为中断处理用,如表2所示:表2中断入口地址地址空间字节数说明0003H~000AH8外部中断0入口000BH~0012H8定时器0溢出中断入口0013H~001AH8外部中断1入口001BH~0022H8定时器1溢出中断入口0023H~0030H8串行口中断入口3、数据存储器1)、数据存储器的作用数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。2)、数据存储器空间分布数据存储器由片内256字节(含低128单元和高128单元)和片外64KB两个存储空间组成,结构如图6所示:图6单片机数据存储器(外部)位寻址区位寻址区位寻址地址00H-7FH通用寄存器区第组通用寄存器区第0组通用寄存器区第3组通用寄存器区第组通用寄存器区低单元用户区(堆栈、数据缓冲)用户RAM专用寄存器区高位单元片外64KB数据存储器片内高256字节24下面分别说明:(1)、片内数据存储器片内256B的数据存储器分高128B和低128B两部分①、低128字节工作寄存器区:地址从00H—1FH,共32个字节,每8个字节构成一个区,记作R0—R7。寄存器区的选择由程序状态字PSW中的RS0位和RS1位的值定:系统复位时,系统自动指向工作寄存器0区。工作寄存器一般用作数据缓冲寄存器,如果不用作工作寄存器,这个区域中的32个字节也可以作数据寄存器使用,直接按字节寻址。位寻址区:该区域地址从20H到2FH,共16个字节,128位,使用指令可以寻址到位,位地址00H—7FH。注意:这个区域也可按字节寻址。数据区:地址从30H—7FH,共80个字节。可作为用户数据存储器,按字节访问,用户堆栈通常在该区域开辟。②、高128B(特殊功能寄存器区SFR)80C51把CPU中的专用寄存器、并行端口锁存器、串行口、定时器/计数器内的控制寄存器等集中安排在一个区域(共21个专用寄存器),离散地分布在地址从80H到FFH范围内,这个区域称为特殊功能寄存器区。它共有128个字节,在物理上与片内RAM分别占有高128字节地址和低128字节地址。构成了连续的256个字节空间,在性质上都属于数据存储器。下面介绍常用的SFR,对在本节尚未介绍的其它SFR,在后面介绍。累加器Acc:Acc是一个具有特殊用途的8位寄存器,主要用存放操作数和运算结果。例如:ADDA,#55H表示累加器A的内容与55H相加,结果放到累加器中并暂存起来。程序状态字PSW:PSW是一个可编程的8位寄存器,如图7所示,用来存放当前指令执行结果的有关状态。单片机有许多指令的执行会影响PSW的位状态。PSW的位状态可通25过指令设置,它是一个可以位寻址的特殊寄存器。图7状态寄存器例如:单片机在运算,Y=84+105时,会发生溢出错误,因为运算结果189,已经超出-128--+127的范围。寄存器B:寄存器B是一个8位寄存器,主要用于乘除法。乘法运算时,B是乘数,乘法操作后,积的高8位存于B中;除法运算时,B是除数,除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。堆栈指钍:堆栈指钍(SP):是专门用来指示椎栈的起始位置的8位寄存器,地址在81H,复位时堆栈指钍初始化地址为07H,用户开辟堆栈时必须指明SP的初始值(栈底)和长度,如图8所示。注意:堆栈的存贮区域在RAM的30H—7FH之间。图8单片机堆栈进栈用PUSH,出栈用POP。奇偶校验位用户定义标志位溢出标志位寄存器区选择位1寄存器区选择位用户通用标志位辅助进位标志位进位标志进栈栈底存储器低地址高地址出栈高地址低地址26堆栈---堆栈是在RAM中由用户开辟的一个区域。在这个区域中数据的存取是按“先进后出的原则”进行。在这个区域的数据是不能按字节访问的,它是专用来为程序中断、子程序调用等临时保护现场的一个存储空间。数据指钍DPTR:数据指钍是一个16位地址寄存器,由高位字节DPH和低位字节DPL组成,这两个字节也可单独作为8位寄存器使用。使用DPTR可以访问64K字节外部数据存储器的任一单元。例如:MOVDPTR,#dataMOVXA,@DPTR这两条指令的意思是:把常数data传送到DPTR,再把DPTR所指向的外部RAM单元的数据送入累加器中。(2)、外部数据存储器64KB的外部数据存储器是通过扩展而形成的,外部数据存储器地址从0000H-FFFFH。外部存储器的访问只能间接寻址。第四节单片机输入/输出口结构1、P0端口(如图9所示)1)、作为通用I/O口使用内部控制信号为0电平,此时,与门将封锁上拉场效应管,MUX接通锁存器的反向输出端。由于T1处于断路状态,因此在输出端要接上拉电阻(5-10KΩ),P0口的工作过程如下:①、数据输出:内部的写脉冲加在D触发器的CL端,数据从总线写入D,并向端口引脚输出。②、数据输入(分读引脚和读端口两种情况):读引脚:读引脚信号打开三态缓冲器,信号通过三态门传送到内部总线.读端口:读端口则是通过读锁存器实现的。注意:数据输入,口线必须先置1,否则读数有可能出错;P0口作通用I/O口使用时,无论输入还是输出,必须接上拉电阻;2)、作地址/数据总线使用27P0口作为总线使用时,内部发出控制信号,打开上面的与门,MUX接通地址/数据线,地址和数据分时工作。图9P0口结构2、P1端口(如图10所示)1)、数据输出:系统发出写锁存器命令,内部总线的数据通过D锁存器FET从引脚输出。2)、数据输入:先向锁存器写入1封锁FET,引脚信号在读引脚控制信号下由引脚通过三态门传入内部总线(注意在编程时要先将该位先置1再输入数据)。图10P1口结构3、P2端口(如图11所示)锁存器.x读锁存器内部总线写锁存器读引脚地址/数据控制.x读锁存器写锁存器内部总线读引脚.x锁存器.
本文标题:单片机的结构及原理
链接地址:https://www.777doc.com/doc-5988425 .html