微机原理与单片机:第2章AT89S51单片机硬件结构

上传人:夏** 文档编号:568740399 上传时间:2024-07-26 格式:PPT 页数:99 大小:1.86MB
返回 下载 相关 举报
微机原理与单片机:第2章AT89S51单片机硬件结构_第1页
第1页 / 共99页
微机原理与单片机:第2章AT89S51单片机硬件结构_第2页
第2页 / 共99页
微机原理与单片机:第2章AT89S51单片机硬件结构_第3页
第3页 / 共99页
微机原理与单片机:第2章AT89S51单片机硬件结构_第4页
第4页 / 共99页
微机原理与单片机:第2章AT89S51单片机硬件结构_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《微机原理与单片机:第2章AT89S51单片机硬件结构》由会员分享,可在线阅读,更多相关《微机原理与单片机:第2章AT89S51单片机硬件结构(99页珍藏版)》请在金锄头文库上搜索。

1、1第2章 AT89S51单片机 硬件结构2 第第2章章 目目录2.1 AT89S51单片机的硬件片机的硬件组成成2.2 AT89S51的引脚功能的引脚功能 2.2.1 电源及时钟引脚 2.2.2 控制引脚 2.2.3 并行I/O口引脚2.3 AT89S51的的CPU 2.3.1 运算器 2.3.2 控制器 2.4 AT89S51存存储器的器的结构构 2.4.1 程序存储器空间 2.4.2 数据存储器空间 2.4.3 特殊功能寄存器(SFR) 2.4.4 位地址空间2.5 AT89S51的并行的并行I/O端口端口 2.5.1 P0口 2.5.2 P1口 2.5.3 P2口 2.5.4 P3口 2

2、.5.5 P1P3口驱动LED发光二极管32.6 时钟电路与路与时序序 2.6.1 时钟电路设计 2.6.2 机器周期、指令周期与指令时序2.7 复位操作和复位复位操作和复位电路路 2.7.1 复位操作 2.7.2 复位电路设计2.8 低功耗低功耗节电模式模式 2.8.1 空闲模式 2.8.2 掉电运行模式 2.8.3 掉电和空闲模式下的WDT4nAT89S51AT89S51的片内硬件基本结构、引脚功能、存储器结构、的片内硬件基本结构、引脚功能、存储器结构、特殊功能寄存器功能、特殊功能寄存器功能、4 4个并行个并行I/OI/O口的结构和特点,口的结构和特点,n复位电路和时钟电路的设计复位电路和

3、时钟电路的设计, ,节电工作模式。节电工作模式。目的:目的:本章本章学习学习,为,为AT89S51AT89S51系统的应用系统的应用设计设计打下基础。打下基础。在原理和结构上,单片机把微机的许多概念、技术与特点都在原理和结构上,单片机把微机的许多概念、技术与特点都继承下来。用学习微机的思路来学习单片机。继承下来。用学习微机的思路来学习单片机。内容概要内容概要562.1 AT89S512.1 AT89S51单片机的硬件组成单片机的硬件组成片内硬件组成结构如片内硬件组成结构如图图2-12-1所示。把作为控制应用所必需的基本所示。把作为控制应用所必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上

4、。功能部件都集成在一个尺寸有限的集成电路芯片上。有如下有如下功能部件功能部件和和特性特性:(1 1)8 8位微处理器(位微处理器(CPUCPU););(2 2)数据存储器()数据存储器(128B RAM128B RAM););(3 3)程序存储器()程序存储器(4KB Flash ROM4KB Flash ROM););(4 4)4 4个个8 8位可编程并行位可编程并行I/OI/O口(口(P0P0口、口、P1P1口、口、P2P2口口和和P3P3口);口);(5 5)1 1个全双工的异步串行口;个全双工的异步串行口;(6 6)2 2个可编程的个可编程的1616位定时器位定时器/ /计数器;计数器

5、;7图图2-12-1 AT89S51AT89S51单片机片内结构单片机片内结构8(7 7)1 1个看门狗定时器;个看门狗定时器;(8 8)中断系统具有)中断系统具有5 5个中断源、个中断源、5 5个中断向量;个中断向量;(9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)2626个;个;(1010)低功耗模式有)低功耗模式有空闲模式空闲模式和和掉电模式掉电模式,且具有掉电模式,且具有掉电模式 下的中断恢复模式;下的中断恢复模式;(1111)3 3个程序加密锁定位个程序加密锁定位。与AT89C51相比,AT89S51有更突出的优点有更突出的优点:(1)增加在线可编程功能ISPISP(In

6、System Program),字字节节和页编程页编程,现场程序调试和修改更加方便灵活;(2)数据指针数据指针增加到两个两个,方便了对片外RAM的访问过程;(3)增加增加了看门狗定时器看门狗定时器,提高了系统的抗干扰能力;(4)增加增加断电标志;(5)增加掉电状态下的中断恢复模式。片内各功能部件通过片内单一总线连接而成(见图2-1),基本结构依旧是CPU 加上外围芯片的传统微机结构。CPU对各种功能部件的控制对各种功能部件的控制是采用特殊功能寄存器特殊功能寄存器(SFR,Special Function Register)的集中控制方式。下面介绍图2-1中片内各功能部件片内各功能部件。(1 1

7、)CPUCPU(微处理器)(微处理器) 8位的CPU,与通用CPU基本相同,同样包括了运算器运算器和控制控制器器两大部分,还有面向控制的位处理功能位处理功能。9(2 2)数据存储器()数据存储器(RAMRAM)片内为128B(52子系列为256B),片外最多可扩64KB。片内128B的RAM以高速RAM的形式集成,可加快单片机运行的速度和降低功耗。(3 3)程序存储器()程序存储器(Flash ROMFlash ROM)片内集成有4KB4KB的Flash存储器(AT89S52 则为8KB;AT89C55片内20KB),如片内容量不够,片外可外扩至64KB。(4 4)中断系统)中断系统具有6个中

8、断源,2级中断优先权。(5 5)定时器)定时器/ /计数器计数器2个16位定时器/计数器(52子系列有3个),4种工作方式。10(6 6)1 1个看门狗定时器个看门狗定时器WDTWDT当CPU由于干扰使程序陷入死循环或跑飞时,WDT可使程序恢复正常运行。(7 7)串行口)串行口1个全双工的异步串行口,4种工作方式。可进行串行通信,扩展并行I/O口,还可与多个单片机构成多机系统。(8 8)P0P0口口、P1P1口、口、P2P2口口和和P3P3口口4个8位并行I/O口。(9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)26个,对片内各功能部件管理、控制和监视。是各个功能部件的控制寄存器控制

9、寄存器和状态寄存器,映射在片内状态寄存器,映射在片内RAM区80H80HFFHFFH内。11AT89S51完全兼容AT89C51,在充分保留原来软、硬件条件下,完全可以用AT89S51直接代换。2.2 AT89S512.2 AT89S51的引脚功能的引脚功能先了解引脚,牢记各引脚的功能。AT89S51与51系列中各种型号芯片的引脚互相兼容。目前多采用4040只只引脚引脚双列直插双列直插,如图图2-22-2所示。引脚按其功能可分为如下3类:(1 1)电源及时钟引脚)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2 2)控制引脚)控制引脚 、ALE/ 、 / /VPP、RST(RESET

10、)(3 3)I/OI/O口引脚口引脚P0、P1、P2、P3,为4个8位I/O口122.2.1 2.2.1 电源及时钟引脚电源及时钟引脚1 1电源引脚电源引脚(1 1)V VCCCC(4040脚):脚):+5V电源。(2 2)V VSSSS(2020脚):脚):数字地。13图图2-2 AT89S51双列直插封装方式的引脚2 2时钟引脚时钟引脚 (1 1)XTAL1XTAL1(1919脚):脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时外接时钟源时,该脚接外部时钟振荡器的信号。(2 2)XTAL2XTAL2(1818脚):脚):片内振荡

11、器反相放大器的输出端。当使用片内振荡器片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源外部时钟源时,本脚悬空。2.2.2 2.2.2 控制引脚控制引脚(1 1)RST (RESETRST (RESET,9 9脚脚) )复位信号输入,在引脚加上持续时间大于持续时间大于2 2个机器周期的高电个机器周期的高电平平,可使单片机复位复位。正常工作,此脚电平应 0.5V。14当看门狗定时器溢出输出时,该脚将输出长达当看门狗定时器溢出输出时,该脚将输出长达9696个时钟振荡个时钟振荡周期周期的的高电平高电平。(2 2) /VPP/VPP (Enable Address/Voltage Pulse

12、 of (Enable Address/Voltage Pulse of ProgramingPrograming,3131脚脚) ) :引脚引脚第一功能第一功能:外部程序存储器访问允许控制端。:外部程序存储器访问允许控制端。=1=1,在,在PCPC值不超出值不超出0FFFH0FFFH(即不超出片内(即不超出片内4KB Flash4KB Flash存存储器的地址范围)时,单片机读储器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB4KB)中的程序,但中的程序,但PCPC值超出值超出0FFFH0FFFH (即超出片内(即超出片内4KB Flash4KB Flash地地址范围)时,将址

13、范围)时,将自动转向读取片外自动转向读取片外60KB60KB(1000H-FFFFH1000H-FFFFH)程序存储器空间中的程序。程序存储器空间中的程序。15 =0 =0,只读取只读取外部的程序存储器外部的程序存储器中的内容,读取的地址中的内容,读取的地址范围为范围为0000H0000HFFFFHFFFFH,片内的,片内的4KB Flash 4KB Flash 程序存储器不起作程序存储器不起作用。用。 V VPPPP:引脚引脚第二功能第二功能,对片内,对片内FlashFlash编程,接编程,接编程电压编程电压。(3 3)ALE/ ALE/ (Address Latch Enable/Addr

14、ess Latch Enable/PROGrammingPROGramming,3030脚)脚)ALEALE为为CPUCPU访问外部程序存储器或外部数据存储器提供访问外部程序存储器或外部数据存储器提供地地址锁存信号址锁存信号,将,将低低8 8位地址位地址锁存在片外的地址锁存器中。锁存在片外的地址锁存器中。16此外,单片机此外,单片机正常运行正常运行时,时,ALEALE端端一直有正脉冲信号输出一直有正脉冲信号输出,此,此频率为时钟振荡器频率频率为时钟振荡器频率f foscosc的的1/61/6。可用作外部定时或触发。可用作外部定时或触发信号。信号。注意注意,每当,每当AT89S51AT89S51

