硬件结构学习.pptx

上传人:莉*** 文档编号:88384095 上传时间:2023-04-25 格式:PPTX 页数:102 大小:1.21MB
返回 下载 相关 举报
硬件结构学习.pptx_第1页
第1页 / 共102页
硬件结构学习.pptx_第2页
第2页 / 共102页
点击查看更多>>
资源描述

《硬件结构学习.pptx》由会员分享,可在线阅读,更多相关《硬件结构学习.pptx(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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;AT89C5

7、5片内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 9)特殊功能寄存

8、器()特殊功能寄存器(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口应熟记每一引脚功能对应用系统硬件电路设计十分重应熟记每一引脚功能对应用系统硬件电路设计十分重要。要。第11页/共102页122.2.1 2.2.1 电源及时钟引脚电源及时钟引脚1 1电源引脚电源引脚(1 1)V VCCCC(4040脚):脚):+5V电源。(2 2)V VSSSS(2020脚):脚):数字地。图2-2 AT89S51双列直插封装方式的引脚第12页/共102页132 2时钟引脚时钟引脚

10、 (1 1)XTAL1XTAL1(1919脚):脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时外接时钟源时,该脚接外部时钟振荡器的信号。(2 2)XTAL2XTAL2(1818脚):脚):片内振荡器反相放大器的输出端。当使用片内振荡器片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源外部时钟源时,本脚悬空。第13页/共102页142.2.2 2.2.2 控制引脚控制引脚(1 1)RST(RESETRST(RESET,9 9脚脚)复位信号输入,在引脚加上持续时间大于持续时间大于2 2个机器周个机器周期的高电平期的高电平,可使

11、单片机复位复位。正常工作,此脚电平应 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值不超出值不超出0FFFH0FFFH(即不超出片内(即不超出片内4K

12、B Flash4KB Flash存储器的地址范围)时,单片机读存储器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB4KB)中的程序,但)中的程序,但PCPC值超出值超出0FFFH0FFFH (即超出片内(即超出片内4KB 4KB FlashFlash地址范围)时,将地址范围)时,将自动转向读取片外自动转向读取片外60KB60KB(1000H-1000H-FFFFHFFFFH)程序存储器空间中的程序。)程序存储器空间中的程序。=0 =0,只读取只读取外部的程序存储器外部的程序存储器中的内容,读取的地中的内容,读取的地址范围为址范围为0000H0000HFFFFHFFFFH,片内的,

13、片内的4KB Flash 4KB Flash 程序存储器程序存储器不起作用。不起作用。V VPPPP:引脚引脚第二功能第二功能,对片内,对片内FlashFlash编程,接编程,接编程电压编程电压。第15页/共102页16(3 3)ALE/ALE/(Address Latch Enable/PROGrammingAddress Latch Enable/PROGramming,3030脚)脚)ALEALE为为CPUCPU访问外部程序存储器或外部数据存储器访问外部程序存储器或外部数据存储器提供提供地址锁存信号地址锁存信号,将,将低低8 8位地址位地址锁存在片外的地址锁锁存在片外的地址锁存器中。存器

14、中。此外,单片机此外,单片机正常运行正常运行时,时,ALEALE端端一直有正脉冲信号输一直有正脉冲信号输出出,此频率为时钟振荡器频率,此频率为时钟振荡器频率f foscosc的的1/61/6。可用作外部。可用作外部定时或触发信号。定时或触发信号。注意注意,每当,每当AT89S51AT89S51访问外部访问外部RAMRAM时(执行时(执行MOVXMOVX类指令)类指令),要,要丢失一个丢失一个ALEALE脉冲脉冲。16第16页/共102页17如需要,可将如需要,可将特殊功能寄存器特殊功能寄存器AUXRAUXR(地址为(地址为8EH8EH,将在,将在后面介绍)的后面介绍)的第第0 0位位(ALEA

15、LE禁止位)置禁止位)置1 1,来,来禁止禁止ALEALE操作操作,但执行访问外部程序存储器或外部数据存储器,但执行访问外部程序存储器或外部数据存储器指令指令“MOVCMOVC”或或“MOVXMOVX”时,时,ALEALE仍然有效。仍然有效。即即ALEALE禁止位不影响对外部存储器的访问。禁止位不影响对外部存储器的访问。:引脚引脚第二功能第二功能,对片内,对片内 FlashFlash编程,为编程,为编程编程脉冲输入脉冲输入脚。脚。(4 4)(Program Strobe ENableProgram Strobe ENable,2929脚)脚)片外程序存储器读选通信号,低电平有效。第17页/共1

