第二章 MCS-51单片机芯片的结构及原理_第1页
第二章 MCS-51单片机芯片的结构及原理_第2页
第二章 MCS-51单片机芯片的结构及原理_第3页
第二章 MCS-51单片机芯片的结构及原理_第4页
第二章 MCS-51单片机芯片的结构及原理_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章:MCS-51系列单片机的基本硬件结构,1.1 MCS-51单片机的主要性能和特点,1.2 MCS-51单片机内部方框图,1.3 MCS-51单片机的引脚定义,1.4 MCS-51单片机的存储器的配置,1.6 输入输出端口,1.5 震荡器、时钟电路和CPU的时序,1.7 MCS-51单片机的定时/计数器,1.8 MCS-51单片机的串行接口,1.9 MCS-51的中断系统,1.1 MCS-51单片机的主要性能和特点,内部程序存储器ROM ( 以89C51为例 ):4K的存储容量; 内部数据存储器RAM:256B(128B的RAM+21B的SFR) ; 寄存器区:设有4个寄存器区,每一个区

2、有R0-R7八个工作寄存器; 8位并行输入输出端口:P0、P1、P2和P3; 定时/计数器:2个16位的定时/计数器; 串型口:全双工的端口(RXD:接收端,TXD发送端); 中断系统:设有5个中断源; 系统扩展能力:可外接64K的 ROM 和64K的 RAM; 堆栈:设在RAM单元中,可以浮动既通过堆栈指针SP来确定堆栈的位置 布尔处理机:配合布尔运算的指令进行各种逻辑运算; 指令系统:111条指令。按功能可分为数据传送、算术运算、逻辑运算、控制转移和布尔操作5大类。,返回,1.2 : MCS-51单片机内部方框图,时钟电路,4KROM 程序存储器,256BRAM 数据存储器,2X16位 定

3、时/计数器,CPU 处理器,64KB总线 扩展控制器,可编程I/O 端口P0-3,可编程 串行口,袁艳娟,2.2 MCS-51单片机的存储器的配置,2.2.0 MCS-51单片机的存储器的配置特点,MCS-51单片机片内、外程序存储器的使用示意图,2.2.1 程序存储器(片内与片外),2.2.2 内部数据存储器RAM,MCS-51 片内 、片外 数据存储器示意图,MCS-51单片机片内存储器低 128B 字节功能分配图,片内 RAM(20H-2FH)中的位寻址区结构图,特殊功能寄存器 SFR,2.2.3 外部数据存储器,第一章第四节内容小结,程序存储器六个特殊的单元,2.2.0 MCS-51单

4、片机的存储器的配置特点(89C51),在MCS-51单片机的内部集成了4K的程序存储器和256B的数据存储器,同时还可以使用片外的程序存储器和数据存储器,其扩展能力都是64K。 从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:既片内ROM,RAM和片外ROM、RAM。 从逻辑上讲(既用户编程的角度讲)51单片机的存储系统又可分为三个存储空间。既片内RAM,片外RAM和片内、外的程序存储器ROM。,从物理结构上单片机系统的存储器结构图(四个部分),MCS-51 单片机,片内 ROM 4K,片内 RAM 256B,片外 RAM 64K,片外 ROM 64K,返回,返回上一次,2.2.

5、1 程序存储器(片内与片外),程序存储器是用来存放编好的程序、常数和表格的。 在MCS-51单片机中,当引脚EA=1时,系统使用片内的4KROM来存储程序。EA=0时,系统使用片外的ROM。 无论是使用片内还是使用片外的ROM(既 EA=1或EA=0),其起始地址都是从0000H单元开始。,如果EA=1(使用片内的程序存储器时): 程序从0000H开始执行。 注意:在这种情况下,如果程序计数器的指针PC值超过0FFFH(4K)时,单片机就要自动的转向片外的ROM存储器(尽管EA=1),且从片外ROM的1000H单元开始执行程序。但单片机是无法使用片外ROM的0000H-0FFFH这4K单元。,

