C51单片机内部结构和工作原理.ppt
《C51单片机内部结构和工作原理.ppt》由会员分享,可在线阅读,更多相关《C51单片机内部结构和工作原理.ppt(62页珍藏版)》请在装配图网上搜索。
80C51单片机内部结构和工作原理,80C51系列单片机内部结构外部引脚功能存储空间配置和功能片内RAM结构和功能特殊功能寄存器的用途和功能程序计数器PC的作用和基本工作方式I/O端口结构、工作原理及功能时钟和时序复位电路、复位条件和复位后状态低功耗工作方式的作用和进入退出的方法,本章要点,2-1内部结构和引脚功能,2.1.1内部结构,,8位的CPU,片内有振荡器和时钟电路,工作频率为1~12MHz(Atmel89Cxx为0~24MHz)片内有128/256字节RAM片内有0K/4K/8K字节程序存储器ROM可寻址片外64K字节数据存储器RAM可寻址片外64K字节程序存储器ROM片内21/26个特殊功能寄存器(SFR)4个8位的并行I/O口(PIO)1个全双工串行口(SIO/UART)2/3个16位定时器/计数器(TIMER/COUNTER)可处理5/6个中断源,两级中断优先级内置1个布尔处理器和1个布尔累加器(Cy)MCS-51指令集含111条指令,MCS-51单片机基本特性,MCS-51系列单片机配置一览表,注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!,单片机的引脚定义,从一片集成电路的角度去认识单片机,2.1.2引脚功能40个引脚双排直插DIP封装,大致可分为4类:电源、时钟、控制和I/O引脚。,单片机的引脚(晶振端),⒈电源:⑴VCC-芯片电源,接+5V/3.3V/2.7V;⑵VSS-接地端;⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。,,,,,,,,,,,,,,,,,,15~45pfx2,1~12MHz(MCS-51)0~24MHz(Atmel-89C),XTAL1,XTAL2,,,,也可以由XTAL1端接入外部时钟,此时应将XTAL2接地:,,,,,,,XTAL2,XTAL1,外部时钟,,,,,,通常外接一个晶振两个电容,⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵PSEN:外ROM读选通信号。⑶RST/VPD:复位/备用电源。①RST(Reset)功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。,,,,,,,,,,,,,,,单片机,锁存器74LS373,P0.0-P0.7,ALE,PSEN,,P2.0-P2.4,8D,8Q,OE,,A8-A12,A0-A7,D0-D7,G,EA,OE,,,,,,,,,,,,,CE,,,,EPROM,单片机的引脚(PSEN端),PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。,,,,EPROM,⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。①EA功能:内外ROM选择端。80C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外(80C31芯片无内ROM,全部在片外)。当EA保持高电平时,先访问内ROM,但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。当EA保持低电平时,则只访问外ROM,不管芯片内有否内ROM。对80C31芯片,片内无ROM,因此EA必须接地。②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。,,,⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。,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存储空间配置和功能,80C51的存储器配置方式与其他常用的微机系统不同,属哈佛结构(注意:什么是哈佛结构?),它把程序存储器和数据存储器分开,各有自己的寻址系统、控制信号和功能。程序存储器用于存放程序和表格常数;数据存储器用于存放程序运行数据和结果。,80C51的存储器组织结构可以分为三个不同的存储空间,分别是:,⑴64KB程序存储器(ROM),包括片内ROM和片外ROM;,⑶256B内部数据存储器(内RAM)(包括特殊功能寄存器)。,⑵64KB外部数据存储器(外RAM);,80C51存储空间配置图,2.2.1程序存储器(ROM)地址范围:0000H~FFFFH,共64KB。其中:低段4KB:0000H~0FFFH80C51和87C51在片内,80C31在片外。高段60KB:1000H~FFFFH。在片外。读写ROM用MOVC指令,控制信号是PSEN和EA。读ROM是以程序计数器PC作为16位地址指针,依次读相应地址ROM中的指令和数据,每读一个字节,PC+1→PC,这是CPU自动形成的。但是有些指令有修改PC的功能,例如转移类指令和MOVC指令,CPU将按修改后PC的16位地址读ROM。,,,读外ROM的过程:,CPU从PC(程序计数器)中取出当前ROM的16位地址,分别由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外ROM16位地址输入端,当PSEN信号有效时,外ROM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。,,需要指出的是:64KB中有一小段范围是80C51系统专用单元,0003H~0023H是5个中断源中断服务程序入口地址(详见第5章),用户不能安排其他内容。80C51复位后,PC=0000H,CPU从地址为0000H的ROM单元中读取指令和数据。从0000H到0003H只有3B,根本不可能安排一个完整的系统程序,而80C51又是依次读ROM字节的。因此,这3B只能用来安排一条跳转指令,跳转到其他合适的地址范围去执行真正的主程序。,2.2.2外部数据存储器(外RAM),地址范围:0000H~FFFFH共64KB。,读写外RAM用MOVX指令,控制信号是P3口中的RD和WR。,,,一般情况下,只有在内RAM不能满足应用要求时,才外接RAM。,外RAM16位地址分别由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外RAM16位地址输入端,当RD信号有效时,外RAM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。,读外RAM的过程:,写外RAM的过程:,写外RAM的过程与读外RAM的过程相同。只是控制信号不同,信号换成WR信号。当WR信号有效时,外RAM将数据总线(P0口分时传送)上的数据写入相应地址存储单元中。,,,,2.2.3内部数据存储器(内RAM),从广义上讲,80C51内RAM(128B)和特殊功能寄存器(128B)均属于片内RAM空间,读写指令均用MOV指令。但为加以区别,内RAM通常指00H~7FH的低128B空间。,80C51内RAM又可分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区。,作用:,⒈工作寄存器区,工作寄存器区分为4个区:0区、1区、2区、3区。每区有8个寄存器:R0~R7,寄存器名称相同。但是,当前工作的寄存器区只能有一个,由PSW中的D4、D3位决定。,有专用于工作寄存器操作的指令,读写速度比一般内RAM要快,指令字节比一般直接寻址指令要短,还具有间址功能,能给编程和应用带来方便。,⒉位寻址区⑴地址:从20H~2FH共16字节(Byte,缩写为英文大写字母B)。每B有8位(bit,缩写为小写b),共128位,每一位均有一个位地址,可位寻址、位操作。即按位地址对该位进行置1、清0、求反或判转。⑵用途:存放各种标志位信息和位数据。⑶注意事项:位地址与字节地址编址相同,容易混淆。区分方法:位操作指令中的地址是位地址;字节操作指令中的地址是字节地址。,位寻址区的位地址映象表,⒊数据缓冲区,内RAM中30H~7FH为数据缓冲区,用于存放各种数据和中间结果,起到数据缓冲的作用。,2.2.4特殊功能寄存器(SFR),特殊功能寄存器地址映象表(一),特殊功能寄存器地址映象表(二),特殊功能寄存器地址映象表(三),注:带括号的字节地址表示每位有位地址可位操作。,⑴累加器Acc,⑵寄存器B,MOVA,R0MOVA,@R1MOVA,30HADDA,32HADDA,#32H,MOVA,BADDA,B,⑶程序状态字寄存器PSW,PSW也称为标志寄存器,存放各有关标志。其结构和定义如下:,①Cy—进位标志。用于表示Acc.7有否向更高位进位。,②AC—辅助进位标志。用于表示Acc.3有否向Acc.4进位。,③RS1、RS0—工作寄存器区选择控制位。RS1、RS0=00——0区(00H~07H)RS1、RS0=01——1区(08H~0FH)RS1、RS0=10——2区(10H~17H)RS1、RS0=11——3区(18H~1FH),④OV—溢出标志。表示Acc在有符号数算术运算中的溢出。,⑤P—奇偶标志。表示Acc中“1”的个数的奇偶性。,⑥F0、F1—用户标志。,⑷数据指针DPTR,⑸堆栈指针SP,专用于指出堆栈顶部数据的地址。堆栈中数据存取按先进后出、后进先出的原则。堆栈操作分自动方式和指令方式。自动方式是在调用子程序或发生中断时CPU自动将断口地址存人或者取出;指令方式是使用进出栈指令进行操作。,16位,由两个8位寄存器DPH、DPL组成。主要用于存放一个16位地址,作为访问外部存储器(外RAM和ROM)的地址指针。,,⑶执行调用子程序或发生中断时,CPU会自动将当前PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。,2.2.5程序计数器PC,※PC不属于特殊功能寄存器,不可访问,在物理结构上是独立的。※PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,因此也称为地址指针。※PC的基本工作方式有:,⑴自动加1。CPU从ROM中每读一个字节,自动执行PC+1→PC;,⑵执行转移指令时,PC会根据该指令要求修改下一次读ROM新的地址;,2-3I/O端口结构及工作原理,※有4个8位并行I/O口,共32条端线:P0、P1、P2和P3口。每一个I/O口都能用作输入或输出。,※用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。,※P0口的负载能力为8个LSTTL门电路;P1~P3口的负载能力为4个LSTTL门电路。,※在并行扩展外存储器或I/O口情况下,P0口用于低8位地址总线和数据总线(分时传送)P2口用于高8位地址总线,P3口常用于第二功能,用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。,单片机的I/O引脚结构,众多功能各异的I/O引脚源于它结构的不同,单片机的引脚(P0口),P0.0—P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,,地址/数据,控制,引脚P0.X,3,4,,,,,,,Vcc,V1,V2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,1,D,Q,CK,/Q,读引脚=1,读锁存器,写锁存器,内部总线,,地址/数据,控制,引脚P0.X,3,4,,,,,,,0,0,1,0,0,,,截止,截止,,=0,Vcc,单片机的引脚(P0口),,P0用作通用I/O时,控制=0:(1)此脚作输入口(事先必须对它写“1”),V2,V1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,,地址/数据,控制,引脚P0.X,3,4,,,,,,,0,0,1,0,0,,截止,截止,=0,Vcc,单片机的引脚(P0口),,P0用作通用I/O时,控制=0:(2)此脚作输出口时,当P0口用作输出口时,因输出级处于开漏状态,必须外接上拉电阻。当“写锁存器”信号加在锁存器的时钟端CLK上,此时D触发器将“内部总线”上的信号反相后输出到Q端,若D端信号为0,Q=1,v2导通,P0.x引脚输出“0”;若D端信号为1,Q=0,v2截止,虽然V1截止,因P0.x引脚已外接上拉电阻,P0.x引脚输出“1”。,V2,V1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,1,D,Q,CK,/Q,读引脚=0,读锁存器,写锁存器,内部总线,,地址/数据,控制=1,引脚P0.X,3,4,,,,,,,1,0,1,1,=0,,导通,截止,=0,Vcc,单片机的引脚(P0口),,P0口用作地址/数据复用口,控制=1(1)作地址/数据输出:输出地址/数据=0时,V1,V2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,1,D,Q,CK,/Q,读引脚=0,读锁存器,写锁存器,内部总线,,地址/数据,控制=1,引脚P0.X,3,4,,,,,,,1,1,0,0,=1,,截止,导通,=1,Vcc,单片机的引脚(P0口),,P0口用作地址/数据复用口,控制=1(2)作地址/数据输出:输出地址/数据=1时,V1,V2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,1,D,Q,CK,/Q,读引脚=1,读锁存器,写锁存器,内部总线,,地址/数据,控制=0,引脚P0.X,3,4,,,,,,,,,,Vcc,单片机的引脚(P0口),P0口用作地址/数据复用口(3)作/数据输入:与P0用作通用I/O时输入时情况相同,CPU使V1、V2均截止,从引脚上输入的外部数据经缓冲器U2进入内部数据总线。,V1,V2,2-4时钟和时序,CPU总是按照一定的时钟节拍与时序工作,2-4时钟和时序,2.4.1时钟电路,80C51单片机内有一高增益反相放大器,按图2-8a连接即可构成自激振荡电路,振荡频率取决于石英晶体的振荡频率.,2.4.2时钟周期和机器周期,⑴时钟周期。,80C51振荡器产生的时钟脉冲频率的倒数,是最基本最小的定时信号。,⑵状态周期。,它是将时钟脉冲二分频后的脉冲信号。状态周期是时钟周期的两倍。状态周期又称S周期。在S周期内有两个时钟周期,即分为两拍,分别称为P1和P2,机器周期是6个状态周期、12个时钟周期。当时钟频率为12MHz时,机器周期为1S;当时钟频率为6MHz时,机器周期为2S。,(3)机器周期,80C51单片机工作的基本定时单位,简称机周。一个机器周期含有6个状态周期,分别为S1、S2、…、S6,每个状态周期有两拍,分别为S1P1、S1P2、S2P1、S2P2…,S6P1、S6P2,(4)指令周期,指CPU执行一条指令占用的时间(用机器周期表示)。80C51执行各种指令时间是不一样的,可分为三类:单机周指令、双机周指令和四机周指令。其中单机周指令有64条,双机周指令有45条,四机周指令只有2条(乘法和除法指令),无三机周指令。,,图2-980C51的取指/执行时序a)单字节单周期指令,例:INCAb)双字节单周期指令,例:ADDA,#datac)单字节双周期指令,例INCDPTRd)双字节双周期指令:例PHSHdirect,牢牢记住:振荡周期(时钟周期)=晶振频率fosc的倒数;1个机器周期=6个状态周期1个机器周期=12个时钟周期;1个指令周期=1、2、4个机器周期,80C51单片机的工作方式共有四种:⑴复位方式;⑵程序执行方式;⑶低功耗方式;⑷片内ROM编程(包括校验)方式。,2-5复位和低功耗工作方式,2.5.1复位方式,⒈复位条件RST引脚保持2个机器周期以上的高电平。实现复位操作,必须使RST引脚(9)保持两个机器周期以上的高电平。例如,若时钟频率为12MHz,每机周为1S,则只需持续2S以上时间的高电平;若时钟频率为6MHz,每个机器周期为2S,则需要持续4S以上时间的高电平。,⒉复位电路,上电复位电路。RC构成微分电路,在上电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80C51将复位。为保证微分脉冲宽度足够大,RC时间常数应大于两个机器周期。一般取22电容、1k电阻。,按键复位电路。该电路除具有上电复位功能外,若要复位,只需按下图中RESET键,R1C2仍构成微分电路,使RST端产生一个微分脉冲复位,复位完毕C2经R2放电,等待下一次按下复位按键。,⒊复位后CPU状态,PC:0000HTMOD:00HAcc:00HTCON:00HB:00HTH0:00HPSW:00HTL0:00HSP:07HTH1:00HDPTR:0000HTL1:00HP0~P3:FFHSCON:00HIP:00000BSBUF:不定IE:000000BPCON:00000B,2.5.2低功耗工作方式,⑴待机(休闲)方式(Idle)⑵掉电保护方式(PowerDown)。,在Vcc=5V,fosc=12MHz条件下,正常工作时电流约20mA;待机(休闲)方式时电流约5mA;掉电保护方式时电流仅75A。,两种低功耗工作方式由电源控制寄存器PCON确定。,其中:SMOD:波特率倍增位(在串行通信中使用)GF1、GF0:通用标志位PD:掉电方式控制位,PD=1,进入掉电工作方式;IDL:待机(休闲)方式控制位,IDL=1,进入待机工作方式。,注意:PCON字节地址87H,不能位寻址。读写时,只能整体字节操作,不能按位操作。,PSON,MSB,LSB,⒈待机(休闲)方式,⑶待机(休闲)状态退出①产生中断;②复位。,⑴待机(休闲)方式状态●片内时钟仅向中断源提供,其余被阻断;●PC、特殊功能寄存器和片内RAM状态保持不变;●I/O引脚端口值保持原逻辑值;●ALE、保持逻辑高电平;●CPU不工作,但中断功能继续存在。,⑵待机(休闲)状态进入只要使PCON中IDL位置1。,⒉掉电保护方式,⑶掉电保护状态退出,⑴掉电保护方式状态,●片内振荡器停振,所有功能部件停止工作;●片内RAM数据信息保存不变;●ALE、PSEN为低电平;●Vcc可降至2V,但不能真正掉电。,⑵掉电保护状态进入,只要使PCON中PD位置1。,唯一方法是硬件复位,复位后片内RAM数据不变,特殊功能寄存器内容按复位状态初始化。,,51单片机的8个特殊引脚,Vcc,GND:电源端XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端正脉冲有效(宽度8mS)EA/Vpp:寻址外部ROM控制端。低有效片内有ROM时应当接高电平。ALE/PROG:地址锁存允许控制端。PSEN:选通外部ROM的读(OE)控制端。低有效,,,,小结,51单片机的4个8位的I/O口,P0.0—P0.7:8位数据口和输出低8位地址复用口(复用时是双向口;不复用时也是准双向口)P1.0—P1.7:通用I/O口(准双向口),P2.0—P2.7:输出高8位地址(用于寻址时是输出口;不寻址时是准双向口)P3.0—P3.7:具有特定的第二功能(准双向口),注意:在不外扩ROM/RAM时,P0~P3均可作通用I/O口使用,而且都是准双向I/O口(例如:AT89C51)!,小结,P3口第二功能表(P.26表2-3),小结,PC与SFR复位状态表,,回顾,89C51单片机存储器配置,片内RAM128字节(00H—7FH);片内RAM前32个单元是工作寄存器区(00H—1FH)片内RAM有128个可按位寻址的位,占16个单元。位地址编号为:00H—7FH分布在:20H—2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被8整除的SFR中的各位也可按位寻址可寻址片外RAM64K字节(0000H—FFFFH)可寻址片外ROM64K字节(0000H—FFFFH)片内FlashROM4K字节(000H—FFFH),小结,存储器配置(片内RAM),片内RAM128字节(00H—7FH),,,,,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,,SFR分布在80H-FFH其中92个位可位寻址,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,,128字节,,小结,单片机存储器配置(片外RAM/ROM),可寻址片外RAM64K字节(0000H—FFFFH);可寻址片外ROM64K字节(0000H—FFFFH);片内FlashROM4K字节(000H—FFFH);,,FFFFH,0000H,可寻址片外RAM,,64K字节,,FFFFH,0000H,可寻址片外ROM,,64K字节,,FFFH,000H,可寻址片内FlashROM,,4K字节,89C51,,7FH,00H,片内RAM,128字节,,FFH,80H,小结,OVER!,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 内部结构 工作 原理
![提示](https://www.zhuangpeitu.com/images/bang_tan.gif)
链接地址:https://www.zhuangpeitu.com/p-11494407.html