15、访问外部访问外部RAMRAM时(执行时(执行MOVXMOVX类指令),类指令),要要丢失一个丢失一个ALEALE脉冲脉冲。如需要,可将如需要,可将特殊功能寄存器特殊功能寄存器AUXRAUXR(地址为(地址为8EH8EH,将在后,将在后面介绍)的面介绍)的第第0 0位位(ALEALE禁止位)置禁止位)置1 1,来,来禁止禁止ALEALE操作操作,但,但执行访问外部程序存储器或外部数据存储器指令执行访问外部程序存储器或外部数据存储器指令“MOVCMOVC”或或“MOVXMOVX”时,时,ALEALE仍然有效。仍然有效。即即ALEALE禁止位不影响对外部禁止位不影响对外部存储器的访问。存储器的访问。

16、 :引脚引脚第二功能第二功能,对片内,对片内 FlashFlash编程,为编程,为编程脉编程脉冲输入冲输入 脚。脚。17(4 4) (Program Strobe Program Strobe ENableENable,2929脚)脚) 片外程序存储器读选通信号,低电平有效。2.2.3 2.2.3 并行并行I/OI/O口引脚口引脚(1 1)P0P0口:口:8 8位,漏极开路的双向位,漏极开路的双向I/OI/O口口当外扩存储器及外扩存储器及I/OI/O接口芯片时接口芯片时,P0口作为低8位地址总线及数据总线的分时复用分时复用端口。P0口也可用用作通用的作通用的I/OI/O口口,需加上拉电阻,这时

17、为准双向准双向口口。作为通用I/O输入,应先向端口写入1。可驱动8个LS型TTL负载。(2 2)P1P1口:口:8 8位,准双向位,准双向I/OI/O口,具有内部上拉电阻。口,具有内部上拉电阻。准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1。18P1口可驱动4 4个个LSLS型型TTLTTL负载。P1.5/MOSIP1.5/MOSI、P1.6/MISOP1.6/MISO和和P1.7/SCKP1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。(3 3)P2P2口:口:8位,准双向I/O口,具有内部上拉电阻。当AT89S51扩展外部存

18、储器及I/O口时,P2口作为高高8 8位地址总线位地址总线用,输出高8位地址。19P2P2口口也可作为普通的也可作为普通的I/OI/O口口使用。当作为通用使用。当作为通用I/OI/O输入时,输入时, 应先向端口输出锁存器写应先向端口输出锁存器写1 1。P2P2口可驱动口可驱动4 4个个LSLS型型TTLTTL负载负载。(4 4)P3P3口:口:8 8位,位,准双向准双向I/OI/O口口,具有内部上拉电阻。,具有内部上拉电阻。可作为可作为通用的通用的I/OI/O口使用口使用。作为。作为通用通用I/OI/O输入输入,应先向端,应先向端口输出锁存器写入口输出锁存器写入1 1。可驱动。可驱动4 4个个

19、LSLS型型TTLTTL负载。负载。P3P3口还可提供口还可提供第二功能第二功能。第二功能定义。第二功能定义见见表表2-12-1,应熟,应熟记。记。2021综上所述,综上所述,P0P0口口可可作为总线作为总线口口,为双向口。作为通用的,为双向口。作为通用的I/OI/O口使用时,为准双向口,这时需加上拉电阻。口使用时,为准双向口,这时需加上拉电阻。P1P1口、口、P2P2口、口、P3P3口口均为准双向口。均为准双向口。注意注意:准双向口与双向口的差别准双向口与双向口的差别。准双向口仅有两个状态。准双向口仅有两个状态。而而P0P0口作为总线使用,口线内无上拉电阻,处于高阻口作为总线使用,口线内无上

20、拉电阻,处于高阻“悬浮悬浮”态。故态。故P0P0口为双向三态口为双向三态I/OI/O口。口。为什么为什么P0P0口要有高阻口要有高阻“悬浮悬浮”态?态?准双向准双向I/OI/O口则无高阻的口则无高阻的“悬浮悬浮”状态。状态。另外,另外,准双向口准双向口作通用作通用I/OI/O的输入口使用时,的输入口使用时,一定要向该口一定要向该口先写入先写入“1 1”。以上的准双向口与双向口的差别,读者在阅读以上的准双向口与双向口的差别,读者在阅读2.52.5节后,将会有深刻的理解。节后,将会有深刻的理解。22至此,至此,4040个个引脚已介绍引脚已介绍完完,应熟记每一引脚功能对应用,应熟记每一引脚功能对应用

21、系统硬件电路设计十分重要。系统硬件电路设计十分重要。2.3 AT89S512.3 AT89S51的的CPUCPU由图由图2-12-1可见,可见,CPUCPU由由运算器运算器和和控制器控制器构成。构成。2.3.1 2.3.1 运算器运算器对操作数进行算术、逻辑和位操作运算。主要包括算术对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元逻辑运算单元ALUALU、累加器、累加器A A、位处理器、程序状态字寄存器、位处理器、程序状态字寄存器PSWPSW及两个暂存器等。及两个暂存器等。1 1算术逻辑运算单元算术逻辑运算单元ALUALU可对可对8 8位变量位变量逻辑逻辑运算运算(与、或、异或、循

22、环、求补和清与、或、异或、循环、求补和清零零),还可,还可算术运算算术运算(加、减、乘、除加、减、乘、除)23ALUALU还有位操作功能,对位变量进行位处理,如置还有位操作功能,对位变量进行位处理,如置“1 1”、清、清“0 0”、求补、测试转移及逻辑、求补、测试转移及逻辑“与与”、“或或”等等。2 2累加器累加器A A使用最频繁的寄存器,使用最频繁的寄存器,可可写为写为AccAcc。“A A”与与“AccAcc” 书写上书写上的差别,将在第的差别,将在第3 3章介绍。章介绍。作用如下:作用如下:(1 1)ALUALU单元的输入数据源之一,又是单元的输入数据源之一,又是ALUALU运算结果存放

23、单运算结果存放单元元。(2 2)数据传送大多都通过累加器)数据传送大多都通过累加器A A,相当于数据的中转站。,相当于数据的中转站。为解决为解决“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S51AT89S51增加了一部分可以不增加了一部分可以不经过累加器的传送指令。经过累加器的传送指令。24A A的进位标志的进位标志CyCy是特殊的,因为它同时又是是特殊的,因为它同时又是位处理机的位处理机的位累位累加器加器3 3程序状态字寄存器程序状态字寄存器PSWPSWPSWPSW(Program Status WordProgram Status Word)位于片内特殊功能寄存器区,)位于片内特殊功能寄存器区

24、,字节地址为字节地址为D0HD0H。包含了包含了程序运行状态的信息程序运行状态的信息,其中,其中4 4位保存当前指令执行后位保存当前指令执行后的状态,供程序查询和判断。的状态,供程序查询和判断。格式如图格式如图2-32-3所示所示。 图图2-32-3 PSW PSW的格式的格式25PSWPSW中各个位的功能中各个位的功能:(1 1)CyCy(PSW.7PSW.7)进位标志位)进位标志位 可写为可写为C C。在算术和逻辑运算时,若有。在算术和逻辑运算时,若有进位进位/ /借位借位,CyCy1 1;否则,;否则,CyCy0 0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。(2 2)Ac

25、Ac(PSW.6PSW.6)辅助进位标志位)辅助进位标志位 在在BCDBCD码运算时,用作十进位调整。即当码运算时,用作十进位调整。即当D3D3位向位向D4D4位产位产生进位或借位时,生进位或借位时,AcAc1 1;否则,;否则,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用户设定标志位)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置由用户使用的一个状态标志位,可用指令来使它置1 1或或清清0 0,控制程序的流向。用户应充分利用。控制程序的流向。用户应充分利用。26(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4组工作寄存器区

26、选择组工作寄存器区选择选择片内选择片内RAMRAM区中的区中的4 4组工作寄存器区中的某一组为当前组工作寄存器区中的某一组为当前工作寄存区工作寄存区见见表表2-22-2。(5 5)OVOV(PSW.2PSW.2)溢出标志位)溢出标志位当执行算术指令时,用来指示运算结果是否产生溢出。当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,如果结果产生溢出,OV=1OV=1;否则,;否则,OV=0OV=0。(6 6)PSW.1PSW.1位位 保留位保留位(7 7)P P(PSW.0PSW.0)奇偶标志位)奇偶标志位指令执行完,累加器指令执行完,累加器A A中中“1 1”的个数的个数是是奇