16、02页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位,准双向位,准双向I/OI/O口,具有内部上拉电口,具有内部上拉电阻。阻。准双向I/O口,作为通用I/O输入时,应先向端口

17、锁存器写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口口也可作为普通的也可作为普通的I/OI/O口口使用。当作为通用使用。当作为通用I/OI/O输输入时,应先向端口输出锁存器写入时,应先向

18、端口输出锁存器写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口还可提供口还可提供第二功能第二功能。第二功能定义。第二功能定义见见表表2-12-1,应熟记。,应熟记。第21页/共102页22综上所述,综上所述,P0P0口口

19、可可作为总线作为总线口口,为双向口。作为通,为双向口。作为通用的用的I/OI/O口使用时,为准双向口,这时需加上拉电阻。口使用时,为准双向口,这时需加上拉电阻。P1P1口、口、P2P2口、口、P3P3口口均为准双向口。均为准双向口。注意注意:准双向口与双向口的差别准双向口与双向口的差别。准双向口仅有两。准双向口仅有两个状态。而个状态。而P0P0口作为总线使用,口线内无上拉电阻,口作为总线使用,口线内无上拉电阻,处于高阻处于高阻“悬浮悬浮”态。故态。故P0P0口为双向三态口为双向三态I/OI/O口。口。为什么为什么P0P0口要有高阻口要有高阻“悬浮悬浮”态?态?准双向准双向I/OI/O口则无高阻

20、的口则无高阻的“悬浮悬浮”状态。状态。另外,另外,准双向口准双向口作通用作通用I/OI/O的输入口使用时,的输入口使用时,一定一定要向该口先写入要向该口先写入“1 1”。以上的准双向口与双向口的差以上的准双向口与双向口的差别,读者在阅读别,读者在阅读2.52.5节后,将会有深刻的理解。节后,将会有深刻的理解。第22页/共102页232.3 AT89S512.3 AT89S51的的CPUCPU由图由图2-12-1可见,可见,CPUCPU由由运算器运算器和和控制器控制器构成。构成。2.3.1 2.3.1 运算器运算器对操作数进行算术、逻辑和位操作运算。主要包括对操作数进行算术、逻辑和位操作运算。主

21、要包括算术逻辑运算单元算术逻辑运算单元ALUALU、累加器、累加器A A、位处理器、程序状、位处理器、程序状态字寄存器态字寄存器PSWPSW及两个暂存器等。及两个暂存器等。1 1算术逻辑运算单元算术逻辑运算单元ALUALU可对可对8 8位变量位变量逻辑逻辑运算运算(与、或、异或、循环、求与、或、异或、循环、求补和清零补和清零),还可,还可算术运算算术运算(加、减、乘、除加、减、乘、除)ALUALU还有位操作功能,对位变量进行位处理,如置还有位操作功能,对位变量进行位处理,如置1 1、清清0 0、求补、测试转移及逻辑、求补、测试转移及逻辑“与与”、“或或”等等。第23页/共102页242 2累加

22、器累加器A A使用最频繁的寄存器,使用最频繁的寄存器,可可写为写为AccAcc。“A A”与与“AccAcc”书写上的差别,将在第书写上的差别,将在第3 3章介绍。章介绍。作用如下:作用如下:(1 1)ALUALU单元的输入数据源之一,又是单元的输入数据源之一,又是ALUALU运算结果运算结果存放单元存放单元。(2 2)数据传送大多都通过累加器)数据传送大多都通过累加器A A,相当于数据的中,相当于数据的中转站。为解决转站。为解决“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S51AT89S51增加了增加了一部分可以不经过累加器的传送指令。一部分可以不经过累加器的传送指令。A A的进位标志的进位标志

