第2章-AT89S51单片机的片内硬件结构课件优秀PPT.ppt

上传人:1398****507 文档编号:78622334 上传时间:2023-03-18 格式:PPT 页数:116 大小:1.38MB
返回 下载 相关 举报
第2章-AT89S51单片机的片内硬件结构课件优秀PPT.ppt_第1页
第1页 / 共116页
第2章-AT89S51单片机的片内硬件结构课件优秀PPT.ppt_第2页
第2页 / 共116页
点击查看更多>>
资源描述

《第2章-AT89S51单片机的片内硬件结构课件优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第2章-AT89S51单片机的片内硬件结构课件优秀PPT.ppt(116页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1第第2章章AT89S51单片机的硬件结构单片机的硬件结构2内容概要内容概要 本章介绍本章介绍AT89S51单片机的单片机的片内硬件结构。片内硬件结构。片内片内外外设资源源的基本功能及工作原理的基本功能及工作原理片内片内存存储器器结构构常常见的特殊功能寄存器的基本功能的特殊功能寄存器的基本功能复位复位电路路与与时钟电路路的的设计单片机最小系片机最小系统驾驾驭驭3指令(程序)硬件限制图图2-1AT89S51单片机片内结构单片机片内结构2.1AT89S51单片机的硬件组成单片机的硬件组成AT89S51单片机具有如下外围部件及特性:单片机具有如下外围部件及特性:(1)8位位CPU;(2)数据数据存储

2、器(存储器(128BRAM););(3)程序程序存储器(存储器(4KBFlashROM););(4)4个个8位位可编程可编程并行并行I/O口口(P0口、口、P1口、口、P2口和口和P3口);口);(5)2个个可编程可编程16位定时器位定时器/计数器;计数器;6(6)1个通用的全双工的异步收发串行口(个通用的全双工的异步收发串行口(UART););(7)中断系统具有)中断系统具有5个中断源、个中断源、5个中断向量;个中断向量;(8)特殊功能寄存器()特殊功能寄存器(SFR)26个;个;(9)1个看门狗定时器(个看门狗定时器(WDT););7AT89S51片内的各部件通过片内单一总线连接而成,其基

3、本片内的各部件通过片内单一总线连接而成,其基本结构照旧是结构照旧是CPU加上外围芯片的传统微型计算机结构模式,但加上外围芯片的传统微型计算机结构模式,但CPU对各种外围部件的限制是接受特殊功能寄存器对各种外围部件的限制是接受特殊功能寄存器SFR(SpecialFunctionRegister)的集中限制方式。)的集中限制方式。下面对图下面对图2-1中的片内各部件作简洁介绍。中的片内各部件作简洁介绍。(1)CPU(微处理器):(微处理器):8位的位的CPU,包括了运算器和限制器两,包括了运算器和限制器两大部分,此外还有面对限制的位处理和位控功能。大部分,此外还有面对限制的位处理和位控功能。(2)

4、数据存储器()数据存储器(RAM):片内为):片内为128B(增加型的(增加型的52子系列为子系列为256B),片外最多还可外扩),片外最多还可外扩64KB的数据存储器。的数据存储器。(3)程序存储器)程序存储器(FlashROM):用来存储程序。):用来存储程序。AT89S51片内有片内有4KB的的Flash存储器,若片内程序存储存储器,若片内程序存储器容量不够,片外最多可器容量不够,片外最多可外扩外扩64KB程序存储器。程序存储器。(4)中断系统:)中断系统:具有具有5个中断源,个中断源,2级中断优先权。级中断优先权。(5)定时器)定时器/计数器:计数器:片内有片内有2个个16位位的定时器

5、的定时器/计数器计数器具有具有4种工作方式。种工作方式。(6)串行口:)串行口:1个个全双工的异步串行口(全双工的异步串行口(UART),具),具有有4种工作方式。种工作方式。89(7)4个个8位的并行口:位的并行口:P0口、口、P1口、口、P2口和口和P3口。口。(8)特殊功能寄存器()特殊功能寄存器(SFR):共有):共有26个特殊功能寄个特殊功能寄存器,用于存器,用于CPU对片内各外围部件进行管理、限制和监对片内各外围部件进行管理、限制和监视。特殊功能寄存器事实上是片内各外围部件的限制寄视。特殊功能寄存器事实上是片内各外围部件的限制寄存器和状态寄存器,这些特殊功能寄存器映射在片内存器和状

6、态寄存器,这些特殊功能寄存器映射在片内RAM区的区的80HFFH的地址区间内。的地址区间内。(9)1个看门狗定时器个看门狗定时器WDT,当单片机由于干扰而使,当单片机由于干扰而使程序陷入死循环或跑飞状态时,可引起单片机复位,使程序陷入死循环或跑飞状态时,可引起单片机复位,使程序复原正常运行。程序复原正常运行。2.2AT89S51的引脚功能的引脚功能驾驭驾驭AT89S51单片机,应首先熟悉并驾单片机,应首先熟悉并驾驭各引脚的功能。驭各引脚的功能。AT89S51与各种与各种8051单片单片机的引脚是相互兼容的。目前,机的引脚是相互兼容的。目前,AT89S51单单片机多接受片机多接受40只引脚的塑料