6、返回,MCS-51单片机片内、外程序存储器的使用示意图,0FFFH 0000H,0FFFH 0000H,FFFFH 1000H,EA=1时,ROM的使用,EA=0时ROM的使用,片外程序存储器 (最大64K),单片机内部 程序存储器 (4K),返回,程序存储器六个特殊的单元,在程序存储器中,有六个单元是具有特定功能。编程者是不能随便使用的。 0000H单元:上电时,程序计数器PC所指向的单元 0003H单元:外部中断/INT0的入口地址; 000BH单元:定时器T0的溢出中断入口地址; 0013H单元:外部中断/INT1的入口地址; 001BH单元:定时器T1的溢出中断入口地址; 0023H单

7、元:串行口接收、发送的中断入口地址。,返回,2.2.2 内部数据存储器RAM,数据存储器无论在物理上还是逻辑上都分为两个地址空间,既一个内部和一个外部的数据存储空间。 访问内部数据存储单元时,使用 MOV 指令; 而访问外部数据存储器时,使用 MOVX 指令。 内部数据存储器从功能上又将256B空间分为二个不同的块: 1,低128B的RAM块; 2,高128B的SFR (Special Function Register)块。 在低128B的RAM存储单元中又可划分为:工作寄存器区、可位寻址区、通用存储数据的便笺区。 高128B的专用寄存器区中仅仅使用了21寄存器(51系列),其它单元未定义不

8、能使用。,存储结构图,MCS-51 片内 、片外 数据存储器示意图,特殊功能 寄存器 SFR,通用数据 存储器,80H 7FH,00H,FFH,片内数据存储器 片外数据存储器 256个字节 64K个字节,片外数据 存储器 64KB,0000H,FFFFH,注意: 1,访问片内RAM20H存储单元; MOV A,20H 2,访问片外RAM存储单元; MOV R0,#20h MOVX A,R0 3,尽管片内与片外的RAM单元 的00H-FFH地址相重叠但由 于指令的不同不会发生地址 混乱。,片内RAM低 128B 字节功能分配图,位寻址区,3区,2区,1区,0区,便笺区,08H 07H 00H,7

9、FH,30H 2FH,20H 1FH,18H 17H,10H 0FH,四个工作寄存器区 每个区中有R0-R7 八个工作寄存器,位寻址区 16个单元20H-2FH, 共有128 可寻址位个位。 位地址:00H-7FH 注意:位地址与字节地址的区别,通用的RAM区 地址:30H-7FH,继续,返回上一次,片内 RAM(20H-2FH)中的位寻址区结构图,2FH,20H,字节地址,位寻址区内的地址是位地址。共有00-7FH(共128个位); 要区分字节地址和位地址这两个不同的地址概念: 从物理的角度,每一个字节地址内包含了8个位,既: D7,D6,D5,D4,D3,D2,D1,D0 在一般情况,我们

10、提到的RAM地址都是字节地址。 从逻辑的角度讲,字节地址和位地址是靠不同类型的指令来区分的。如: MOV A, 20h ;将RAM的20单元内容送累加器A; MOV C ,20h ;将RAM位寻址区中20H位送CY中。 在这二个例子中,第一条指令为字节传送指令,所以20H为字节地址;第二个例子中的指令为位操作指令,所以20H为位地址。有关详细内容将在第二章中描述。,返回,0区工作寄存器区结构图,RAM地址 07H 06H 05H 04H 03H 02H 01H 00H,返回上一次,特殊功能寄存器SFR,特殊功能寄存器SFR (Special Function Register) 特殊用途寄存器

11、的集合。用来设定单片机内部各个部件的工作方式,存放相关部件的状态,定时器初值寄存器,并行端口的锁存器等等。 尽管特殊功能寄存器与RAM在同一个单元中,但不能作为普通的RAM存储单元来使用。只有在编程中根据需要,进行一些特定功能的设定,或者是从中查寻相关部件的状态时,才能进行读、写操作。如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等。,特殊功能寄存器 SFR(表一),SFR(表二),SFR 高128B,低128B,0FFH,80H 7FH,00H,特殊功能寄存器 SFR在片内RAM 中的位置,注:表中黄色的单元为可按位寻址的字节,特殊功能寄存器SFR说明,程序计数器PC

