C51单片机硬件结构和原理.ppt

上传人:tia****nde 文档编号:12805336 上传时间:2020-05-25 格式:PPT 页数:46 大小:872KB
返回 下载 相关 举报
C51单片机硬件结构和原理.ppt_第1页
第1页 / 共46页
C51单片机硬件结构和原理.ppt_第2页
第2页 / 共46页
C51单片机硬件结构和原理.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
02:19,2.189C51单片机芯片内部结构及特点,2.289C51单片机引脚及其功能,2.389C51单片机存储器配置,2.4时钟电路及89C51CPU时序,2.5复位操作,2.689C51单片机的低功耗工作方式,返回,第2章89C51单片机的结构和原理,2.7输出/输入端口结构,02:19,2.189C51单片机芯片内部结构及特点,返回,89C51单片机结构框图,A89C51CPU,振荡器和时钟OSC,64KB总线扩展控制器,数据存储器256BRAM/SFR,216位定时器/计数器,可编程I/O,程序存储器4KBFLASHROM,可编程全双工串行口,内外中断源,控制,并行口,串行通信,外部时钟源,外部事件计数,02:19,二、89C51系列单片机的性能,1)89C51单片机与8051相比,具有节电工作方式,即休闲方式及掉电方式。2)89C51是用静态逻辑来设计的,其工作频率可下降到0Hz。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。此时的电流可降到大约为正常工作方式的15%。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。这种方式下的电流可降到15A以下,最小可降到0.6A。3)89C51单片机还有一种低电压的型号,即89LV51,除了电压范围有区别之外,其余特性与89C51完全一致。89C51采用5V电源,89LV采用512.76V电源。4)89C51/LV51是一种低功耗/低电压、高性能的8位单片机。它采用了CMOS工艺和高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与MCS51兼容;片内的FlashROM允许在系统内改编程序或用常规的非易失性存储器编程器来编程。因此89C51/LV51是一种功能强、灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。,返回,02:19,2.1.289C51单片机芯片内部结构,一、结构图,二、结构组成,返回,P0驱动器,P2驱动器,P0锁存器,P2锁存器,RAM地址寄存器,128BRAM,4KBROM,B寄存器,暂存器1,暂存器2,ACC,SP,程序地址寄存器,缓冲器,PC增1,PC,DPTR,中断、串行口和定时器,PSW,P1锁存器,P1驱动器,P3锁存器,P3驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,P0.0-P0.7,P2.0-P2.7,P3.0-P3.7,P1.0-P1.7,XTAL1XTAL2,PSENALEEARESET,89C51单片机内部结构图,返回,运算器,控制器,存储器,I/O接口,02:19,1、中央处理单元(89C51CPU):运算器+控制器,返回,1)8位的ALU:可对4位、8位、16位数据进行操作。2)8位累加器ACC(A):它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC。3)8位程序状态寄存器PSW:指示指令执行后的状态信息供程序查询和判别用。4)8位寄存器B:在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器。5)布尔处理器:专门用于处理位操作的,以PSW中的C为其累加器。6)2个8位暂存器:ALU的两个入口处。,(1)运算器,二、结构组成:CPU+存储器+I/O接口,02:19,2)控制器,(1)程序计数器PC(16位):PC是程序的字节地址计数器,PC内容为将要执行的指令地址。改变PC内容,改变执行的流向。PC可对64KB的ROM和片外RAM直接寻址,不可对89C51片内RAM寻址。由两个8位计数器PCH、PCL组成。(2)指令寄存器IR及指令译码器ID由PC中的内容指定ROM地址。取出来的指令经IR送至ID。由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。(3)振荡器和定时电路89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz-12MHz。该信号作为89C51工作的基本节拍,即时间的最小单位。,返回,02:19,2、存储器1)程序存储器(ROM)89C51片内为4kBFlashROM。地址从0000H开始。用于存放程序和表格常数。2)数据存储器(RAM)89C51RAM均为128B,地址为00H7FH。用于存放运算的中间结果、数据暂存以及数据缓冲等。128B的RAM=工作寄存器组+位寻址空间+普通RAM+堆栈。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80HFFH。3、I/O接口89C51有四个8位并行I/O接口P0P3。它们都是双向端口,每个端口各有8条独立的I/O口线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。,返回,02:19,2.289C51单片机引脚及其功能,2.2.189C51单片机引脚,2.2.289C51单片机引脚功能,返回,02:19,2.2.189C51单片机引脚,下图是89C51/LV51的引脚结构图,有双列直插封装(DIP)方式和方形封装方式。,返回,2.289C51单片机引脚及其功能,02:19,2.2.289C51单片机引脚功能,一、电源引脚:Vcc(40脚)+5V电源端,Vss(20脚):接地端。二、时钟电路引脚:XTAL1和XTAL2XTAL2(18脚)、XTAL1(19脚):分别接外部晶体和微调电容的一端,为单片机提供时钟;三、控制信号引脚RST、ALE、PSEN和EARST(9脚):复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。ALE(30脚):地址锁存允许信号端。正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。PSEN(29脚):程序存储器允许信号输出端。在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM的OE端。EA(31脚):外部程序存储器地址允许输入端。EA=1:CPU访问片内ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。EA=0:CPU只访问片外ROM并执行外部程序存储器中的程序。,返回,02:19,四、I/O端口P0、P1、P2和P3,1、均可字节访问。2、均可分为8位独立的I/O口使用。3、准双向:当I/O口作为输入时,应先向此口锁存器写入全1,此时该口引脚浮空,可作高阻抗输入。,返回,02:19,P3端口引脚与复用功能表,02:19,2.389C51存储器配置,2.3.189C51存储器分类2.3.2程序存储器地址空间2.3.3数据存储器地址空间,返回,02:19,2.3.189C51存储器分类,返回,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,89C51存储器,程序存储器ROM,数据存储器RAM,1、片内、外统一编址的64kBROM地址空间。CPU访问片内、片外ROM用MOVC指令。2、64kB的片外数据存储器地址空间。访问片外RAM指令用MOVX。3、256字节的片内数据存储器地址空间。访问片内RAM指令用MOV。上述三个存储空间地址是重叠的,须采用不同的数据传送指令符号访问。,02:19,2.3.2程序存储器地址空间,一、用途:用于存放编好的程序和表格常数。二、编址:89C51片内FlashROM的容量为4kB。地址为0000H0FFFH。片外最多可扩至64kBFLASH,地址为1000HFFFFH。片内外统一编址。三、寻址方式:1、当EA=“1”时:89C51的PC在00000FFFH范围内执行片内ROM中的程序,当指令地址超过0FFFH后就自动转向片外ROM中取指令。2、当EA=”0”时:89C51片内ROM不起作用,CPU只能从片ROM/EPROM中取指令。3、89C51从片内ROM和片外ROM取指的速度相同。4、目前单片机通常只用内部ROM,EA=“1”。,返回,02:19,四、程序存储器的保留存储单元,返回,1、0000H0002H:因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。2、0003H002AH:均分为五段,每段8字节,用作五个中断服务程序的入口。中断矢量地址表如下所示。,02:19,中断矢量表,返回,02:19,2.3.3数据存储器地址空间,一、用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等,目前通常只用于测量数据的存储。二、片外RAM:地址:0000HFFFFH。寻址:只能用MOVX指令。三、片内RAM:低128字节RAM(00H7FH):工作寄存器组+位寻址空间+普通RAM+堆栈。高128字节RAM(80HFFH):特殊功能寄存器SFR区,只能用直接寻址!,返回,02:19,(一)片内RAM地址空间,寻址:用指令MOV最大可寻址256个单元。,返回,低128B(00H-7FH):真正RAM区,高128B(80H-FFH):特殊功能寄存器(SFR)区,地址:00H-FFH,02:19,1、工作寄存器区(00H1FH),1)由四组工作寄存器组成,每组8个寄存器(R0-R7),共32个单元。2)通过程序状态寄存器PSW中RS1、RS0两位设定来选择CPU的当前工作寄存器组。复位时,第0组为当前的工作寄存器。3)若不需要四组,则其余可作为一般RAM单元。,返回,02:19,2、位寻址区(20H2FH),位寻址区有16个单元,每个单元8位,共128位。位地址为00H-7FH。只能用位寻址方式(如置1、清0、判断转移等)访问位地址空间。位寻址是89C51的一个重要特点。,返回,字节地址与位地址形式相同,只能用指令区分!MOV20H,30HMOVC,20H,02:19,3、用户RAM区(30H7FH),用于堆栈和临时数据存储。只能用字节寻址方式寻址。未用的工作寄存器区和位寻址区空间可以用作用户RAM区,返回,02:19,(三)高128字节RAM(80HFFH),返回,有21个特殊功能功能寄存器。地址分布在80HFFH的RAM空间。只能用直接寻址方式。字节地址能被8整除的11个SFR具有位寻址能力(*号)。,02:19,特殊功能寄存器地址表,返回,02:19,部分特殊功能寄存器介绍,1.累加器ACC(E0H):用A作为ACC的助记符。用于存放第一个运算操作数及运算结果。2.寄存器B(F0H):在乘法指令中,B用于存放乘数和乘积的高8位。在除法指令中用于存放除数和余数。在其它指令中用作一般的寄存器或RAM单元。3.堆栈指针SP(81H):堆栈:在片内RAM中,开辟的一个按“后进先出”的结构方式处理数据的区域。用于调用子程序或中断保护现场。SP的内容必须指向片内RAM00H7FH的某个单元。系统复位时,SP初始化为07H。堆栈的操作:进栈:SP+1,内容进栈。出栈:内容出栈,SP-1,。,返回,02:19,PSW包含了程序执行后的状态信息,供程序查询或判断用。,返回,PSW程序状态寄存器(D0H),(1)CY位:进(借)位标志位。加法有进位,减法有借位,CY=1;否则,CY=0。在位操作指令中,CY位是布尔累加器,用C表示。(2)AC位:半进位标志位(辅助进位标志)。执行加法(减法)运算指令时,如运算结果的低半字节(D3)向高半字节有进位(借位),AC=1;否则,AC=0。(3)FO位:用户标志。由用户自己定义、置位、复位,以作为软件标志。(4)RS1、RS0位:工作寄存器组选择控制位。由用户用软件改变RS0和RS1的值,以切换当前选用的工作寄存器组。上电复位时,RS1=RS0=0,CPU选择第0组为当前工作寄存器组。(5)OV位:溢出标志位。有符号数运算出错,OV=1;否则,OV=0。(6)PSW.1:为保留位。(7)P位:奇偶检验位。每条指令执行后,A中“1”的个数为奇数,则P=1;,02:19,表2-8RS0,RS1的组合关系,返回,02:19,返回,数据指针DPTR(83H,82H):DPTR是唯一一个可直接访问的16位特殊功能寄存器。由DPH(83H),DPL(82H)组成。DPH,DPL可以单独使用。,I/O端口P0、P1、P2、P3(80H、90H、A0H、B0H):为四个并行I/O端口的锁存器。每个口锁存器分别对应8个位地址,所以每一条I/O线可独立输入或输出。,02:19,返回,一、振荡周期:石英晶体的固有周期。为最小的时序单位。二、状态周期S:振荡周期2分频。由时钟信号P1和P2组成。,2.4时钟电路及89C51CPU时序2.4.1片内时钟信号的产生,02:19,三、机器周期:是指CPU访问存储器一次所需的时间。例如,取指令、读存储器、写存储器等等。51单片机的一条指令由若干个字节组成。执行一条指令需要多长时间则以机器周期为单位。一个机器周期包括12个振荡周期,分为6个S状态:S1S6。四、指令周期:执行一条指令所需的时间。每条指令都由一个或几个机器周期组成。每条指令由一个或若干个字节组成。有单字节指令,双字节指令,多字节指令等。字节数少则占存储器空间少。每条指令的指令周期都由一个或几个机器周期组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。,返回,02:19,外接晶振频率12MHz时的各种时序单位的大小。振荡周期=1/fOSC=1/12MHz=0.0833s状态周期=2/fOSC=2/12MHz=0.167s机器周期=12/fOSC=12/12MHz=1s指令周期=(14)机器周期=14s,返回,基本时序定时单位,89C51单片机各种周期的相互关系,02:19,返回,2.4.2CPU取指、执指时序,02:19,2.5复位操作2.5.1复位操作的主要功能,一、复位:单片机的初始化操作。将所需的内部资源设置为规定的状态,使单片机工作不会产生二义性,程序地址指针PC初始化为0000H,使单片机从0000H单元开始执行程序。当由于程序运行出错或操作错误使系统死锁状态时,需要复位后重新启动。,返回,02:19,2.5.2复位信号及其产生,一、复位信号:当RST引脚为高电平,且有效时间持续24个fOSC以上,才能复位。二、产生复位信号的电路逻辑图:,返回,上电自动复位,手动复位,02:19,2.689C51单片机的低功耗工作方式,1、提供两种节电工作方式,即空闲(等待、待机)方式和掉电(停机)工作方式。2、空闲方式:CPU停止工作;振荡器仍继续运行;中断、串行口和定时器等环节在时钟控制下正常运行;内部资源状态不变。3、掉电方式:振荡器冻结。内部RAM区和特殊功能寄存器的内容被保留。4、硬件复位(2个机器周期以上)或中断请求被响应都可以退出空闲工作方式,进入工作状态,CPU从进入空闲方式的下一条指令开始重新执行程序。退出掉电方式的惟一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始化,但不改变片内RAM区的数据。,返回,02:19,2.7输出/输入端口结构,返回,189C51单片机有四个8位并行I/O端口:P0、P1、P2和P3。2每个端口都是8位准双向口,共占32根引脚。3每一条I/O线都能独立地用作输入或输出。4每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。,02:19,2.7.1P1口,读锁存器、写锁存器、读引脚信号由指令决定。MOVA,P1:读引脚。ANLP1,A:读锁存器。“读修改写”操作MOVP1,A:写锁存器。P1口是一个准双向口。在端口用作输入时,必须先向对应的锁存器写入1,使FET截止。当P1口输出高电平时,能向外提供拉电流,不必接上拉电阻。,返回,02:19,2.7.2P2口,返回,读锁存器、写锁存器、读引脚信号由指令决定。在端口用作输入时,必须先向对应的锁存器写入1。通常内部硬件自动使开关MUX倒向锁存器的Q端,P2口为一般I/O口。使用“MOVXA,Ri”指令:寻址范围是256B,只需低8位地址线就可以实现。P2口不受该指令影响,仍可作通用I/O口。使用“MOVXA,DPTR”指令:寻址范围64KB,此时,高8位地址总线用P2口输出。在片外RAM读/写周期内,P2口锁存器仍保持原来端口的数据;在访问片外RAM周期结束后,多路开关MUX自动切换倒锁存器Q端。通常无法再用作通用I/O口。,02:19,返回,2.7.3P0口,读锁存器、写锁存器、读引脚信号由指令决定。控制C的状态由指令决定:当P0为地址/数据总线时,C=1。在端口进行输入操作前,应先向端口锁存器写入1。当P0口被地址/数据总线占用时,不能作为I/O口使用。做I/O口时必须须外接上拉电阻。P0口用作输出地址/数据总线:上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),提高了负载驱动能力。,02:19,读锁存器、写锁存器、读引脚信号由指令决定。在端口进行输入操作前,应先向端口锁存器写入1。当P3口为通用I/O口时,由内部硬件自动将第二功能输出线W置1。当P3口用作第二功能线时,P3口不得输出0,即Q=1。,返回,2.7.4P3口,W,02:19,P3口用作第二功能使用,返回,02:19,2.7.5端口的负载能力和接口要求,1、P0口:做I/O口时必须外接上拉电阻。在端口进行输入操作前,应先向端口锁存器写入1。当作地址/数据总线时(片外扩展ROM或RAM的情况),无须外接上拉电阻。每一位输出可驱动8个LS型TTL负载。2、P1P3口做I/O口时无需外接上拉电阻。在端口进行输入操作前,应先向端口锁存器写入1。每一位输出可驱动4个LS型TTL负载。对于89C51单片机(CHMOS),端口只能提供几毫安的输出电流,故当作输出口去驱动一个普通晶体管的基极(或TTL电路输入端)时,应在端口与晶体管基极间串联一个电阻,以限制高电平输出时的电流。,02:19,1.89C51单片机片内包含哪些主要逻辑功能部件?2.89C51的端有何用途?3.89C51的存储器分哪几个空间?如何区别不同空间的寻址?4.简述89C51片内RAM的空间分配。5.简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。6.如何简捷地判断89C51正在工作?7.89C51如何确定和改变当前工作寄存器组?8.89C51P0口用作通用/口输入时,若通过TTL“OC”门输入数据,应注意什么?为什么?9.读端口锁存器和“读引脚”有何不同?各使用哪种指令?,返回,2.8思考题与习题,02:19,10.89C51P0P3口结构有何不同?用作通用/口输入数据时,应注意什么?11.89C51单片机的信号有何功能?在使用8031时,信号引脚应如何处理?12.89C51单片机有哪些信号需要芯片引脚以第2功能的方式提供?13.内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能是什么?14.使单片机复位有几种方法?复位后机器的初始状态如何?15.开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?16.程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?,返回,2.8思考题与习题,02:19,17.位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?18.89C51单片机的时钟周期与振荡周期之间有什么关系?什么叫机器周期和指令周期?19.一个机器周期的时序如何划分?20.什么叫堆栈?堆栈指针SP的作用是什么?89C51单片机堆栈的容量不能超过多少字节?21.89C51有几种低功耗方式?如何实现?22.PC与DPTR各有哪些特点?有何异同?23.89C51端口锁存器的“读修改写”操作与“读引脚”操作有何区别?,返回,第二章结束,2.8思考题与习题,
展开阅读全文
相关资源
相关搜索

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


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

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


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