7、双列直插封装只引脚的塑料双列直插封装(DIP)方式,如图)方式,如图2-2所示。所示。10图图2-2AT89S51双列直插封装方式的引脚双列直插封装方式的引脚40只引脚按功能可分为如下只引脚按功能可分为如下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介绍各引脚的功能。介绍各引脚的功能。2.2.1电源刚好钟引脚电源刚好钟引脚

8、1电源引脚电源引脚(1)VCC(40脚):接脚):接+5V电源。电源。(2)VSS(20脚):接数字地。脚):接数字地。12 2 2时钟引脚时钟引脚 (1 1)XTAL1XTAL1(1919脚):片内振荡器的反相放大器和外脚):片内振荡器的反相放大器和外部时钟发生器的输入端。运用片内的振荡器时,该引部时钟发生器的输入端。运用片内的振荡器时,该引脚外接石英晶体和微调电容。当接受外部的独立时钟脚外接石英晶体和微调电容。当接受外部的独立时钟源时,本引脚接外部时钟振荡器的信号。源时,本引脚接外部时钟振荡器的信号。(2 2)XTAL2XTAL2(1818脚):片内振荡器反相放大器的输出脚):片内振荡器反

9、相放大器的输出端。当运用片内振荡器时,该引脚连接外部石英晶体端。当运用片内振荡器时,该引脚连接外部石英晶体和微调电容。当运用外部时钟源时,本引脚悬空。和微调电容。当运用外部时钟源时,本引脚悬空。13142.2.2限制引脚限制引脚限制引脚供应限制信号,有的引脚还具有复用功能。限制引脚供应限制信号,有的引脚还具有复用功能。(1)RST(RESET,9脚)脚)复位信号输入端,高电平有效。在此引脚加上复位信号输入端,高电平有效。在此引脚加上持续时间大于持续时间大于2个机器周期的高电平,就可使单片机个机器周期的高电平,就可使单片机复位。在单片机正常工作时,此引脚应为复位。在单片机正常工作时,此引脚应为0

10、.5V的低的低电平。电平。当看门狗定时器溢出输出时,该引脚将输出长当看门狗定时器溢出输出时,该引脚将输出长达达96个时钟振荡周期的高电平。个时钟振荡周期的高电平。(2)EA/VPP(EnableAddress/VoltagePulseofPrograming,31脚脚)(ExternalAccessEnable)为该引脚的第一功能:外部程序)为该引脚的第一功能:外部程序存储器访问允许限制端。存储器访问允许限制端。当当EA=1时,在单片机片内的时,在单片机片内的PC值不超出值不超出0FFFH(即不超(即不超出片内出片内4KBFlash存储器的最大地址范围)时,单片机读片内存储器的最大地址范围)时

11、,单片机读片内程序存储器(程序存储器(4KB)中的程序代码,但)中的程序代码,但PC值超出值超出0FFFH(即(即超出片内超出片内4KBFlash存储器地址范围)时,将自动转向读取片存储器地址范围)时,将自动转向读取片外外60KB(1000HFFFFH)程序存储器中的程序代码。)程序存储器中的程序代码。1516当当EA=0时,只读取外部的程序存储器中的内容,读取时,只读取外部的程序存储器中的内容,读取的地址范围为的地址范围为0000HFFFFH,片内的,片内的4KBFlash程序程序存储器不起作用。存储器不起作用。VPP为该引脚的其次功能,在对片内为该引脚的其次功能,在对片内Flash进行编程

12、进行编程时,时,VPP引脚接入编程电压。引脚接入编程电压。(3)ALE/PROG(AddressLatchEnable/PROGramming,30脚)脚)ALE的第一功能为的第一功能为CPU访问外部程序存储器或外部数访问外部程序存储器或外部数据存储器供应低据存储器供应低8位地址锁存信号,将单片机位地址锁存信号,将单片机P0口发出的口发出的低低8位地址锁存在片外地址锁存器中。位地址锁存在片外地址锁存器中。PROG为该引脚的其次功能,在对片内为该引脚的其次功能,在对片内Flash存储器编程存储器编程时,此引脚作为编程脉冲输入端。时,此引脚作为编程脉冲输入端。17(4)PSEN(ProgramSt

13、robeENable,29脚)脚)片内或片外片内或片外程序存储器程序存储器的的读选通信号,读选通信号,低电平有效。低电平有效。2.2.3并行并行I/O口引脚口引脚(1)P0口:口:P0.7P0.0引脚引脚漏极开路的双向漏极开路的双向I/O口。当口。当AT89S51扩展外部存储扩展外部存储器及器及I/O接口芯片时,接口芯片时,P0口作为地址总线(低口作为地址总线(低8位)及数位)及数据总线的分时复用端口。据总线的分时复用端口。P0口也可作为通用口也可作为通用I/O口运用,但需加上拉电阻,口运用,但需加上拉电阻,这时为准双向口。这时为准双向口。P0口可驱动口可驱动8个个LS型型TTL负载。负载。1