27、数奇数还是还是偶数偶数。27P=1P=1,表示表示A A中中“1 1”的个数为的个数为奇数奇数。P=0P=0,表示,表示A A中中“1 1”的个数为的个数为偶数偶数。此标志位对串行通信有重要的意义此标志位对串行通信有重要的意义,常用常用奇偶检验奇偶检验的的方法来检验数据串行传输的可靠性。方法来检验数据串行传输的可靠性。28292.3.2 2.3.2 控制器控制器 任务任务识别指令,并根据指令的性质控制单片机各功能部识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。件,从而保证单片机各部分能自动协调地工作。 控制器包括控制器包括:程序计数器、指令寄存器、指令译

28、码器、程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。从而对各功能部件进行定时和逻辑控制。 程序计数器程序计数器PCPC是一个独立的是一个独立的1616位计数器,不可访问。单位计数器,不可访问。单片机复位时,片机复位时,PCPC中内容为中内容为0000H0000H,从程序存储器,从程序存储器0000H0000H单元取指单元取指令,开始执行程序。令,开始执行程序。 PC PC工作过程是工作过程是:CPUCPU读指令时,读指令时,PCPC的内容作为所取指令的的内容

29、作为所取指令的地址,程序存储器按此地址输出指令字节,同时地址,程序存储器按此地址输出指令字节,同时PCPC自动加自动加1 1。 PC PC中内容变化轨迹中内容变化轨迹决定程序流程。当决定程序流程。当顺序执行顺序执行程序时自动程序时自动加加1 1;执行;执行转移程序转移程序或或子程序、中断子程序调用子程序、中断子程序调用时,自动时,自动将其内容更改成所要转移的目的地址。将其内容更改成所要转移的目的地址。 PC PC的计数宽度的计数宽度决定了程序存储器的地址范围。决定了程序存储器的地址范围。PCPC为为1616位,位,故可对故可对64KB64KB(=2=21616B B)寻址。寻址。2.4 AT8

30、9S512.4 AT89S51存储器的结构存储器的结构存储器存储器的的结构特点之一是将程序存储器和数据存储器分开结构特点之一是将程序存储器和数据存储器分开(哈佛结构),(哈佛结构),并有并有各自各自的访问指令。的访问指令。存储器空间可分为存储器空间可分为4 4类类。30. .程序存储器空间程序存储器空间片内和片外两部分。片内和片外两部分。片内片内4KB4KB FlashFlash ,编程和擦除完全是电气实现。可用通用编,编程和擦除完全是电气实现。可用通用编程器对其编程,也可程器对其编程,也可在线编程在线编程。当片内当片内4KB Flash 4KB Flash 存储器不够用时,可片外扩展,最多可

31、扩存储器不够用时,可片外扩展,最多可扩展至展至64KB64KB程序存储器。程序存储器。. .数据存储器空间数据存储器空间片内片内与与片外片外两部分。两部分。片内有片内有128 B RAM128 B RAM(5252子系列为子系列为256B256B)。片内片内RAM RAM 不够用时,在不够用时,在片外可扩展至片外可扩展至64KB RAM64KB RAM 。31. .特殊功能寄存器特殊功能寄存器SFRSFR (Special Function RegisterSpecial Function Register)片内各功能部件的控制寄存器及状态寄存器。片内各功能部件的控制寄存器及状态寄存器。SFR

32、SFR综合反映了综合反映了整个单片机基本系统内部实际的工作状态及工作方式。整个单片机基本系统内部实际的工作状态及工作方式。. .位地址空间位地址空间共有共有211211个个可寻址位,构成了位地址空间。它们位于内部可寻址位,构成了位地址空间。它们位于内部 RAMRAM(共(共128128位)和特殊功能寄存器区(共位)和特殊功能寄存器区(共8383位)中。位)中。2.4.1 2.4.1 程序存储器空间程序存储器空间存放程序和表格之类的固定常数。片内为存放程序和表格之类的固定常数。片内为4KB4KB的的 Flash Flash ,地址,地址为为0000H0000H0FFFH0FFFH。1616位地址

33、线,可外扩的程序存储器空间最位地址线,可外扩的程序存储器空间最大为大为64KB64KB,地址为,地址为0000H0000HFFFFHFFFFH。使用使用时时应注意以下问题应注意以下问题:32(1 1)分为)分为片内片内和和片外片外两部分两部分,访问片内的还是片外的程序,访问片内的还是片外的程序存储器,由存储器,由 引脚电平引脚电平确定。确定。 =1 =1时,时,CPUCPU从片内从片内0000H0000H开始取指令,开始取指令,当当PCPC值没有超出值没有超出0FFFH0FFFH时,只访问片内时,只访问片内Flash Flash 存储器,存储器,当当PCPC值超出值超出0FFFH0FFFH自自

34、动转向读片外程序存储器空间动转向读片外程序存储器空间1000H1000HFFFFH FFFFH 内的程序。内的程序。 =0 =0时,只能执行片外程序存储器(时,只能执行片外程序存储器(0000H0000HFFFFHFFFFH)中的)中的程序。不理会片内程序。不理会片内4KB Flash 4KB Flash 存储器。存储器。(2 2)程序存储器某些固定单元)程序存储器某些固定单元用于各中断源中断服务程序用于各中断源中断服务程序入口。入口。333464KB64KB程序存储器空间中有程序存储器空间中有5 5个特殊单元个特殊单元分别对应于分别对应于5 5个中断源个中断源 的中断入口地址,见的中断入口地

35、址,见表表2-32-3。通常这通常这5 5个中断入口个中断入口地址处地址处都放一条跳转指令都放一条跳转指令跳向对应的跳向对应的 中断服务子程序,而不是直接存放中断服务子程序中断服务子程序,而不是直接存放中断服务子程序。2.4.2 2.4.2 数据存储器空间数据存储器空间 片内与片外两部分。片内与片外两部分。. .片内数据存储器片内数据存储器 片内数据存储器(片内数据存储器(RAMRAM)共)共128128个单元,字节地址个单元,字节地址为为00H00H7FH7FH。图图2-42-4为片内数据存储器的结构。为片内数据存储器的结构。35图图2-4 2-4 AT89S51AT89S51片内片内RAM

36、RAM结构结构00H00H1FH1FH 的的3232个单元个单元是是4 4组通用工作寄存器区,每区包含组通用工作寄存器区,每区包含8B8B,为为R7R7R0R0。可。可通过指令改变通过指令改变RS1RS1、RS0RS0两位两位来选择。来选择。20H20H2FH2FH的的1616个个单元的单元的128128位可位寻址,也可字节寻址。位可位寻址,也可字节寻址。30H30H7FH7FH的单元只能字节寻址,用作存数据以及作为堆栈区。的单元只能字节寻址,用作存数据以及作为堆栈区。. .片外数据存储器片外数据存储器当片内当片内128B128B的的RAMRAM不够用时,需外扩,最多可外扩不够用时,需外扩,最

37、多可外扩64KB64KB的的RAMRAM。注意,片内注意,片内RAMRAM与片外与片外RAMRAM两个空间是相互独立的,两个空间是相互独立的,片内片内RAMRAM与片外与片外RAMRAM的低的低128B128B的地址是相同的的地址是相同的,但由于使用的是不同,但由于使用的是不同的访问指令,所以不会发生冲突。的访问指令,所以不会发生冲突。362.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR)采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件各功能部件。特殊功能寄存器特殊功能寄存器映射在片内映射在片内RAMRAM的的 80H80HFFH FFH 区域区域中,共中,共

38、2626个个。表表2-4 2-4 SFRSFR的名称及其分布。有些还可位寻址,位地址的名称及其分布。有些还可位寻址,位地址见见表表2-42-4。与与AT89C51AT89C51相比,相比,新增新增5 5个个SFRSFR:DP1LDP1L、DP1HDP1H、AUXRAUXR、AUXR1AUXR1和和WDTRSTWDTRST,已在,已在表表2-42-4中标出。中标出。凡是凡是可位寻址的可位寻址的SFRSFR,字节地址末位只能是,字节地址末位只能是0H0H或或8H8H。另外,。另外,若读若读/ /写写未未定义单元,将得到一个不确定的随机数。定义单元,将得到一个不确定的随机数。下面介绍某些下面介绍某些

39、SFRSFR,余下的,余下的SFRSFR将在后将在后面面介绍。介绍。3738391 1堆栈指针堆栈指针SPSP指示堆栈顶部在内部指示堆栈顶部在内部RAMRAM块中的位置。块中的位置。堆栈结构堆栈结构向上生长型向上生长型。单片机。单片机复位复位后,后,SPSP为为07H07H,使得堆,使得堆栈实际上从栈实际上从08H08H单元开始,单元开始,由于由于08H08H1FH1FH单元分别是属于单元分别是属于1 13 3组的工作寄存器区,组的工作寄存器区,最好在复位最好在复位后后把把SPSP值改置为值改置为60H60H或或更大的值更大的值,避免堆栈与工作寄存器冲突。,避免堆栈与工作寄存器冲突。堆栈是为堆