23、CyCy是特殊的,因为它同时又是是特殊的,因为它同时又是位处理机位处理机的的位累加器位累加器第24页/共102页253 3程序状态字寄存器程序状态字寄存器PSWPSWPSWPSW(Program Status WordProgram Status Word)位于片内特殊功能寄存)位于片内特殊功能寄存器区,器区,字节地址为字节地址为D0HD0H。包含了包含了程序运行状态的信息程序运行状态的信息,其中,其中4 4位保存当前指令执位保存当前指令执行后的状态,供程序查询和判断。行后的状态,供程序查询和判断。格式如图格式如图2-32-3所示所示。图2-32-3 PSW PSW的格式第25页/共102页2

24、6PSWPSW中各个位的功能中各个位的功能:(1 1)CyCy(PSW.7PSW.7)进位标志位)进位标志位 可写为可写为C C。在算术和逻辑运算时,若有。在算术和逻辑运算时,若有进位进位/借位借位,CyCy1 1;否则,;否则,CyCy0 0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)辅助进位标志位)辅助进位标志位 在在BCDBCD码运算时,用作十进位调整。即当码运算时,用作十进位调整。即当D3D3位向位向D4D4位产生进位或借位时,位产生进位或借位时,AcAc1 1;否则,;否则,AcAc0 0。(3 3)F0F0(PSW.5PSW.

25、5)用户设定标志位)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置由用户使用的一个状态标志位,可用指令来使它置1 1或清或清0 0,控制程序的流向。用户应充分利用。控制程序的流向。用户应充分利用。第26页/共102页27(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4组工作寄存器区选组工作寄存器区选择择选择片内选择片内RAMRAM区中的区中的4 4组工作寄存器区中的某一组为当组工作寄存器区中的某一组为当前工作寄存区前工作寄存区见见表表2-22-2。(5 5)OVOV(PSW.2PSW.2)溢出标志位)溢出标志位当执行算术指令时,用来指示运算

26、结果是否产生溢出。当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,如果结果产生溢出,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,表示,表示A A中中“1 1”的个数为的个数为偶数偶数。此标志位对串行通信有重要的意义此标志位对串行通信有重要的意义,常用常用奇偶检奇

27、偶检验验的方法来检验数据串行传输的可靠性。的方法来检验数据串行传输的可靠性。第28页/共102页292.3.2 2.3.2 控制器控制器 任务任务识别指令,并根据指令的性质控制单片机各功识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。能部件,从而保证单片机各部分能自动协调地工作。控制器包括控制器包括:程序计数器、指令寄存器、指令译码程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。译码和执行,从而对各功能部件进行定时和逻辑控制。程序

28、计数器程序计数器PCPC是一个独立的是一个独立的1616位计数器,不可访问。位计数器,不可访问。单片机复位时,单片机复位时,PCPC中内容为中内容为0000H0000H,从程序存储器,从程序存储器0000H0000H单元取指令,开始执行程序。单元取指令,开始执行程序。第29页/共102页30 PCPC工作过程是工作过程是:CPUCPU读指令时,读指令时,PCPC的内容作为所取指的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时令的地址,程序存储器按此地址输出指令字节,同时PCPC自动加自动加1 1。PCPC中内容变化轨迹中内容变化轨迹决定程序流程。当决定程序流程。当顺序执行顺序执行

29、程序时程序时自动加自动加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页/共102页32.数据存储器空间数据存储器空间片内片内与与片外片外两部分。两部分。片内有片内有128 B

31、RAM128 B RAM(5252子系列子系列为为256B256B)。片内片内RAMRAM不够用时,在不够用时,在片外可扩至片外可扩至64KB 64KB RAMRAM 。.特殊功能寄存器特殊功能寄存器SFRSFR (Special Function Special Function RegisterRegister)片内各功能部件的控制寄存器及状态寄存器。片内各功能部件的控制寄存器及状态寄存器。SFRSFR综综合反映了整个单片机基本系统内部实际的工作状态合反映了整个单片机基本系统内部实际的工作状态及工作方式。及工作方式。.位地址空间位地址空间共有共有211211个个可寻址位,构成了位地址空间。