14、9(2)P1口:口:P1.7P1.0引脚引脚准双向准双向I/O口,具有内部上拉电阻,可驱动口,具有内部上拉电阻,可驱动4个个LS型型TTL负载。负载。P1口是完全可供应应用户运用的准双向口是完全可供应应用户运用的准双向I/O口。口。P1.5/MOSI、P1.6/MISO和和P1.7/SCK也可用于对片也可用于对片内内Flash存储器的串行编程和校验,它们分别是串行数据存储器的串行编程和校验,它们分别是串行数据输入、串行数据输出和移位脉冲引脚。输入、串行数据输出和移位脉冲引脚。(3)P2口:口:P2.7P2.0引脚引脚准双向准双向I/O口,具有内部上拉电阻,可驱动口,具有内部上拉电阻,可驱动4个

15、个LS型型TTL负载。负载。当当AT89S51扩展外部存储器及扩展外部存储器及I/O口时,口时,P2口作为高口作为高8位地址总线用,输出高位地址总线用,输出高8位地址。位地址。P2口也可作为通用的口也可作为通用的I/O口运用。口运用。2021(4)P3口:口:P3.7P3.0准双向准双向I/O口,具有内部上拉电阻。口,具有内部上拉电阻。P3口可作为通用的口可作为通用的I/O口运用,可驱动口运用,可驱动4个个LS型型TTL负载。负载。P3口还可供应其次功能,其其次功能定义如表口还可供应其次功能,其其次功能定义如表2-1所示,读者应熟记。所示,读者应熟记。22综上所述,综上所述,P0口作为地址总线

16、(低口作为地址总线(低8位)及数据总线运用时,位)及数据总线运用时,为双向口。作为通用的为双向口。作为通用的I/O口运用时,需加上拉电阻,这时为准双口运用时,需加上拉电阻,这时为准双向口。而向口。而P1口、口、P2口、口、P3口均为准双向口。口均为准双向口。双向口双向口P0与与P1口、口、P2口、口、P3口这口这3个准双向口相比,多了一个准双向口相比,多了一个高阻输入的个高阻输入的“悬浮悬浮”态。这是由于态。这是由于P0口作为数据总线运用时,口作为数据总线运用时,多个数据源都挂在数据总线上,当多个数据源都挂在数据总线上,当P0口不需与其他数据源打交道口不需与其他数据源打交道时,须要与数据总线高

17、阻时,须要与数据总线高阻“悬浮悬浮”隔离。而准双向隔离。而准双向I/O口则无高阻口则无高阻的的“悬浮悬浮”状态。另外,准双向口作通用状态。另外,准双向口作通用I/O的输入口运用时,确的输入口运用时,确定要向该口先写入定要向该口先写入“1”。以上的准双向口与双向口的差别,在学。以上的准双向口与双向口的差别,在学习本章习本章2.5节的节的P0P3口的内部结构后,将会有更深化的理解。口的内部结构后,将会有更深化的理解。232.3AT89S51的的CPUAT89S51的的CPU是由运算器和限制器构成。是由运算器和限制器构成。2.3.1运算器运算器运算器主要用来对操作数进行算术、逻辑和位操运算器主要用来

18、对操作数进行算术、逻辑和位操作运算。作运算。算术逻辑运算单元算术逻辑运算单元ALU累加器累加器A位处理器位处理器程序状态字寄存器程序状态字寄存器PSW两个暂存器两个暂存器251算术逻辑运算单元算术逻辑运算单元ALUALU的功能强,不仅可对的功能强,不仅可对8位变量进行逻辑与、或、位变量进行逻辑与、或、异或以及循环、求补和清异或以及循环、求补和清0等操作,还可以进行加、减、等操作,还可以进行加、减、乘、除等基本算术运算。乘、除等基本算术运算。ALU还具有还具有位操作功能,位操作功能,可对可对位(位(bit)变量进行位处理,如置)变量进行位处理,如置“1”、清、清“0”、求补、求补、测试转移及逻辑

19、测试转移及逻辑“与与”、“或或”等操作。等操作。2累加器累加器A累加器累加器A是是CPU中运用最常见的一个中运用最常见的一个8位寄存器。累加器位寄存器。累加器的作用如下。的作用如下。(1)是)是ALU单元的输入数据源之一,同时又是单元的输入数据源之一,同时又是ALU运算运算结果的存放单元。结果的存放单元。(2)CPU中数据传送大多都通过累加器中数据传送大多都通过累加器A,故累加器,故累加器A又又相当于数据的中转站。为解决累加器结构所带来的相当于数据的中转站。为解决累加器结构所带来的“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S51单片机增加了一部分可以不经过累加器单片机增加了一部分可以不经过累加器