40、栈是为子程序调用子程序调用和和中断操作中断操作而设而设,主要主要用来用来保护断点保护断点和和现场现场。(1 1)保护断点。)保护断点。无论是子程序调用操作还是中断服务子程无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。堆栈中保护起来,为程序正确返回做准备。40(2 2)现场保护。)现场保护。执行子程序或中断服务子程序时,要用到一些执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容寄存器单元,会破坏原有内容。要把有关寄存器单元的内

41、容保存起来,送入堆栈,这就是所谓的保存起来,送入堆栈,这就是所谓的“现场保护现场保护”。两种操作:两种操作:数据压入数据压入(PUSHPUSH)堆栈,堆栈,数据弹出数据弹出(POPPOP)堆栈。数堆栈。数据压入堆栈,据压入堆栈,SPSP自动加自动加1 1;数据弹出堆栈,;数据弹出堆栈,SPSP自动减自动减1 1。2 2寄存器寄存器B B为执行乘法和除法为执行乘法和除法而而设。在不执行乘、除法操作的情况下,可设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。把它当作一个普通寄存器来使用。4142乘法乘法,两乘数分别在,两乘数分别在A A、B B中,执行乘法指令后,乘积在中,执行乘

42、法指令后,乘积在BABA中中除法除法,被除数取自,被除数取自A A,除数取自,除数取自B B,商存放在,商存放在A A中,余数存中,余数存B B中。中。3 3AUXRAUXR寄存器寄存器 AUXR AUXR是辅助寄存器,其格式如是辅助寄存器,其格式如图图2-52-5所示所示:图图2-52-5 AUXRAUXR寄存器的格式寄存器的格式43其中其中: :DISALEDISALE:ALEALE的禁止的禁止/ /允许位允许位。0 0:ALEALE有效,发出脉冲;有效,发出脉冲; 1 1:ALEALE仅在执行仅在执行MOVCMOVC和和MOVXMOVX类指令时有效,不访问外部类指令时有效,不访问外部存储

43、器时,存储器时,ALEALE不输出脉冲信号不输出脉冲信号。DISRTODISRTO:禁止禁止/ /允许允许WDTWDT溢出时的复位输出溢出时的复位输出。0 0:WDTWDT溢出时,在溢出时,在RSTRST引脚输出一个高电平脉冲;引脚输出一个高电平脉冲;1 1:RSTRST引脚仅为输入脚。引脚仅为输入脚。WDIDLEWDIDLE:WDTWDT在空闲模式下的禁止在空闲模式下的禁止/ /允许位。允许位。 0 0: WDTWDT在空闲模式下继续计数;在空闲模式下继续计数; 1 1: WDTWDT在空闲模式下暂停计数。在空闲模式下暂停计数。444. 4. 数据指针数据指针DPTR0DPTR0和和DPTR

44、1DPTR1双数据指针寄存器双数据指针寄存器,便于访问便于访问数据存储器数据存储器。DPTR0DPTR0:AT89C51AT89C51单片机单片机原有原有的数据指针的数据指针;DPTR1DPTR1:新增加新增加的数据指针。的数据指针。AUXR1AUXR1的的DPSDPS位位用于用于选择选择两个数据指针两个数据指针。当。当DPS=0DPS=0时,选用时,选用DPTR0DPTR0;当;当DPS=1DPS=1时,选用时,选用DPTR1DPTR1。数据指针数据指针可作为一个可作为一个1616位寄存器来用,也可作为两个独立的位寄存器来用,也可作为两个独立的8 8位寄存器位寄存器DP0HDP0H(或(或D

45、P1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)来用。)来用。455. AUXR15. AUXR1寄存器寄存器AUXR1AUXR1是辅助寄存器,格式如是辅助寄存器,格式如图图2-62-6所示所示: DPSDPS:数据指针寄存器选择位。数据指针寄存器选择位。0 0:选择数据指针寄存器选择数据指针寄存器DPTR0DPTR0;1 1:选择数据指针寄存器选择数据指针寄存器DPTR1DPTR1。图图2-62-6 AUXR1AUXR1寄存器的格式寄存器的格式6. 6. 看门狗定时器看门狗定时器WDTWDTWDTWDT包含一个包含一个1414位计数器位计数器和和看门狗定时器复位寄存器看门狗定

46、时器复位寄存器 (WDTRSTWDTRST)。)。当当CPUCPU由于干扰,程序陷入死循环或跑飞状态时,由于干扰,程序陷入死循环或跑飞状态时,WDTWDT提供了一种提供了一种使程序恢复正常运行的有效手段。使程序恢复正常运行的有效手段。有关有关WDTWDT在抗干扰设计中的应用以及低功耗模式下运行的状态,在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应的章节中具体介绍。将在相应的章节中具体介绍。上面介绍的特殊功能寄存器,上面介绍的特殊功能寄存器,除了前两个除了前两个SPSP和和B B以外,其余的均以外,其余的均为为AT89S51AT89S51在在AT89C51AT89C51基础上基础上新增

47、加的新增加的SFRSFR。462.4.4 2.4.4 位地址空间位地址空间211211个寻址位的位地址,位地址范围为个寻址位的位地址,位地址范围为 00H00HFFHFFH,其中,其中 00H00H7FH7FH 这这128128位处于位处于片内片内RAM RAM 字节地址字节地址 20H20H2FH2FH 单元中,如单元中,如表表2-52-5所示。其余的所示。其余的8383个可寻址位个可寻址位分布在分布在特殊功能寄存器特殊功能寄存器SFRSFR中,中,见见表表2-62-6。可被位寻址的可被位寻址的特殊寄存器特殊寄存器有有1111个个,共有位地址,共有位地址8888个,个,5 5个位未个位未用,

48、其余用,其余8383个位的位地址离散地分布于片内数据存储器区字个位的位地址离散地分布于片内数据存储器区字节地址为节地址为80H80HFFHFFH的范围内,其的范围内,其最低的位地址等于其字节地最低的位地址等于其字节地址址,且其字节地址的,且其字节地址的末位都为末位都为0H0H或或8H8H。4748特殊功能寄存器位 地 址字 节地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB

49、5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布49 作为对作为对AT89S51AT89S51存储器结构的总结,存储器结构的总结,图图2-72-7为为各类存储各类存储器的结构图。器的结构图。从图中可从图中可清楚看出各类存储器在存储器空

50、间清楚看出各类存储器在存储器空间的位置。的位置。50图图2-7 2-7 AT89S51AT89S51单片机的存储器结构单片机的存储器结构2.5 AT89S512.5 AT89S51的并行的并行I/OI/O端口端口4 4个双向的个双向的8 8位并行位并行I/OI/O端口,分别记为端口,分别记为P0P0、P1P1、P2P2和和P3P3,其中,其中输出锁存器输出锁存器属于属于特殊功能寄存器特殊功能寄存器。端口的每一位均由输出锁。端口的每一位均由输出锁存器、输出驱动器和输入缓冲器组成,存器、输出驱动器和输入缓冲器组成,4 4个端口按个端口按字节输入字节输入/ /输出输出外,外,也也可可位寻址位寻址。2

51、.5.1 P02.5.1 P0口口P0P0口是一个口是一个双功能双功能的的8 8位并行端口,位并行端口,字节地址字节地址为为80H80H,位地址为,位地址为80H80H87H87H。端口的各位具有完全相同但又相互独立的电路结。端口的各位具有完全相同但又相互独立的电路结构,构,P0P0口口某一位的某一位的位电路结构位电路结构如如图图2-82-8所示所示。5152图图2-8 2-8 P0P0口某一位的位口某一位的位电电路路结结构构1 1位电路结构位电路结构 P0 P0口某一位的电路包括:口某一位的电路包括:(1 1)一个数据输出的锁存器,用于数据位的锁存。)一个数据输出的锁存器,用于数据位的锁存。

52、(2 2)两个三态的数据输入缓冲器,分别是用于)两个三态的数据输入缓冲器,分别是用于读锁存器数读锁存器数据据的输入缓冲器的输入缓冲器BUF1BUF1和和读引脚数据读引脚数据的输入缓冲器的输入缓冲器BUF2BUF2。(3 3)一个多路转接开关)一个多路转接开关MUXMUX,它的一个输入来自锁存器的,它的一个输入来自锁存器的 端,另一个输入为地址端,另一个输入为地址/ /数据信号的反相输出。数据信号的反相输出。MUXMUX由由“控控制制”信号控制,实现锁存器的输出和地址信号控制,实现锁存器的输出和地址/ /数据信号之间数据信号之间的转接。的转接。(4 4)数据输出的)数据输出的控制和驱动电路控制和