12、: 用来存放下一条要执行的指令地址,长度为16位,所以寻址范围为0-65535(64K).在物理上是独立于SFR. 累加器A: 最常用的专用寄存器, 大多数的指令操作数都来自累加器A.所有的算术运算指令的运算结果都存放在A中. B寄存器:乘除法指令使用的寄存器. 数据指针DPTR: 一个16位的寄存器.由高八位DPH和低八位DPL构成.DPTR主要用来存放片内ROM的地址和片外RAM,ROM的地址.这样单片机可以通过间址的方式来访问片内ROM或片外的RAM,ROM。 例如:片外RAM的2000H单元中有一个数x,试将其送到累加器A中. MOV DPTR,#2000h ; DPTR 2000H

13、MOVX A,DPTR ; A x,程序状态字PSW: 8位寄存器. 表征程序执行的状态信息。 CY (PSW.7)进位标志: 在加减法运算中,累加器A的最高位A7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1.因此CY往往作为无符号数运算是否有溢出的标志。 AC(PSW.6):辅助进位位: 用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位).往往用来判断压缩的BCD码的运算处理. F0(PSW.5) 用户标志位: 完全由用户来定义和使用。 RS1,RS0工作寄存器区选择位:确定工作寄存器R0-R7在哪个区中. 单片机在上电或复位后RS1

14、、RS0=00。需要人为的修改RS1,RS0的值来改变工作寄存器区的位置。,RAM分配图,OV(PSW.2) 溢出标志位: 判断符号数加减法运算时是否有溢出. OV的结果可以用一个算法来表示: OV=CP异或CS 其中:CP为A7的进位,CS为A6的进位OV=1表明有溢出。 P(PSW.0)奇偶标志位: 用来标志累加器A中运算后1的个数。 当P=1时,表明A中1的个数为奇数个,反之为偶数个。 【举例】:有两个数0FH和F8H,试将两数相加 MOV A,#0FH ;将立即数0f h 送累加器A ADD A,#0F8H ;A的内容与立即数0f8h相加,结果送A 0000 1111 运算结果:A=0

15、7H,CY=1(既CP=1), + 1111 1000 CS=1,OV=0(因为CP=1,CS=1) Cy1 0000 0111 AC=1,P=1 如何根据PSW来分析运算结果是否正确?是否有溢出? 1,若数据为无符号数。既15+248=263=107H 既CY=1,A=07H。 2,若数据为有符号数。既+15加-8=+7=07H,OV=0表明无溢出。,SP 堆栈指针:8位寄存器,用来指示堆栈的位置,可由软件修改。在MCS-51单片机的设计中,片内RAM区为堆栈的可用空间。上电或复位时,SP被初始化为07H,既堆栈底部被确定在RAM的07H单元。 堆栈操作过程: 进栈: PUSH ACC指令

16、(设 SP=07H), 1,SP+1送SP,此时SP=08H; 2,ACC送RAM的08H单元; 出栈: POP ACC (设SP=08H); 1,将RAM 中08H单元内容送A; 2,SP-1送SP ,此时SP=07H。,07H,SP,08H 07H,RAM,x,累加器A,堆栈操作示意图,并行端口P0-P3:SFR中的P0-P3实际上就是I/O端口的数据锁存器。与RAM中的任意一个单元一样,P0-P3都有自己的RAM地址:80H、90H、A0H、B0H。所以,在51单片机中的输入、输出操作实际上就是个普通的RAM单元操作一样:如 输出指令 MOV 80H,A ;将累加器中的数据送到P0口输出