20、A的的传送指令。传送指令。累加器累加器A的进位位的进位位Cy(位于程序状态字特殊功能寄存器(位于程序状态字特殊功能寄存器PSW中)是特殊的,因为它同时又是位处理器的位累加器。中)是特殊的,因为它同时又是位处理器的位累加器。26273程序状态字寄存器程序状态字寄存器PSWAT89S51单片机的程序状态字寄存器(单片机的程序状态字寄存器(ProgramStatusWord,PSW)位于单片机片内的特殊功能寄存)位于单片机片内的特殊功能寄存器区,字节地址为器区,字节地址为D0H。PSW的不同位包含了程序运行的不同位包含了程序运行状态的不同信息,其中状态的不同信息,其中4位保存当前指令执行后的状态,位

21、保存当前指令执行后的状态,以供程序查询和推断。以供程序查询和推断。PSW格式见图格式见图2-3。28PSW中各个位的功能如下。中各个位的功能如下。(1)Cy(PSW.7)进位标记位:也可写为)进位标记位:也可写为C。在执行。在执行算术运算和逻辑运算指令时,若有进位算术运算和逻辑运算指令时,若有进位/借位,则借位,则Cy=1;否则,;否则,Cy=0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。(2)Ac(PSW.6)协助进位标记位:)协助进位标记位:Ac标记位用于标记位用于在在BCD码运算时进行十进位调整。即在运算时,当码运算时进行十进位调整。即在运算时,当D3位位向向D4位产生进位

22、或借位时,位产生进位或借位时,Ac=1;否则,;否则,Ac=0。2930(3)F0(PSW.5)用户运用的标记位:可用指令来使)用户运用的标记位:可用指令来使它置它置“1”或清或清“0”,也可用指令来测试该标记位,依,也可用指令来测试该标记位,依据测试结果限制程序的流向。编程时,用户应当充分利据测试结果限制程序的流向。编程时,用户应当充分利用该标记位。用该标记位。(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区组工作寄存器区选择限制位选择限制位1和位和位0:这两位用来选择片内:这两位用来选择片内RAM区中的区中的4组工作寄存器区中的某一组为当前工作寄存区,组工作寄存器区中的某一组

23、为当前工作寄存区,RS1、RS0与所选择的与所选择的4组工作寄存器区的对应关系如表组工作寄存器区的对应关系如表2-2所示。所示。(5)OV(PSW.2)溢出标记位:当执行算术指令时,)溢出标记位:当执行算术指令时,OV用来用来指示运算结果是否产生溢出。假如结果产生溢出,指示运算结果是否产生溢出。假如结果产生溢出,OV=1;否则,;否则,OV=0。(6)PSW.1位:保留位,未用。位:保留位,未用。(7)P(PSW.0)奇偶标记位:该标记位表示指令执行完时,)奇偶标记位:该标记位表示指令执行完时,累加器累加器A中中“1”的个数是奇数还是偶数。的个数是奇数还是偶数。P=1,表示,表示A中中“1”的

24、个数为奇数。的个数为奇数。P=0,表示,表示A中中“1”的个数为偶数。的个数为偶数。该标记位对串行口通信中的数据传输有重要的意义。在串行通该标记位对串行口通信中的数据传输有重要的意义。在串行通信中,常用奇偶检验的方法来检验数据串行传输的牢靠性。信中,常用奇偶检验的方法来检验数据串行传输的牢靠性。32332.3.2限制器限制器限制器的主要任务是识别指令,并依据指限制器的主要任务是识别指令,并依据指令的性质限制单片机各功能部件,从而保证单令的性质限制单片机各功能部件,从而保证单片机各部分能自动协调地工作。片机各部分能自动协调地工作。限制器主要包括程序计数器、指令寄存器、指令限制器主要包括程序计数器

25、、指令寄存器、指令译码器、定时及限制电路等。其功能是限制指令的读译码器、定时及限制电路等。其功能是限制指令的读入、译码和执行,从而对单片机的各功能部件进行定入、译码和执行,从而对单片机的各功能部件进行定时和逻辑限制。时和逻辑限制。程序计数器程序计数器PC是限制器中最基本的寄存器,它是是限制器中最基本的寄存器,它是一个独立的一个独立的16位计数器,用户不能干脆运用指令对位计数器,用户不能干脆运用指令对PC进行读写。当单片机复位时,进行读写。当单片机复位时,PC中的内容为中的内容为0000H,即即CPU从程序存储器从程序存储器0000H单元取指令,起先执行程单元取指令,起先执行程序。序。PC的基本

