《80C51单片机内部结构和工作原理.ppt》由会员分享,可在线阅读,更多相关《80C51单片机内部结构和工作原理.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章章 80C51 80C51单片机内部结构和工作原理单片机内部结构和工作原理 v 80C5180C51系列单片机内部结构系列单片机内部结构v 外部引脚功能外部引脚功能v 存储空间配置和功能存储空间配置和功能 v 片内片内RAMRAM结构和功能结构和功能v 特殊功能寄存器的用途和功能特殊功能寄存器的用途和功能v 程序计数器程序计数器PCPC的作用和基本工作方式的作用和基本工作方式v I/O I/O端口结构、工作原理及功能端口结构、工作原理及功能v 时钟和时序时钟和时序v 复位电路、复位条件和复位后状态复位电路、复位条件和复位后状态v 低功耗工作方式的作用和进入退出的方法低功耗工作方式的
2、作用和进入退出的方法本章要点本章要点 2-12-1 内部结构和引脚功能内部结构和引脚功能 内部结构内部结构 8 8位的位的CPUCPU,片内有振荡器和时钟电路,片内有振荡器和时钟电路,工作频率为工作频率为 1.21.212MHz12MHz片内有片内有128/256128/256字节字节RAMRAM片内有片内有0K/4K/8K0K/4K/8K字节程序存储器字节程序存储器ROMROM可寻址片外可寻址片外64K64K字节数据存储器字节数据存储器RAMRAM可寻址片外可寻址片外64K64K字节程序存储器字节程序存储器ROMROM片内片内21/2621/26个特殊功能寄存器个特殊功能寄存器(SFRSFR
3、)4 4个个8 8位的并行位的并行I/OI/O口口(PIOPIO)1 1个全双工串行口个全双工串行口(SIO/UARTSIO/UART)2/32/3个个1616位定时器位定时器/计数器计数器(TIMER/COUNTERTIMER/COUNTER)可处理可处理5/65/6个中断源个中断源,两级中断优先级两级中断优先级内置内置1 1个布尔处理器个布尔处理器和和1 1个布尔累加器个布尔累加器(CyCy)MCS-51MCS-51指令集含指令集含111111条指令条指令MCS-51MCS-51单片机基本特性单片机基本特性MCS-51MCS-51系列单片机配置一览表系列单片机配置一览表系列系列片内存储器(
4、字节)片内存储器(字节)定时器定时器计数器计数器并行并行I/OI/O串行串行I/OI/O中中断断源源片内片内ROMROM片内片内RAMRAM无无有有ROMROM有有EPROMEPROMIntelIntelMCS-51MCS-51子系列子系列8031803180C3180C318051805180C5180C51(4K(4K字节字节)8751875187C5187C51(4K(4K字节字节)128128字节字节2x162x164x84x8位位1 15 5IntelIntelMCS-52MCS-52子系列子系列8032803280C3280C328052805280C5280C52(8K(8K字节
5、字节)8752875287C5287C52(8K(8K字节字节)256256字节字节3x163x164x84x8位位1 16 6ATEMLATEML89C89C系列系列(常用型常用型)1051(1K)/2051(2K)/1051(1K)/2051(2K)/4051(4K)4051(4K)(2020条引脚条引脚DIPDIP封装)封装)1281282 22 2个个1 1个个5 589C51(4K)/89C52(8K)89C51(4K)/89C52(8K)(4040条引脚条引脚DIPDIP封装)封装)128/128/2562562/32/34 4个个1 1个个5/65/6单片机的引脚定义单片机的引脚
6、定义 从一片集成电路的角度去认识单片机。引脚功能引脚功能 4040个引脚个引脚双排直插双排直插DIPDIP封装封装,大致可分为,大致可分为4 4类:类:电源、电源、时钟、控制和时钟、控制和I/OI/O引脚。引脚。单片机的引脚(晶振端)单片机的引脚(晶振端)电源电源:V VCCCC-芯片电源,接芯片电源,接+5V/3.3V/2.7V+5V/3.3V/2.7V;V VSSSS-接地端;接地端;时钟时钟:XTAL1:XTAL1、XTAL2 XTAL2-晶体振荡电路反相输入端和输出端。晶体振荡电路反相输入端和输出端。5 530pf,30pf,典型值典型值30pf30pf。1.21.212MHz12MH
7、z,典型值,典型值12MHz12MHz和和6MHz6MHz。也可以由也可以由 XTAL2 XTAL2端接端接入外部时钟,此时应入外部时钟,此时应将将 XTAL1 XTAL1接地:接地:XTAL1XTAL1XTAL2XTAL2外部时钟外部时钟XTAL1XTAL1XTAL2XTAL2通常外接一个通常外接一个晶振两个电容晶振两个电容MCS-51和和OSC的晶振连接图的晶振连接图HMOC工艺的外部时钟连接图工艺的外部时钟连接图此常用于多片单片机同时工作,此常用于多片单片机同时工作,以便使各单片机同步以便使各单片机同步电容器的作用是稳定频率和快速起振电容器的作用是稳定频率和快速起振 控制线控制线:控制线
8、共有控制线共有4 4根。根。ALEALE/PROGPROG:地址锁存允许地址锁存允许/片内片内EPROMEPROM编程脉冲。编程脉冲。ALE ALE功能:用来锁存功能:用来锁存P0P0口送出的低口送出的低8 8位地址。位地址。PROG PROG功能:片内有功能:片内有EPROMEPROM的芯片,在的芯片,在EPROMEPROM编程期间,编程期间,此引脚输入编程脉冲。此引脚输入编程脉冲。PSEN:PSEN:外外ROMROM读选通信号。读选通信号。RSTRST/VPD:VPD:复位复位/备用电源。备用电源。RST RST(ResetReset)功能:复位信号输入端。)功能:复位信号输入端。VPD
9、VPD功能:在功能:在VccVcc掉电情况下,接备用电源。掉电情况下,接备用电源。单片机单片机8D锁存器锁存器74LS373ALEPSEN8D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的引脚(单片机的引脚(PSENPSEN端)端)PSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROM的的 读控制端(读控制端(OEOE)低电平有效。低电平有效。EA/VppEA/Vpp:内外内外ROMROM选择选择/片内片内EPROMEPROM编程电源。编程电源。EA EA功能:内外功能:内外ROMROM选择端。选择端。80C5180C51单片机
10、单片机ROMROM寻址范围为寻址范围为64KB64KB,芯片内部有,芯片内部有4KB4KB的的ROMROM(80C31(80C31芯片内部没有程序存储器,应用时要在单片机外芯片内部没有程序存储器,应用时要在单片机外部配置一定容量的部配置一定容量的EPROM)EPROM)。当当EAEA保持高电平时,保持高电平时,先访问内部先访问内部ROMROM,但当但当PC(PC(程序计程序计数器数器)值超过值超过4KB(0FFFH)4KB(0FFFH)时,将自动转向执行片外时,将自动转向执行片外ROMROM中的程中的程序。序。当当EAEA保持低电平时,保持低电平时,CPUCPU只能访问外部程序存储器。对只能访
11、问外部程序存储器。对80C3180C31芯片,芯片,片内无片内无ROMROM,因此因此EAEA必必须须接地。接地。外部程序存外部程序存储储器器的地址从的地址从0000H0000H开始开始编编址。址。VppVpp功能:功能:片内有片内有EPROMEPROM的芯片,在的芯片,在EPROMEPROM编程期间,编程期间,施加编程电源施加编程电源VppVpp。I/OI/O线线 80C5180C51共有共有4 4个个8 8位并行位并行I/OI/O端口端口:P0P0、P1P1、P2P2、P3P3口,共口,共3232个引脚。个引脚。P3P3口还具有第二功能,用于特殊信号输入输出和口还具有第二功能,用于特殊信号
12、输入输出和控制信号(属控制总线)。控制信号(属控制总线)。P3.0 P3.0 RXDRXD:串行口输入端;串行口输入端;P3.1 P3.1 TXDTXD:串行口输出端;串行口输出端;P3.2 P3.2 INT0INT0:外部中断外部中断0 0请求输入端;请求输入端;P3.3 P3.3 INT1INT1:外部中断外部中断1 1请求输入端;请求输入端;P3.4 P3.4 T0T0:定时定时/计数器计数器0 0外部信号输入端;外部信号输入端;P3.5 P3.5 T1T1:定时定时/计数器计数器1 1外部信号输入端;外部信号输入端;P3.6 P3.6 WRWR:外外RAMRAM写选通信号输出端;写选通
13、信号输出端;P3.7 P3.7 RDRD:外外RAMRAM读选通信号输出端。读选通信号输出端。P0.0P0.7:一般一般I/O口引脚或数据口引脚或数据/低位地址总线复用引脚;低位地址总线复用引脚;P1.0P1.7:一般一般I/O口引脚;口引脚;P2.0P2.7:一般一般I/O口引脚或高位地址总线引脚;口引脚或高位地址总线引脚;P3.0P3.7:一般一般I/O口引脚或第二功能引脚。口引脚或第二功能引脚。2-2 2-2 存储空间配置和功能存储空间配置和功能 80C51的存储器配置方式与其他常用的微的存储器配置方式与其他常用的微机系统不同,属机系统不同,属哈佛结构哈佛结构(注意注意:什么是哈佛结什么
14、是哈佛结构构?),它把程序存储器和数据存储器分开,各它把程序存储器和数据存储器分开,各有自己的寻址系统、控制信号和功能。有自己的寻址系统、控制信号和功能。程序存程序存储器用于存放程序和表格储器用于存放程序和表格常数;数据存储器用常数;数据存储器用于存放程序运行数据和结果。于存放程序运行数据和结果。80C5180C51的的存存储储器器组组织织结结构构可可以以分分为为以以下不同的存储空间,下不同的存储空间,分别是:分别是:64KB64KB程序存储器程序存储器(ROM),(ROM),有片内有片内ROMROM和片外和片外ROMROM;256B256B内部数据存储器内部数据存储器(内内RAM)RAM),
15、包括特殊功能包括特殊功能寄存器寄存器。64KB64KB外部数据存储器外部数据存储器(外(外RAMRAM););80C5180C51存储空间配置图存储空间配置图 2.2.1 2.2.1 程序存储器程序存储器(ROMROM)地址范围地址范围:0000H0000HFFFFHFFFFH,共,共64KB64KB。其中。其中:片内片内4KB4KB:0000H0000H0FFFH0FFFH。80C51 80C51和和87C5187C51在片内,在片内,80C3180C31片内无。片内无。片外片外64KB64KB:0000H0000HFFFFHFFFFH。读写读写ROMROM用用MOVCMOVC指令,控制信号
16、是指令,控制信号是PSENPSEN和和EAEA。需要指出的是需要指出的是:64KB64KB中有一小段范围是中有一小段范围是80C5180C51系统专用单元,系统专用单元,0003H0003H0023H0023H是是5 5个中断源中断服个中断源中断服务程序入口地址,用户不能安排其他内容。务程序入口地址,用户不能安排其他内容。80C5180C51复位后,复位后,PC=0000HPC=0000H,CPUCPU从地址为从地址为0000H0000H的的ROMROM单元中读取指令和数据。从单元中读取指令和数据。从0000H0000H到到0003H0003H只有只有3B3B,根本不可能安排一个完整的系统,根
17、本不可能安排一个完整的系统程序,而程序,而80C5180C51又是依次读又是依次读ROMROM字节的。字节的。因此因此,这这3B3B只能用来安排只能用来安排一条跳转指令一条跳转指令,跳转到其他,跳转到其他合适的地址范围去执行真正的主程序。合适的地址范围去执行真正的主程序。注:注:0000H单片机复位后的入口地址;单片机复位后的入口地址;0003H外部中断外部中断0的中断服务程序入口地址。的中断服务程序入口地址。l读读外外ROMROM的过程:的过程:CPUCPU从从PCPC(程序计数器程序计数器)中取出当前中取出当前ROMROM的的1616位位地址,分别由地址,分别由P0P0口(低口(低8 8位
18、)位)和和P2P2口(高口(高8 8位)位)同同时输出,时输出,ALEALE信号有效时由地址锁存器锁存低信号有效时由地址锁存器锁存低8 8位位地址信号,地址锁存器输出的低地址信号,地址锁存器输出的低8 8位地址信号和位地址信号和P2P2口输出的高口输出的高8 8位地址信号同时加到外部位地址信号同时加到外部ROM16ROM16位地位地址输入端,址输入端,当当PSENPSEN信号有效时信号有效时,外部,外部ROMROM将相应地将相应地址存储单元中的数据送至数据总线(址存储单元中的数据送至数据总线(P0P0口),口),CPUCPU读入后存入指定单元。读入后存入指定单元。2.2.2 2.2.2 外部数
19、据存储器(外外部数据存储器(外RAMRAM)l 地址范围:地址范围:0000H0000HFFFFHFFFFH,共,共64KB64KB。l 读写外读写外RAMRAM用用MOVXMOVX指令,指令,控制信号是控制信号是P3P3口中的口中的RDRD和和WRWR。一般情况下,只有在内一般情况下,只有在内RAMRAM不能满足不能满足应用要应用要求时,才外接求时,才外接RAMRAM。外外RAM16RAM16位地址分别由位地址分别由P0P0口(低口(低8 8位)和位)和P2P2口口(高(高8 8位)同时输出,位)同时输出,ALEALE信号有效时由地址锁存器信号有效时由地址锁存器锁存低锁存低8 8位地址信号,
20、地址锁存器输出的低位地址信号,地址锁存器输出的低8 8位地址位地址信号和信号和P2P2口输出的高口输出的高8 8位地址信号同时加到外位地址信号同时加到外RAM RAM 1616位地址输入端,当位地址输入端,当RDRD信号有效时,外信号有效时,外RAMRAM将相应将相应地址存储单元中的数据送至数据总线(地址存储单元中的数据送至数据总线(P0P0口),口),CPUCPU读入后存入指定单元。读入后存入指定单元。l读外读外RAMRAM的过程:的过程:l写写外外RAMRAM的过程:的过程:写外写外RAMRAM的过程与读外的过程与读外RAMRAM的过程相同。只是控制的过程相同。只是控制信号不同,信号换成信
21、号不同,信号换成WRWR信号。当信号。当WRWR信号有效时,信号有效时,外外RAMRAM将数据总线(将数据总线(P0P0口分时传送)上的数据写入相口分时传送)上的数据写入相应地址存储单元中。应地址存储单元中。2.2.3 2.2.3 内部数据存储器(内内部数据存储器(内RAMRAM)从广义上讲,从广义上讲,80C5180C51内内RAMRAM(128B128B)和特殊)和特殊功能寄存器(功能寄存器(128B128B)均属于片内均属于片内RAMRAM空间,读空间,读写指令均用写指令均用MOVMOV指令。但为加以区别,指令。但为加以区别,内内RAMRAM通通常指常指00H00H7FH7FH的低的低1
22、28B128B空间。空间。80C5180C51内内RAMRAM又可分成三个物理空间:又可分成三个物理空间:工作寄工作寄存器区、位寻址区和数据缓冲区。存器区、位寻址区和数据缓冲区。地址区域地址区域 功能名称功能名称 00H 00H 1FH1FH00H00H07H 07H 工作寄存器工作寄存器0 0区区 08H08H0FH 0FH 工作寄存器工作寄存器1 1区区 10H10H17H 17H 工作寄存器工作寄存器2 2区区 18H18H1FH 1FH 工作寄存器工作寄存器3 3区区 20H20H2FH2FH 位寻址区位寻址区 30H30H7FH7FH数据缓冲区数据缓冲区 作用:作用:工作寄存器区工作
23、寄存器区 工作寄存器区分为工作寄存器区分为4 4个区:个区:0 0区、区、1 1区、区、2 2区、区、3 3区。区。每区有每区有8 8个寄存器:个寄存器:R0R0R7R7,寄存器名称,寄存器名称相同。但是,当前工作的寄存器区只能有一个,相同。但是,当前工作的寄存器区只能有一个,由由PSWPSW中的中的D4D4、D3D3位决定位决定。有专用于工作寄存器操作的指令,读写速有专用于工作寄存器操作的指令,读写速度比一般内度比一般内RAMRAM要快,指令字节比一般直接寻址要快,指令字节比一般直接寻址指令要短,还具有间址功能,能给编程和应用指令要短,还具有间址功能,能给编程和应用带来方便。带来方便。片内片
24、内RAMRAM前前3232个单元个单元(00H1FH)(00H1FH)是工作寄存器是工作寄存器区区 (由由PSWPSW中的中的RS1,RS0RS1,RS0决定决定)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工工作作寄寄存存器器区区0 位寻址区位寻址区 地址地址:从从20H20H2
25、FH2FH共共1616字节字节(ByteByte,缩写为英文大写字,缩写为英文大写字母母B B)。)。每每B B有有8 8位位(bitbit,缩写为小写,缩写为小写b b),共),共128128位,位,每一位均有一个位地址,可位寻址、位操作。即按位每一位均有一个位地址,可位寻址、位操作。即按位地址对该位进行地址对该位进行置置1 1、清清0 0、求反求反或或判转判转。用途:用途:存放各种标志位信息和位数据。存放各种标志位信息和位数据。注意事项注意事项:位地址与字节地址编址相同,容易混淆。位地址与字节地址编址相同,容易混淆。区分方法区分方法:位操作位操作指令指令中的地址是位地址中的地址是位地址;字
26、节操作字节操作指令指令中的地址是字节地址。中的地址是字节地址。位寻址区的位地址映象表位寻址区的位地址映象表 字节字节地址地址位位 地地 址址D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D02FH2FH7FH7FH7EH7EH7DH7DH7CH7CH7BH7BH7AH7AH79H79H78H78H2EH2EH77H77H76H76H75H75H74H74H73H73H72H72H71H71H70H70H2DH2DH6FH6FH6EH6EH6DH6DH6CH6CH6BH6BH6AH6AH69H69H68H68H2CH2CH67H67H66H66H65H65H64H64H63H63H
27、62H62H61H61H60H60H2BH2BH5FH5FH5EH5EH5DH5DH5CH5CH5BH5BH5AH5AH59H59H58H58H2AH2AH57H57H56H56H55H55H54H54H53H53H52H52H51H51H50H50H29H29H4FH4FH4EH4EH4DH4DH4CH4CH4BH4BH4AH4AH49H49H48H48H28H28H47H47H46H46H45H45H44H44H43H43H42H42H41H41H40H40H27H27H3FH3FH3EH3EH3DH3DH3CH3CH3BH3BH3AH3AH39H39H38H38H26H26H37H37H
28、36H36H35H35H34H34H33H33H32H32H31H31H30H30H25H25H2FH2FH2EH2EH2DH2DH2CH2CH2BH2BH2AH2AH29H29H28H28H24H24H27H27H26H26H25H25H24H24H23H23H22H22H21H21H20H20H23H23H1FH1FH1EH1EH1DH1DH1CH1CH1BH1BH1AH1AH19H19H18H18H22H22H17H17H16H16H15H15H14H14H13H13H12H12H11H11H10H10H21H21H0FH0FH0EH0EH0DH0DH0CH0CH0BH0BH0AH0AH
29、09H09H08H08H20H20H07H07H06H06H05H05H04H04H03H03H02H02H01H01H00H00H 数据缓冲区数据缓冲区 内内RAMRAM中中30H30H7FH7FH为为数数据据缓缓冲冲区区,用用于于存存放放各各种种数数据据和和中中间间结结果果,起起到到数数据据缓冲的作用。缓冲的作用。2.2.4 2.2.4 特殊功能寄存器(特殊功能寄存器(SFRSFR)特殊功能寄存器地址映象表(一)特殊功能寄存器地址映象表(一)特殊功能寄存器地址映象表(二)特殊功能寄存器地址映象表(二)特殊功能寄存器地址映象表(三)特殊功能寄存器地址映象表(三)注:注:带括号的字节地址表示每
30、位有位地址可位操作带括号的字节地址表示每位有位地址可位操作。累加器累加器AccAcc 寄存器寄存器B BMOV A,R0 MOV A,R1MOV A,30H ADD A,32HADD A,#32HMOV A,B ADD A,B 程序状态字寄存器程序状态字寄存器PSWPSW PSWPSW也也称称为为标标志志寄寄存存器器,存存放放各各有有关关标标志志。其结构和定义如下:其结构和定义如下:CyCy 进位标志。进位标志。用于表示用于表示Acc.7Acc.7有否向更高位进位。有否向更高位进位。ACAC 辅助进位标志。辅助进位标志。用于表示用于表示Acc.3Acc.3有否向有否向Acc.4Acc.4进位。
31、进位。RS1RS1、RS0 RS0 工作寄存器区选择控制位。工作寄存器区选择控制位。RS1RS1、RS0=00 0RS0=00 0区(区(00H00H07H07H)RS1RS1、RS0=01 1RS0=01 1区(区(08H08H0FH0FH)RS1RS1、RS0=10 2RS0=10 2区(区(10H10H17H17H)RS1RS1、RS0=11 3RS0=11 3区(区(18H18H1FH1FH)OV OV 溢出标志。溢出标志。表示表示AccAcc在在有符号数有符号数算术运算中的溢出。算术运算中的溢出。P P 奇偶标志。奇偶标志。表示表示AccAcc中中“1”“1”的个数的奇偶性。的个数的
32、奇偶性。注:存于注:存于ACCACC中的运算结果有奇数个中的运算结果有奇数个1 1时时P P1 1,否则,否则P P0 0。F0 F0 用户标志,由用户自己定义。用户标志,由用户自己定义。数据指针数据指针DPTRDPTR 堆栈指针堆栈指针SPSP 专用于指出堆栈顶部数据的地址。专用于指出堆栈顶部数据的地址。堆栈中数据存堆栈中数据存取按取按先进后出、后进先出先进后出、后进先出的原则。的原则。堆栈操作分自动方式和指令方式。自动方式是在堆栈操作分自动方式和指令方式。自动方式是在调用子程序或发生中断时调用子程序或发生中断时CPU自动将自动将断口地址存人或断口地址存人或者取出;指令方式是使用进出栈指令进
33、行操作。者取出;指令方式是使用进出栈指令进行操作。1616位,由两个位,由两个8 8位寄存器位寄存器DPHDPH、DPLDPL组成。主要用于组成。主要用于存放一个存放一个1616位地址,作为位地址,作为访问外部存储器访问外部存储器(外(外RAMRAM和和ROMROM)的地址指针)的地址指针。00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存
34、放在此初始初始 SP复位后复位后 SP=07H SP=07H,数据进栈时:,数据进栈时:首先首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进08H08H单元,然后单元,然后SPSP再自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能寄存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAM RAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出
35、数据时:从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 R
36、AM RAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数据时:从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SP-
37、1 指向新的栈指向新的栈顶顶,也就是下一也就是下一个将要出栈的数个将要出栈的数据据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAM RAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。执执行行调调用用子子程程序序或或发发生生中中断断时时,CPUCPU会会自自动动将将当当前前PCPC值值压压入入堆堆栈栈,将将子子程程序序入入口口地地址址或或中中断断入入口口地地址址装装入入PCPC;子子程程序序返返回回或
38、或中中断断返返回回时时,恢恢复复原原有有被被压压入入堆堆栈栈的的PCPC值值,继续执行原顺序程序指令。继续执行原顺序程序指令。2.2.5 2.2.5 程序计数器程序计数器PCPC PCPC不属于特殊功能寄存器,不可访问,在物理结构上是不属于特殊功能寄存器,不可访问,在物理结构上是独立的。独立的。PCPC是一个是一个1616位的地址寄存器,用于存放将要从位的地址寄存器,用于存放将要从ROMROM中读中读出的下一字节指令码的地址,因此也称为出的下一字节指令码的地址,因此也称为地址指针地址指针。PCPC的基本工作方式有:的基本工作方式有:自动加自动加1 1。CPUCPU从从ROMROM中每读一个字节
39、,自动执行中每读一个字节,自动执行PC+1PCPC+1PC;执行转移指令时,执行转移指令时,PCPC会根据该指令要求修改下一次读会根据该指令要求修改下一次读ROMROM新的地址;新的地址;2-3 2-3 I/OI/O端口结构及工作原理端口结构及工作原理 有有4 4个个8 8位并行位并行I/OI/O口口,共共3232条端线:条端线:P0 P0、P1P1、P2P2和和P3P3口。口。每一个每一个I/OI/O口都能用作输入或输出。口都能用作输入或输出。用作输入时,均用作输入时,均须先写入须先写入“1”“1”;用作输出时,用作输出时,P0P0口应口应外接上拉电阻外接上拉电阻。P0P0口的口的负载能力负
40、载能力为为8 8个个LSTTLLSTTL门电路;门电路;P1 P1P3P3口的负载能力为口的负载能力为4 4个个LSTTLLSTTL门电路。门电路。在并行扩展外存储器或在并行扩展外存储器或I/OI/O口情况下,口情况下,P0P0口用于低口用于低8 8位地址总线和数据总线位地址总线和数据总线(分时传送分时传送),),P2 P2口用于高口用于高8 8位地址总线,位地址总线,P3 P3口常用于第二功能,口常用于第二功能,用户能使用的用户能使用的I/OI/O口只有口只有P1P1口和未用作第二功能口和未用作第二功能的部分的部分P3P3口端线。口端线。单片机的单片机的I/OI/O引脚结构引脚结构 众多功能
41、各异的I/O引脚源于它结构的不同。单片机的引脚(单片机的引脚(P0P0口)口)P0.0P0.7:P0.0P0.7:双向双向I/OI/O 寻址外部程序存储器时寻址外部程序存储器时分时分时作为双向作为双向8 8位数据口位数据口和输出低和输出低8 8位地址复用口;位地址复用口;不接外部程序存储器不接外部程序存储器时时可作为可作为8 8位准双向位准双向I/OI/O口使用。口使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X31VccV1V2&4 P0P0口由口由8 8个这样的电路组成:个这样的电路组成:锁存器锁存器起输出锁存起
42、输出锁存作用,作用,8 8个锁存器构成了特殊功能寄存器个锁存器构成了特殊功能寄存器P0P0;场效应场效应管(管(FETFET)V1V1、V2V2组成输出驱动器组成输出驱动器,以增大带负载能,以增大带负载能力;力;三态门三态门1 1是是引脚输入缓冲器引脚输入缓冲器;三态门三态门2 2是是用于读锁用于读锁存器端口存器端口;与门与门3 3、反相器、反相器4 4及模拟转换开关及模拟转换开关构成输出构成输出控制电路。控制电路。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34VccV1V2&121DQCK/Q读引脚读引脚=1读锁存
43、器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400100截截止止截截止止=0Vcc单片机的引脚(单片机的引脚(P0P0口)口)P0用作通用用作通用I/O时,控制时,控制=0:(1)此脚作输入口(事先必须对它写)此脚作输入口(事先必须对它写“1”)V2V1引脚处于悬浮状态,可以作为高阻抗输入。引脚处于悬浮状态,可以作为高阻抗输入。&121DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400011截截止止导导通通=0Vcc单片机的引脚(单片机的引脚(P0P0口)口)P0用作通用用作通
44、用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引脚输出引脚输
45、出“1”。V2V1&121DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400100截截止止截截止止=0Vcc单片机的引脚(单片机的引脚(P0P0口)口)P0用作通用用作通用I/O时,控制时,控制=0:(2)此脚作输出口时,)此脚作输出口时,当当P0口用作输出口时,因口用作输出口时,因输出级处于开漏状态,输出级处于开漏状态,必须外接上拉电阻。必须外接上拉电阻。当当“写锁存器写锁存器”信号加在锁存器的时钟端信号加在锁存器的时钟端CLK上,上,此时此时D触发器将触发器将“内部总线内部总线”上的信号反相后输出到上的信号反相后输出
46、到Q端,若端,若D端信号为端信号为0,Q=1,V2导通,导通,P0.x引脚输出引脚输出“0”;若;若D端信号为端信号为1,Q=0,V2截止,截止,虽然虽然V1截止,因截止,因P0.x引脚已外接上拉电阻,引脚已外接上拉电阻,P0.x引脚输出引脚输出“1”。V2V1&121DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X341011=0导导通通截截止止=0Vcc单片机的引脚(单片机的引脚(P0P0口)口)P0口用作地址口用作地址/数据复用口,控制数据复用口,控制=1:(1)作地址)作地址/数据输出:输出地址数据输出:输出地
47、址/数据数据=0 时时V1V2&121DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X341100=1截截止止导导通通=1Vcc单片机的引脚(单片机的引脚(P0P0口)口)P0口用作地址口用作地址/数据复用口,控制数据复用口,控制=1:(2)作地址)作地址/数据输出:输出地址数据输出:输出地址/数据数据=1 时时V1V2&121DQCK/Q读引脚读引脚=1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=0引脚引脚P0.X34Vcc单片机的引脚(单片机的引脚(P0P0口)口)P0口用作地址口
48、用作地址/数据复用口数据复用口(3)作数据输入:)作数据输入:与与P0用作通用用作通用I/O输入时情况相同,输入时情况相同,CPU使使V1、V2均截止,读引脚脉冲打开三态缓冲器均截止,读引脚脉冲打开三态缓冲器1,使,使引脚上输入的外部数据经缓冲器引脚上输入的外部数据经缓冲器1 1进入内部数据总线。进入内部数据总线。V1V21000截截止止0截截止止&1单片机的引脚单片机的引脚(P2P2口)口)P2.0P2.7:P2.0P2.7:双向双向I/OI/O (内置了上拉电阻)(内置了上拉电阻)寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程
49、序存储器时可作为8 8位准双向位准双向I/OI/O口使用口使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc121DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=1时时110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=0单片机的引脚单片机的引脚(P2P2口)口)P2.0P2.7:P2.0P2.7:双向双向I/OI/O (内置了上拉电阻)(内置了
50、上拉电阻)寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位准双向位准双向I/OI/O口使用口使用。121DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=0时时001导导通通3内部上拉电阻内部上拉电阻00Vcc=0=0单片机的引脚单片机的引脚(P2P2口)口)P2.0P2.7:P2.0P2.7:双向双向I/OI/O (内置了上拉电阻)(内置了上拉电阻)寻址外部程序存储器时寻址