17、 输入指令 MOV A,90H ;将P1口的数据输入到累加器A中 既MCS-51的指令系统中没有专用的输入、输出(IN、OUT)指令,而是把P0-P3作为普通的内存单元来使用。上面的第一个例子实际上就是MCS-51的输出指令;同理后者是MCS-51的输入指令。,串行数据缓冲器SBUF:它是专门用来存放发送或接收的数据,实际上它是两个独立的寄存器。尽管在SFR中的RAM地址只是99H,但根据指令“发送”或“接收”两种不同的操作,硬件会自动的区分,将数据送入对应的缓冲单元。 定时/计数器T0、T1:无论是定时还是计数,对于MCS-51单片机的定时/计数器来说,都是一个“计数器”在计数。这个“计数器

18、”是由两个8位寄存器(高位和低位)构成的16位计数器,分别是TH0、TL0(T0);TH1、TL1(T1)。TH和TL中的数据直接与“定时操作”或“计数操作”有关,因此在使用定时/计数器之前,要对它进行初始化,其中就要对TH、TL赋初值。如: MOV 8CH,#01H MOV 8AH,#20H 大家试分析上面两条指令的作用。 有关SFR中其它寄存器的说明将相关的章节中作介绍。,TH0,TL0,返回,2.2.3 外部数据存储器,在片内RAM不能满足需要时,就要外接RAM。P0、P2作为外部RAM的地址和数据总线。 MCS-51对外部数据存储器的扩展能力为64KB。除了硬件电路外,系统主要是靠专门

19、的指令来访问外部数据存储器。 如: MOV R0,#20H ;将外部RAM单元地址20H送R0寄存器 MOVX A,R0 ;从外部RAM20H单元取数据到累加器A 这里使用了R0做间址寄存器,所以寻址范围为256B。 同理: MOV DPTR,#2000H ;将外部 RAM 单元的地址的2000送DPTR MOVX A ,DPTR ;从外部 RAM 2000H单元中取数据到 A 这里使用了16位的寄存器DPTR,所以寻址范围为64KB。,返回,第二章第四节内容小结,2.4 MCS-51单片机的存储器的配置 片内4K的程序存储器ROM和256B的数据存储器RAM;片外可以扩展64K的ROM和RA

20、M.从用户编程的角度可以将它们分为3个存储空间: 1,片内RAM; 2,片外RAM; 3,片内+片外的ROM. 2.4.1 程序存储器(片内与片外) 当引脚EA=1时,单片机上电复位后从片内ROM的0000H单元运行程序; 若引脚EA=0时,单片机上电复位后从片外ROM的0000H单元运行程序. 当引脚EA=1,且PC值大于1FFFH时,单片机就自动转到片外ROM的2000H单元继续运行程序. 无论是使用片内还是片外的ROM,有六个单元是有特定意义的: 1,0000H单元:上电,复位后的启动地址; 2,0003H单元:外部中断INT0的入口地址; 3,000BH单元:定时器T0的中断入口地址;

21、 4,0013H单元:外部中断INT1的入口地址; 5,001BH单元:定时器T1的中断入口地址; 6,0023H单元:串行口中断的入口地址.,2.4.2 内部数据存储器RAM 内部RAM的256B分为低128B和高128B. 其中低128B中有 1,工作寄存器区;2,位寻址区;3,便笺区. 高128B中仅仅使用了小部分做特殊功能寄存器SFR用. 注意: 1,SFR不同于一般的数据RAM,它不是用于存储数据,而是用来存储和表 征单片机内部几个逻辑部件的特征,状态等重要信息. 2,在使用RAM时,要注意字节地址和位地址的概念. 3,访问内部RAM的指令为 MOV 指令. 2.4.3 外部数据存储

22、器 在硬件具备的条件下,MCS-51单片机可以使用64KB的外部数据存储器.如果要访问外部数据存储器RAM时,只能使用间址的寻址方式. 间址寄存器有R0,R1或DPTR.前者寻址范围为256B(00H-FFH);后者为64KB(0000H-FFFFH).使用的指令是 MOVX.,返回第1章主菜单,a MCS-51单片机外型图(DIP封装) MCS-51单片机的逻辑符号图,VCC RST XTAL1 P0口 XTAL2 /EA /PSEN ALE P1口 P3口 RXD TXD /INT0 /INT1 P2口 T0 T1 /WR /RD GND,87C51 EPROM型,AT89C51 ATME