26、工作过程是:的基本工作过程是:CPU读取指令时,读取指令时,PC内容作为欲读取指令的地内容作为欲读取指令的地址发送给程序存储器,然后程序存储器按此地址输出指令字节,同时址发送给程序存储器,然后程序存储器按此地址输出指令字节,同时PC自动自动加加1,这也是为什么,这也是为什么PC被称为程序计数器的缘由。由于被称为程序计数器的缘由。由于PC实质上是作为程序实质上是作为程序寄存器的地址指针,所以也称其为程序指针。寄存器的地址指针,所以也称其为程序指针。PC内容的变更轨迹确定了程序的流程。由于内容的变更轨迹确定了程序的流程。由于PC是用户不行干脆访问的,是用户不行干脆访问的,当依次执行程序时自动加当依

27、次执行程序时自动加1;执行转移程序或子程序或中断子程序调用时,由;执行转移程序或子程序或中断子程序调用时,由运行的指令自动将其内容更改成所要转移的目的地址。运行的指令自动将其内容更改成所要转移的目的地址。3435 程序计数器的计数宽度确定了访问程序存储器的地址范围。AT89S51单片机中的PC位数为16位,故可对64KB(=216B)的程序存储器进行寻址。2.4AT89S51单片机存储器的结构单片机存储器的结构AT89S51单片机存储器结构为哈佛结构,即程序单片机存储器结构为哈佛结构,即程序存储器空间和数据存储器空间是各自独立的。存储器空间和数据存储器空间是各自独立的。AT89S51单片机的存

28、储器空间可划分为如下单片机的存储器空间可划分为如下4类。类。1.程序存储器空间程序存储器空间单片机能够依据确定的次序工作,是由于程序存单片机能够依据确定的次序工作,是由于程序存储器中存放了经调试正确的程序。程序存储器可以分储器中存放了经调试正确的程序。程序存储器可以分为片内和片外两部分。为片内和片外两部分。AT89S51单片机的片内程序存储器为单片机的片内程序存储器为4KB的的Flash存储器,编程和擦除完全是电气实现,且速度快。可存储器,编程和擦除完全是电气实现,且速度快。可运用编程器对其编程,也可在线编程。运用编程器对其编程,也可在线编程。36当当AT89S51单片机的片内的单片机的片内的

29、4KB的的Flash存储器不够用时,存储器不够用时,用户可在片外可扩展程序存储器,最多可扩展至用户可在片外可扩展程序存储器,最多可扩展至64KB程序存储程序存储器。器。2.数据存储器空间数据存储器空间数据存储器空间分为片内与片外两部分。数据存储器空间分为片内与片外两部分。AT89S51单片机内部有单片机内部有128B的的RAM(增加型的(增加型的52子系列子系列为为256B),用来存放可读),用来存放可读/写的数据。写的数据。当当AT89S51单片机的片内单片机的片内RAM不够用时,可在片外扩展最不够用时,可在片外扩展最多多64KB的的RAM的实力,原委扩展多少的实力,原委扩展多少RAM,由用

30、户依据实际,由用户依据实际须要来定。须要来定。37383.特殊功能寄存器特殊功能寄存器AT89S51单片机片内共有单片机片内共有26个特殊功能寄存器个特殊功能寄存器SFR(SpecialFunctionRegister)。)。SFR事实上是各外围部件的限制寄存器及事实上是各外围部件的限制寄存器及状态寄存器,综合反映了整个单片机基本系统内部实际的工作状态寄存器,综合反映了整个单片机基本系统内部实际的工作状态及工作方式。状态及工作方式。4.位地址空间位地址空间AT89S51单片机内共有单片机内共有211个可寻址位,构成了位地址空间。个可寻址位,构成了位地址空间。它们位于片它们位于片RAM区地址区地

31、址20H2FH(共(共128位)和特殊功能寄存位)和特殊功能寄存器区(片内器区(片内RAM区字节地址区字节地址80HFFH,共计,共计83位)。位)。2.4.1程序存储器空间程序存储器空间程序存储器是只读存储器(程序存储器是只读存储器(ROM),用于存放程),用于存放程序和表格之类的固定常数。序和表格之类的固定常数。AT89S51的片内程序存储器的片内程序存储器为为4KB的的Flash存储器,地址范围为存储器,地址范围为0000H0FFFH。AT89S51单片机有单片机有16位地址总线,可外扩的程序存储器位地址总线,可外扩的程序存储器空间最大为空间最大为64KB,地址范围为,地址范围为0000