32、位于内部可寻址位,构成了位地址空间。位于内部 RAMRAM(共(共128128位)和特殊功能寄存器区(共位)和特殊功能寄存器区(共8383位)中。位)中。第32页/共102页332.4.1 2.4.1 程序存储器空间程序存储器空间存放程序和表格之类的固定常数。片内为存放程序和表格之类的固定常数。片内为4KB4KB的的 Flash Flash,地址为,地址为0000H0000H0FFFH0FFFH。1616位地址线,可外位地址线,可外扩的程序存储器空间最大为扩的程序存储器空间最大为64KB64KB,地址为,地址为0000H0000HFFFFHFFFFH。使用使用时时应注意以下问题应注意以下问题:

33、(1 1)分为)分为片内片内和和片外片外两部分两部分(2 2)程序存储器某些固定单元)程序存储器某些固定单元第33页/共102页34(1 1)分为)分为片内片内和和片外片外两部分两部分,访问片内的还是片外的,访问片内的还是片外的程序存储器,由程序存储器,由 引脚电平引脚电平确定。确定。=1 =1时,时,CPUCPU从片内从片内0000H0000H开始取指令,开始取指令,当当PCPC值值没有超出没有超出0FFFH0FFFH时,只访问片内时,只访问片内Flash Flash 存储器,存储器,当当PCPC值超出值超出0FFFH0FFFH自动转向读片外程序存储器空间自动转向读片外程序存储器空间1000

34、H1000HFFFFH FFFFH 内的程序。内的程序。=0 =0时,只能执行片外程序存储器(时,只能执行片外程序存储器(0000H0000HFFFFHFFFFH)中的程序。不理会片内)中的程序。不理会片内4KB Flash 4KB Flash 存储器。存储器。第34页/共102页35(2 2)程序存储器某些固定单元)程序存储器某些固定单元用于各中断源中断服用于各中断源中断服务程序入口。务程序入口。64KB64KB程序存储器空间中有5 5个特殊单元分别对应于5 5个中断源的中断入口地址,见表2-32-3。通常这5 5个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服

35、务子程序。第35页/共102页362.4.2 2.4.2 数据存储器空间数据存储器空间 片内与片外两部分。片内与片外两部分。.片内数据存储器片内数据存储器 片内数据存储器(片内数据存储器(RAMRAM)共)共128128个单个单元,字节地址元,字节地址为为00H00H7FH7FH。图图2-42-4为片内数据存储器的结构。为片内数据存储器的结构。00H00H1FH1FH 的的3232个单元个单元是是4 4组通用工作组通用工作寄存器区,每区包含寄存器区,每区包含8B8B,为,为R7R7R0R0。可可通过指令改变通过指令改变RS1RS1、RS0RS0两位两位来选来选择。择。20H20H2FH2FH的

36、的1616个个单元的单元的128128位可位寻位可位寻址,也可字节寻址。址,也可字节寻址。30H30H7FH7FH的单元只能字节寻址,用作的单元只能字节寻址,用作存数据以及作为堆栈区。存数据以及作为堆栈区。第36页/共102页37.片外数据存储器片外数据存储器当片内当片内128B128B的的RAMRAM不够用时,需外扩,最多可外扩不够用时,需外扩,最多可外扩64KB64KB的的RAMRAM。注意,片内注意,片内RAMRAM与片外与片外RAMRAM两个空间是两个空间是相互独立的,相互独立的,片内片内RAMRAM与片外与片外RAMRAM的低的低128B128B的地址是的地址是相同的相同的,但由于使

37、用的是不同的访问指令,所以不,但由于使用的是不同的访问指令,所以不会发生冲突。会发生冲突。第37页/共102页382.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR)采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件各功能部件。特殊功能特殊功能寄存器寄存器映射在片内映射在片内RAMRAM的的 80H80HFFH FFH 区域区域中,共中,共2626个个。SFRSFR的名称及其分布的名称及其分布 ,有些还可位寻址,有些还可位寻址,见见表表2-4 2-4。与与AT89C51AT89C51相比,相比,新增新增5 5个个SFRSFR:DP1LDP1L、DP1HDP1H、A