53、驱动电路,由,由两个场效应管两个场效应管(FETFET)组成。组成。532 2工作过程分析工作过程分析(1 1)P0P0口用作地址口用作地址/ /数据总线数据总线外扩存储器或外扩存储器或I/OI/O时,时,P0P0口作为单片机系统口作为单片机系统复用的复用的地址地址/ /数据数据总线使用。总线使用。当作为当作为地址或数据输出地址或数据输出时,时,“控制控制”信号为信号为1 1,硬件自动使转,硬件自动使转接开关接开关MUXMUX打向上面,接通反相器的输出,同时使与门处于打向上面,接通反相器的输出,同时使与门处于开启状态。开启状态。当当输出的地址输出的地址/ /数据信息为数据信息为1 1时,与门输

54、出为时,与门输出为1 1,上方的场效应,上方的场效应管导通,下方的场效应管截止,管导通,下方的场效应管截止,P0.xP0.x引脚输出为引脚输出为1 1;当输出当输出的地址的地址/ /数据信息为数据信息为0 0时,时,上方的场效应管上方的场效应管截止截止,下方的场下方的场效应管效应管导通导通,P0.xP0.x引脚输出为引脚输出为0 0。54输出电路是输出电路是上、下两个场效应管形成的上、下两个场效应管形成的推拉式结构推拉式结构,大大提高了,大大提高了负载能力,上方的场效应管这时起到负载能力,上方的场效应管这时起到内部上拉电阻内部上拉电阻的作用。的作用。当当P0P0口作为口作为数据数据输入时输入时

55、,仅从外部存储器(或,仅从外部存储器(或I/OI/O)读入信息,)读入信息,对应的对应的“控制控制”信号为信号为0 0,MUXMUX接通锁存器的接通锁存器的 端。端。由于由于P0P0口作为地址口作为地址/ /数据复用方式访问外部存储器时,数据复用方式访问外部存储器时,CPUCPU自动向自动向P0P0口写入口写入FFHFFH,使下方场效应管截止,上方场效应管由于控制,使下方场效应管截止,上方场效应管由于控制信号为信号为0 0也截止,从而也截止,从而保证数据信息的保证数据信息的高阻抗高阻抗输入输入,从外部存,从外部存储器输入的数据信息直接由储器输入的数据信息直接由P0.xP0.x引脚通过输入缓冲器

56、引脚通过输入缓冲器BUF2BUF2进入进入内部总线。内部总线。55具有具有高阻抗输入的高阻抗输入的I/OI/O口口应具有应具有高电平高电平、低电平低电平和和高阻抗高阻抗3 3种状种状态态的端口。因此,的端口。因此,P0P0口作为地址口作为地址/ /数据总线使用时是一个真正的数据总线使用时是一个真正的双向端口,简称双向端口,简称双向口双向口。 (2 2)P0P0口用作通用口用作通用I/OI/O口口当当P0P0口不作为系统的地址口不作为系统的地址/ /数据总线使用时,此时数据总线使用时,此时P0P0口也可作为口也可作为通用的通用的I/OI/O口使用。口使用。作通用的作通用的I/OI/O口时,对应的

57、口时,对应的“控制控制”信号为信号为0 0,MUXMUX打向下面,接打向下面,接通锁存器的通锁存器的 端,端,“与门与门”输出为输出为0 0,上方场效应管截止,形,上方场效应管截止,形成的成的P0P0口输出电路为漏极开路输出。口输出电路为漏极开路输出。P0P0口作输出口口作输出口时,来自时,来自CPUCPU的的“写写”脉冲加在脉冲加在D D锁存器的锁存器的CPCP端,端,内部总线上的数据写入内部总线上的数据写入D D锁存器,并由引脚锁存器,并由引脚P0.xP0.x输出。输出。56当当D D锁存器为锁存器为1 1时,时, 端为端为0 0,下方场效应管截止,输出为漏极开,下方场效应管截止,输出为漏

58、极开路,此时,必须外接上拉电阻才能有高电平输出;当路,此时,必须外接上拉电阻才能有高电平输出;当D D锁存器为锁存器为0 0时,下方场效应管导通,时,下方场效应管导通,P0P0口输出为低电平。口输出为低电平。P0P0口作输入口口作输入口使用时,有使用时,有两种读入方式两种读入方式:“读锁存器读锁存器”和和“读读引脚引脚”。当当CPUCPU发出发出“读锁存器读锁存器”指令时,指令时,锁存器的状态锁存器的状态由由Q Q端经上方的端经上方的三态缓冲器三态缓冲器BUF1BUF1进入内部总线;进入内部总线;当当CPUCPU发出发出“读引脚读引脚”指令指令时,锁存器的输出状态时,锁存器的输出状态=1=1(

59、即(即 端端为为0 0),而使下方场效应管截止,),而使下方场效应管截止,引脚的状态引脚的状态经下方的三态缓冲器经下方的三态缓冲器BUF2BUF2进入内部总线。进入内部总线。573 3P0P0口的特点口的特点P0P0口为口为双功能口双功能口地址地址/ /数据复用数据复用口和口和通用通用I/OI/O口。口。(1 1)当当P0P0口用作口用作地址地址/ /数据复用数据复用口时,是一个口时,是一个真正的双向口真正的双向口, 输出低输出低8 8位地址和输出位地址和输出/ /输入输入8 8位数据。位数据。(2 2)当当P0P0口用作口用作通用通用I/OI/O口时,由于需要在片外接上拉电阻,口时,由于需要

60、在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此是一个端口不存在高阻抗(悬浮)状态,因此是一个准双向口准双向口。为保证引脚信号的为保证引脚信号的正确读入正确读入,应,应首先向锁存器写首先向锁存器写1 1。单片机复。单片机复位后,锁存器自动被置位后,锁存器自动被置1 1;当;当P0P0口由原来输出转变为输入时,口由原来输出转变为输入时,应先置锁存器为应先置锁存器为1 1,方可执行输入操作。,方可执行输入操作。58P0P0口口大多作为地址大多作为地址/ /数据复用口数据复用口使用,就不能再作为通用使用,就不能再作为通用I/OI/O口使用。口使用。2.5.2 P12.5.2 P1口口单功能的单功

61、能的I/OI/O口,口,字节地址为字节地址为 90H90H,位地址为,位地址为 90H90H97H97H。P1P1口某一位的口某一位的位电路结构位电路结构如如图图2-92-9所示所示。1 1位电路结构位电路结构 P1 P1口位电路结构由以下口位电路结构由以下三部分组成三部分组成:(1 1)一个数据输出锁存器,用于输出数据位的锁存。)一个数据输出锁存器,用于输出数据位的锁存。59图图2-92-9 P1P1口某一位的位口某一位的位电电路路结结构构60(2 2)两个三态的数据输入缓冲器)两个三态的数据输入缓冲器BUF1BUF1和和BUF2BUF2,分别用于读,分别用于读锁存器数据和读引脚数据的输入缓

62、冲。锁存器数据和读引脚数据的输入缓冲。(3 3)数据输出驱动电路,由一个场效应管()数据输出驱动电路,由一个场效应管(FETFET)和一个片)和一个片内上拉电阻组成。内上拉电阻组成。2 2工作过程分析工作过程分析P1P1口口只能作为通用的只能作为通用的I/OI/O口口使用。使用。(1 1)P1P1口作口作输出口输出口时,若时,若CPUCPU输出输出1 1,Q=1Q=1, =0=0,场效应管,场效应管截止,截止,P1P1口引脚的输出为口引脚的输出为1 1;若;若CPUCPU输出输出0 0,Q=0Q=0, =1 =1,场,场效应管导通,效应管导通,P1P1口引脚的输出为口引脚的输出为0 0。61(

63、2 2)P1P1口作为口作为输入口输入口时,分为时,分为“读锁存器读锁存器”和和“读引脚读引脚”两种两种方式。方式。“读锁存器读锁存器”时时,锁存器的输出端,锁存器的输出端Q Q的状态经输入缓的状态经输入缓冲器冲器BUF1BUF1进入内部总线;进入内部总线;“读引脚读引脚”时时,先向锁存器写先向锁存器写1 1,使场效应管截止,使场效应管截止,P1.xP1.x引脚上的电平经输入缓冲器引脚上的电平经输入缓冲器BUF2BUF2进入进入内部总线。内部总线。3 3P1P1口的特点口的特点由于内部上拉电阻,由于内部上拉电阻,无无高阻抗输入高阻抗输入状态,故为状态,故为准双向口准双向口。 P1P1口口“读引

64、脚读引脚”输入输入时,必须时,必须先向锁存器写入先向锁存器写入1 1。2.5.3 P22.5.3 P2口口双功能口,双功能口,字节地址字节地址为为A0HA0H,位地址位地址为为A0HA0HA7HA7H。P2P2口某一位的口某一位的位电路结构位电路结构如如图图2-102-10所示所示。6263图图2-10 2-10 P2P2口某一位的位口某一位的位电电路路结结构构1 1位电路结构位电路结构 P2 P2口口某一位的电路某一位的电路包括:包括:(1 1)一个数据输出锁存器,用于输出数据位的锁存。)一个数据输出锁存器,用于输出数据位的锁存。(2 2)两个三态数据输入缓冲器)两个三态数据输入缓冲器BUF