23、L FLASH型,返回,返回上一次,2.3 MCS-51单片机I/O口电路,B 51单片机的方形封装(PLCC),概述 MCS-51单片机的引脚定义,MCS-51单片机有两种封装形式: a.40脚的双列直插DIP封装; b.44脚的PLCC。 1,主电源引脚 :Vcc(+5V- 40脚)和Vss(GND 20脚); 2,外接晶体引脚:XTAL1(19脚)、XTAL2(18脚),只要在这两脚之间接入一个晶体振荡器,单片机就可以以此晶体的频率开始工作。常用的晶体频率有0-24M,频率越高,单片机的工作速度就越快,但单片机的功耗就要增加。 3,控制或与电源复用引脚:RST/Vpd、ALE/PROG、

24、/PSEN和Vdd RST/Vpd(9脚):在系统上电,振荡器开始工作时, 在内部加在此引脚上有一个两个时钟周期的高电平使单片机复位。但为了使系统复位可靠,建议外加 一个上电复位电路,延长复位的时间。当单片机掉电时,此引脚可以接入备用电源向单片机内部的RAM供电,以防止RAM中的数据丢失。,引脚图,ALE/PROG(30脚):以一个不变的频率(系统时钟 fosc/6 )周期性输出正脉。 当单片机使用外部存储器时,此信号可作为低八位地址的锁存信号。 对于EPROM型的单片机,此脚还是用于写程序时,输入编程脉冲。 /PSEN(29脚):外部程序存储器的选通信号。当单片机使用外部程序存储器时,此脚在

25、一个机器周期内产生两次负脉冲。注意,访问外部数据存储器时,此信号无效。 /EA / Vdd (31脚):外部程序存储器的选择端控制端:当此脚加入“1”电平是,单片机使用内部的程序存储器;当/EA加入低电平时,系统只使用外部的程序存储器。 但要特别注意:如果/EA=1既使用单片机内部的程序存储器时,如果程序计数器PC的值超过0FFFH时,单片机将自动转向外部程序存储器1000H开始的单元。 对于EPROM型的单片机,此脚还是用于写程序时,加入21伏的编程电压。,时序图,引脚图,4,并行输入输出端口引脚(P0-P3) P0.0 - P0.7 P0端口线(39-32脚):输出能力最强的端口,可以带动

26、8个TTL负载。驱动一个MOS负载时,应接一个10K左右的上拉电阻。如果系统使用外接存储器时,该口还作为地址(低八位)总线和数据总线,注意在这种情况下,P0口就不能做通用的I/O端口。 P1.0 - P1.7 P1端口线(1 8脚):负载能力为4个TTL负载。 P2.0 P2.7 P2端口线(21 28脚):通用I/O端口。 除了做通用I/O端口外,当系统使用外接存储器时,该口还作为地址(高八位)总线,在这种情况下,P0口就不能作通用的I/O端口。负载能力为4个TTL。,引脚图,P3.0 P3.7 P3端口线 (10 17脚): P3口除了做通用的I/O端口外,同时它还有第二功能),负载能力为

27、4个TTL。,P3口第二功能表,引脚图,2.3.1 输入输出端口,在MCS-51单片机的四个端口都是具有输出锁存功能的双向端口,这些锁存器的位置都在SFR中,其地址分别为:80H、90H、A0H 、B0H.出于系统的考虑,在硬件设计上对每一个端口都有不同的要求,所以每一个端口又具有不同的特点.,2.3.1 P0口,P0口的位结构图,P0口的工作原理,2.3.2 P1口,2.3.3 P2口,2.3.4 P3口,2.3.5并行端口在使用时应 注意的几个问题,单片机与继电器等大电流负载的接口,P0口:,特点:“通用数据I/O端口”和“地址、数据复用总线”端口. 1,在作为通用数据I/O端口时,具有较

