80C51单片机

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章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系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/6单片机的引脚定义从一片集成电路的角度去认识单片机2.1.2引脚功能40个引脚双排直插DIP封装,大致可分为4类:电源、时钟、控制和I/O引脚。单片机的引脚(晶振端)⒈电源:⑴VCC-芯片电源,接+5V/3.3V/2.7V;⑵VSS-接地端;⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。15~45pfx21~12MHz(MCS-51)0~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL1端接入外部时钟,此时应将XTAL2接地:XTAL2XTAL1外部时钟通常外接一个晶振两个电容⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵PSEN:外ROM读选通信号。⑶RST/VPD:复位/备用电源。①RST(Reset)功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。单片机锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的引脚(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又可分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区。地址区域功能名称00H~1FH00H~07H工作寄存器0区08H~0FH工作寄存器1区10H~17H工作寄存器2区18H~1FH工作寄存器3区20H~2FH位寻址区30H~7FH数据缓冲区作用:⒈工作寄存器区工作寄存器区分为4个区:0区、1区、2区、3区。每区有8个寄存器:R0~R7,寄存器名称相同。但是,当前工作的寄存器区只能有一个,由PSW中的D4、D3位决定。有专用于工作寄存器操作的指令,读写速度比一般内RAM要快,指令字节比一般直接寻址指令要短,还具有间址功能,能给编程和应用带来方便。⒉位寻址区⑴地址:从20H~2FH共16字节(Byte,缩写为英文大写字母B)。每B有8位(bit,缩写为小写b),共128位,每一位均有一个位地址,可位寻址、位操作。即按位地址对该位进行置1、清0、求反或判转。⑵用途:存放各种标志位信息和位数据。⑶注意事项:位地址与字节地址编址相同,容易混淆。区分方法:位操作指令中的地址是位地址;字节操作指令中的地址是字节地址。位寻址区的位地址映象表字节地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H⒊数据缓冲区内RAM中30H~7FH为数据缓冲区,用于存放各种数据和中间结果,起到数据缓冲的作用。2.2.4特殊功能寄存器(SFR)特殊功能寄存器地址映象表(一)特殊功能寄存器地址映象表(二)特殊功能寄存器地址映象表(三)注:带括号的字节地址表示每位有位地址可位操作。⑴累加器Acc⑵寄存器BMOVA,R0MOVA,@R1MOVA,30HADDA,32HADDA,#32HMOVA,BADDA,B⑶程序状态字寄存器PSWPSW也称为标志寄存器,存放各有关标志。其结构和定义如下:①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

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功