32、HFFFFH。有关。有关片内与片外扩展的程序存储器在运用时应留意以下问题:片内与片外扩展的程序存储器在运用时应留意以下问题:(1)整个程序存储器空间可分为片内和片外两部分,)整个程序存储器空间可分为片内和片外两部分,CPU原委是访问片内的还是片外的程序存储器,可由引原委是访问片内的还是片外的程序存储器,可由引脚上所接的电平来确定。脚上所接的电平来确定。39当当EA=1,PC值值0FFFH(为片内(为片内4KBFlash存储器的最大地址)时,存储器的最大地址)时,CPU只读取片内的只读取片内的Flash程序存储器中的程序代码,当程序存储器中的程序代码,当PC值值0FFFH会自动转向读会自动转向读

33、取片外程序存储器空间取片外程序存储器空间1000HFFFFH内的程序代码。内的程序代码。当当EA=0,单片机只读取片外程序存储器(地址范围为,单片机只读取片外程序存储器(地址范围为0000HFFFFH)中的程序代码。中的程序代码。CPU忽视片内忽视片内4KB(地址范围(地址范围0000H0FFFH)的)的Flash存储存储器。器。(2)程序存储器的某些单元被固定用于各中断源的中断服务程序的入口)程序存储器的某些单元被固定用于各中断源的中断服务程序的入口地址。地址。64KB程序存储器空间中有程序存储器空间中有5个特殊单元分别对应于个特殊单元分别对应于5个中断源的中断服务个中断源的中断服务子程序的

34、中断入口,如表子程序的中断入口,如表2-3所示。所示。相差多少字节42用汇编语言编程时,通常在这用汇编语言编程时,通常在这5个中断入口地址处都放个中断入口地址处都放1条跳条跳转指令跳向对应的中断服务子程序,而不是干脆存放中断服务子转指令跳向对应的中断服务子程序,而不是干脆存放中断服务子程序。这是因为两个中断入口间隔仅有程序。这是因为两个中断入口间隔仅有8个单元,假如这个单元,假如这8个单元个单元存放中断服务子程序,往往是不够用的。存放中断服务子程序,往往是不够用的。AT89S51复位后,程序存储器地址指针复位后,程序存储器地址指针PC的内容为的内容为0000H,程序从程序存储器地址程序从程序存

35、储器地址0000H起先执行程序。由于外部中断起先执行程序。由于外部中断0的的中断服务程序入口地址为中断服务程序入口地址为0003H,为使主程序不与外部中断,为使主程序不与外部中断0的的中断服务程序发生冲突,用汇编语言编程时,一般在中断服务程序发生冲突,用汇编语言编程时,一般在0000H单元单元存放一条跳转指令,转向主程序的入口地址。存放一条跳转指令,转向主程序的入口地址。2.4.2数据存储器空间数据存储器空间数据存储器空间分为片内与片外两部分。数据存储器空间分为片内与片外两部分。.片内数据存储器片内数据存储器AT89S51单片机的片内数据存储器(单片机的片内数据存储器(RAM)共有)共有128

36、个单元,字节地址为个单元,字节地址为00H7FH。图图2-4为为AT89S51片内片内数据存储器的结构。数据存储器的结构。4344图图2-4AT89S51片内片内RAM的结构的结构地址为地址为00H1FH的的32个单元是个单元是4组通用工作寄存器区,每个区包含组通用工作寄存器区,每个区包含8B的的工作寄存器,编号为工作寄存器,编号为R7R0。用户可以通过指令变更特殊功能寄存器。用户可以通过指令变更特殊功能寄存器PSW中中的的RS1、RS0这两位来切换选择当前的工作寄存器区,如表这两位来切换选择当前的工作寄存器区,如表2-2所示。所示。地址为地址为20H2FH的的16个单元的个单元的128位(位

37、(8位位16)可进行位寻址,也可以)可进行位寻址,也可以进行字节寻址。地址为进行字节寻址。地址为30H7FH的单元为用户的单元为用户RAM区,只能进行字节寻址,区,只能进行字节寻址,用作存放数据以及作为堆栈区运用。用作存放数据以及作为堆栈区运用。.片外数据存储器片外数据存储器当片内当片内128B的的RAM不够用时,须要外扩数据存储器,最多可外扩不够用时,须要外扩数据存储器,最多可外扩64KB的的RAM。留意,虽然片内。留意,虽然片内RAM与片外与片外RAM的低的低128B的地址是相同的,但是由的地址是相同的,但是由于是两个不同的数据存储区,访问时运用不同的指令,所以不会发生数据冲于是两个不同的

38、数据存储区,访问时运用不同的指令,所以不会发生数据冲突。突。452.4.3特殊功能寄存器特殊功能寄存器AT89S51单片机中的特殊功能寄存器的单元地址映射单片机中的特殊功能寄存器的单元地址映射在片内在片内RAM区的区的80HFFH区域中,共有区域中,共有26个,离散地个,离散地分布在该区域中,表分布在该区域中,表2-4所示为所示为SFR的名称及其分布。其的名称及其分布。其中有些中有些SFR还可进行位寻址,其位地址已在表还可进行位寻址,其位地址已在表2-4中列出。中列出。与与AT89C51相比,相比,AT89S51新增加了新增加了5个个SFR:DP1L、DP1H、AUXR、AUXR1和和WDTR