28、强的驱动能力(8个TTL负载),与MOS负载连接时,需要外接一个上拉电阻。 2,作为“地址、数据复用总线”使用时,P0口首先输出外部存储器的低八位地址,然后再变为数据总线进行数据的输入或输出.此时,P0口不能再作为通用I/O口。,返回,P0口的位结构图,D Q 锁存器 CL /Q,P0.x 引脚,Vcc,地址/数据 I/0,控制(=0时),读锁存器,读引脚,内部总线,写锁存器,MUX (控制=0时),硬件组成: 1,一个输出锁存器(D型触发器); 2,二个三态门(控制读引脚或读锁存器); 3,与门和MUX等元件组成的输出控制电路; 4,一对场效应晶体管FET构成的输出电路.,Vcc,返回,返回

29、前一次,1,P0口的I/O操作;,2,P0口的总线方式,1,P0口的I/O操作(通用I/O端口),在P0口作为通用I/O端口时,控制电路中的“控制”为“0”电平,多路开关MUX接入下方的锁存器的/Q端。 由于与门的一个输入端为“0”,所以它使上端的FET截止.这就是P0口在做I/O口时输出为“漏极开路”的结构原因. 输出操作:在执行以口为目标的指令时,数据送到锁存器的“D”端,经“/Q”端送场效管应输出极.如:送“1”时,/Q=“0”,使下端的FET截止.这样出现输出极的两个FET全部截止.在这种情况下必须在端口线上外加上拉电阻.这样在上拉电阻的作用下,使端口为高电平.同理,若总线向口送“0”

30、时,锁存器的/Q=1,使下端的FET导通(上面的FET仍然截止),这样端口呈现“0”电平.,返回结构图,输入操作(读引脚,读锁存,输入前写一) a,读引脚:读外部送到端口引脚的电平,即通常所说的输入操作(如:MOV A,P0).此时,单片机控制“读引脚”的三态门,使引脚处的外部电平经三态门送入内部总线. b,读锁存器:将进行读锁存器并进行处理,最后再写回锁存器的操作称之为: “读修改写”操作。在这种情况下, 读入的数据不是来自引脚,而是端口内部的锁存器的内容。 当前面完成一次端口的输出后,要再将前面输入的状态取回来,进行再处理,然后重新输出,在MCS-51的指令系统中这种“读修改写”的操作有:

31、 ORL 、XRL 、JBC 、CPL 、INC 、DEC 、DJNZ 、MOV Px,y 、 CLR Px,y和SET Px,y。 如: ORL P0,A ;P0 A P0,返回结构图,P0. X,c,输入时应先写“1”:在端口电路中,可以发现一个问题:端口在输入(读引脚)时,原来锁存器的状态可能要影响引脚电平的输入.例如:原来锁存器的状态为“0”态,既输出极的下端FET是饱和状态,这样如果外电路向引脚输入高电平时,电路将不能正确读入.要解决的方法就是让下端的FET截止,既事先向端口写一个“1”. 请注意下面的一段程序: MOV A,#0FFH;0FFH送累加器A MOV P0,A ;向P0

32、口“写1” MOV A,P0 ;从P0口输入数据到A 你能正确的分析出指令的操作吗?,返回结构图,2,P0口的总线方式(系统使用外存储器时),控制电路的“控制”=1,此时与门打开,MUX接向“地址/数据”信号.在这种情况下,输出极的两个FET都处于正常的工作状态 。 访问外部存储器的指令movx、movc ,就是使用P0口来输出外部存储器的低八位地址和输入、输出存储器的数据。可以从:访问外部程序存储器ROM的时序; 读外部数据存储器RAM的指令时序中来清楚的观察P0口作为“地址/数据复用”总线的工作特点。 在进行单片机的硬件系统的设计中,如果使用了外部存储器(或使用movx指令来访问外部接口电

33、路)时,P0口成为整个系统的地址/数据复用总线。换句话,P0口不能再作为通用的I/O端口的形式直接与外部连接。,返回结构图,1, 做通用数据I/O端口时,输出级上端的FET处于截止状态,所以与MOS器件连接时,必须接“上拉电阻”,否则不能正确的输出高电平; 2,在输入操作前,为了保证输入正确,必须先向端口“写1”; 3,“读引脚”与“读锁存器”是不同的两个数据通道。凡是“读修改写” 的操作,CPU读的都是端口锁存器中的数据。 4,为了提高电路的可靠性,端口引脚不要直接与三极管一类的器件直接连接,应加隔离电路或与三极管之间加一个电阻. 5,在总线方式时,P0口不能再做通用的I/O端口。它分时输出