65、1BUF1和和BUF2BUF2,分别用于读锁,分别用于读锁存器数据和读引脚数据的输入缓冲。存器数据和读引脚数据的输入缓冲。(3 3)一个多路转接开关)一个多路转接开关MUXMUX,一个输入是锁存器的,一个输入是锁存器的Q Q端,另端,另一个输入是高一个输入是高8 8位地址。位地址。(4 4)输出驱动电路,由场效应管()输出驱动电路,由场效应管(FETFET)和内部上拉电阻组)和内部上拉电阻组成。成。642 2工作过程分析工作过程分析(1 1)P2P2口用作口用作地址总线地址总线 在控制信号作用下,在控制信号作用下,MUXMUX与与“地址地址”接通。当接通。当“地址地址”为为0 0时,场效应管导

66、通,时,场效应管导通,P2P2口引脚输出口引脚输出为为0 0;当;当“地址地址”线为线为1 1时,场效应管截止,时,场效应管截止,P2P2口引脚输出口引脚输出1 1。(2 2)P2P2口用作口用作通用通用I/OI/O口口 在内部控制信号作用下,在内部控制信号作用下,MUXMUX与与 锁存器的锁存器的Q Q端接通。端接通。 CPUCPU输出输出1 1时,时,Q=1Q=1,场效应管截止,场效应管截止,P2.xP2.x引脚输出引脚输出1 1;CPUCPU输出输出0 0时,时,Q=0Q=0,场效应管导通,场效应管导通,P2.xP2.x引脚输出引脚输出0 0。65 P2P2口输入口输入时,分时,分 “读

67、锁存器读锁存器”和和“读引脚读引脚”两种方式两种方式: :“读锁存器读锁存器”时时,Q Q端信号经输入缓冲器端信号经输入缓冲器BUF1BUF1进入内部总进入内部总线线“读引脚读引脚”时时,先向锁存器写先向锁存器写1 1,使场效应管截止,使场效应管截止,P2.xP2.x引引脚上的电平经输入缓冲器脚上的电平经输入缓冲器BUF2BUF2进入内部总线。进入内部总线。3 3P2P2口的特点口的特点作为地址输出线作为地址输出线时,时,P2P2口高口高8 8位地址,位地址,P0P0口输出的低口输出的低8 8位地址位地址寻址寻址64KB64KB地址空间。地址空间。作为通用作为通用I/OI/O口口时,时,P2P

68、2口为准双向口。功能与口为准双向口。功能与P1P1口一样。口一样。一般情况下,一般情况下,P2P2口口大多作为高大多作为高8 8位地址总线口位地址总线口使用,这时就使用,这时就不能再作为通用不能再作为通用I/OI/O口。口。66 2.5.4 P32.5.4 P3口口 由于由于引脚数目有限引脚数目有限,在,在P3P3口口增加了第二功能增加了第二功能。每。每1 1位都可以分别位都可以分别定义为第二输入功能或第二输出功能。定义为第二输入功能或第二输出功能。P3P3口口字节地址字节地址为为B0HB0H,位地址位地址B0HB0HB7HB7H。P3P3口某一位的位电路结构口某一位的位电路结构见见图图2-1

69、12-11。1 1位电路结构位电路结构 P3 P3口某一位的电路包括:口某一位的电路包括:(1 1)1 1个个数据输出锁存器,锁存输出数据位。数据输出锁存器,锁存输出数据位。(2 2)3 3个个三态数据输入缓冲器三态数据输入缓冲器BUF1BUF1、BUF2BUF2和和BUF3BUF3,分别用于读锁,分别用于读锁存器、读引脚数据和第二功能数据的输入缓冲。存器、读引脚数据和第二功能数据的输入缓冲。(3 3)输出驱动,由与非门、场效应管()输出驱动,由与非门、场效应管(FETFET)和内部上拉电阻组)和内部上拉电阻组成。成。6768图图2-112-11 P3P3口某一位的位口某一位的位电电路路结结构

70、构2 2工作过程分析工作过程分析(1 1)P3P3口用作第二输入口用作第二输入/ /输出功能输出功能 当选择第二输出功能时,该位的锁存器需要置当选择第二输出功能时,该位的锁存器需要置1 1,使与非,使与非门为开启状态。门为开启状态。当第二输出为当第二输出为1 1时,场效应管截止,时,场效应管截止,P3.xP3.x引脚输出为引脚输出为1 1;当第二输出为当第二输出为0 0时,场效应管导通,时,场效应管导通,P3.xP3.x引脚输出为引脚输出为0 0。当选择第二输入功能时,该位的锁存器和第二输出功能端均当选择第二输入功能时,该位的锁存器和第二输出功能端均应置应置1 1,保证场效应管截止,保证场效应

71、管截止,P3.xP3.x引脚的信息由输入缓冲引脚的信息由输入缓冲器器BUF3BUF3的输出获得。的输出获得。69(2 2)P3P3口用作第一功能口用作第一功能通用通用I/OI/O口口用作用作第一功能通用输出第一功能通用输出时,时,第二输出功能第二输出功能端应保持高电平,与端应保持高电平,与非门开启。非门开启。CPUCPU输出输出1 1时时,Q=1Q=1,场效应管截止,场效应管截止,P3.xP3.x引脚输出引脚输出为为1 1;CPUCPU输出输出0 0时时,Q=0Q=0,场效应管导通,场效应管导通,P3.xP3.x引脚输出为引脚输出为0 0。用作用作第一功能通用输入第一功能通用输入时,时,P3.

72、xP3.x位的输出锁存器和第二输出功位的输出锁存器和第二输出功能均应置能均应置1 1,场效应管截止,场效应管截止,P3.xP3.x引脚信息通过输入引脚信息通过输入BUF3BUF3和和BUF2BUF2进入内部总线,完成进入内部总线,完成“读引脚读引脚”操作。操作。当当P3P3口口第一功能通用输入第一功能通用输入时,也可执行时,也可执行“读锁存器读锁存器”操作,此操作,此时时Q Q端信息经过缓冲器端信息经过缓冲器BUF1BUF1进入内部总线。进入内部总线。703 3P3P3口的特点口的特点P3P3口内部口内部有上拉电阻有上拉电阻,无无高阻抗输入态高阻抗输入态- -准双向口准双向口。P3P3口作为口

73、作为第二功能的输出第二功能的输出/ /输入,或第一功能通用输入,均须将相应输入,或第一功能通用输入,均须将相应位的锁存器置位的锁存器置1 1。实际应用中,由于复位后。实际应用中,由于复位后P3P3口锁存器自动口锁存器自动置置1 1,满足第二功能所需的条件,所以不需任何设置工作,满足第二功能所需的条件,所以不需任何设置工作,就可以进入第二功能操作。就可以进入第二功能操作。当当某位不作为第二功能某位不作为第二功能用时,可用时,可作为第一功能通用作为第一功能通用I/OI/O使用。使用。引脚输入部分有两个缓冲器,第二功能的输入信号取自缓冲器引脚输入部分有两个缓冲器,第二功能的输入信号取自缓冲器BUF3

74、BUF3的输出端,第一功能的输入信号取自缓冲器的输出端,第一功能的输入信号取自缓冲器BUF2BUF2的输出的输出端。端。71P3P3口的口的第二功能定义第二功能定义见见表表2-12-1,读者应熟记。,读者应熟记。2.5.5 P12.5.5 P1P3P3口驱动口驱动LEDLED发光二极管发光二极管下面讨论下面讨论P1P1P3P3口与口与LEDLED发光二极管的驱动连接问题。发光二极管的驱动连接问题。 P0P0口与口与P1P1、P2P2、P3P3口相比,口相比,P0P0口的驱动能力较大口的驱动能力较大,每位可驱,每位可驱动动8 8个个LSTTLLSTTL输入,而输入,而P1P1、P2P2、P3P3

75、口口的每一位的驱动能力,的每一位的驱动能力,只有只有P0P0口的一半口的一半。当当P0P0口口某位为某位为高电平高电平时,可提供时,可提供400400 A A的电流;的电流;当当P0P0口某位为口某位为低电平低电平(0.45V0.45V)时,可提供)时,可提供3.2mA3.2mA的灌电流的灌电流。7273如低电平允许提高,灌电流可相应加大。所以,如低电平允许提高,灌电流可相应加大。所以,任何一个口要任何一个口要想获得较大的驱动能力,只能用想获得较大的驱动能力,只能用低电平低电平输出。输出。例如,使用单片机的并行口例如,使用单片机的并行口P1P1P3P3直接驱动直接驱动发光二极管发光二极管,电,

76、电路如路如图图2-122-12。由于。由于P1P1P3P3内部有内部有30k30k左右的左右的上拉电阻上拉电阻。如如高电平高电平输出输出,则强行从,则强行从P1P1、P2P2和和P3P3口输出的电流口输出的电流I Id d会造成单会造成单片机端口的损坏,如片机端口的损坏,如图图2-122-12(a a)所示。所示。如端口引脚为如端口引脚为低电平低电平,能使电流,能使电流I Id d 从单片机外部流入内部,从单片机外部流入内部,则则将大大增加流过的电流值将大大增加流过的电流值,如,如图图2-122-12(b b)所示所示。所以,当所以,当P1P1P3P3口驱动口驱动LEDLED发光二极管发光二极

