版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 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.5.5 P1P3口驱动LED发光二极管第1页/共102页22.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 掉电和空闲模式
2、下的WDT第2页/共102页3AT89S51AT89S51的片内硬件基本结构、引脚功能、存储器结构、特殊功能寄存器功能、4 4个并行I/OI/O口的结构和特点,复位电路和时钟电路的设计, ,节电工作模式。目的:本章学习,为AT89S51AT89S51系统的应用设计打下基础。在原理和结构上,单片机把微机的许多概念、技术与特点都继承下来。用学习微机的思路来学习单片机。内容概要第3页/共102页42.1 AT89S512.1 AT89S51单片机的硬件组成单片机的硬件组成片内硬件组成结构如片内硬件组成结构如图图2-12-1所示。把作为控制应用所所示。把作为控制应用所必需的基本功能部件都集成在一个尺寸
3、有限的集成必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上。电路芯片上。有如下有如下功能部件功能部件和和特性特性:(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个全双工的异步串行口;个全双工的异步串行口;第4页/共102页5图图2-12-1 AT89S51AT89S51
4、单片机片内结构单片机片内结构第5页/共102页6(6 6)2 2个可编程的个可编程的1616位定时器位定时器/ /计数器;计数器;(7 7)1 1个看门狗定时器;个看门狗定时器;(8 8)中断系统具有)中断系统具有5 5个中断源、个中断源、5 5个中断向量;个中断向量;(9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)2626个;个;(1010)低功耗模式有)低功耗模式有空闲模式空闲模式和和掉电模式掉电模式,且具有,且具有掉电模式下的中断恢复模式;掉电模式下的中断恢复模式;(1111)3 3个程序加密锁定位个程序加密锁定位。第6页/共102页7与AT89C51相比,AT89S51有更突
5、出的优点有更突出的优点:(1)增加在线可编程功能ISPISP(In System Program),字节字节和页编程页编程,现场程序调试和修改更加方便灵活;(2)数据指针数据指针增加到两个两个,方便了对片外RAM的访问过程;(3)增加增加了看门狗定时器看门狗定时器,提高了系统的抗干扰能力;(4)增加增加断电标志;(5)增加掉电状态下的中断恢复模式。片内各功能部件通过片内单一总线连接而成(见图2-1),基本结构依旧是CPU 加上外围芯片的传统微机结构。CPU对各种功能部件的控制对各种功能部件的控制是采用特殊功能寄存器特殊功能寄存器(SFR,Special Function Register)的集
6、中控制方式。第7页/共102页8下面介绍图2-1中片内各功能部件片内各功能部件。(1 1)CPUCPU(微处理器)(微处理器) 8位的CPU,与通用CPU基本相同,同样包括了运算运算器器和控制器控制器两大部分,还有面向控制的位处理功位处理功能能。(2 2)数据存储器()数据存储器(RAMRAM)片内为128B(52子系列为256B),片外最多可扩64KB。片内128B的RAM以高速RAM的形式集成,可加快单片机运行的速度和降低功耗。第8页/共102页9(3 3)程序存储器()程序存储器(Flash ROMFlash ROM)片内集成有4KB4KB的Flash存储器(AT89S52 则为8KB;
7、AT89C55片内20KB),如片内容量不够,片外可外扩至64KB。(4 4)中断系统)中断系统具有6个中断源,2级中断优先权。(5 5)定时器)定时器/ /计数器计数器2个16位定时器/计数器(52子系列有3个),4种工作方式。(6 6)1 1个看门狗定时器个看门狗定时器WDTWDT当CPU由于干扰使程序陷入死循环或跑飞时,WDT可使程序恢复正常运行。第9页/共102页10(7 7)串行口)串行口1个全双工的异步串行口,4种工作方式。可进行串行通信,扩展并行I/O口,还可与多个单片机构成多机系统。(8 8)P0P0口口、P1P1口、口、P2P2口口和和P3P3口口4个8位并行I/O口。(9
8、9)特殊功能寄存器()特殊功能寄存器(SFRSFR)26个,对片内各功能部件管理、控制和监视。是各个功能部件的控制寄存器控制寄存器和状态寄存器,映射在片内状态寄存器,映射在片内RAM区80H80HFFHFFH内。AT89S51完全兼容AT89C51,在充分保留原来软、硬件条件下,完全可以用AT89S51直接代换。第10页/共102页112.2 AT89S512.2 AT89S51的引脚功能的引脚功能先了解引脚,牢记各引脚的功能。AT89S51与51系列中各种型号芯片的引脚互相兼容。目前多采用4040只只引脚引脚双列直插双列直插,如图图2-22-2所示。引脚按其功能可分为如下3类:(1 1)电源
9、及时钟引脚)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2 2)控制引脚)控制引脚 、ALE/ 、 / /VPP、RST(RESET)(3 3)I/OI/O口引脚口引脚P0、P1、P2、P3,为4个8位I/O口应熟记每一引脚功能对应用系统硬件电路设计十分重应熟记每一引脚功能对应用系统硬件电路设计十分重要。要。EAPSENPROG第11页/共102页122.2.1 2.2.1 电源及时钟引脚电源及时钟引脚1 1电源引脚电源引脚(1 1)V VCCCC(4040脚):脚):+5V电源。(2 2)V VSSSS(2020脚):脚):数字地。图2-2 AT89S51双列直插封装方式的引脚第
10、12页/共102页132 2时钟引脚时钟引脚 (1 1)XTAL1XTAL1(1919脚):脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时外接时钟源时,该脚接外部时钟振荡器的信号。(2 2)XTAL2XTAL2(1818脚):脚):片内振荡器反相放大器的输出端。当使用片内振荡器片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源外部时钟源时,本脚悬空。第13页/共102页142.2.2 2.2.2 控制引脚控制引脚(1 1)RST (RESETRST (RESET,9 9脚脚) )复位信号输入,在引脚加上持续时间大于持续时间
11、大于2 2个机器周个机器周期的高电平期的高电平,可使单片机复位复位。正常工作,此脚电平应 0.5V。当看门狗定时器溢出输出时,该脚将输出长达当看门狗定时器溢出输出时,该脚将输出长达9696个个时钟振荡周期时钟振荡周期的的高电平高电平。第14页/共102页15(2 2) /VPP/VPP ( (Enable Address/Voltage Pulse of Enable Address/Voltage Pulse of ProgramingPrograming,3131脚脚) ) :引脚引脚第一功能第一功能:外部程序存储器访问允许控制端。:外部程序存储器访问允许控制端。=1=1,在,在PCPC值
12、不超出值不超出0FFFH0FFFH(即不超出片内(即不超出片内4KB Flash4KB Flash存储器的地址范围)时,单片机读存储器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB4KB)中的程序,但中的程序,但PCPC值超出值超出0FFFH0FFFH (即超出片内(即超出片内4KB Flash4KB Flash地地址范围)时,将址范围)时,将自动转向读取片外自动转向读取片外60KB60KB(1000H-FFFFH1000H-FFFFH)程序存储器空间中的程序。程序存储器空间中的程序。 =0 =0,只读取只读取外部的程序存储器外部的程序存储器中的内容,读取的地中的内容,读取的地址
13、范围为址范围为0000H0000HFFFFHFFFFH,片内的,片内的4KB Flash 4KB Flash 程序存储器程序存储器不起作用。不起作用。 V VPPPP:引脚引脚第二功能第二功能,对片内,对片内FlashFlash编程,接编程,接编程电压编程电压。EAEAEAEA第15页/共102页16(3 3)ALE/ ALE/ (Address Latch Enable/PROGrammingAddress Latch Enable/PROGramming,3030脚)脚)ALEALE为为CPUCPU访问外部程序存储器或外部数据存储器访问外部程序存储器或外部数据存储器提供提供地址锁存信号地址
14、锁存信号,将,将低低8 8位地址位地址锁存在片外的地址锁锁存在片外的地址锁存器中。存器中。此外,单片机此外,单片机正常运行正常运行时,时,ALEALE端端一直有正脉冲信号输一直有正脉冲信号输出出,此频率为时钟振荡器频率,此频率为时钟振荡器频率f foscosc的的1/61/6。可用作外部。可用作外部定时或触发信号。定时或触发信号。注意注意,每当,每当AT89S51AT89S51访问外部访问外部RAMRAM时(执行时(执行MOVXMOVX类指类指令),要令),要丢失一个丢失一个ALEALE脉冲脉冲。16PROG第16页/共102页17如需要,可将如需要,可将特殊功能寄存器特殊功能寄存器AUXRA
15、UXR(地址为(地址为8EH8EH,将,将在后面介绍)的在后面介绍)的第第0 0位位(ALEALE禁止位)置禁止位)置1 1,来,来禁止禁止ALEALE操作操作,但执行访问外部程序存储器或外部数据存,但执行访问外部程序存储器或外部数据存储器指令储器指令“MOVCMOVC”或或“MOVXMOVX”时,时,ALEALE仍然有效。仍然有效。即即ALEALE禁止位不影响对外部存储器的访问。禁止位不影响对外部存储器的访问。 :引脚引脚第二功能第二功能,对片内,对片内 FlashFlash编程,为编程,为编程编程脉冲输入脉冲输入脚。脚。(4 4) (Program Strobe ENableProgram
16、 Strobe ENable,2929脚)脚) 片外程序存储器读选通信号,低电平有效。PROGPSEN第17页/共102页182.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口口,需加上拉电阻,这时为准准双向口双向口。作为通用I/O输入,应先向端口写入1。可驱动8个LS型TTL负载。第18页/共102页19(2 2)P1P1口:口:8 8位,准双
17、向位,准双向I/OI/O口,具有内部上拉电口,具有内部上拉电阻。阻。准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1。P1口可驱动4 4个个LSLS型型TTLTTL负载。P1.5/MOSIP1.5/MOSI、P1.6/MISOP1.6/MISO和和P1.7/SCKP1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。第19页/共102页20(3 3)P2P2口:口:8位,准双向I/O口,具有内部上拉电阻。当AT89S51扩展外部存储器及I/O口时,P2口作为高高8 8位地址总线位地址总线用,输出高8位地址。P2P2口口也可作为普通的也
18、可作为普通的I/OI/O口口使用。当作为通用使用。当作为通用I/OI/O输输入时,应先向端口输出锁存器写入时,应先向端口输出锁存器写1 1。P2P2口可驱动口可驱动4 4个个LSLS型型TTLTTL负载负载。第20页/共102页21(4 4)P3P3口:口:8 8位,位,准双向准双向I/OI/O口口,具有内部上拉电阻。,具有内部上拉电阻。可作为可作为通用的通用的I/OI/O口使用口使用。作为。作为通用通用I/OI/O输入输入,应先,应先向端口输出锁存器写入向端口输出锁存器写入1 1。可驱动。可驱动4 4个个LSLS型型TTLTTL负载。负载。P3P3口还可提供口还可提供第二功能第二功能。第二功
19、能定义。第二功能定义见见表表2-12-1,应熟记。,应熟记。第21页/共102页22综上所述,综上所述,P0P0口口可可作为总线作为总线口口,为双向口。作为通,为双向口。作为通用的用的I/OI/O口使用时,为准双向口,这时需加上拉电阻。口使用时,为准双向口,这时需加上拉电阻。P1P1口、口、P2P2口、口、P3P3口口均为准双向口。均为准双向口。注意注意:准双向口与双向口的差别准双向口与双向口的差别。准双向口仅有两。准双向口仅有两个状态。而个状态。而P0P0口作为总线使用,口线内无上拉电阻,口作为总线使用,口线内无上拉电阻,处于高阻处于高阻“悬浮悬浮”态。故态。故P0P0口为双向三态口为双向三
20、态I/OI/O口。口。为什么为什么P0P0口要有高阻口要有高阻“悬浮悬浮”态?态?准双向准双向I/OI/O口则无高阻的口则无高阻的“悬浮悬浮”状态。状态。另外,另外,准双向口准双向口作通用作通用I/OI/O的输入口使用时,的输入口使用时,一定一定要向该口先写入要向该口先写入“1 1”。以上的准双向口与双向口的差以上的准双向口与双向口的差别,读者在阅读别,读者在阅读2.52.5节后,将会有深刻的理解。节后,将会有深刻的理解。第22页/共102页232.3 AT89S512.3 AT89S51的的CPUCPU由图由图2-12-1可见,可见,CPUCPU由由运算器运算器和和控制器控制器构成。构成。2
21、.3.1 2.3.1 运算器运算器对操作数进行算术、逻辑和位操作运算。主要包括对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元算术逻辑运算单元ALUALU、累加器、累加器A A、位处理器、程序状、位处理器、程序状态字寄存器态字寄存器PSWPSW及两个暂存器等。及两个暂存器等。1 1算术逻辑运算单元算术逻辑运算单元ALUALU可对可对8 8位变量位变量逻辑逻辑运算运算(与、或、异或、循环、求与、或、异或、循环、求补和清零补和清零),还可,还可算术运算算术运算(加、减、乘、除加、减、乘、除)ALUALU还有位操作功能,对位变量进行位处理,如置还有位操作功能,对位变量进行位处理,如置1
22、1、清清0 0、求补、测试转移及逻辑、求补、测试转移及逻辑“与与”、“或或”等等。第23页/共102页242 2累加器累加器A A使用最频繁的寄存器,使用最频繁的寄存器,可可写为写为AccAcc。“A A”与与“AccAcc” ” 书写上的差别,将在第书写上的差别,将在第3 3章介绍。章介绍。作用如下:作用如下:(1 1)ALUALU单元的输入数据源之一,又是单元的输入数据源之一,又是ALUALU运算结果运算结果存放单元存放单元。(2 2)数据传送大多都通过累加器)数据传送大多都通过累加器A A,相当于数据的,相当于数据的中转站。为解决中转站。为解决“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S5
23、1AT89S51增加增加了一部分可以不经过累加器的传送指令。了一部分可以不经过累加器的传送指令。A A的进位标志的进位标志CyCy是特殊的,因为它同时又是是特殊的,因为它同时又是位处理机位处理机的的位累加器位累加器第24页/共102页253 3程序状态字寄存器程序状态字寄存器PSWPSWPSWPSW(Program Status WordProgram Status Word)位于片内特殊功能寄)位于片内特殊功能寄存器区,存器区,字节地址为字节地址为D0HD0H。包含了包含了程序运行状态的信息程序运行状态的信息,其中,其中4 4位保存当前指令执位保存当前指令执行后的状态,供程序查询和判断。行后
24、的状态,供程序查询和判断。格式如图格式如图2-32-3所示所示。图2-32-3 PSW PSW的格式第25页/共102页26PSWPSW中各个位的功能中各个位的功能:(1 1)CyCy(PSW.7PSW.7)进位标志位)进位标志位 可写为可写为C C。在算术和逻辑运算时,若有。在算术和逻辑运算时,若有进位进位/ /借位借位,CyCy1 1;否则,;否则,CyCy0 0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)辅助进位标志位)辅助进位标志位 在在BCDBCD码运算时,用作十进位调整。即当码运算时,用作十进位调整。即当D3D3位向位向D4D
25、4位产生进位或借位时,位产生进位或借位时,AcAc1 1;否则,;否则,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用户设定标志位)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置由用户使用的一个状态标志位,可用指令来使它置1 1或清或清0 0,控制程序的流向。用户应充分利用。控制程序的流向。用户应充分利用。第26页/共102页27(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4组工作寄存器区选组工作寄存器区选择择选择片内选择片内RAMRAM区中的区中的4 4组工作寄存器区中的某一组为当组工作寄存器区中的某一组为当前工作寄存区前
26、工作寄存区见见表表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页/共102页28P=1P=1,表示表示A A中中“1 1”的个数为的个数为奇数奇数。P=0P=0,表示,表
27、示A A中中“1 1”的个数为的个数为偶数偶数。此标志位对串行通信有重要的意义此标志位对串行通信有重要的意义,常用常用奇偶检奇偶检验验的方法来检验数据串行传输的可靠性。的方法来检验数据串行传输的可靠性。第28页/共102页292.3.2 2.3.2 控制器控制器 任务任务识别指令,并根据指令的性质控制单片机各功识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。能部件,从而保证单片机各部分能自动协调地工作。 控制器包括控制器包括:程序计数器、指令寄存器、指令译码程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、器、定时及控制逻辑电
28、路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。译码和执行,从而对各功能部件进行定时和逻辑控制。 程序计数器程序计数器PCPC是一个独立的是一个独立的1616位计数器,不可访问。位计数器,不可访问。单片机复位时,单片机复位时,PCPC中内容为中内容为0000H0000H,从程序存储器,从程序存储器0000H0000H单元取指令,开始执行程序。单元取指令,开始执行程序。 第29页/共102页30 PCPC工作过程是工作过程是:CPUCPU读指令时,读指令时,PCPC的内容作为所取指的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同令的地址,程序存储器按此地址
29、输出指令字节,同时时PCPC自动加自动加1 1。PCPC中内容变化轨迹中内容变化轨迹决定程序流程。当决定程序流程。当顺序执行顺序执行程序时程序时自动加自动加1 1;执行;执行转移程序转移程序或或子程序、中断子程序调用子程序、中断子程序调用时,自动将其内容更改成所要转移的目的地址。时,自动将其内容更改成所要转移的目的地址。 PC PC的计数宽度的计数宽度决定了程序存储器的地址范围。决定了程序存储器的地址范围。PCPC为为1616位,故可对位,故可对64KB64KB(=2=21616B B)寻址。寻址。第30页/共102页312.4 AT89S512.4 AT89S51存储器的结构存储器的结构存储
30、器存储器的的结构特点之一是将程序存储器和数据存储结构特点之一是将程序存储器和数据存储器分开器分开(哈佛结构),(哈佛结构),并有并有各自各自的访问指令。的访问指令。存储器空间可分为存储器空间可分为4 4类类。. .程序存储器空间程序存储器空间片内和片外两部分。片内和片外两部分。片内片内4KB4KB FlashFlash ,编程和擦除完全是电气实现。可,编程和擦除完全是电气实现。可用通用编程器对其编程,也可用通用编程器对其编程,也可在线编程在线编程。当片内当片内4KB Flash 4KB Flash 存储器不够用时,可片外扩展,存储器不够用时,可片外扩展,最多可扩展至最多可扩展至64KB64KB
31、程序存储器。程序存储器。第31页/共102页32. .数据存储器空间数据存储器空间片内片内与与片外片外两部分。两部分。片内有片内有128 B RAM128 B RAM(5252子系列子系列为为256B256B)。片内片内RAMRAM不够用时,在不够用时,在片外可扩至片外可扩至64KB 64KB RAMRAM 。. .特殊功能寄存器特殊功能寄存器SFRSFR (Special Function Special Function RegisterRegister)片内各功能部件的控制寄存器及状态寄存器。片内各功能部件的控制寄存器及状态寄存器。SFRSFR综综合反映了整个单片机基本系统内部实际的工作
32、状态合反映了整个单片机基本系统内部实际的工作状态及工作方式。及工作方式。. .位地址空间位地址空间共有共有211211个个可寻址位,构成了位地址空间。位于内部可寻址位,构成了位地址空间。位于内部 RAMRAM(共(共128128位)和特殊功能寄存器区(共位)和特殊功能寄存器区(共8383位)中。位)中。第32页/共102页332.4.1 2.4.1 程序存储器空间程序存储器空间存放程序和表格之类的固定常数。片内为存放程序和表格之类的固定常数。片内为4KB4KB的的 Flash Flash ,地址为,地址为0000H0000H0FFFH0FFFH。1616位地址线,可外位地址线,可外扩的程序存储
33、器空间最大为扩的程序存储器空间最大为64KB64KB,地址为,地址为0000H0000HFFFFHFFFFH。使用使用时时应注意以下问题应注意以下问题:(1 1)分为)分为片内片内和和片外片外两部分两部分(2 2)程序存储器某些固定单元)程序存储器某些固定单元第33页/共102页34(1 1)分为)分为片内片内和和片外片外两部分两部分,访问片内的还是片外的,访问片内的还是片外的程序存储器,由程序存储器,由 引脚电平引脚电平确定。确定。 =1 =1时,时,CPUCPU从片内从片内0000H0000H开始取指令,开始取指令,当当PCPC值值没有超出没有超出0FFFH0FFFH时,只访问片内时,只访
34、问片内Flash Flash 存储器,存储器,当当PCPC值超出值超出0FFFH0FFFH自动转向读片外程序存储器空间自动转向读片外程序存储器空间1000H1000HFFFFH FFFFH 内的程序。内的程序。 =0 =0时,只能执行片外程序存储器(时,只能执行片外程序存储器(0000H0000HFFFFHFFFFH)中的程序。不理会片内)中的程序。不理会片内4KB Flash 4KB Flash 存储器。存储器。EAEAEA第34页/共102页35(2 2)程序存储器某些固定单元)程序存储器某些固定单元用于各中断源中断服用于各中断源中断服务程序入口。务程序入口。64KB64KB程序存储器空间
35、中有5 5个特殊单元分别对应于5 5个中断源的中断入口地址,见表2-32-3。通常这5 5个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服务子程序。第35页/共102页362.4.2 2.4.2 数据存储器空间数据存储器空间 片内与片外两部分。片内与片外两部分。. .片内数据存储器片内数据存储器 片内数据存储器(片内数据存储器(RAMRAM)共)共128128个单个单元,字节地址元,字节地址为为00H00H7FH7FH。图图2-42-4为片内数据存储器的结构。为片内数据存储器的结构。00H00H1FH1FH 的的3232个单元个单元是是4 4组通用工组通用工作寄存
36、器区,每区包含作寄存器区,每区包含8B8B,为,为R7R7R0R0。可。可通过指令改变通过指令改变RS1RS1、RS0RS0两位两位来选择。来选择。20H20H2FH2FH的的1616个个单元的单元的128128位可位寻位可位寻址,也可字节寻址。址,也可字节寻址。30H30H7FH7FH的单元只能字节寻址,用作的单元只能字节寻址,用作存数据以及作为堆栈区。存数据以及作为堆栈区。第36页/共102页37. .片外数据存储器片外数据存储器当片内当片内128B128B的的RAMRAM不够用时,需外扩,最多可外扩不够用时,需外扩,最多可外扩64KB64KB的的RAMRAM。注意,片内注意,片内RAMR
37、AM与片外与片外RAMRAM两个空间是两个空间是相互独立的,相互独立的,片内片内RAMRAM与片外与片外RAMRAM的低的低128B128B的地址是的地址是相同的相同的,但由于使用的是不同的访问指令,所以不,但由于使用的是不同的访问指令,所以不会发生冲突。会发生冲突。第37页/共102页382.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR)采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件各功能部件。特殊功能特殊功能寄存器寄存器映射在片内映射在片内RAMRAM的的 80H80HFFH FFH 区域区域中,共中,共2626个个。SFRSFR的名称及其分布的名称及其
38、分布 ,有些还可位寻址,有些还可位寻址, ,见见表表2-4 2-4 。与与AT89C51AT89C51相比,相比,新增新增5 5个个SFRSFR:DP1LDP1L、DP1HDP1H、AUXRAUXR、AUXR1AUXR1和和WDTRSTWDTRST,已在,已在表表2-42-4中标出。中标出。凡是凡是可位寻址的可位寻址的SFRSFR,字节地址末位只能是,字节地址末位只能是0H0H或或8H8H。另外,若读另外,若读/ /写写未未定义单元,将得到一个不确定的随定义单元,将得到一个不确定的随机数。机数。下面介绍某些下面介绍某些SFRSFR,余下的,余下的SFRSFR将在后将在后面面介绍。介绍。第38页
39、/共102页39第39页/共102页40第40页/共102页411 1堆栈指针堆栈指针SPSP指示堆栈顶部在内部指示堆栈顶部在内部RAMRAM块中的位置。块中的位置。堆栈结构堆栈结构向上生长型向上生长型。单片机。单片机复位复位后,后,SPSP为为07H07H,使得堆栈实际上从使得堆栈实际上从08H08H单元开始,单元开始,由于由于08H08H1FH1FH单单元分别是属于元分别是属于1 13 3组的工作寄存器区,组的工作寄存器区,最好在复最好在复位位后后把把SPSP值改置为值改置为60H60H或更大的值或更大的值,避免堆栈与工,避免堆栈与工作寄存器冲突。作寄存器冲突。堆栈是为堆栈是为子程序调用子
40、程序调用和和中断操作中断操作而设而设,主要主要用来用来保保护断点护断点和和现场现场。第41页/共102页421 1堆栈指针堆栈指针SPSP(1 1)保护断点。)保护断点。无论是子程序调用操作还是中断服务无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准序的断点在堆栈中保护起来,为程序正确返回做准备。备。(2 2)现场保护。)现场保护。执行子程序或中断服务子程序时,要执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关用到一些寄存器单元,会破坏原有内容。要把有
41、关寄存器单元的内容保存起来,送入堆栈,这就是所寄存器单元的内容保存起来,送入堆栈,这就是所谓的谓的“现场保护现场保护”。两种操作:两种操作:数据压入数据压入(PUSHPUSH)堆栈,堆栈,数据弹出数据弹出(POPPOP)堆栈。数据压入堆栈,堆栈。数据压入堆栈,SPSP自动加自动加1 1;数据弹出堆栈,;数据弹出堆栈,SPSP自动减自动减1 1。第42页/共102页432 2寄存器寄存器B B为执行乘法和除法为执行乘法和除法而而设。在不执行乘、除法操作的设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。情况下,可把它当作一个普通寄存器来使用。乘法乘法,两乘数分别在,两乘数分别在A
42、 A、B B中,执行乘法指令后,乘中,执行乘法指令后,乘积在积在BABA中中除法除法,被除数取自,被除数取自A A,除数取自,除数取自B B,商存放在,商存放在A A中,中,余数存余数存B B中。中。第43页/共102页443 3AUXRAUXR寄存器寄存器 AUXR AUXR是辅助寄存器,其格式如是辅助寄存器,其格式如图图2-52-5所示所示:图2-52-5 AUXRAUXR寄存器的格式其中: :DISALEDISALE:ALEALE的禁止/ /允许位。0 0:ALEALE有效,发出脉冲; 1 1:ALEALE仅在执行MOVCMOVC和MOVXMOVX类指令时有效,不访问外部存储器时,ALE
43、ALE不输出脉冲信号。第44页/共102页45DISRTODISRTO:禁止禁止/ /允许允许WDTWDT溢出时的复位输出溢出时的复位输出。0 0:WDTWDT溢出时,在溢出时,在RSTRST引脚输出一个高电平脉冲;引脚输出一个高电平脉冲;1 1:RSTRST引脚仅为输入脚。引脚仅为输入脚。WDIDLEWDIDLE:WDTWDT在空闲模式下的禁止在空闲模式下的禁止/ /允许位。允许位。 0 0: WDTWDT在空闲模式下继续计数;在空闲模式下继续计数; 1 1: WDTWDT在空闲模式下暂停计数。在空闲模式下暂停计数。第45页/共102页464. 4. 数据指针数据指针DPTR0DPTR0和和
44、DPTR1DPTR1双数据指针寄存器双数据指针寄存器,便于访问便于访问数据存储器数据存储器。DPTR0DPTR0:AT89C51AT89C51单片机单片机原有原有的数据指针的数据指针;DPTR1DPTR1:新增加新增加的数据指针。的数据指针。AUXR1AUXR1的的DPSDPS位位用于用于选择选择两个数据指针两个数据指针。当。当DPS=0DPS=0时,时,选用选用DPTR0DPTR0;当;当DPS=1DPS=1时,选用时,选用DPTR1DPTR1。数据指针数据指针可作为一个可作为一个1616位寄存器来用,也可作为两个位寄存器来用,也可作为两个独立的独立的8 8位寄存器位寄存器DP0HDP0H(
45、或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)来用。来用。第46页/共102页475. AUXR15. AUXR1寄存器寄存器AUXR1AUXR1是辅助寄存器,格式如是辅助寄存器,格式如图图2-62-6所示所示: DPSDPS:数据指针寄存器选择位。数据指针寄存器选择位。0 0:选择数据指针寄存器选择数据指针寄存器DPTR0DPTR0;1 1:选择数据指针寄存器选择数据指针寄存器DPTR1DPTR1。图2-62-6 AUXR1AUXR1寄存器的格式第47页/共102页486. 6. 看门狗定时器看门狗定时器WDTWDTWDTWDT包含一个包含一个1414位计数器位计数
46、器和和看门狗定时器复位寄存看门狗定时器复位寄存器器(WDTRSTWDTRST)。)。当当CPUCPU由于干扰,程序陷入死循环或跑飞状态时,由于干扰,程序陷入死循环或跑飞状态时,WDTWDT提供了一种使程序恢复正常运行的有效手段。提供了一种使程序恢复正常运行的有效手段。有关有关WDTWDT在抗干扰设计中的应用以及低功耗模式下运在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应的章节中具体介绍。行的状态,将在相应的章节中具体介绍。上面介绍的特殊功能寄存器,上面介绍的特殊功能寄存器,除了前两个除了前两个SPSP和和B B以外,以外,其余的均为其余的均为AT89S51AT89S51在在AT89C
47、51AT89C51基础上基础上新增加的新增加的SFRSFR。第48页/共102页492.4.4 2.4.4 位地址空间位地址空间211211个寻址位的位地址,位地址范围为个寻址位的位地址,位地址范围为 00H00HFFHFFH,其,其中中 00H00H7FH7FH 这这128128位处于位处于片内片内RAM RAM 字节地址字节地址 20H20H2FH2FH 单元中,如单元中,如表表2-52-5所示。其余的所示。其余的8383个可寻个可寻址位址位分布在分布在特殊功能寄存器特殊功能寄存器SFRSFR中,中,见见表表2-62-6。可被位寻址的可被位寻址的特殊寄存器特殊寄存器有有1111个个,共有位
48、地址,共有位地址8888个,个,5 5个位未用,其余个位未用,其余8383个位的位地址离散地分布于片内个位的位地址离散地分布于片内数据存储器区字节地址为数据存储器区字节地址为80H80HFFHFFH的范围内,其的范围内,其最最低的位地址等于其字节地址低的位地址等于其字节地址,且其字节地址的,且其字节地址的末位末位都为都为0H0H或或8H8H。第49页/共102页50第50页/共102页51特殊功能寄存器位 地 址字 节地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5H
49、D4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布第51页/共102页52 作为对作为对AT89S51AT89S51存储器结构的总结,存储器结
50、构的总结,图图2-72-7为为各类存储器的结构图。各类存储器的结构图。从图中可从图中可清楚看出各类存储清楚看出各类存储器在存储器空间的位置。器在存储器空间的位置。第52页/共102页532.5 AT89S512.5 AT89S51的并行的并行I/OI/O端口端口4 4个双向的个双向的8 8位并行位并行I/OI/O端口,分别记为端口,分别记为P0P0、P1P1、P2P2和和P3P3,其中,其中输出锁存器输出锁存器属于属于特殊功能寄存器特殊功能寄存器。端口的。端口的每一位均由输出锁存器、输出驱动器和输入缓冲器每一位均由输出锁存器、输出驱动器和输入缓冲器组成,组成,4 4个端口按个端口按字节输入字节
51、输入/ /输出输出外,外,也也可可位寻址位寻址。2.5.1 P02.5.1 P0口口P0P0口是一个口是一个双功能双功能的的8 8位并行端口,位并行端口,字节地址字节地址为为80H80H,位地址为位地址为80H80H87H87H。端口的各位具有完全相同但又。端口的各位具有完全相同但又相互独立的电路结构,相互独立的电路结构,P0P0口口某一位的某一位的位电路结构位电路结构如如图图2-82-8所示所示。第53页/共102页54第54页/共102页551 1位电路结构位电路结构 P0 P0口某一位的电路包括:口某一位的电路包括:(1 1)一个数据输出的锁存器,用于数据位的锁存。)一个数据输出的锁存器
52、,用于数据位的锁存。(2 2)两个三态的数据输入缓冲器,分别是用于)两个三态的数据输入缓冲器,分别是用于读锁存读锁存器数据器数据的输入缓冲器的输入缓冲器BUF1BUF1和和读引脚数据读引脚数据的输入缓冲器的输入缓冲器BUF2BUF2。(3 3)一个多路转接开关)一个多路转接开关MUXMUX,它的一个输入来自锁存,它的一个输入来自锁存器的器的 端,另一个输入为地址端,另一个输入为地址/ /数据信号的反相输出。数据信号的反相输出。MUXMUX由由“控制控制”信号控制,实现锁存器的输出和地址信号控制,实现锁存器的输出和地址/ /数据信号之间的转接。数据信号之间的转接。(4 4)数据输出的)数据输出的
53、控制和驱动电路控制和驱动电路,由,由两个场效应管两个场效应管(FETFET)组成。)组成。第55页/共102页562 2工作过程分析工作过程分析(1 1)P0P0口用作地址口用作地址/ /数据总线数据总线外扩存储器或外扩存储器或I/OI/O时,时,P0P0口作为单片机系统口作为单片机系统复用的复用的地地址址/ /数据总线使用。数据总线使用。当作为当作为地址或数据输出地址或数据输出时,时,“控制控制”信号为信号为1 1,硬件自,硬件自动使转接开关动使转接开关MUXMUX打向上面,接通反相器的输出,同打向上面,接通反相器的输出,同时使与门处于开启状态。时使与门处于开启状态。当当输出的地址输出的地址
54、/ /数据信息为数据信息为1 1时,与门输出为时,与门输出为1 1,上方的,上方的场效应管导通,下方的场效应管截止,场效应管导通,下方的场效应管截止,P0.xP0.x引脚输引脚输出为出为1 1;当输出的地址当输出的地址/ /数据信息为数据信息为0 0时,时,上方的场效上方的场效应管应管截止截止,下方的场效应管下方的场效应管导通导通,P0.xP0.x引脚输出为引脚输出为0 0。第56页/共102页57输出电路是输出电路是上、下两个场效应管形成的上、下两个场效应管形成的推拉式结构推拉式结构,大大提,大大提高了负载能力,上方的场效应管这时起到高了负载能力,上方的场效应管这时起到内部上拉电阻内部上拉电
55、阻的的作用。作用。当当P0P0口作为口作为数据数据输入时输入时,仅从外部存储器(或,仅从外部存储器(或I/OI/O)读入信)读入信息,对应的息,对应的“控制控制”信号为信号为0 0,MUXMUX接通锁存器的接通锁存器的 端。端。由于由于P0P0口作为地址口作为地址/ /数据复用方式访问外部存储器时,数据复用方式访问外部存储器时,CPUCPU自自动向动向P0P0口写入口写入FFHFFH,使下方场效应管截止,上方场效应管,使下方场效应管截止,上方场效应管由于控制信号为由于控制信号为0 0也截止,从而也截止,从而保证数据信息的保证数据信息的高阻抗高阻抗输输入入,从外部存储器输入的数据信息直接由,从外
56、部存储器输入的数据信息直接由P0.xP0.x引脚通过输引脚通过输入缓冲器入缓冲器BUF2BUF2进入内部总线。进入内部总线。具有具有高阻抗输入的高阻抗输入的I/OI/O口口应具有应具有高电平高电平、低电平低电平和和高阻抗高阻抗3 3种种状态状态的端口。因此,的端口。因此,P0P0口作为地址口作为地址/ /数据总线使用时是一数据总线使用时是一个真正的双向端口,简称个真正的双向端口,简称双向口双向口。Q第57页/共102页58(2 2)P0P0口用作通用口用作通用I/OI/O口口当当P0P0口不作为系统的地址口不作为系统的地址/ /数据总线使用时,此时数据总线使用时,此时P0P0口口也可作为通用的
57、也可作为通用的I/OI/O口使用。口使用。作通用的作通用的I/OI/O口时,对应的口时,对应的“控制控制”信号为信号为0 0,MUXMUX打向打向下面,接通锁存器的下面,接通锁存器的 端,端,“与门与门”输出为输出为0 0,上方场,上方场效应管截止,形成的效应管截止,形成的P0P0口输出电路为漏极开路输出。口输出电路为漏极开路输出。P0P0口作输出口口作输出口时,来自时,来自CPUCPU的的“写写”脉冲加在脉冲加在D D锁存器锁存器的的CPCP端,内部总线上的数据写入端,内部总线上的数据写入D D锁存器,并由引脚锁存器,并由引脚P0.xP0.x输出。输出。Q第58页/共102页59当当D D锁
58、存器为锁存器为1 1时,时, 端为端为0 0,下方场效应管截止,输出,下方场效应管截止,输出为漏极开路,此时,必须外接上拉电阻才能有高电平输为漏极开路,此时,必须外接上拉电阻才能有高电平输出;当出;当D D锁存器为锁存器为0 0时,下方场效应管导通,时,下方场效应管导通,P0P0口输出为口输出为低电平。低电平。P0P0口作输入口口作输入口使用时,有使用时,有两种读入方式两种读入方式:“读锁存器读锁存器”和和“读引脚读引脚”。当当CPUCPU发出发出“读锁存器读锁存器”指令时,指令时,锁存器的状态锁存器的状态由由Q Q端端经上方的三态缓冲器经上方的三态缓冲器BUF1BUF1进入内部总线;进入内部
59、总线;当当CPUCPU发出发出“读引脚读引脚”指令指令时,锁存器的输出状态时,锁存器的输出状态=1=1(即(即 端端为为0 0),而使下方场效应管截止,),而使下方场效应管截止,引脚的状态引脚的状态经下方的三态缓冲器经下方的三态缓冲器BUF2BUF2进入内部总线。进入内部总线。QQ第59页/共102页603 3P0P0口的特点口的特点P0P0口为口为双功能口双功能口地址地址/ /数据复用数据复用口和口和通用通用I/OI/O口。口。(1 1)当用作当用作地址地址/ /数据复用数据复用口时,口时, P0P0口是个口是个真正的双向真正的双向口口, 输出低输出低8 8位地址和输出位地址和输出/ /输入
60、输入8 8位数据。位数据。(2 2)当当P0P0口用作口用作通用通用I/OI/O口时,由于需要在片外接上拉电口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此是一个阻,端口不存在高阻抗(悬浮)状态,因此是一个准双向准双向口口。为保证引脚信号的为保证引脚信号的正确读入正确读入,应,应首先向锁存器写首先向锁存器写1 1。单片。单片机复位后,锁存器自动被置机复位后,锁存器自动被置1 1;当;当P0P0口由原来输出转变为口由原来输出转变为输入时,应先置锁存器为输入时,应先置锁存器为1 1,方可执行输入操作。,方可执行输入操作。P0P0口口大多作为地址大多作为地址/ /数据复用口数据复用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光伏电站屋顶漏水维修协议书
- 外聘机构培训安全协议书
- 2026-2031中国光敏晶体管行业市场研究及投资战略预测报告
- 2026-2031中国固态电容器现状分析及市场前景预测
- 2025年5月管理体系认证基础CCAA审核员考试题及答案
- gmp生产管理的试题及答案
- 2025药品质量管理制度培训题库及参考答案
- 特种设备安全管理培训考试试卷及答案
- 2025年电子商务师考试电子商务理论与营销实践备考题库及答案解析
- 唐代职官制度与行政分工分析
- 应急供货方案及措施
- 2025 儿科过敏性紫癜护理查房课件
- 小学票据管理办法
- 第二章河北历史沿革10课件
- 2025年上海书法考试题目及答案
- 2025至2030中国高级会所行业市场占有率及投资前景评估规划报告
- 禁烟禁毒班会课件
- 教科版六年级科学上册第三单元测试卷附答案
- DZB200B富凌系列变频器说明书
- 无人机试飞基地建设项目可行性研究报告
- 危重病人皮肤护理
评论
0/150
提交评论