单片机原理及接口技术(C51编程)02课件.pptx

上传人(卖家):晟晟文业 文档编号:4846147 上传时间:2023-01-17 格式:PPTX 页数:131 大小:6.61MB
下载 相关 举报
单片机原理及接口技术(C51编程)02课件.pptx_第1页
第1页 / 共131页
单片机原理及接口技术(C51编程)02课件.pptx_第2页
第2页 / 共131页
单片机原理及接口技术(C51编程)02课件.pptx_第3页
第3页 / 共131页
单片机原理及接口技术(C51编程)02课件.pptx_第4页
第4页 / 共131页
单片机原理及接口技术(C51编程)02课件.pptx_第5页
第5页 / 共131页
点击查看更多>>
资源描述

1、第2章AT89S51单片机硬件结构单片机原理及接口技术(C51编程)(第2版)目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.1 AT89S51单片机的硬件组成片内结构如图2-1所示。把作为控制应用所必需的基本功能部件都集成在一个集成电路芯片上。图2-1 AT89S51单片机片内结构2

2、.1 AT89S51单片机的硬件组成有如下功能部件和特性:8位微处理器(CPU);01OPTION02OPTION03OPTION04OPTION数据存储器(128B RAM);程序存储器(4KB Flash ROM);4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);1个全双工的异步串行口;2个可编程的16位定时器/计数器;05OPTION06OPTION2.1 AT89S51单片机的硬件组成有如下功能部件和特性:1个看门狗定时器;中断系统有5个中断源,对应5个中断向量;特殊功能寄存器(SFR)26个;低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;3个程序加密锁

3、定位;07OPTION08OPTION09OPTION10OPTION11OPTION2.1 AT89S51单片机的硬件组成与AT89C51比,AT89S51更突出的优点:(1)增加在线可编程功能ISP(In System Program),字节和页编程,现场程序调试和修改更加方便灵活;(2)数据指针增加到两个,方便对片外RAM的访问;(3)增加了看门狗定时器,提高了系统的抗干扰能力;(4)增加断电标志;(5)增加掉电状态下的中断恢复模式;2.1 AT89S51单片机的硬件组成片内各功能部件通过片内单一总线连接而成(图2-1),基本结构依旧是CPU 加上外围芯片的传统微机结构。CPU对各种功能

4、部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。介绍图2-1中片内各功能部件。图2-1 AT89S51单片机片内结构2.1 AT89S51单片机的硬件组成(1)CPU(微处理器)8位,与通用CPU基本相同,包括了运算器和控制器两大部分,还有面向控制的位处理功能。(2)数据存储器(RAM)片内为128B(52子系列为256B),片外最多可扩64KB。图2-1 AT89S51单片机片内结构(3)程序存储器(Flash ROM)片内集成有4KB的Flash存储器(AT89S52 则为8KB;AT89C55片内20KB),如片内容量不够,片外

5、可外扩至64KB。2.1 AT89S51单片机的硬件组成(4)中断系统具有5个中断源,2级中断优先权。(5)定时器/计数器2个16位定时器/计数器(52子系列有3个),4种工作方式。图2-1 AT89S51单片机片内结构(6)串行口1个全双工的异步串口,4种工作方式。可进行串行通信,扩展并行I/O口,还可与多个单片机构成多机通信系统。2.1 AT89S51单片机的硬件组成(7)4个8位的并行口:P0口、P1口、P2口和P3口。(8)特殊功能寄存器(SFR)26个,对片内各功能部件管理、控制和监视。是各功能件的控制寄存器和状态寄存器,映射片内RAM区80HFFH内。图2-1 AT89S51单片机

6、片内结构(9)1个看门狗定时器WDT当由于干扰程序陷入死循环或跑飞时,可使程序恢复正常运行。目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.2 AT89S51的引脚功能 先了解引脚,牢记各引脚功能。AT89S51与各种8051芯片的引脚兼容。目前多采用40只引脚双列直插,如图2-2。此