77、管时,应该采用低电平驱时,应该采用低电平驱动。动。74(a)不恰当的不恰当的连连接:高接:高电电平平驱动驱动 (b)恰当的恰当的连连接:低接:低电电平平驱动驱动图图2-122-12 发发光二极管与光二极管与AT89S51AT89S51并行口的直接并行口的直接连连接接2.6 2.6 时钟电路与时序时钟电路与时序时钟电路产生时钟电路产生AT89S51AT89S51工作时所工作时所必需的控制信号必需的控制信号,在时钟信号,在时钟信号的控制下,严格按时序执行指令。的控制下,严格按时序执行指令。执行指令执行指令时,时,CPUCPU首先首先到程序存储器中到程序存储器中取出取出需要执行的指令操需要执行的指令

78、操作码,然后作码,然后译码译码,并,并由时序电路产生一系列控制信号由时序电路产生一系列控制信号完成完成指令所规定的操作。指令所规定的操作。CPUCPU发的发的时序信号时序信号两类两类,一类一类用对片内各个功能部件控制,用用对片内各个功能部件控制,用户无须了解;户无须了解;另一类另一类用于对片外存储器或用于对片外存储器或I/OI/O口的控制口的控制,这,这部分时序对于分析、设计硬件接口电路部分时序对于分析、设计硬件接口电路至关重要至关重要。752.6.1 2.6.1 时钟电路设计时钟电路设计 时钟频率时钟频率直接影响单片机的直接影响单片机的速度速度,时钟电路的质量也直接影,时钟电路的质量也直接影

79、响单片机系统的稳定性。响单片机系统的稳定性。常用的时钟电路有常用的时钟电路有两种方式两种方式,一,一种是种是内部时钟内部时钟方式,另一种是方式,另一种是外部时钟外部时钟方式。方式。1 1内部时钟方式内部时钟方式 AT89S51 AT89S51内部有一个用于构成振荡器的内部有一个用于构成振荡器的高增益反相放高增益反相放大器大器,输入端为芯片引脚,输入端为芯片引脚XTAL1XTAL1,输出端为引脚,输出端为引脚XTAL2XTAL2。这。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,的自激振荡器,图图2-132-13是是AT89S

80、51AT89S51内部时钟方式内部时钟方式的的电路电路。76图2-13 内部内部时钟方式方式电路路77C C1 1和和C C2 2的的典型值典型值通常选择为通常选择为30pF30pF。电容大小会影响振荡器频。电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。晶振频率范围率高低、振荡器的稳定性和起振的快速性。晶振频率范围通常是通常是1.21.212MHz12MHz。晶体频率越高,。晶体频率越高,单片机速度就越快单片机速度就越快。速度快对速度快对存储器的速度要求就高存储器的速度要求就高,印制电路板的工艺要求,印制电路板的工艺要求也高,即线间的寄生电容要小。晶体和电容应尽可能与单也高,即线

81、间的寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电容,保证振荡器稳定、可靠地工片机靠近,以减少寄生电容,保证振荡器稳定、可靠地工作。为提高温度稳定性,采用作。为提高温度稳定性,采用温度稳定性能好温度稳定性能好的电容。的电容。常选常选6MHz6MHz或或12MHz12MHz的的石英晶体石英晶体。随着集成电路制造工艺技术。随着集成电路制造工艺技术的发展,单片机的的发展,单片机的时钟频率时钟频率也在逐步提高也在逐步提高,已达,已达33MHz33MHz。78792 2外部时钟方式外部时钟方式 用现成的外部振荡器产生脉冲信号,用现成的外部振荡器产生脉冲信号,常用于常用于多片多片AT89S51

82、AT89S51同时同时工作,以便于多片工作,以便于多片AT89S51AT89S51单片机之间的同步,一般为低于单片机之间的同步,一般为低于12MHz12MHz的方波。的方波。 外部时钟源外部时钟源直接接到直接接到XTAL1XTAL1端端,XTAL2XTAL2端悬空端悬空,见,见图图2-142-14。 图图2-142-14 AT89S51AT89S51的外部的外部时钟时钟方式方式电电路路3 3时钟信号的输出时钟信号的输出当使用片内振荡器,当使用片内振荡器,XTAL1XTAL1、XTAL2XTAL2引脚还能为应用系统中的引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。其其他芯片提供时钟,

83、但需增加驱动能力。其引出的方式有引出的方式有两种两种,如,如图图2-152-15所示所示。80图图2-152-15 时钟时钟信号的两种引出方式信号的两种引出方式812.6.2 2.6.2 机器周期、指令周期与指令时序机器周期、指令周期与指令时序各种指令时序与时钟周期各种指令时序与时钟周期相相关。关。1 1时钟周期时钟周期时钟控制信号的时钟控制信号的基本时间单位基本时间单位。若晶振频率为。若晶振频率为f foscosc,则时钟周,则时钟周期期T Toscosc=1/=1/f foscosc。如。如f foscosc=6MHz=6MHz,T Toscosc=166.7ns=166.7ns。2 2机

84、器周期机器周期 CPU CPU完成一个基本操作所需时间为完成一个基本操作所需时间为机器周期机器周期。执行一条指令分执行一条指令分为几个机器周期为几个机器周期。每个机器周期完成一个。每个机器周期完成一个基本操作基本操作,如取指,如取指令、读或写数据等。每令、读或写数据等。每1212个时钟周期个时钟周期为为1 1个机器周期个机器周期。821 1个机器周期个机器周期包括包括1212个时钟周期个时钟周期,分,分6 6个状态个状态:S1S1S6S6。每个。每个状态又分两拍状态又分两拍:P1P1和和P2P2。因此,一个机器周期中的。因此,一个机器周期中的1212个时个时钟周期钟周期表示为表示为S1P1S1

85、P1、S1P2S1P2、S2P1S2P1、S2P2S2P2、S6P2S6P2,如如图图2-162-16所示所示。83图图2-16 2-16 AT89S51AT89S51的机器周期的机器周期3 3指令周期指令周期执行一条指令执行一条指令所需的时间所需的时间。简单的。简单的单字节指令单字节指令,取出指令立,取出指令立即执行,即执行,只需只需一个机器周期一个机器周期的时间的时间。而有些。而有些复杂的指令复杂的指令,如如转移、乘、除指令转移、乘、除指令则需则需两个两个或或多个多个机器周期。机器周期。从指令执行时间看从指令执行时间看: :n 单字节和双字节单字节和双字节指令指令一般为单机器周期一般为单机

86、器周期和和双机器周期双机器周期; ;n 三字节指令三字节指令都是都是双机器周期双机器周期; ;n 乘、除指令乘、除指令占用占用4 4个机器周期个机器周期。842.7 2.7 复位操作和复位电路复位操作和复位电路单片机的单片机的初始化操作初始化操作,给复位脚,给复位脚RSTRST加上加上大于大于2 2个机器周期个机器周期(即(即2424个时钟振荡周期)的个时钟振荡周期)的高电平高电平就使就使AT89S51AT89S51复位。复位。2.7.1 2.7.1 复位操作复位操作复位时,复位时,PCPC初始化为初始化为0000H0000H,程序从,程序从0000H0000H单元开始执行。单元开始执行。除系

87、统的正常初始化外,当除系统的正常初始化外,当程序出错程序出错(如程序跑飞)或(如程序跑飞)或操作错操作错误误使系统处于使系统处于死锁死锁状态时,状态时,需按复位键需按复位键使使RSTRST脚为高电平,脚为高电平,使使AT89S51AT89S51摆脱摆脱“跑飞跑飞”或或“死锁死锁”状态而重新启动程序。状态而重新启动程序。85复位操作还对复位操作还对其他一些寄存器其他一些寄存器有影响,这些寄存器复位时的有影响,这些寄存器复位时的状态状态见见表表2-72-7。由由表表2-72-7可看出,复位时,可看出,复位时,SP=07HSP=07H ,而,而P0P0P3P3引脚均为高电引脚均为高电平平。在某些控制

88、应用中,要在某些控制应用中,要注意考虑注意考虑P0P0P3P3引脚的高电平引脚的高电平对接在对接在这些引脚上的外部电路的影响这些引脚上的外部电路的影响。例如,例如,当当P1P1口某个引脚外接一个继电器绕组,当复位时,该口某个引脚外接一个继电器绕组,当复位时,该引脚为高电平,继电器绕组就会有电流通过,就会吸合继引脚为高电平,继电器绕组就会有电流通过,就会吸合继电器开关,使开关接通,可能会引起意想不到的后果。电器开关,使开关接通,可能会引起意想不到的后果。86872.7.2 2.7.2 复位电路设计复位电路设计由复位电路实现。由复位电路实现。AT89S51AT89S51片内复位电路结构见片内复位电

89、路结构见图图2-172-17。复位引脚复位引脚RSTRST通过一个施密特触发器与复位电路相连,施密特触通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的发器用来抑制噪声,在每个机器周期的S5P2S5P2,施密特触发器,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。作所需要的信号。复位电路采用复位电路采用上电自动复位上电自动复位和和按钮复位按钮复位两种方式两种方式。最简单的上最简单的上电自动复位电路如电自动复位电路如图图2-182-18所示。所示。对于对于CMOSCMOS型单片机,型