38、UXRAUXR、AUXR1AUXR1和和WDTRSTWDTRST,已在,已在表表2-42-4中标出。中标出。凡是凡是可位寻址的可位寻址的SFRSFR,字节地址末位只能是,字节地址末位只能是0H0H或或8H8H。另。另外,若读外,若读/写写未未定义单元,将得到一个不确定的随机定义单元,将得到一个不确定的随机数。数。下面介绍某些下面介绍某些SFRSFR,余下的,余下的SFRSFR将在后将在后面面介绍。介绍。第38页/共102页39第39页/共102页40第40页/共102页411 1堆栈指针堆栈指针SPSP指示堆栈顶部在内部指示堆栈顶部在内部RAMRAM块中的位置。块中的位置。堆栈结构堆栈结构向上

39、生长型向上生长型。单片机。单片机复位复位后,后,SPSP为为07H07H,使得堆栈实际上从,使得堆栈实际上从08H08H单元开始,单元开始,由于由于08H08H1FH1FH单元分别是属于单元分别是属于1 13 3组的工作寄存器区,组的工作寄存器区,最好在最好在复位复位后后把把SPSP值改置为值改置为60H60H或更大的值或更大的值,避免堆栈与,避免堆栈与工作寄存器冲突。工作寄存器冲突。堆栈是为堆栈是为子程序调用子程序调用和和中断操作中断操作而设而设,主要主要用来用来保保护断点护断点和和现场现场。第41页/共102页421 1堆栈指针堆栈指针SPSP(1 1)保护断点。)保护断点。无论是子程序调

40、用操作还是中断服务无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。的断点在堆栈中保护起来,为程序正确返回做准备。(2 2)现场保护。)现场保护。执行子程序或中断服务子程序时,要执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的存器单元的内容保存起来,送入堆栈,这就是所谓的“现场保护现场保护”。两种操作:两种操作:数据压入数据压入(PUSHPUSH)堆栈,堆

41、栈,数据弹出数据弹出(POPPOP)堆栈。数据压入堆栈,堆栈。数据压入堆栈,SPSP自动加自动加1 1;数据弹出堆栈,;数据弹出堆栈,SPSP自动减自动减1 1。第42页/共102页432 2寄存器寄存器B B为执行乘法和除法为执行乘法和除法而而设。在不执行乘、除法操作的设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。情况下,可把它当作一个普通寄存器来使用。乘法乘法,两乘数分别在,两乘数分别在A A、B B中,执行乘法指令后,乘中,执行乘法指令后,乘积在积在BABA中中除法除法,被除数取自,被除数取自A A,除数取自,除数取自B B,商存放在,商存放在A A中,余中,余数存数

42、存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类指令时有效,不访问外部存储器时,ALEALE不输出脉冲信号。第44页/共102页45DISRTODISRTO:禁止禁止/允许允许WDTWDT溢出时的复位输出溢出时的复位输出。0 0:WDTWDT溢出时,在溢出时,在RSTRST引脚输

43、出一个高电平脉冲;引脚输出一个高电平脉冲;1 1:RSTRST引脚仅为输入脚。引脚仅为输入脚。WDIDLEWDIDLE:WDTWDT在空闲模式下的禁止在空闲模式下的禁止/允许位。允许位。0 0:WDTWDT在空闲模式下继续计数;在空闲模式下继续计数;1 1:WDTWDT在空闲模式下暂停计数。在空闲模式下暂停计数。第45页/共102页464.4.数据指针数据指针DPTR0DPTR0和和DPTR1DPTR1双数据指针寄存器双数据指针寄存器,便于访问便于访问数据存储器数据存储器。DPTR0DPTR0:AT89C51AT89C51单片机单片机原有原有的数据指针的数据指针;DPTR1DPTR1:新增加新