7、外,还有44引脚的PLCC和TQFP封装方式的芯片。引脚按其功能可分为如下3类:(1)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2)控制引脚 PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引脚P0、P1、P2、P3,为4个8位I/O口2.2.1 电源及时钟引脚1电源引脚图2-2 AT89S51双列直插封装方式的引脚(1)VCC(40脚):+5V电源。(2)VSS(20脚):数字地。2.2.1 电源及时钟引脚2时钟引脚(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时

8、,该脚接来自外部时钟振荡器的信号。(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。2.2.2 控制引脚(1)RST(RESET,9脚)复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚电平应 0.5V。当看门狗溢出时,该脚将输出96个时钟振荡周期的高电平。2.2.2 控制引脚 (2)EA*/VPP(Enable Address/Voltage Pulse of Programing,31脚)EA*:第一功能:外部程序存储器访问允许控制端。EA*=1,在PC值0FFFH(

9、不超出片内4KB Flash存储器地址范围)时,单片机读片内Flash存储器(4KB)中的程序,但PC值0FFFH(超出片内4KB Flash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。2.2.2 控制引脚 (2)EA*/VPP(Enable Address/Voltage Pulse of Programing,31脚)EA*=0,只读取片外程序存储器中内容,读取地址范围为0000HFFFFH,片内的4KB Flash 程序存储器不起作用。VPP:引脚第二功能,对片内Flash编程,接编程电压。2.2.2 控制引脚 (3)ALE/PROG*(Ad

10、dress Latch Enable/PROGramming,30脚)ALE:为CPU访问外部程序存储器或外部数据存储器提供地址锁存控制信号,将低8位地址锁存在片外的地址锁存器中,见图2-3。图2-3 ALE作为低8位地址的锁存控制信号 2.2.2 控制引脚 (3)ALE/PROG*(Address Latch Enable/PROGramming,30脚)此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为fosc的1/6。该信号可作外部定时或触发信号使用。注意:每当AT89S51访问外部RAM或I/O时,要丢失一个ALE脉冲,所以ALE引脚的输出信号频率并不是准确的1/6 fos

11、c。如不需要ALE端输出脉冲信号,可将特殊功能寄存器AUXR(地址8EH,本章后面介绍)的第0位(ALE禁止位)置1,来禁止ALE操作,但在执行访问外部程序存储器或外部数据存储器操作时,ALE仍然有效,即ALE禁止位不影响对单片机对外部存储器的访问。2.2.2 控制引脚 (3)ALE/PROG*(Address Latch Enable/PROGramming,30脚)PROG*:引脚第二功能,对片内Flash编程,加编程脉冲输入。(4)PSEN*(Program Strobe ENable,29脚)片外程序存储器读选通信号,低有效。2.2.3 并行I/O口引脚(1)P0口:P0.7 P0.0

12、脚,8位,漏极开路的双向I/O口当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。P0口也可作通用的I/O口用,需加上拉电阻,这时为准双向口。如作输入,应先向端口写1。可驱动8个LS型TTL负载。(2)P1口:P1.7 P1.0脚,8位,准双向I/O口,内有上拉电阻。准双向I/O口,作通用I/O输入时,应先向端口锁存器写1,P1口可驱动4个LS型TTL负载。2.2.3 并行I/O口引脚P1.5/MOSI、P1.6/MISO和P1.7/SCK也可用于对片内Flash存储器串行编程和校验,分别是串行数据输入、输出和移位脉冲引脚。(3)P2口:P2.7 P2.0脚,8

13、位,准双向I/O口,具有内部上拉电阻。当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线输出高8位地址。P2口也可作普通I/O使用。当作通用I/O输入时,应先向端口输出锁存器写1。可驱动4个LS型TTL负载。(4)P3口:P3.7 P3.0脚,8位,准双向I/O口,具有内部上拉电阻。2.2.3 并行I/O口引脚可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。P3口还可提供第二功能。第二功能定义如表2-1,应熟记。综上所述,P0口作为总线口时,为双向口,作通用I/O用时,为准双向口,需加上拉电阻。P1、P2、P3口均为准双向

14、口。2.2.3 并行I/O口引脚2.2.3 并行I/O口引脚注意:准双向口与双向口的差别。准双向口仅有两个状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮”态。故为双向三态I/O口。为什么P0口要有高阻“悬浮”态?因为P0口作为数据总线用时,多个数据源都挂在数据总线上,当P0口不需要读写其他数据源时,需要与数据总线高阻“悬浮”隔离。准双向I/O口则无高阻“悬浮”态。另外,准双向口作通用I/O输入使用时,需先向该口先写入“1”。准双向口与双向口的差别,学习2.5节的P0P3口内部结构后,会有更深入了解。至此,40只引脚已介绍,应熟记每一引脚功能,对应用系统硬件电路设计十分重要。目 录

15、CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.3.1 运算器可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除)。ALU还有位操作功能,对位变量进行位处理,如置“1”、清“0”、求补、测试转移及逻辑“与”、“或”等。1算术逻辑运算单元ALU2.3.1 运算

16、器累加器A是CPU中使用频繁的一个8位寄存器,在使用汇编语言编程时,有些场合必须写为Acc。作用如下:(1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。(2)数据传送大多都通过累加器A,相当于数据的中转站。为解决“瓶颈堵塞”问题,AT89S51增加了一部分可不经过累加器的传送指令。A的进位标志Cy是特殊的,因为它同时又是位处理机的位累加器。2累加器A2.3.1 运算器PSW(Program Status Word)位于片内特殊功能寄存器区,字节地址D0H。包含了程序运行状态的信息,其中4位保存当前指令执行后的状态,供程序查询和判断。格式如图2-4。3程序状态字寄存器PSWPSW(图

17、2-4 PSW的格式)2.3.1 运算器PSW中各位功能:(1)Cy(PSW.7)进位标志位可写为C。在算术和逻辑运算时,若有进位/借位,Cy1;否则,Cy0。在位处理器中,它是位累加器。(2)Ac(PSW.6)辅助进位标志位在BCD码运算时,用作十进位调整。即当D3位向D4位产生进位或借位时,Ac1;否则,Ac0。(3)F0(PSW.5)用户设定标志位由用户使用的一个状态标志位,可用指令来使它置“1”或清“0,控制程序的流向。用户应充分利用。3程序状态字寄存器PSW2.3.1 运算器(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择。选择片内RAM区中的4组工作寄存器区中的某

18、一组为当前工作寄存区。如表2-2。3程序状态字寄存器PSWRS1 RS0所选的4组寄存器0 00区(内部RAM地址00H07H)0 11区(内部RAM地址08H0FH)1 02区(内部RAM地址10H17H)1 13区(内部RAM地址18H1FH)2.3.1 运算器(5)OV(PSW.2)溢出标志位 当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。(6)PSW.1位:保留位。(7)P(PSW.0)奇偶标志位 指令执行后,累加器A中“1”的个数是奇数还是偶数。P=1,A中“1”的个数为奇数。P=0,A中“1”的个数为偶数。此标志位对串行通信有重要意义,

19、常用奇偶检验来检验数据串行传输的可靠性。3程序状态字寄存器PSW2.3.2 控制器任务:识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。控制器包括:程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。程序计数器PC是一个独立的16位计数器,指令不可直接访问。单片机复位时,PC内容为0000H,从程序存储器0000H单元取指令,开始执行程序。PC工作过程:CPU读指令时,PC的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时PC自动加1。2.3.2 控制器 PC内容变化轨

20、迹决定程序流程。当顺序执行程序时自动加1;执行转移程序或子程序、中断子程序调用时,自动将其内容更改成所要转移的目的地址。PC计数宽度决定了程序存储器的地址范围,16位,故可对64KB(=216B)寻址。目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.4 AT89S51存储器的结构.程序

21、存储器空间片内、片外两部分。片内程序存储器为4KB的Flash存储器,编程和擦除全是电气实现,且速度快。可通用编程器编程,也可在线编程。当片内4KB的Flash存储器不够用时,可在片外扩展程序存储器,最多可扩展至64KB程序存储器。2.4 AT89S51存储器的结构.数据存储器空间片内、片外两部分。片内有128 B RAM(52子系列为256B)。片内RAM不够用时,在片外可扩展至64KB RAM。.特殊功能寄存器SFR(Special Function Register)片内共有26个特殊功能寄存器SFR(Special Function Register)。SFR实质是各外围部件的控制寄存

22、器及状态寄存器,综合反映单片机内部实际的工作状态及工作方式。2.4 AT89S51存储器的结构.位地址空间共211个可寻址位,构成了位地址空间。它们位于内部 RAM(共128位)和特殊功能寄存器区(共83位)中。2.4.1 程序存储器空间 存放程序和表格之类的固定常数。片内为4KB Flash,地址为0000H0FFFH。16位地址线,可外扩的程序存储器空间最大为64KB,地址为0000HFFFFH。使用应注意以下问题:(1)分片内和片外两部分,访问片内的还是片外的程序存储器,由EA*脚电平确定。EA*=1,CPU从片内0000H开始取指令,当PC值0FFFH时,只访问片内Flash 存储器,

23、当PC值0FFFH自动转向读片外程序存储器空间1000HFFFFH 内的程序。EA*=0,只执行片外程序存储器(0000HFFFFH)中的程序。不理会片内4KB Flash 存储器。2.4.1 程序存储器空间(2)程序存储器某些固定单元用于各中断源中断服务程序入口。64KB程序存储器空间5个特殊单元分别对应于5个中断源的中断入口地址,见表2-3。2.4.1 程序存储器空间通常这5个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服务子程序。这是因为两个中断入口间隔仅有8个单元,如果存放中断服务子程序,往往不够用。AT89S51复位后,程序存储器地址指针PC为0000H

24、,程序从程序存储器地址0000H开始执行程序。由于外部中断0的中断服务程序入口地址为0003H,为使主程序不与外部中断0的中断服务程序发生冲突,用汇编语言编程时,一般在0000H单元存放一条跳转指令,转向主程序的入口地址。上述问题,在使用C51语言编程时,用户只需正确书写中断函数即可,其他由C51编译时自动处理,不会发生冲突。2.4.2 数据存储器空间 片内数据存储器(RAM)共128个单元,字节地址00H7FH。图2-5为片内数据存储器的结构。00H1FH的32个单元是4组通用工作寄存器区,每区包含8B,为R7R0。可通过指令改变RS1、RS0两位来选择。20H2FH的16个单元的128位可

25、位寻址,也可字节寻址。30H7FH单元只能字节寻址,用作存数据以及作为堆栈区。.片内数据存储器2.4.2 数据存储器空间当片内128 B的RAM不够用时,需外扩,最多可外扩64KB的RAM。注意,片内RAM与片外RAM两个空间是相互独立的,片内RAM与片外RAM的低128B的地址是相同的,但由于使用不同的访问指令,所以不会发生冲突。.片外数据存储器2.4.3 特殊功能寄存器(SFR)特殊功能寄存器映射在片内RAM 80HFFH 区域中,共26个。表2-4是名称及分布。有些还可位寻址,位地址见表2-4。与AT89C51相比,新增5个SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST,

26、已在表2-4中标出。凡是可位寻址的SFR,字节地址末位只能是0H或8H。另外,若读/写未定义单元,将得到一个不确定的随机数。累加器A和程序状态字寄存器PSW前面已介绍。下面简单介绍某些SFR,余下的SFR与片内外围部件密切相关,将在后续介绍片内外围部件时进行说明。2.4.3 特殊功能寄存器(SFR)表2-42.4.3 特殊功能寄存器(SFR)表2-42.4.3 特殊功能寄存器(SFR)指示堆栈顶部在内部RAM块中的位置。堆栈结构-向上生长型。单片机复位后,SP为07H,使得堆栈实际上从08H单元开始,由于08H1FH单元分别属于13组的工作寄存器区,最好在复位后把SP值改为60H或更大值,避免

27、堆栈与工作寄存器冲突。1堆栈指针SP2.4.3 特殊功能寄存器(SFR)堆栈主要是为子程序调用和中断操作而设。用于保护断点和现场。(1)保护断点。无论子程序调用还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。(2)现场保护。执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容送入堆栈,保存起来,即“现场保护”。1堆栈指针SP两种操作:数据压入(PUSH)堆栈,数据弹出(POP)堆栈。数据压入堆栈,SP自动加1;数据弹出堆栈,SP自动减1。2.4.3 特殊功能寄存器(SFR)为执行乘法和除法而设。在不

28、执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。乘法:两乘数分别在A、B中,执行乘法指令后,乘积在BA中除法:被除数取自A,除数取自B,商存放在A中,余数存B中。2寄存器B2.4.3 特殊功能寄存器(SFR)AUXR是辅助寄存器,其格式如图2-6:3AUXR寄存器图2-6 AUXR寄存器的格式其中:DISALE:ALE的禁止/允许位。0:ALE有效,发出脉冲;1:ALE仅在执行MOVC和MOVX类指令时有效,不访问外部存储器时,ALE不输出脉冲信号;2.4.3 特殊功能寄存器(SFR)3AUXR寄存器图2-6 AUXR寄存器的格式DISRTO:禁止/允许WDT溢出时的复位输出。0:W

29、DT溢出时,在RST引脚输出一个高电平复位脉冲;1:禁止WDT,RST引脚仅为输入脚。WDIDLE:WDT在空闲模式下的禁止/允许位。0:WDT在空闲模式下继续计数;1:WDT在空闲模式下暂停计数。2.4.3 特殊功能寄存器(SFR)4.数据指针DPTR0和DPTR1双数据指针寄存器,便于访问数据存储器。DPTR0:AT89C51单片机原有的数据指针,DPTR1:新增加的数据指针。AUXR1的DPS位用于选择两个数据指针。DPS=0时,选用DPTR0;DPS=1时,选用DPTR1。AT89S51复位时,默认选用DPTR0。数据指针可作为一个16位寄存器来用,也可作为两个独立的8位寄存器DP0H

30、(或DP1H)和DP0L(或DP1L)来用。2.4.3 特殊功能寄存器(SFR)5.AUXR1寄存器AUXR1是辅助寄存器,格式如图2-7:DPS:数据指针寄存器选择位。0:选择数据指针寄存器DPTR0;1:选择数据指针寄存器DPTR1。图2-7 AUXR1寄存器的格式2.4.3 特殊功能寄存器(SFR)6.看门狗定时器WDT 包含1个14位计数器和看门狗定时器复位寄存器(WDTRST)。当CPU由于干扰,程序陷入死循环或跑飞状态时,WDT提供了一种使程序恢复正常运行的有效手段。有关WDT的应用以及低功耗模式下运行的状态,将在本章2.8节介绍。上面介绍的特殊功能寄存器,除SP和B以外,其余的均

31、为AT89S51在AT89C51基础上新增加的SFR。2.4.4 位地址空间211个寻址位,位地址为00HFFH,其中 00H7FH 128位处于片内RAM 字节地址 20H2FH 单元中,如表2-5所示。其余83个可寻址位分布在特殊功能寄存器SFR中,见表2-6。可被位寻址的特殊寄存器有11个,共有位地址88个,5个位未用,其余83个位的位地址离散地分布于片内数据存储器区字节地址为80HFFH的范围内,其最低的位地址等于其字节地址,且其字节地址的末位都为0H或8H。2.4.4 位地址空间2.4.4 位地址空间特殊功能寄存器位 地 址字 节地 址D7D6D5D4D3D2D1D0BF7HF6HF

32、5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80

33、H表2-6 SFR中的位地址分布2.4.4 位地址空间作为AT89S51存储器结构的总结,图2-8为各类存储器的结构图。可清楚看出各类存储器在存储器空间的位置。图2-8 AT89S51单片机的存储器结构目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.5.1 P0口(1)P0口用作系统的

34、地址/数据总线用AT89S51外扩存储器或I/O时,P0口作为系统复用的地址/数据总线用。此时,图2-9中的“控制”信号为1,1P0口的工作原理硬件自动使转接开关MUX打向上面,接通反相器输出,同时使“与门”处于开启状态。2.5.1 P0口当输出的“地址/数据”信息为1时,“与门”输出为1,上方的场效应管导通,下方的场效应管截止,P0.x引脚输出为1;当输出的“地址/数据”信息为0时,上方的场效应管1P0口的工作原理截止,下方的场效应管导通,P0.x引脚输出为0。可见P0.x引脚的输出状态随“地址/数据”状态的变化而变化。上方场效应管起到内部上拉电阻作用。2.5.1 P0口 当P0口作为数据线

35、输入时,仅从外部存储器(或外部I/O)读入信息,对应“控制”信号为0,MUX接通锁存器的Q*端。由于P0口作为地址/数据复用方式访问外部存储器时,CPU自动向P0口写入FFH,使下方场效应管截止,由于控制信号为0,上方场效应管也截止,从而保证1P0口的工作原理数据信息的高阻抗输入,从外部存储器或I/O输入的数据信息直接由P0.x脚通过输入缓冲器BUF2进入内部总线。2.5.1 P0口由上分析,P0口具有高电平、低电平和高阻抗输入3种状态的端口,因此,P0口作为地址/数据总线使用时是一真正的双向端口。1P0口的工作原理2.5.1 P0口(2)P0口用作通用I/O口使用 P0口作为通用的I/O口使

36、用,此时,“控制”信号为0,MUX打向下面,接通锁存器的Q*端,“与门”输出为0,上方场效应管截止,形成的P0口输出电路为漏极开路输出。P0口作通用I/O输出口时,来自CPU的“写”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并由引脚P0.x输出。当D锁存器为1时,端为0,下方场效应管截止,输出为漏极开路,此时,必须外接上拉电阻才能有高电平输出;当D锁存器为0时,下方场效应管导通,P0口输出为低电平。1P0口的工作原理2.5.1 P0口P0口作为通用I/O输入口时,有两种读入方式:“读锁存器”和“读引脚”。当CPU发出“读锁存器”指令时,锁存器的状态由Q端经上方的三态缓冲器BUF1

37、进入内部总线;当CPU发出“读引脚”指令时,锁存器的输出状态=1(即端为0),从而使下方场效应管截止,引脚状态经下方三态缓冲器BUF2进入内部总线。1P0口的工作原理2.5.2 P1口2P0口总结综上所述,P0口有如下特点:当P0口用作地址/数据总线口使用时,是一个真正的双向口,用作与外部扩展的存储器或I/O连接,输出低8位地址和输出/输入8位数据。01OPTION02OPTION当P0口用作通用I/O口使用时,需要在片外接上拉电阻,此时端口不存在高阻抗的悬浮状态,因此是一个准双向口。如果单片机片外扩展了RAM和I/O接口芯片,P0口此时应作为复用的地址/数据总线口使用。如果没有外扩RAM和I

38、/O接口芯片,此时即可作为通用I/O口使用。2.5.2 P1口1P1口工作原理P1口只作为通用I/O口使用。P1口作为输出口时,若CPU输出1,Q=1,Q*=0,场效应管截止,P1口引脚的输出为1;若CPU输出0,Q=0,Q*=1,场效应管导通,P1.x引脚输出为0。01OPTION02OPTIONP1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。“读锁存器”时,锁存器的输出端Q的状态经输入缓冲器BUF1进入内部总线;“读引脚”时,先向锁存器写1,使场效应管截止,P1.x引脚的电平经输入缓冲器BUF2进入内部总线。2.5.2 P1口1P1口工作原理图2-10 P1口某一位的位电路结构2

39、.5.2 P1口2P1口总结P1口由于有内部上拉电阻,没有高阻抗输入状态,故为准双向口。作为输出口时,不需要在片外接上拉电阻。P1口“读引脚”输入时,必须先向锁存器P1写入1。2.5.3 P2口1P2口的工作原理P2口用作地址总线口,在内部控制信号作用下,MUX与“地址”接通。当“地址”线为0时,场效应管导通,P2口引脚输出0;当“地址”线为1时,场效应管截止,P2口引脚输出1。01OPTION02OPTIONP2口用作通用I/O口,在内部控制信号作用下,MUX与锁存器的Q端接通。是一个双功能口,字节地址为A0H,位地址为A0HA7H。位电路结构如图2-11所示。2.5.3 P2口1P2口的工

40、作原理图2-11 P2口某一位的位电路结构2.5.3 P2口1P2口的工作原理CPU输出1时,Q=1,场效应管截止,P2.x引脚输出1;CPU输出0时,Q=0,场效应管导通,P2.x引脚输出0。输入时,分为“读锁存器”和“读引脚”两种方式。“读锁存器”时,Q端信号经输入缓冲器BUF1进入内部总线;“读引脚”时,先向锁存器写1,使场效应管截止,P2.x引脚上的电平经输入缓冲器BUF2进入内部总线。2.5.3 P2口2P2口总结作为地址输出线使用时,P2口可输出外部存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址,共可寻址64KB的地址空间。当P2口作为高8位地址输出口时,输出锁存器

41、的内容保持不变。作为通用I/O口使用时,P2口为一个准双向口,功能与P1口一样。一般情况下,P2口大多作为高8位地址总线口使用,就不能再作为通用I/O口。如果不作为地址总线口使用,可作为通用I/O口使用。2.5.4 P3口由于AT89S51的引脚数目有限,因此在P3口电路中增加了引脚的第二功能(定义见表2-1)。P3口的每一位都可分别定义为第二输入功能或第二输出功能。字节地址为B0H,位地址为B0HB7H。P3口某一位的位电路结构见图2-12。2.5.4 P3口图2-12 P3口某一位的位电路结构 2.5.4 P3口2.5.4 P3口1P3口工作原理(1)第二输入/输出功能。当选择第二输出功能

42、时,该位的锁存器需置“1”,使“与非门”为开启状态。当第二输出为1时,场效应管截止,P3.x引脚输出为1;当第二输出为0时,场效应管导通,P3.x引脚输出为0。当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3.x引脚的信息由输入缓冲器BUF3的输出获得。2.5.4 P3口1P3口工作原理(2)第一功能的通用I/O口当用作通用I/O输出时,“第二输出功能”端应保持高电平,“与非门”为开启状态。CPU输出1时,Q=1,场效应管截止,P3.x引脚输出为1;CPU输出0时,Q=0,场效应管导通,P3.x引脚输出为0。当用作通用I/O输入时,P3.x位的输出锁存器和“第

43、二输出功能”端均应置1,场效应管截止,P3.x引脚信息通过输入BUF3和BUF2进入内部总线,完成“读引脚”操作。目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.6 时钟电路与时序产生AT89S51工作时所必需的控制信号,在时钟信号控制下,严格按时序执行指令。执行指令时,CPU首先到程

44、序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。CPU发的时序信号两类,一类用对片内各个功能部件控制,用户无须了解;另一类用于对片外存储器或I/O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。2.6.1 时钟电路设计 1内部时钟方式AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-13是AT89S51内部时钟方式的电路。2.6.1 时钟电路设计 1内部时钟方式图2-13 内部时钟方式电路电路中的电容 C

45、1和 C2 的典型值通常选择为 30pF。晶体振荡频率的范围通常是在 1.212MHz。AT89S51单片机常选择振荡频率6MHz或12MHz的石英晶体。2.6.1 时钟电路设计 2外部时钟方式 图2-14 外部时钟方式电路用现成的外部振荡器产生脉冲信号,常用于多片AT89S51同时工作,以便于多片AT89S51单片机之间的同步。外部时钟源直接接到XTAL1端,XTAL2端悬空,见图2-14。2.6.1 时钟电路设计 3时钟信号的输出图2-15 时钟信号的两种引出方式当使用片内振荡器,XTAL1、XTAL2引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。其引出的方式有两种,如图2-1

46、5。2.6.2 机器周期、指令周期与指令时序1时钟周期时钟控制信号的基本时间单位。若晶振频率为fosc,则时钟周期Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。2机器周期CPU完成一个基本操作所需时间为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。每12个时钟周期为1个机器周期2.6.2 机器周期、指令周期与指令时序1个机器周期包括12个时钟周期,分6个状态:S1S6。每个状态又分两拍:P1和P2。因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2、S6P2,如图2-16。图2-16 AT8

47、9S51的机器周期2.6.2 机器周期、指令周期与指令时序3指令周期执行一条指令所需的时间。简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。从指令执行时间看:n 单字节和双字节指令一般为单机器周期和双机器周期;n 三字节指令都是双机器周期;n 乘、除指令占用4个机器周期。目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S51的并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路2.8 看门狗

48、定时器(WDT)的使用2.9 低功耗节电模式2.10 AT89S52单片机与AT89S51单片机的差异2.7.1 复位操作复位时,PC初始化为0000H,程序从0000H单元开始执行。除系统的正常初始化外,当程序出错(如程序跑飞)或操作错误使系统处于死锁状态时,需按复位键使RST脚为高电平,使AT89S51摆脱“跑飞”或“死锁”状态而重新启动程序。2.7.1 复位操作复位操作还对其他一些寄存器有影响,这些寄存器复位时的状态见表2-7。由表2-7可看出,复位时,SP=07H,而P0P3引脚均为高电平。在某些控制应用中,要注意考虑P0P3引脚的高电平对接在这些引脚上的外部电路的影响。2.7.1 复

49、位操作例如,当P1口某个引脚外接一个继电器绕组,当复位时,该引脚为高电平,继电器绕组就会有电流通过,就会吸合继电器开关,使开关接通,可能会引起意想不到的后果。2.7.1 复位操作2.7.2 复位电路设计 AT89S51 的复位是由外部复位电路实现的。典型的复位电路见图 2-17。图2-17 复位电路2.7.2 复位电路设计 上电时自动复位是通过VCC(+5V)电源给电容C充电加给RST引脚一个短暂的高电平信号,此信号随着VCC对电容C的充电过程而逐渐回落,即RST脚上的高电平持续时间取决于电容C充电时间。因此为保证系统能可靠地复位,RST引脚上的高电平必须大于复位所要求的高电平的时间。除上电复

50、位外,有时还需要人工按键复位。按键复位是通过RST端经两个电阻对电源VCC接通分压产生的高电平来实现。2.7.2 复位电路设计 当时钟频率选用6MHz时,CR的典型取值为10F,两个电阻R1和R2的典型值分别为220和2k。一般来说,单片机的复位速度比外围I/O接口电路快些。因此在实际应用系统设计中,为保证系统可靠复位,在单片机应用程序的初始化程序段应安排一定的复位延迟时间,以保证单片机与外围I/O接口电路都能可靠地复位。目 录CONTENTS2.1 AT89S51单片机的硬件组成2.2 AT89S51的引脚功能2.3 AT89S51的CPU2.4 AT89S51存储器的结构2.5 AT89S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片机原理及接口技术(C51编程)02课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|