单片机第二章、单片机的结构和原理.ppt

上传人:sh****n 文档编号:11648793 上传时间:2020-04-30 格式:PPT 页数:44 大小:1.37MB
返回 下载 相关 举报
单片机第二章、单片机的结构和原理.ppt_第1页
第1页 / 共44页
单片机第二章、单片机的结构和原理.ppt_第2页
第2页 / 共44页
单片机第二章、单片机的结构和原理.ppt_第3页
第3页 / 共44页
点击查看更多>>
资源描述
第2章单片机的结构和原理,2.180C51系列单片机总体基本结构组成2.280C51单片机的引脚功能及结构框图2.380C51CPU的结构和特点2.4存储器结构和地址空间2.5布尔(位)处理器2.680C51单片机的工作方式,2.180C51系列单片机总体基本结构,8051/8052系列单片机主要包括以下功能部件:8位CPU:(1)运算器:由ALU、暂存器(1、2)、ACC、B、PSW和一个布尔处理器(作位运算)等组成。用于实现算术运算和逻辑运算。(2)控制器:由PC、DPTR、IR、ID等组成。是计算机的控制指挥部件,使计算机各部份能自动协调的工作。存储器:用于存放程序和数据4K/8K片内程序存储器(ROM/EPROM/EEPROM);128/256字节的片内RAM;可寻址外部程序存储器和数据存储器各64K;Princeton结构,Har-vard结构介绍,2/3个16位定时器/计数器(timer/counter);精确定时、对外部事件计数;1个全双工异步串行口(serilport、UART),以实现单片机和其它设备之间的串行数据传送。;5/6个中断源,2个中断优先级,51单片机的中断功能较强,以满足不同控制应用的需要。具有位寻址能力(bit);片内振荡器和时钟电路(osc),时钟电路为单片机产生时钟脉冲序列。,2.280C51单片机的引脚功能及结构框图,2.2.18051单片机的引脚功能80C51双列直插式封装PDIP的引脚图。,AT89C51有PDIP、PQFP、TQFPPLCC、LCC等多种封装形式,根据引脚功能可分为4类:(1)电源引脚:Vcc(40)、Vss(20)(2)时钟电路引脚:XTAL1(19):反相振荡放大器输入端和内部时钟发生电路输入。XTAL2(18):片内振荡器反向器输出端。(3)控制信号引脚RST/Vpd:复位输入/备用电源输入,当晶振在运行中只要复位管脚出现2个机器周期高电平即可复位。ALE/PROG:地址锁存输出信号/编程脉冲输入信号/PSEN:片外程序存储器选通信号(从EPROM/ROM中读取指令)/EA/Vpp:外部程序存储器访问允许信号,输入/编程电压输入当/EA接高电平时,CPU只访问及执行片内EPROM/ROM,但当PC的值超过0FFFH(对8751/8051为4KB)时,将自动转去执行片外程序存储器的内容;当/EA接低电平时,CPU只访问及执行片外EPROM/ROM中的程序;Vpp=12V21V,对8751片内的EPROM固化程序ALE、/PSEN的负载能力:8个LS型TTL,(4)输入/输出端口:P0-P3P0口:8位漏极开路双向I/O口,寻址外部存储器时,分时使用(复用)作数据和外部存储器低8位地址,有8个TTL负载的驱动能力。作输出口时,输出高电平要接上拉电阻。P1口:8位准双向I/O口,4个TTL负载的驱动能力。P2口:8位准双向I/O口,寻址外部存储器时作外部存储器高8位地址,具有4个TTL负载的驱动能力。P3口:8位准双向I/O口,有4个TTL负载的驱动能力,同时具有第二功能。P3.0:RXD串行接收,输入。P3.1:TXD串行发送,输出。P3.2:/INT0外部中断0请求,输入,低电平或下降沿有效。P3.3:/INT1外部中断1请求,输入,低电平或下降沿有效。P3.4:T0定时/计数器0外部,输入。P3.5:T1定时/计数器1外部,输入。P3.6:/WR外部RAM写信号,输出,低电平有效。P3.7:/RD外部RAM读信号,输出,低电平有效。,2.2.28051单片机的内部结构框图及组成,2.380C51CPU的结构和特点CPU包括:控制器、运算器、工作寄存器及时序电路。2.3.1中央控制器由PC、DPTR(DPH、DPL)、IR、ID等组成地址寄存器PC和DPTR程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC=0000H。PC的作用是用来存放将要执行的指令地址,共16位,可对64KROM直接寻址,在外扩存储器时,PC低8位经P0口输出,高8位经P2口输出。也就是说,程序执行到什么地方,程序计数器PC就指到哪里,它始终是跟着程序的执行。我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节的读出来,然后到CPU中去执行,那么ROM具体执行到哪一条呢?这就需要我们的程序计数器PC来指示。程序计数器PC的基本工作方式:具有自动加1的功能,即从存储器中读出一个字节的指令码后,PC自动加1(指向下一个存储单元),这是最基本工作方式。执行转移时,PC被置入新值,程序的流程就发生变化。在执行调用、或响应中断时,PC被保护后被置入新值。,数据指针DPTR是一个16位的特殊功能寄存器,可分为2个8位的寄存器(DPH、DPL)在访问外部数据存储器和程序存储器时,必须以DPTR为数据指针通过ACC进行访问。PC与DPTR的比较:两者都是与地址有关,PC与程序存储器的地址有关,DPTR与数据存储器的地址有关;PC只能作为16位的寄存器,能自动加1,是不可以访问的,它的变化改变程序的执行流程;而DPTR可以作为16位的寄存器,也可分为2个8位的寄存器,是可以访问的。3)指令寄存器IR、指令译码器ID、及控制逻辑指令寄存器IR的作用就是用来存放即将执行的指令代码。指令译码器ID用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。定时控制逻辑电路根据指令的性质发出一系列定时控制信号,控制计算机的各个组成部分进行相应的工作,执行指令。CPU执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。,2.3.2运算器运算器由ALU、暂存器(1、2)、累加器ACC、寄存器B、程序状态字PSW、BCD运算修正电路和一个布尔处理器(作位运算)等组成。1.算术逻辑运算单元ALU,运算器主要功能8位算术运算;增量或减量;8位逻辑运算;十进制数调整(BCD);位操作(置1清0取反);左移位、右移位;半字节交换;2.累加器通常用A或ACC表示,使用最频繁。其作用:因为在运算器做运算时其中一个数一定是在ACC中的缘故。所有的运算类指令都离不开它。CPU中的数据传送大多都通过累加器,是一个数据的中转站。自身带有全零标志Z,若A0则Z1;若A0则z0。该标志常用作程序分枝转移的判断条件。3.B寄存器。在做乘、除法时放乘数或除数,不做乘除法时,可做通用寄存器用。,4.程序状态字PSW:(ProgramStatusWord)是一个8位特殊功能寄存器,这是存放CPU工作时的很多状态,通过它可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表,下面我们逐一介绍各位的用途:(1)CY:进位标志。8051中的运算器是一种8位的运算器,8位运算器放最大数255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,最高位就进到这里。例:78H+97H(01111000+10010111)(2)AC:辅助进位标志(半进位标志)例:57H+3AH(01010111+00111010)(3)F0:用户标志位,由编程人员决定什么时候用,什么时候不用。,(4)RS1、RS0:工作寄存器组选择位。(5)0V:溢出标志位。(6)P:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P1,否则为0。例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。,2.3.3时钟电路及CPU的工作时序1.时钟电路计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的。这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序,为了保证各部件间的同步工作,单片机内部电路应在唯一的时钟信号下严格地控时序进行工作,在学习51单片机的时序之前,我们先来了解下时序相关的一些概念。8051单片机内部有一个高增益反相放大器,这个反相放大器的作用就是用于构成振荡器用的,但要形成时钟,外部还需要加一些附加电路。8051单片机的时钟产生有以下两种方法:一、内部时钟方式:利用单片机内部的振荡器,然后在引脚XTAL1(18脚)和XTAL2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30PF左右;这两个电容对频率有微调的作用,晶振的频率范围可在1.2MHz-12MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。二、外部时钟方式:此方式是利用外部振荡脉冲接入XTAL1或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同,HMOS型单片机(8051)外时钟信号由XTAL2端脚注入后直接送至内部时钟电路,输入端XTAL1应接地。对于CHMOS型的单片机(80C51),因内部时钟发生器的信号取自反相器的输入端,故采用外部时钟源时,接线方式为外时钟信号接到XTAL1而XTAL2悬空。如下图,80C51的时钟电路:,2、时序定时单位:一般按指令的执行过程规定了几中周期,即时钟周期、机器周期和指令周期,也称为时序定时单位,下面分别予以讲解。一、时钟周期时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。我们学习的80C51单片机的时钟范围是1.2MHz-40MHz。在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)二、机器周期在计算机中,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。80C51系列单片机的一个机器周期同6个S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。,3、指令周期指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。时钟周期、状态周期、机器周期、指令周期之间的关系图如下。,2.4存储器结构和地址空间,一般的微机的只有一个存储空间,统一编址,ROM和RAM可以安排在任一范围内,用相同的指令访问ROM或RAM,程序和数据共用一个存储器逻辑空间,统一编址。这种结构称为普林斯顿结构。80C51的存储器在物理上分为四个存储空间:片内程序存储器、片外程序存储器和片内数据存储器、片外数据存储器,这种程序存储器和数据存储器分开的结构称为哈佛结构。,80C51单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。,8051单片机存储器的空间结构图,2.4.1程序存储器,对于80C51来说,片内程序存储器(ROM)共有4KB,内部地址为0000H0FFFH;外部地址为1000H-FFFFH,共60KB。当程序计数器由内部0FFFH执行到外部1000H时,会自动跳转。对于8751来说,内部有4KB的EPROM,将它作为内部程序存储器;8031内部无程序存储器,必须外接程序存储器。80C51最大具有片内外统一编址64KB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。1、程序存储器分片内程序存储器和片外程序存储器当/EA=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。当/EA=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把80C31的引脚接为低电平。2.程序运行的入口地址实际应用时,程序存储器的容量由用户根据需要扩展,而程序地址空间原则上也可由用户任意安排。但程序最初运行的入口地址,51单片机是固定的,用户不能更改。程序存储器中有复位和中断源共7个固定的入口地址见下表:,51单片机复位、中断入口地址,单片机复位后程序计数器PC的内容为0000H,故必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般在该单元存放一条无条件转移指令,用户设计的程序是从转移后的地址开始存放执行的。,2.4.2数据存储器数据存储器也称为随机存取数据存储器。数据存储器分为片内数据存储器和片外数据存储器。80C51系列内部RAM有128(51子系列)或256(52子系列)个字节的用户数据存储器(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。数据存储器均可读写,部分单元还可以位寻址。1、片内数据存储器1)内部数据存储器的编址51系列单片机的内部数据存储器由读写存储器RAM组成,用于存储数据。它由RAM块和特殊功能寄存器(SFR)块组成,其结构如上图所示。51子系列有128KB;52子系列有256KB。2)内部数据存储器RAM块由上图可见,内部数据存储器RAM块共分为工作寄存器区、位寻址区、字节寻址区和堆栈区4个部分。,A)工作寄存器区内部RAM块的00H1FH区,共分4个组,每组有8个工作寄存器R0R7,共32个内部RAM单元。寄存器和RAM地址的对应关系如下表所示。,工作寄存器和RAM地址对照表,工作寄存器共有4组,但程序每次只用1组,其它各组不工作。哪1组寄存器工作由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择,其对应关系如下表所示。CPU通过软件修改PSW中RS0和RS1两位的状态,就可任选一个工作寄存器工作,这个特点使80C51单片机具有快速现场保护功能,对于提高程序的效率和响应中断的速度是很有利的,若程序中并不要4个工作寄存器组,那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用。,表工作寄存器组的选择表,B)位寻址区(20H-2FH)片内RAM的20H2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H7FH。位地址分配如下表所示:CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称80C51具有布尔处理功能,布尔处理的存储空间指的就是这些位寻址区。C)字节寻址区(30H-7FH)在片内RAM低128单元中,工作寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。52子系列片内RAM有256个单元,前两个的单元数与地址都和51子系列一致。用户RAM区从30HFFH,共208个单元。,表内部RAM中位地址表,D)堆栈区与堆栈指针在程序实际运行中,往往需要一个后进先出的RAM区,在子程序调用、中断服务处理等场合用以保护CPU的现场,这种后进先出的缓冲区称为堆栈。80C51单片机堆栈区不是固定的,原则上可设在内部RAM的任意区域内,但为了避开工作寄存器区和位寻址区,一般设在30H以后的范围内,栈顶的位置由专门设置的堆栈指针寄存器SP(8位)指出。80C51单片机的堆栈属向上生长型,如图所示。有两个操作:进栈、出栈。,图80C51单片机堆栈,3)特殊功能寄存器SFR区(SpecialFunctionRegister)特殊功能寄存器SFR,又称为专用寄存器。它专用于控制、管理单片机内算术逻辑部件、并行I/O口锁存器、串行口数据缓冲器、定时器/计数器、中断系统等功能模块的工作。SFR的地址空间为80HFFH。特殊功能寄存器区的SFR只能通过直接寻址的方式进行访问。80C51单片机共定义了21个特殊功能寄存器,52子系列增加5个特殊功能寄存器。,表特殊功能寄存器名称、标识符、地址一览表,4)位寻址空间在80C51单片机的内部数据寄存器RAM块和特殊功能寄存器SFR块中,有一部分地址空间可以按位寻址,按位寻址的地址空间又称之为位寻址空间。位寻址空间一部分在内部RAM的20H2FH的16个字节内,共128位;另一部分在SFR的80HFFH空间内,凡字节地址能被8整除的专用寄存器都有位地址,共93位。因此,80C51系列单片机共有221个可寻址位,其位地址见上表所示。,2、外部数据存储器外部数据存储器一般由静态RAM芯片组成。扩展存储器容量的大小,由用户根据需要而定,但80C51单片机访问外部数据存储器可用1个特殊功能寄存器数据指针寄存器DPTR进行寻址。由于DPTR为16位,可寻址的范围可达64KB,所以扩展外部数据存储器的最大容量是64KB。访问外部数据存储器只能用间接寻址方式。2.5布尔处理机布尔处理(即位处理)是51单片机ALU所具有的一种功能。单片机指令系统中的布尔指令集(17条位操作指令),存储器中的位地址空间,以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作“累加器”,构成了单片机内的布尔处理机。给“面向控制”的实际运用带来了极大的方便。,2.680C51单片机的工作方式80C51有复位、程序执行、低功耗及编程和校验4种工作方式。2.6.1复位方式1.复位电路通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。80C51单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10ms)。复位时PC值为0000H。当程序运行时出错使系统处于死锁状态时,这时需按复位键以重新启动。复位分为上电复位和外部复位两种方式。,80C51单片机复位参考电路(a)上电复位电路;(b)上电/外部复位电路,2.复位状态80C51单片机复位后,程序计数器PC和特殊功能寄存器复位的状态如下表所示。复位不影响片内RAM存放的内容,而ALE、I/O在复位期间将输出高电平。由表可以看出:(1)(PC)=0000H表示复位后程序的入口地址为0000H;(2)(PSW)=00H,其中RS1(PSW.4)=0,RS0(PSW.3)=0,表示复位后单片机选择工作寄存器0组;(3)(SP)=07H表示复位后堆栈在片内RAM的08H单元处建立;(4)P0口P3口锁存器为全1状态,说明复位后这些并行接口可以直接作输入口,无须向端口写1;(5)定时器/计数器、串行口、中断系统等特殊功能寄存器复位后的状态对各功能部件工作状态的影响,将在后续有关章节介绍。,表PC与SFR复位状态表,2.6.2程序执行方式程序执行方式是单片机的基本工作方式。由于复位后(PC)=0000H,因此程序从地址0000H开始执行。2.6.3低功耗各种方式80C51有两种低功耗方式:待机方式和掉电保护方式。其硬件如下图所示:,待机方式和掉电方式都是由电源控制寄存器(PCON)的有关位来控制的。PCON:(97H),SMOD波特率倍增位,在串行口通信时使用。GF1通用标志位1。GF0通用标志位0。PD掉电方式位,PD=1,则进入掉电方式。IDL待机方式位,IDL=1,则进入待机方式。,1、待机方式(休眠方式)当利用软件使待机方式位IDL(PCON.0)=0时,单片机进入空闲方式。此时,CPU处于休眠状态,而片内所有其它外围设备都保持工作状态,片内RAM和所有特殊功能寄存器内容保持不变。在待机方式下,当晶振fOSC=12MHz,电源电压VCC=6V时,电源电流ICC从20mA降至5mA;而VCC=3V时,ICC由5.5mA降至1mA。中断或硬件复位可以终止待机方式。2)掉电方式掉电方式由掉电方式位PD(PCON.1)=1设置。此时,振荡器停止工作,设置掉电方式的指令成为最后执行的一条指令,片内RAM和特殊功能寄存器内容保持不变。在掉电方式下,VCCmin=2V。当VCC=6V时,ICCmax=100A;当VCC=3V时,ICCmax=20A。退出掉电方式的唯一方式是硬件复位。,硬件复位将重新定义特殊功能寄存器,但不影响片内RAM。复位的保持时间应足够长,以便振荡器能重新开始工作并稳定下来。在VCC没有恢复到正常工作电压之前,不应进行复位。,作业80C51单片机低128字节是如何组织的?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!