34、地址、数据总线的信息(此时引脚不用外接上拉电阻)。,返回,返回结构图,P0口特点小结:,特点:单纯的通用I/O端口,负载能力为4个TTL输入。与P0口的区别在于内部具有上拉电阻,所以输出时不用外接上拉电阻。,P1口的位结构图,D Q 锁存器 CL /Q,P1.x 引脚,Vcc,读锁存器,读引脚,内部总线,写锁存器,内部上拉电阻,返回,返回前一次,P2口 特点: “通用数据I/O端口”和“高八位地址总线”端口,D Q 锁存器 CL /Q,P2.x 引脚,Vcc,地址/数据 I/0,控制,读锁存器,读引脚,内部总线,写锁存器,MUX (地址/数据=0),内部上拉电阻,返回上一次,与P0口一样,P2

35、口在系统使用外部存储器时,做高八位的地址总线。 应当注意的是:仅使用外部数据存储器时,P2口分两种情况: 1,仅仅使用256B的外部RAM时,既使用movx a,r0指令访问外部RAM,此时用8位的寄存器R0或R1作间址寄存器,这时P2口无用,所以在这种情况下,P2口仍然可以做通用I/O端口。 2,如果访问外部ROM或使用大于256BRAM时,P2口必须作为外存储器的高八位地址总线。 如:movx a,dptr ;访问外部数据存储器 movc a,a+dptr ;访问外部程序存储器 这里使用了16位的寄存器DPTR,上一页,返回,P3口 特点:通用I/O端口、多用途端口,在多用途情况下,P3口

36、分别作为串行口、外中断输入、外部计数输入和系统扩展时使用的WR和RD信号的端口。在这种情况下,锁存器Q端为“1”电平以保证与门是打开的。 在通用I/O模式下,“替代输出功能”端为“1”电平,以保证与门打开。,D Q 锁存器 CL /Q,P3.x 引脚,替代输出功能,读锁存器,读引脚,内部总线,写锁存器,MUX (地址/数据=0),Vcc,返回,并行端口在使用时应注意的几个问题,“拉电流”还是“灌电流”-与大电流负载的连接 (我们以美国ATMEL公司生产的AT8951为例) 1, 使用灌电流的方式与电流较大的负载直接连接时, 端口可以吸收约20mA的电流而保证端口电平不高于0.45V(见右上图)

37、。 2,采用拉电流方式连接负载时,AT89C51所能提供“拉电流”仅仅为80A,否则输出的高电平会急剧下降.如果我们采用右下图的方式,向端口输出一个高电平去点亮LED,会发现,端口输出的电平不是“1”而是“0”! 当然,不是所有的单片机都是这样,PIC单片机就可以提供30mA的拉电流和灌电流。但对于大多数IC电路,最好还是使用“灌电流”去推动负载。,Px.y,Vdd,Px.y,Vdd,Vdd,灌电流方式 输出”0”点 亮LED,拉电流方式 输出高电平 点亮LED,返回,2.5 MCS-51 单片机的工作方式 2.5.1 复位方式与复位电路: 在复位状态下:所有SFR的内容全变为“0”, 端口输出“1”。RAM内容不变。,MCS-51 RST,Vcc,MCS-51 RST,Vcc,1K,10,t,V,T,延长上电复位时间的电路 和RST端上电电压曲线,具有手动复位功能 的复位电路,R,C,复位后CPU状态,PC:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论