39、ST(见表(见表2-4中的序号为中的序号为5、6、14、19和和20的寄存器)。的寄存器)。4647从表从表2-4中可以发觉,凡是可以进行位寻址的中可以发觉,凡是可以进行位寻址的SFR,其字节地址的末位只能是,其字节地址的末位只能是0H或或8H。另外,若。另外,若CPU读读/写没有定义的单元,将得到一个不确定的随机数。写没有定义的单元,将得到一个不确定的随机数。SFR块中的累加器块中的累加器A和程序状态字寄存器和程序状态字寄存器PSW已在已在前面作过介绍。下面简洁介绍前面作过介绍。下面简洁介绍SFR块中的某些块中的某些SFR,余,余下的下的SFR与片内外围部件亲密相关,将在后续介绍片内与片内外

40、围部件亲密相关,将在后续介绍片内外围部件时进行说明。外围部件时进行说明。501堆栈指针堆栈指针SP堆栈指针堆栈指针SP的内容指示出堆栈顶部在内部的内容指示出堆栈顶部在内部RAM块中的位块中的位置。它可指向内部置。它可指向内部RAM00H7FH的任何单元。的任何单元。AT89S51的堆栈的堆栈结构属于向上生长型的堆栈(即每向堆栈压入结构属于向上生长型的堆栈(即每向堆栈压入1字节数据时,字节数据时,SP的内容自动增的内容自动增1)。单片机复位后,)。单片机复位后,SP中的内容为中的内容为07H,使得堆,使得堆栈事实上从栈事实上从08H单元起先,考虑到单元起先,考虑到08H1FH单元分别是属于单元分

41、别是属于13组的工作寄存器区,所以在程序设计中要用到这些工作寄存器组的工作寄存器区,所以在程序设计中要用到这些工作寄存器区最好在复位后且运行程序前,把区最好在复位后且运行程序前,把SP值改置为值改置为60H或更大的值,或更大的值,以避开堆栈区与工作寄存器区发生冲突。以避开堆栈区与工作寄存器区发生冲突。堆栈主要是为子程序调用和中断操作而设立的,具体功堆栈主要是为子程序调用和中断操作而设立的,具体功能有两个:爱护断点和现场爱护。能有两个:爱护断点和现场爱护。(1)爱护断点。因为无论是子程序调用操作还是中断)爱护断点。因为无论是子程序调用操作还是中断服务子程序调用操作,主程序都会被服务子程序调用操作

42、,主程序都会被“打断打断”,但最终都,但最终都要返回到主程序接着执行程序。因此,应预先把主程序的要返回到主程序接着执行程序。因此,应预先把主程序的断点在堆栈中爱护起来,为程序的正确返回做准备。断点在堆栈中爱护起来,为程序的正确返回做准备。(2)现场爱护。在单片机执行子程序或中断服务子程)现场爱护。在单片机执行子程序或中断服务子程序时,很可能要用到单片机中的一些寄存器单元,这就会序时,很可能要用到单片机中的一些寄存器单元,这就会破坏主程序运行时这些寄存器单元的原有内容。所以在执破坏主程序运行时这些寄存器单元的原有内容。所以在执行子程序或中断服务程序之前,要把单片机中有关寄存器行子程序或中断服务程

43、序之前,要把单片机中有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的单元的内容保存起来,送入堆栈,这就是所谓的“现场爱现场爱护护”。51堆堆栈栈的的操操作作有有两两种种:一一种种是是数数据据压压入入(PUSH)堆堆栈栈,另另一一种种是是数数据据弹弹出出(POP)堆堆栈栈。当当1字字节节数数据据压压入入堆堆栈栈时时,SP先先自自动动加加1,再再把把1字字节节数数据据压压入入堆堆栈栈;1字字节节数数据据弹弹出出堆堆栈栈后后,SP自自动动减减1。例例如如,(SP)=60H,CPU执执行行1条条子子程程序序调调用用指指令令或或响响应应中中断断后后,PC内内容容(断断点点地地址址)进进栈栈,PC的的

44、低低8位位PCL的的内内容容压压入入到到61H单单元元,PC的的高高8位位PCH的的内内容容压压入入到到62H,此时,此时,(SP)=62H。52532寄存器寄存器BAT89S51单片机在进行乘法和除法操作时要运用寄存单片机在进行乘法和除法操作时要运用寄存器器B。在不执行乘、除法操作的状况下,可把它当作一个。在不执行乘、除法操作的状况下,可把它当作一个一般寄存器来运用。一般寄存器来运用。乘法运算时,两个乘数分别在乘法运算时,两个乘数分别在A、B中,执行乘法指令中,执行乘法指令后,乘积存放在后,乘积存放在BA寄存器对中。寄存器对中。B中放乘积的高中放乘积的高8位,位,A中中放乘积的低放乘积的低8