44、增加的数据指针。的数据指针。AUXR1AUXR1的的DPSDPS位位用于用于选择选择两个数据指针两个数据指针。当。当DPS=0DPS=0时,时,选用选用DPTR0DPTR0;当;当DPS=1DPS=1时,选用时,选用DPTR1DPTR1。数据指针数据指针可作为一个可作为一个1616位寄存器来用,也可作为两个位寄存器来用,也可作为两个独立的独立的8 8位寄存器位寄存器DP0HDP0H(或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)来用。来用。第46页/共102页475.AUXR15.AUXR1寄存器寄存器AUXR1AUXR1是辅助寄存器,格式如是辅助寄存器,格式如图图2

45、-62-6所示所示:DPSDPS:数据指针寄存器选择位。数据指针寄存器选择位。0 0:选择数据指针寄存器选择数据指针寄存器DPTR0DPTR0;1 1:选择数据指针寄存器选择数据指针寄存器DPTR1DPTR1。图2-62-6 AUXR1AUXR1寄存器的格式第47页/共102页486.6.看门狗定时器看门狗定时器WDTWDTWDTWDT包含一个包含一个1414位计数器位计数器和和看门狗定时器复位寄存器看门狗定时器复位寄存器(WDTRSTWDTRST)。)。当当CPUCPU由于干扰,程序陷入死循环或跑飞状态时,由于干扰,程序陷入死循环或跑飞状态时,WDTWDT提供了一种使程序恢复正常运行的有效手

46、段。提供了一种使程序恢复正常运行的有效手段。有关有关WDTWDT在抗干扰设计中的应用以及低功耗模式下运在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应的章节中具体介绍。行的状态,将在相应的章节中具体介绍。上面介绍的特殊功能寄存器,上面介绍的特殊功能寄存器,除了前两个除了前两个SPSP和和B B以外,以外,其余的均为其余的均为AT89S51AT89S51在在AT89C51AT89C51基础上基础上新增加的新增加的SFRSFR。第48页/共102页492.4.4 2.4.4 位地址空间位地址空间211211个寻址位的位地址,位地址范围为个寻址位的位地址,位地址范围为 00H00HFFHFF

47、H,其,其中中 00H00H7FH7FH 这这128128位处于位处于片内片内RAM RAM 字节地址字节地址 20H20H2FH2FH 单元中,如单元中,如表表2-52-5所示。其余的所示。其余的8383个可寻址位个可寻址位分分布在布在特殊功能寄存器特殊功能寄存器SFRSFR中,中,见见表表2-62-6。可被位寻址的可被位寻址的特殊寄存器特殊寄存器有有1111个个,共有位地址,共有位地址8888个,个,5 5个位未用,其余个位未用,其余8383个位的位地址离散地分布于片内数个位的位地址离散地分布于片内数据存储器区字节地址为据存储器区字节地址为80H80HFFHFFH的范围内,其的范围内,其最

48、低最低的位地址等于其字节地址的位地址等于其字节地址,且其字节地址的,且其字节地址的末位都为末位都为0H0H或或8H8H。第49页/共102页50第50页/共102页51特殊功能寄存器位 地 址字 节地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1

49、HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布第51页/共102页52 作为对作为对AT89S51AT89S51存储器结构的总结,存储器结构的总结,图图2-72-7为为各类存储器的结构图。各类存储器的结构图。从图中可从图中可清楚看出各类存储清楚看出各类存储器在存储器空间的位置。器在存储器空间的位置。第52页/共102页532.5 AT89S512.5 AT89

50、S51的并行的并行I/OI/O端口端口4 4个双向的个双向的8 8位并行位并行I/OI/O端口,分别记为端口,分别记为P0P0、P1P1、P2P2和和P3P3,其中,其中输出锁存器输出锁存器属于属于特殊功能寄存器特殊功能寄存器。端口的。端口的每一位均由输出锁存器、输出驱动器和输入缓冲器组每一位均由输出锁存器、输出驱动器和输入缓冲器组成,成,4 4个端口按个端口按字节输入字节输入/输出输出外,外,也也可可位寻址位寻址。2.5.1 P02.5.1 P0口口P0P0口是一个口是一个双功能双功能的的8 8位并行端口,位并行端口,字节地址字节地址为为80H80H,位地址为位地址为80H80H87H87H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