《C单片机的硬件结构.pptx》由会员分享,可在线阅读,更多相关《C单片机的硬件结构.pptx(90页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.1 89C51单片机的片内结构片内结构如图2-1所示:图图2-1 89C512-1 89C51单片机的片内结构单片机的片内结构第1页/共90页第2页/共90页由如下功能部件组成:对图由如下功能部件组成:对图2-12-1中的片内各部件做简单中的片内各部件做简单介绍。介绍。1.CPU1.CPU(微处理器)(微处理器)2.2.数据存储器(数据存储器(RAMRAM)片内为片内为128128个字节(个字节(5252子系列的为子系列的为256256个字节)个字节)3.3.程序存储器(程序存储器(ROM/EPROMROM/EPROM)8031:8031:无此部件;无此部件;8051:8051:4K4K字
2、节字节ROMROM;8751:8751:4K4K字节字节EPROM EPROM;89C51/89C52/89C55:89C51/89C52/89C55:4K/8K/20K 4K/8K/20K 字节闪存。字节闪存。4.4.4 4个个并行可编程的并行可编程的8 8位位I/OI/O口口 P1P1口、口、P2P2口、口、P3P3口、口、P0P0口口5.5.串行口串行口 1 1个个全双工全双工的异步串行口,具有的异步串行口,具有四种四种工作方式工作方式。第3页/共90页6.6.定时器定时器/计数器计数器7.7.中断系统中断系统8.8.特殊功能寄存器(特殊功能寄存器(SFRSFR)共有共有2121个个,是
3、一个具有特殊功能的,是一个具有特殊功能的RAMRAM区。区。CPUCPU对各种功能部件的控制是采用特殊功能寄存器对各种功能部件的控制是采用特殊功能寄存器(SFRSFR,Special Function RegisterSpecial Function Register)的集中)的集中控制方式。控制方式。第4页/共90页MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15Intel
4、MCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEMLATEML89C89C系列系列(常用型常用型)1051(1K)/2051(2K)/1051(1K)/2051(2K)/4051(4K)4051(4K)(2020条引脚条引脚DIPDIP封装)封装)1281282 215151 15 589C51(4K)/89C52(8K)89C51(4K)/89C52(8K)(4040条引脚条引脚DIPDIP封装)封装)128/128/2562562/32/332321 15/65/6第5页/共90页图图2-2 89C512-
5、2 89C51的引脚的引脚 2.2 89C51的引脚 40只引脚双列直插封装(DIP)。从一片集成电路的角度去认识单片机第6页/共90页80C5180C51:4040个引脚双排直插个引脚双排直插DIPDIP封装封装,大致可分为大致可分为3 3类:类:电源及时钟、控制和电源及时钟、控制和I/OI/O引脚。引脚。第7页/共90页80C5180C51:4040个引脚双排直插个引脚双排直插DIPDIP封装封装,大致可分为大致可分为3 3类:类:电源及时钟、控制和电源及时钟、控制和I/OI/O引脚。引脚。40只引脚按功能分为3类:(1)电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2。(2)控制引
6、脚:PSEN*、EA*、ALE、RESET(即RST)。(3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚第8页/共90页1电源引脚 (1)Vcc(40脚):+5V电源;(2)Vss(20脚):接地。2时钟引脚 (1)XTAL1(19脚):接外部晶体,如果采用外接振荡器时,振荡器的输出应接到此引脚上。(2)XTAL2(18脚):接外部晶体的另一端或采用外接振荡器时悬空。2.2.1 电源及时钟引脚第9页/共90页151545pf45pfx2x21 112MHz12MHz(MCS-51MCS-51)0 024MHz24MHz(Atmel-89CAtmel-89C)XTAL1X
7、TAL1XTAL2XTAL2也可以由也可以由 XTAL1XTAL1端接端接入外部时钟,此时应入外部时钟,此时应将将 XTAL2XTAL2接地:接地:XTAL2XTAL2XTAL1XTAL1外部时钟外部时钟通常通常外接一个外接一个晶振两个电容晶振两个电容第10页/共90页2.2.2 2.2.2 控制引脚控制引脚 提供控制信号,有的引脚还具有提供控制信号,有的引脚还具有复用复用功能。功能。(1)(1)RST/VPD(9RST/VPD(9脚脚):复位与备用电源。:复位与备用电源。(2)(2)EAEA*/VPP(Enable Address/Voltage Pulse of/VPP(Enable Ad
8、dress/Voltage Pulse of ProgRamingProgRaming,3131脚脚)EA EA*:为内外程序存储器选择控制端。为内外程序存储器选择控制端。EAEA*=1=1,访访问问片片内内程程序序存存储储器器,但但在在PCPC(程程序序计计数数器器)值值超超过过0FFFH0FFFH(对对于于80518051、87518751)时时,即即超超出出片片内内程程序序存存储储器器的的4K4K字字节节地地址址范范围围时时,将将自自动动转转向向执执行行外外部部程序存储器内的程序。程序存储器内的程序。EAEA*=0=0,单单片片机机则则只只访访问问外外部部程程序序存存储储器器。不不管管芯
9、芯片片内内有有否否内内ROMROM。对对80C3180C31芯芯片片,片片内内无无ROMROM,因因此此EAEA必必须接地。须接地。VPPVPP:本本引引脚脚的的第第二二功功能能。用用于于施施加加编编程程电电压压(例例如如+21V+21V或或+12V+12V)。对对89C5189C51,加加在在VPPVPP脚脚的的编编程程电电压压为为+12V+12V或或+5V+5V。第11页/共90页(3)(3)ALE/PROGALE/PROG*(3030脚脚):地地 址址 锁锁 存存 允允 许许/片片 内内EPROMEPROM编程脉冲编程脉冲 第第一一功功能能:ALEALE为为地地址址锁锁存存允允许许,用用
10、来来锁锁存存P0P0口送出的低口送出的低8 8位地址位地址,可驱动可驱动8 8个个LSLS型型TTLTTL负载。负载。第第二二功功能能:PROGPROG*为为编编程程脉脉冲冲输输入入端端,片片内内有有EPROMEPROM的的芯芯片片,在在EPROMEPROM编编程程期期间间,此此引引脚脚输输入入编编程脉冲。程脉冲。第12页/共90页(4)PSEN*(29脚):外部程序存储器的读选通信号(外ROM读选通信号)。或称:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效,可驱动8个LS型TTL负载。单片机单片机锁存器锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48
11、D8QOEA8-A12A0-A7D0-D7GEAOECEEPROMEPROM第13页/共90页 89C51 89C51共有共有4 4个个8 8位位并行并行I/OI/O端口端口:P0P0、P1P1、P2P2、P3P3口,共口,共3232个引脚。个引脚。P3P3口还具有第二功能,用于特殊信口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。号输入输出和控制信号(属控制总线)。2.2.3 I/O口引脚第14页/共90页(1)(1)P0P0口口:当当89C5189C51扩扩展展外外部部存存储储器器及及I/OI/O接接口口芯芯片片时时,P0P0口口作作为为地地址址总总线线(低低8 8位位)及
12、及数数据据总总线线的的分分时时复复用用端端口口。为为双向双向I/OI/O口。口。也可作为通用的也可作为通用的I/OI/O口使用,但需加上拉电阻,这时为口使用,但需加上拉电阻,这时为准双向口准双向口。当作为普通的。当作为普通的I/OI/O输入时,应先向端口的输出输入时,应先向端口的输出锁存器写入锁存器写入1 1。P0P0口可驱动口可驱动8 8个个LSLS型型TTLTTL负载。负载。(2)(2)P1P1口口:8 8位位准准双双向向I/OI/O口口,具具有有内内部部上上拉拉电电阻阻,可可驱驱动动4 4个个LSLS型型TTLTTL负载。负载。(3)(3)P2P2口口:8 8位位准准双双向向I/OI/O
13、口口,与与地地址址总总线线(高高8 8位位)复复用用,具有内部具有内部上拉电阻,上拉电阻,可驱动可驱动4 4个个LSLS型型TTLTTL负载。负载。(4)(4)P3P3口口:8 8位位准准双双向向I/OI/O口口,双双功功能能复复用用口口,具具有有内内部部上上拉拉电电阻阻,可可驱驱动动4 4个个LSLS型型TTLTTL负负载载。P3P3口口还还可可提提供供第第二二功功能,定义如表能,定义如表2-12-1所列,应熟记。所列,应熟记。注意注意:准双向口与双向三态口的差别准双向口与双向三态口的差别。(1 1)当当3 3个个准准双双向向I/OI/O口口作作输输入入口口使使用用时时,要要向向该该口口先先
14、写写“1 1”。(2 2)准双向)准双向I/OI/O口口无高阻无高阻 “浮空浮空”状态。状态。第15页/共90页2.3 89C512.3 89C51的的CPUCPU 由由运算器运算器和和控制器控制器所构成所构成2.3.1 2.3.1 运算器运算器 1 1算术逻辑运算单元算术逻辑运算单元ALUALU 进行进行算术、逻辑运算算术、逻辑运算,还具有,还具有位操作位操作功能功能 第16页/共90页2 2累加器累加器A A 使用最频繁的寄存器,使用最频繁的寄存器,可写为可写为AccAcc。累加器累加器A A的作用的作用:(1 1)是)是ALUALU的输入之一,又是运算结果的存放单元。的输入之一,又是运算
15、结果的存放单元。(2 2)数数据据传传送送大大多多都都通通过过累累加加器器A A。MCS-51MCS-51增增加加了了一一部部分分可可以以不不经经过过累累加加器器的的传传送送指指令令,即即可可加加快快数数据的传送速度,又减少据的传送速度,又减少A A的的“瓶颈堵塞瓶颈堵塞”现象。现象。A A的进位标志的进位标志CyCy同时又是位处理机的位累加器。同时又是位处理机的位累加器。3 3程序状态字寄存器程序状态字寄存器PSWPSW PSWPSW也称为标志寄存器,存放各有关标志。其结也称为标志寄存器,存放各有关标志。其结构和定义构和定义如如图图2-32-3:第17页/共90页(1 1)CyCy(PSW.
16、7PSW.7)进进位位标标志志位位,用用于于表表示示Acc.7Acc.7有有否否 向更高位进位。向更高位进位。(2 2)Ac(PSW.6)Ac(PSW.6)辅辅助助进进位位标标志志位位,用用于于BCDBCD码码的的十十 进进制制调调整整运运算算。用用于于表表示示Acc.3Acc.3有否有否 向向Acc.4Acc.4进位进位(3 3)F0F0(PSW.5PSW.5)用户使用的状态标志位。用户使用的状态标志位。图图2-3 2-3 程序状态字寄存器程序状态字寄存器PSWPSW第18页/共90页(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3):4 4组工作寄存器区组工
17、作寄存器区选择控制位选择控制位1 1和位和位0 0。如表。如表2-22-2。RS1RS1、RS0RS0与与4 4组工作组工作寄存器区的对应关系寄存器区的对应关系 RS1 RS0 RS1 RS0 所选的所选的4 4组寄存器组寄存器 0 0 00 0 0区(内部区(内部RAMRAM地址地址 00H00H07H07H)0 1 10 1 1区(内部区(内部RAMRAM地址地址 08H08H0FH0FH)1 0 21 0 2区(内部区(内部RAMRAM地址地址 10H10H17H17H)1 1 31 1 3区(内部区(内部RAMRAM地址地址 18H18H1FH1FH)(5 5)OVOV(PSW.2PS
18、W.2)溢出标志位)溢出标志位 指示运算是否溢出。注意各种算术运算指令对该指示运算是否溢出。注意各种算术运算指令对该位的影响位的影响(6 6)PSW.1PSW.1位位:保留位,未用保留位,未用 (7 7)P(PSW.0)P(PSW.0)奇偶标志位奇偶标志位 P=1P=1,A A中中“1 1”的个数为的个数为奇数奇数P=0P=0,A A中中“1 1”的个数为的个数为偶数偶数第19页/共90页2.3.2 2.3.2 控制器控制器 1 1程序计数器程序计数器PCPC(Program CounterProgram Counter)存放存放下一条下一条要执行的指令在程序存储器中的地址。要执行的指令在程序
19、存储器中的地址。基本工作方式有以下几种:基本工作方式有以下几种:(1 1)程序计数器)程序计数器自动加自动加1 1 (2 2)执执行行有有条条件件转转移移或或无无条条件件转转移移指指令令时时,PCPC将将被置入新的数值,从而使程序的被置入新的数值,从而使程序的流向流向发生变化。发生变化。(3 3)执行)执行子程序调用或中断调用子程序调用或中断调用,完成下列操作:,完成下列操作:PCPC的的现行值保护现行值保护 将子将子程序入口地址程序入口地址或或中断向量的地址中断向量的地址送入送入PCPC。2 2指令寄存器指令寄存器IRIR、指令译码器及控制逻辑电路、指令译码器及控制逻辑电路第20页/共90页
20、2.4 89C51存储器的结构 89C51 89C51的存储器配置方式与其他常用的微机的存储器配置方式与其他常用的微机系统不同,属系统不同,属哈佛结构哈佛结构(注意注意:什么是哈佛结构什么是哈佛结构?)?),它把程序存储器和数据存储器分开,各有自己,它把程序存储器和数据存储器分开,各有自己的寻址系统、控制信号和功能。程序存储器用于的寻址系统、控制信号和功能。程序存储器用于存放程序和表格常数;数据存储器用于存放程序存放程序和表格常数;数据存储器用于存放程序运行数据和结果。运行数据和结果。第21页/共90页 89C51的存储器组织结构可以分为三个不同的存储空间,分别是:64KB程序存储器(ROM)
21、,包括片内ROM和片外ROM;256B内部数据存储器(内RAM)(包括特殊功能寄存器)。64KB外部数据存储器(外RAM);第22页/共90页89C51存储空间配置图 第23页/共90页存储器空间可划分为存储器空间可划分为5 5类类:1.1.程序存储器空间程序存储器空间 片内程序存储器为片内程序存储器为4KB 4KB 的的 Flash Flash 存储器存储器 2.2.片内片内数据存储器空间数据存储器空间:128B 128B 3.3.特殊功能寄存器特殊功能寄存器 SFRSFR-Special Function-Special Function RegisterRegister4.4.位地址空间
22、位地址空间:211211个个可寻址位。可寻址位。5.5.外部数据寄存器空间外部数据寄存器空间:片外可扩展片外可扩展64K64K字节字节RAMRAM。第24页/共90页地址范围:0000HFFFFH,共64KB。其中:低段4KB:0000H0FFFH 89C51和87C51在片内,80C31在片外。高段60KB:1000HFFFFH。在片外。读写ROM用MOVC指令,控制信号是PSEN和EA。读ROM是以程序计数器PC作为16位地址指针,依次读相应地址ROM中的指令和数据,每读一个字节,PC+1PC,这是CPU自动形成的。但是有些指令有修改PC的功能,例如转移类指令和MOVC指令,CPU将按修改
23、后PC的16位地址读ROM。2.4.1 程序存储器存放应用程序和表格之类的固定常数。分为片内和片外两部分,由EA*引脚上所接的电平确定。程序存储器中的0000H地址是系统程序的启动地址第25页/共90页l读外ROM的过程:CPU从PC(程序计数器)中取出当前ROM的16位地址,分别由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外ROM 16位地址输入端,当PSEN信号有效时,外ROM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。第26页/共90页 需要
24、指出的是需要指出的是:64KB64KB中有一小段范围是中有一小段范围是89C5189C51系统专用单元,系统专用单元,0003H0023H0003H0023H是是5 5个中断源中断服务个中断源中断服务程序入口地址程序入口地址 ,用户不能安排其他内容。,用户不能安排其他内容。89C5189C51复位后,复位后,PC=0000HPC=0000H,CPUCPU从地址为从地址为0000H0000H的的ROMROM单元中读取指令和数据。从单元中读取指令和数据。从0000H0000H到到0003H0003H只只有有3B3B,根本不可能安排一个完整的系统程序,而,根本不可能安排一个完整的系统程序,而89C5
25、189C51又是依次读又是依次读ROMROM字节的。字节的。因此因此,这,这3B3B只能用来只能用来安排安排一条跳转指令一条跳转指令,跳转到其他合适的地址范围去,跳转到其他合适的地址范围去执行真正的主程序。执行真正的主程序。第27页/共90页 5 5个个专用专用单元单元具有特殊用途。为具有特殊用途。为5 5个中断源的中断个中断源的中断入口地址,入口地址,表表2-3 52-3 5种中断源的中断入口地址种中断源的中断入口地址外中断外中断0 0 0003H 0003H定时器定时器T0T0 000BH 000BH外中断外中断1 1 0013H 0013H 定时器定时器T1T1 001BH 001BH
26、串行口串行口 0023H0023H第28页/共90页 从广义上讲,89C51内RAM(128B)和特殊功能寄存器(128B)均属于片内RAM空间,读写指令均用MOV指令。但为加以区别,内RAM通常指00H7FH的低128B空间。2.4.2 内部数据存储器 128个,字节地址为00H7FH。第29页/共90页第30页/共90页 89C51内RAM又可分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区。地址区域地址区域 功能名称功能名称 00H 00H 1FH1FH00H00H07H 07H 工作寄存器工作寄存器0 0区区 08H08H0FH 0FH 工作寄存器工作寄存器1 1区区 10H10H
27、17H 17H 工作寄存器工作寄存器2 2区区 18H18H1FH 1FH 工作寄存器工作寄存器3 3区区 20H20H2FH2FH 位寻址区位寻址区 30H30H7FH7FH数据缓冲区数据缓冲区 00H00H1FH1FH:3232个单元个单元,是,是4 4组通用组通用工作寄存器区工作寄存器区20H20H2FH2FH:1616个单元,可进行个单元,可进行128128位的位寻址位的位寻址30H30H7FH7FH:用户用户RAMRAM区,只能字节寻址,用作数据缓冲区,只能字节寻址,用作数据缓冲区以及堆栈区。区以及堆栈区。第31页/共90页作用:工作寄存器区 工作寄存器区分为4个区:0区、1区、2区
28、、3区。每区有8个寄存器:R0R7,寄存器名称相同。但是,当前工作的寄存器区只能有一个,由PSW中的D4、D3位决定。有专用于工作寄存器操作的指令,读写速度比一般内RAM要快,指令字节比一般直接寻址指令要短,还具有间址功能,能给编程和应用带来方便。第32页/共90页 位寻址区 地址:从20H2FH共16字节(Byte,缩写为英文大写字母B)。每B有8位(bit,缩写为小写b),共128位,每一位均有一个位地址,可位寻址、位操作。即按位地址对该位进行置1、清0、求反或判转。用途:存放各种标志位信息和位数据。注意事项:位地址与字节地址编址相同,容易混淆。区分方法:位操作指令中的地址是位地址;字节操
29、作指令中的地址是字节地址。第33页/共90页 数据缓冲区 内RAM中30H7FH为数据缓冲区,用于存放各种数据和中间结果,起到数据缓冲的作用。第34页/共90页2.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR)CPUCPU对片内各种功能部件的控制对片内各种功能部件的控制采用特殊功采用特殊功能寄存器集中控制能寄存器集中控制方式,方式,共共2121个个。有的。有的SFRSFR可进行可进行位寻址位寻址。表表2-42-4是是SFRSFR的名称及其分布。的名称及其分布。其其字节地址的末位是字节地址的末位是0H0H或或8H8H可可位寻址位寻址。下面介绍下面介绍SFRSFR块中的某些寄存
30、器。块中的某些寄存器。第35页/共90页表表2-4 SFR2-4 SFR的名称及其分布的名称及其分布共21个第36页/共90页特殊功能寄存器(SFR)地址映象表(一)第37页/共90页特殊功能寄存器地址映象表(二)第38页/共90页特殊功能寄存器地址映象表(三)注:带括号的字节地址表示每位有位地址可位操作。第39页/共90页1 1堆栈指针堆栈指针SPSP 指示指示堆栈顶部堆栈顶部在在内部内部RAMRAM块块中的位置中的位置 复位后,复位后,SPSP中的内容为中的内容为07H07H。(1 1)保护断点)保护断点(2 2)现场保护)现场保护堆栈堆栈向上生长向上生长第40页/共90页 2.数据指针D
31、PTR 16位,由两个8位寄存器DPH、DPL组成。主要用于存放一个16位地址,作为访问外部存储器(外RAM和ROM)的地址指针。高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。3.寄存器B 为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。第41页/共90页 执行调用子程序或发生中断时,CPU会自动将当前PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。4.程序计数器PC PC不属于特殊功能寄存器,不可访问,在物理结构上是独立的。PC是一个16位的地址寄存器,用于存放将要从
32、ROM中读出的下一字节指令码的地址,因此也称为地址指针。PC的基本工作方式有:自动加1。CPU从ROM中每读一个字节,自动执行PC+1PC;执行转移指令时,PC会根据该指令要求修改下一次读ROM新的地址;第42页/共90页2.4.4 2.4.4 位地址空间位地址空间 211211个(个(128128个个+83+83个)寻址位个)寻址位。位地址范。位地址范围为:围为:00H00HFFHFFH。内部内部RAMRAM的可寻址位的可寻址位128128个个(字节地址字节地址20H20H2FH)2FH)见见表表2-52-5(P24P24)。特殊功能寄存器特殊功能寄存器SFRSFR为为8383个个可寻址位,
33、见可寻址位,见表表2-62-6。第43页/共90页表表2-5 2-5 内部内部RAMRAM的可寻址位及位地址的可寻址位及位地址第44页/共90页 表表2-6 SFR2-6 SFR中的位地址分布中的位地址分布第45页/共90页2.4.5 外部数据存储器最多可外扩64K字节的RAM或I/O。l 地址范围:0000HFFFFH 共64KB。l 读写外RAM用MOVX指令,控制信号是P3口中的RD和WR。一般情况下,只有在内一般情况下,只有在内RAMRAM不能满足应用要求不能满足应用要求时,才外接时,才外接RAMRAM。第46页/共90页 外RAM 16位地址分别由P0口(低8位)和P2口(高8位)同
34、时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外RAM 16位地址输入端,当RD信号有效时,外RAM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。l读外RAM的过程:l写外RAM的过程:写外RAM的过程与读外RAM的过程相同。只是控制信号不同,信号换成WR信号。当WR信号有效时,外RAM将数据总线(P0口分时传送)上的数据写入相应地址存储单元中。第47页/共90页使用各类存储器,注意几点:使用各类存储器,注意几点:(1)(1)地址的重叠性地址的重叠性 程序存储器(程序存储器(ROMROM)
35、与数据存储器()与数据存储器(RAMRAM)全部全部64K64K字字节地址空间重叠节地址空间重叠)。(2)(2)程序存储器(程序存储器(ROMROM)与数据存储器()与数据存储器(RAMRAM)在使)在使用上是严格区分的用上是严格区分的 。(3)(3)位地址空间共有位地址空间共有两个区域两个区域。(4)(4)片外数据存储区中,片外数据存储区中,RAMRAM与与I/OI/O端口端口统一编址统一编址。所有所有外围外围I/OI/O端口的地址均占用端口的地址均占用RAMRAM单元地址单元地址,使用,使用与访问外部数据存储器与访问外部数据存储器相同的传送指令相同的传送指令。第48页/共90页图图2-52
36、-5为各类存储器在存储器空间的位置的总为各类存储器在存储器空间的位置的总结。结。图图2-52-5第49页/共90页2.5 并行I/O端口 有4个8位并行I/O口,共32条端线:P0、P1、P2和P3口。每一个I/O口都能用作输入或输出。用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。P0口的负载能力为8个LSTTL门电路;P1P3口的负载能力为4个LSTTL门电路。在并行扩展外存储器或I/O口情况下,P0口用于低8位地址总线和数据总线(分时传送)P2口用于高8位地址总线,P3口常用于第二功能,用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。第50页/共90页2.
37、5.1 P02.5.1 P0端口端口图图2-62-6第51页/共90页1.1.位电路结构位电路结构P0P0口某一位的电路包括:口某一位的电路包括:(1)(1)一个数据输出锁存器,用于数据位的锁存一个数据输出锁存器,用于数据位的锁存(2)(2)两个三态的数据输入缓冲器。两个三态的数据输入缓冲器。(3)(3)一一个个多多路路转转接接开开关关MUXMUX,使使P0P0口口可可作作通通用用I/OI/O口口,或或地址地址/数据线口数据线口。(4)(4)数数据据输输出出的的驱驱动动和和控控制制电电路路,由由两两只只场场效效应应管管(FETFET)组成,)组成,上面的场效应管上面的场效应管构成构成上拉电路上
38、拉电路。第52页/共90页 2.2.工作过程分析工作过程分析 (1 1)P0P0口作为地址或数据总线使用口作为地址或数据总线使用 CPUCPU发发出出控控制制信信号号为为高高电电平平,打打开开上上面面的的与与门门,使使MUXMUX打打向向上上边边,使使内内部部地地址址/数数据据线线与与下下面面的的场场效效应应管管反反相相接接通通。此此时时由由于于上上下下两两个个FETFET处处于于反反相相,形形成成推推拉拉式式电电路路结构,大大结构,大大提高负载能力提高负载能力。(2 2)P0P0口作通用的口作通用的I/OI/O口使用口使用 CPUCPU发发来来的的“控控制制”信信号号为为低低电电平平,上上拉
39、拉场场效效应应管管截截止止,MUXMUX打向下边打向下边,与,与D D锁存器的锁存器的Q*Q*端接通。端接通。a.P0a.P0作输出口使用作输出口使用 来来自自CPUCPU的的“写写入入”脉脉冲冲加加在在D D锁锁存存器器的的CPCP端端,内内部部总线上的数据写入总线上的数据写入D D锁存器,并向端口引脚锁存器,并向端口引脚P0.xP0.x输出。输出。注注意意:由由于于输输出出电电路路是是漏漏极极开开路路(因因为为这这时时上上拉拉场场效效应应管管截截止止),必必须须外外接接上上拉拉电电阻阻才才能能有有高高电电平平输输出出(这这时时就就不不为双向口为双向口)。)。第53页/共90页b.P0b.P
40、0作输入口使用作输入口使用 区分区分“读引脚读引脚”和和“读锁存器读锁存器”。“读读引引脚脚”信信号号把把下下方方缓缓冲冲器器打打开开,引引脚脚上上的的状状态态经经缓冲器读入内部总线;缓冲器读入内部总线;“读读锁锁存存器器”信信号号打打开开上上面面的的缓缓冲冲器器把把锁锁存存器器Q Q端端的的状状态读入内部总线。态读入内部总线。3 3P0P0口的特点口的特点 P0P0口口具具有有如如下下特特点点:P0P0口口为为双双功功能能口口地地址址/数据复用口和通用数据复用口和通用I/OI/O口。口。(1 1)当当P0P0口用作地址口用作地址/数据复用口时,为一个真正的双向数据复用口时,为一个真正的双向口
41、,用作外扩存储器,输出低口,用作外扩存储器,输出低8 8位地址和输出位地址和输出/输入输入8 8位数位数据。据。(2 2)当当P0P0口用作通用口用作通用I/OI/O口时,由于需要在片外接上拉电口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此为一个准双阻,端口不存在高阻抗(悬浮)状态,因此为一个准双向口。向口。一般情况下,如果一般情况下,如果P0P0口已作为地址口已作为地址/数据复用口,数据复用口,就不能再作为通用就不能再作为通用I/OI/O口使用。口使用。第54页/共90页补充:单片机的引脚(P0口)P0.0P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作
42、为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34VccV1V2第55页/共90页21DQCK/Q读引脚读引脚=1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400100截截止止截截止止=0Vcc单片机的引脚(P0口)P0P0用作通用用作通用I/OI/O时,控制时,控制=0=0:(1 1)此脚作输入口(事先必须对它写)此脚作输入口(事先必须对它写“1”1”)V2V1第56页/共90页
43、21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400100截截止止截截止止=0Vcc单片机的引脚(P0口)P0P0用作通用用作通用I/OI/O时,控制时,控制=0=0:(2 2)此脚作输出口时,)此脚作输出口时,当当P0P0口用作输出口时,因口用作输出口时,因输出级处于输出级处于开漏状态,必须外接上拉电阻。开漏状态,必须外接上拉电阻。当当“写锁存器写锁存器”信号加在锁信号加在锁存器的时钟端存器的时钟端CLKCLK上,此时上,此时D D触发器将触发器将“内部总线内部总线”上的信号上的信号反相后输出到反相后输出到Q Q端,
44、若端,若D D端信号为端信号为0 0,Q=1Q=1,v2v2导通,导通,P0P0 x x引脚引脚输出输出“0 0”;若;若D D端信号为端信号为1 1,Q=0Q=0,v2v2截止,虽然截止,虽然V1V1截止,因截止,因P0P0 x x引脚已外接上拉电阻,引脚已外接上拉电阻,P0P0 x x引脚输出引脚输出“1 1”。V2V1第57页/共90页21DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X341011=0导导通通截截止止=0Vcc单片机的引脚(P0口)P0P0口用作地址口用作地址/数据复用口,控制数据复用口,控制=
45、1=1(1 1)作地址)作地址/数据输出:输出地址数据输出:输出地址/数据数据 =0=0 时时V1V2第58页/共90页21DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X341100=1截截止止导导通通=1Vcc单片机的引脚(P0口)P0P0口用作地址口用作地址/数据复用口,控制数据复用口,控制=1=1(2 2)作地址)作地址/数据输出:输出地址数据输出:输出地址/数据数据 =1=1 时时V1V2第59页/共90页21DQCK/Q读引脚读引脚=1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制
46、控制=0引脚引脚P0.X34Vcc单片机的引脚(P0口)P0P0口用作地址口用作地址/数据复用口数据复用口(3 3)作地址)作地址/数据输入:数据输入:与与P0P0用作通用用作通用I/OI/O时输入时情况时输入时情况相同,相同,CPUCPU使使V1V1、V2V2均截止,从引脚上输入的外部数据经均截止,从引脚上输入的外部数据经缓冲器缓冲器U2U2进入内部数据总线。进入内部数据总线。V1V2第60页/共90页 2.5.2 P1 2.5.2 P1端口端口 字节地址字节地址90H90H,位地址,位地址90H90H97H97H。P1P1口某一位的位电路结构如口某一位的位电路结构如图图2-72-7所示。所
47、示。图图2-72-7第61页/共90页1 1位电路结构位电路结构P1P1口位电路结构由三部分组成:口位电路结构由三部分组成:(1 1)一个数据输出锁存器,用于输出数据位的锁存。)一个数据输出锁存器,用于输出数据位的锁存。(2 2)两个三态的数据输入缓冲器)两个三态的数据输入缓冲器BUF1BUF1和和BUF2BUF2,分别,分别用于锁存器数据和引脚数据的输入缓冲。用于锁存器数据和引脚数据的输入缓冲。(3 3)数据输出驱动电路,由一个场效应管()数据输出驱动电路,由一个场效应管(FETFET)和)和一个片内上拉电阻组成。一个片内上拉电阻组成。2 2工作过程分析工作过程分析P1P1口只能作为通用的口
48、只能作为通用的I/OI/O口使用。口使用。(1 1)P1P1口作为口作为输出口输出口时,若时,若CPUCPU输出输出1 1,Q=1Q=1,Q*=0Q*=0,场效应管截止,场效应管截止,P1P1口引脚的输出为口引脚的输出为1 1;若;若CPUCPU输出输出0 0,Q=0Q=0,Q*=1Q*=1,场效应管导通,场效应管导通,P1P1口引脚的输出为口引脚的输出为0 0。第62页/共90页(2 2)P1P1口作为口作为输入口输入口时,分为时,分为“读锁存器读锁存器”和和“读引脚读引脚”两种方式。两种方式。“读锁存器读锁存器”时,锁存器的输出端时,锁存器的输出端Q Q的状态的状态经输入缓冲器经输入缓冲器
49、BUF1BUF1进入内部总线;进入内部总线;“读引脚读引脚”时,先向时,先向锁存器写锁存器写1 1,使场效应管截止,使场效应管截止,P1.xP1.x引脚上的电平经输入引脚上的电平经输入缓冲器缓冲器BUF2BUF2进入内部总线。进入内部总线。3 3P1P1口的特点口的特点 P1P1口由于有内部上拉电阻,没有高阻抗输入状态,口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。作为输出口时,不需要在片外接上拉电称为准双向口。作为输出口时,不需要在片外接上拉电阻。阻。P1P1口口“读引脚读引脚”输入时,必须先向锁存器写输入时,必须先向锁存器写1 1。第63页/共90页2.5.3 2.5.3 P2P
50、2口口 字节地址为字节地址为A0HA0H,位地址位地址A0HA0HA7HA7H。P2P2口是一个口是一个双功能口,双功能口,P2P2口某一位的位电路结构如口某一位的位电路结构如图图2-82-8所示。所示。图图2-82-8第64页/共90页1 1位电路结构位电路结构P2P2口某一位的电路包括:口某一位的电路包括:(1 1)一个数据输出锁存器,用于输出数据位的锁存。)一个数据输出锁存器,用于输出数据位的锁存。(2 2)两个三态数据输入缓冲器)两个三态数据输入缓冲器BUF1BUF1和和BUF2BUF2,分别用,分别用于锁存器数据和引脚数据的输入缓冲。于锁存器数据和引脚数据的输入缓冲。(3 3)一个多