45、位。位。除法运算时,被除数取自除法运算时,被除数取自A,除数取自,除数取自B,商存放在,商存放在A中,余数存放于中,余数存放于B中。中。3AUXR寄存器寄存器AUXR是协助寄存器,格式见图是协助寄存器,格式见图2-5。54图图2-5AUXR寄存器的格式寄存器的格式nDISALE:ALE的禁止的禁止/允许位。允许位。n0:ALE有效,发出有效,发出ALE脉冲;脉冲;n1:ALE仅在仅在CPU访问外部存储器时有效,不访问外部存访问外部存储器时有效,不访问外部存储器时,储器时,ALE引脚不输出脉冲信号,可削减对外部电路的引脚不输出脉冲信号,可削减对外部电路的干扰。干扰。nDISRTO:禁止:禁止/允

46、许看门狗定时器允许看门狗定时器WDT溢出时的复位输溢出时的复位输出。出。n0:WDT溢出时,允许向溢出时,允许向RST引脚输出一个高电平脉冲,引脚输出一个高电平脉冲,使单片机复位;使单片机复位;n1:禁止:禁止WDT溢出时的复位输出。溢出时的复位输出。5556WDIDLE:WDT在空闲模式下的禁止在空闲模式下的禁止/允许位。允许位。0:允许:允许WDT在空闲模式下计数;在空闲模式下计数;1:禁止:禁止WDT在空闲模式下计数。在空闲模式下计数。4数据指针数据指针DPTR0和和DPTR1DPTR0和和DPTR1为双数据指针寄存器。是为了为双数据指针寄存器。是为了便于访问数据存储器而设置的。便于访问

47、数据存储器而设置的。DPTR0为为8051单片机单片机原有的数据指针,原有的数据指针,DPTR1为新增加的数据指针。为新增加的数据指针。AUXR1的的DPS位(见图位(见图2-6)用于选择这两个数据)用于选择这两个数据指针。当指针。当DPS=0时,选用时,选用DPTR0;当;当DPS=1时,选用时,选用DPTR1。AT89S51复位时,默认选用复位时,默认选用DPTR0。5758DPTR0(或(或DPTR1)是一个)是一个16位位的的SFR,其高位,其高位字节寄存器用字节寄存器用DP0H(或(或DP1H)表示,低位字节寄存)表示,低位字节寄存器用器用DP0L(或(或DP1L)表示。)表示。DP

48、TR0(或(或DPTR1)既)既可以作为一个可以作为一个16位寄存器来用,也位寄存器来用,也可以作为两个独立可以作为两个独立的的8位寄存器位寄存器DP0H(或(或DP1H)和)和DP0L(或(或DP1L)来用。来用。595AUXR1寄存器寄存器AUXR1是协助寄存器,其格式如图是协助寄存器,其格式如图2-6所示。所示。其中:其中:DPS数据指针寄存器选择位。数据指针寄存器选择位。0:选择数据指针寄存器选择数据指针寄存器DPTR0;1:选择数据指针寄存器选择数据指针寄存器DPTR1。606看门狗定时器看门狗定时器WDT看门狗定时器看门狗定时器WDT包含包含1个个14位计数器和看门狗位计数器和看门

49、狗复位寄存器(复位寄存器(WDTRST)。当)。当CPU由于干扰,程序由于干扰,程序陷入死循环或跑飞状态时,看门狗定时器陷入死循环或跑飞状态时,看门狗定时器WDT供应供应了一种使程序复原正常运行的有效手段。了一种使程序复原正常运行的有效手段。612.4.4位地址空间位地址空间AT89S51在在RAM和和SFR中共有中共有211个寻址位个寻址位的位地的位地址,位地址范围为址,位地址范围为00HFFH,其中其中00H7FH这这128位处于片内位处于片内RAM字节地址字节地址20H2FH单元中,如单元中,如表表2-5所示。所示。其其余余的的83个个可可寻寻址址位位分分布布在在特特殊殊功功能能寄寄存存

50、器器SFR中中,如如表表2-6所所示示。可可被被位位寻寻址址的的寄寄存存器器有有11个个,共共有有位位地地址址88个个,其其中中5个个位位未未用用,其其余余83个个位位的的位位地地址址离离散散地地分分布布于于片片内内数数据据存存储储器器区区字字节节地地址址为为80HFFH的的范范围围内内,其其最最低低位位的的位位地地址址与与其其字字节节地地址址相相同同,并并且其字节地址的末位都为且其字节地址的末位都为0H或或8H。63图图2-7AT89S51单片机的存储器结构单片机的存储器结构2.5AT89S51单片机的并行单片机的并行I/O端口端口AT89S51单片机共有单片机共有4个双向的个双向的8位并行

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

当前位置:首页 > pptx模板 > 商业计划书

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

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