90、单片机,由于在由于在RSTRST引脚内部引脚内部有一个有一个下拉电阻下拉电阻,可将,可将电阻电阻R R去掉去掉,而将,而将电容电容C C选为选为1010 F F。88图图2-172-17 片内复位片内复位电电路路结结构构 图图2-182-18 上上电电复位复位电电路路89上电自动复位上电自动复位是给电容是给电容C C 充电加给充电加给RSTRST引脚一个引脚一个短的高电平短的高电平信号信号,此信号随着,此信号随着V VCCCC对电容对电容C C 的充电过程而逐渐回落,即的充电过程而逐渐回落,即RSTRST引脚上的引脚上的高电平持续时间高电平持续时间取决于电容取决于电容C C 充电时间充电时间。

91、为。为保证系统可靠复位,保证系统可靠复位,RSTRST引脚上的高电平必须维持足够长引脚上的高电平必须维持足够长的时间。的时间。除了上电复位外,有时还需要除了上电复位外,有时还需要按键手动复位按键手动复位。按键手动复位。按键手动复位有有电平电平和和脉冲脉冲两种方式两种方式。按键手动按键手动复位复位电路见电路见图图2-192-19。脉冲复位脉冲复位是利用是利用RC RC 微分电路产生的微分电路产生的正脉冲正脉冲来实现来实现的,脉冲的,脉冲复位电路见复位电路见图图2-202-20。图中阻容参数适于。图中阻容参数适于6MHz6MHz时钟。时钟。9091图图2-192-19 按按键电键电平复位平复位电电

92、路路 图图2-202-20 按按键键脉冲复位脉冲复位电电路路92图图2-212-21所示电路能所示电路能输出输出高、低两种电平高、低两种电平的复位控制信号,以适应的复位控制信号,以适应外围外围I/OI/O接口芯片所接口芯片所要求的要求的不同复位电平信号不同复位电平信号。图图2-212-2174LS12274LS122为为单稳电路,实验表明,电容单稳电路,实验表明,电容C C 的选择约为的选择约为0.10.1 F F较好。较好。图图2-212-21 两种实用的兼有上电复位与按键复位的电路2.8 2.8 低功耗节电模式低功耗节电模式两种低功耗节电工作模式两种低功耗节电工作模式:空闲模式空闲模式(i

93、dle modeidle mode)和)和掉电掉电保持模式保持模式(power down modepower down mode)。)。掉电保持模式掉电保持模式下,下,VccVcc可由可由后备电源后备电源供电。供电。图图2-222-22为两种节为两种节电模式的电模式的内部控制电路内部控制电路。93图图2-222-22 低功耗节电模式的控制电路两种节电模式可通过两种节电模式可通过PCONPCON的的位位IDLIDL和和位位PDPD的设置来实现。格式的设置来实现。格式如如图图2-232-23所示所示。94 图图2-232-23 特殊功能寄存器特殊功能寄存器PCONPCON的格式的格式PCONPCO

94、N寄存器各位定寄存器各位定义义:SMODSMOD:串行通信波特率选择(该位见第串行通信波特率选择(该位见第7 7章的介绍)。章的介绍)。 :保留位。保留位。GF1GF1、GF0GF0:通用标志位,两个标志位用户使用。通用标志位,两个标志位用户使用。PDPD: 掉电保持模式控制位,掉电保持模式控制位,PD=1PD=1,则,则进入掉电保持模进入掉电保持模式。式。IDLIDL:空闲模式控制位,若空闲模式控制位,若IDL=1IDL=1,则,则进入空闲运行模式进入空闲运行模式。2.8.1 2.8.1 空闲模式空闲模式1. 1. 空闲模式进入空闲模式进入 如把如把PCONPCON中的中的IDLIDL位置位

95、置1 1,由由图图2-222-22,则把通往,则把通往CPUCPU的时钟信号的时钟信号关断,便关断,便进入空闲模式进入空闲模式。虽然振荡器运行,但是。虽然振荡器运行,但是CPUCPU进入空闲进入空闲状态状态。所有。所有外围电路(中断系统、串行口和定时器)仍继续工外围电路(中断系统、串行口和定时器)仍继续工作作,SPSP、PCPC、PSWPSW、A A、P0P0P3P3端口等所有其他寄存器端口等所有其他寄存器、内部内部RAMRAM和和SFRSFR中内容均保持进入空闲模式前状态。中内容均保持进入空闲模式前状态。2. 2. 空闲模式退出空闲模式退出 两种方法退出两种方法退出,响应中断方式响应中断方式

96、,硬件复位方式硬件复位方式。95空闲模式下,若空闲模式下,若任一个任一个允许的允许的中断请求被响应中断请求被响应时,时,IDLIDL位位被片内被片内硬件自动清硬件自动清0 0,从而,从而退出空闲模式退出空闲模式。当执行完中断服务程序返。当执行完中断服务程序返回时,将从设置空闲模式指令的下一条指令(断点处)继续执回时,将从设置空闲模式指令的下一条指令(断点处)继续执行程序。行程序。当使用当使用硬件复位硬件复位退出空闲模式时,在复位逻辑电路发挥控制作用退出空闲模式时,在复位逻辑电路发挥控制作用前,有长达两个机器周期时间,单片机要从断点处(前,有长达两个机器周期时间,单片机要从断点处(IDLIDL位

97、置位置1 1指令的下一条指令处)继续执行程序。在这期间,片内硬件阻指令的下一条指令处)继续执行程序。在这期间,片内硬件阻止止CPUCPU对片内对片内RAMRAM的访问,但不阻止对外部端口(或外部的访问,但不阻止对外部端口(或外部RAMRAM)的访问。的访问。为了避免在硬件复位退出空闲模式时出现对端口(或外部为了避免在硬件复位退出空闲模式时出现对端口(或外部RAMRAM)96的不希望的写入,在进入空闲模式时,紧随的不希望的写入,在进入空闲模式时,紧随IDLIDL位置位置1 1指令后指令后的不应是写端口(或外部的不应是写端口(或外部RAMRAM)的指令。)的指令。2.8.2 2.8.2 掉电运行模

98、式掉电运行模式1. 1. 掉电模式的进入掉电模式的进入用指令把用指令把PCONPCON寄存器的寄存器的PDPD位位置置1 1,便,便进入掉电模式进入掉电模式。由。由图图2-2-2222,在掉电模式下,在掉电模式下,进入时钟振荡器的信号进入时钟振荡器的信号被封锁被封锁,振荡,振荡器停止工作。器停止工作。由于没有时钟信号,内部的由于没有时钟信号,内部的所有功能部件均停止工作所有功能部件均停止工作,但,但片片内内RAMRAM和和SFRSFR的原来的内容都被保留的原来的内容都被保留,有关,有关端口的输出状态端口的输出状态值值都都保存在对应的特殊功能寄存器中保存在对应的特殊功能寄存器中。972. 2.

99、掉电模式的退出掉电模式的退出两种方法两种方法:硬件复位硬件复位和和外部中断外部中断。硬件复位时要重新初始化。硬件复位时要重新初始化SFRSFR,但不改变片内,但不改变片内RAMRAM的内容。只有当的内容。只有当VccVcc恢复到正常恢复到正常工作水平时,只要硬件复位信号维持工作水平时,只要硬件复位信号维持10ms10ms,便可使单片,便可使单片机退出掉电运行模式。机退出掉电运行模式。2.8.3 2.8.3 掉电和空闲模式下的掉电和空闲模式下的WDTWDT掉电模式下振荡器停止,意味着掉电模式下振荡器停止,意味着WDTWDT也就停止计数。也就停止计数。用户在用户在掉电模式下不需操作掉电模式下不需操

100、作WDTWDT。退出退出有有两种方法两种方法:硬件复位硬件复位和和外部中断外部中断。当用硬件复位退出。当用硬件复位退出掉电模式时,对掉电模式时,对WDTWDT的操作与正常情况一样。中断方式的操作与正常情况一样。中断方式退出掉电模式时,应使中断输入保持足够长时间的低退出掉电模式时,应使中断输入保持足够长时间的低98电平,以使振荡器达到稳定。当中断变为高电平之后,该中断电平,以使振荡器达到稳定。当中断变为高电平之后,该中断被执行,在中断服务程序中复位寄存器被执行,在中断服务程序中复位寄存器WDTRSTWDTRST。在。在外部中断外部中断引脚保持引脚保持低电平低电平时,为防止时,为防止WDTWDT溢

101、出复位,在系统进入掉电溢出复位,在系统进入掉电模式前先对寄存器模式前先对寄存器WDTRSTWDTRST复位。复位。在在进入空闲模式进入空闲模式前,前,应先设置应先设置AUXRAUXR中的中的WDIDLEWDIDLE位位,以确认,以确认WDTWDT是否继续计数。是否继续计数。当当WDIDLE=0WDIDLE=0,空闲模式下的,空闲模式下的WDTWDT保持继续计数。为防止复位单保持继续计数。为防止复位单片机,用户可设计一定时器。该定时器使器件定时退出空闲片机,用户可设计一定时器。该定时器使器件定时退出空闲模式,然后复位模式,然后复位WDTRSTWDTRST,再重新进入空闲模式。,再重新进入空闲模式。当当WDIDLE=1WDIDLE=1,WDTWDT在空闲模式下暂停计数,退出空闲模式后,在空闲模式下暂停计数,退出空闲模式后,方可恢复计数。方可恢复计数。99

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号