《硬件结构》PPT课件.ppt_第1页
《硬件结构》PPT课件.ppt_第2页
《硬件结构》PPT课件.ppt_第3页
《硬件结构》PPT课件.ppt_第4页
《硬件结构》PPT课件.ppt_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第第2章章 单片机硬件结构单片机硬件结构 2 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 控制器 3 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

2、 P2口 2.5.4 P3口 2.5.5 P1P3口驱动LED发光二极管 4 2.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 掉电和空闲模式下的WDT 5 AT89S51AT89S51的片内硬件基本结构、引脚功能、存储器结构、的片内硬件基本结构、引脚功能、存储器结构、 特殊功能寄存器功能、特殊功能寄存器功能、4 4个并行个并行I/OI/O口的结构和

3、特点,口的结构和特点, 复位电路和时钟电路的设计复位电路和时钟电路的设计, ,节电工作模式。节电工作模式。 目的:目的:本章本章学习学习,为,为AT89S51AT89S51系统的应用系统的应用设计设计打下基础。打下基础。 在原理和结构上,单片机把微机的许多概念、技术与特点都在原理和结构上,单片机把微机的许多概念、技术与特点都 继承下来。用学习微机的思路来学习单片机。继承下来。用学习微机的思路来学习单片机。 内容概要内容概要 6 2.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个全双工的异步串行口;个全双工的异步串行口; 7 图图

5、2-12-1 AT89S51AT89S51单片机片内结构单片机片内结构 8 (6 6)2 2个可编程的个可编程的1616位定时器位定时器/ /计数器;计数器; (7 7)1 1个看门狗定时器;个看门狗定时器; (8 8)中断系统具有)中断系统具有5 5个中断源、个中断源、5 5个中断向量;个中断向量; (9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR)2626个;个; (1010)低功耗模式有)低功耗模式有空闲模式空闲模式和和掉电模式掉电模式,且具有掉电,且具有掉电 模式下的中断恢复模式;模式下的中断恢复模式; (1111)3 3个程序加密锁定位个程序加密锁定位。 9 与AT89C51

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

7、al Function Register)的集中控制方式。 10 下面介绍图2-1中片内各功能部件片内各功能部件。 (1 1)CPUCPU(微处理器)(微处理器) 8位的CPU,与通用CPU基本相同,同样包括了运算器运算器和 控制器控制器两大部分,还有面向控制的位处理功能位处理功能。 (2 2)数据存储器()数据存储器(RAMRAM) 片内为128B(52子系列为256B),片外最多可扩64KB。 片内128B的RAM以高速RAM的形式集成,可加快单片 机运行的速度和降低功耗。 11 (3 3)程序存储器()程序存储器(Flash ROMFlash ROM) 片内集成有4KB4KB的Flash

8、存储器(AT89S52 则为8KB;AT89C55 片内20KB),如片内容量不够,片外可外扩至64KB。 (4 4)中断系统)中断系统 具有6个中断源,2级中断优先权。 (5 5)定时器)定时器/ /计数器计数器 2个16位定时器/计数器(52子系列有3个),4种工作方式。 (6 6)1 1个看门狗定时器个看门狗定时器WDTWDT 当CPU由于干扰使程序陷入死循环或跑飞时,WDT可使程序恢 复正常运行。 12 (7 7)串行口)串行口 1个全双工的异步串行口,4种工作方式。可进行串行通信, 扩展并行I/O口,还可与多个单片机构成多机系统。 (8 8)P0P0口口、P1P1口、口、P2P2口口

9、和和P3P3口口 4个8位并行I/O口。 (9 9)特殊功能寄存器()特殊功能寄存器(SFRSFR) 26个,对片内各功能部件管理、控制和监视。是各个功能 部件的控制寄存器控制寄存器和状态寄存器,映射在片内状态寄存器,映射在片内RAM区 80H80HFFHFFH内。 AT89S51完全兼容AT89C51,在充分保留原来软、硬件条件 下,完全可以用AT89S51直接代换。 13 2.2 AT89S512.2 AT89S51的引脚功能的引脚功能 先了解引脚,牢记各引脚的功能。 AT89S51与51系列中各种型号芯片的引脚互相兼容。 目前多采用4040只只引脚引脚双列直插双列直插,如图图2-22-2

10、所示。 引脚按其功能可分为如下3类: (1 1)电源及时钟引脚)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。 (2 2)控制引脚)控制引脚 、ALE/ 、 / /VPP、RST (RESET) (3 3)I/OI/O口引脚口引脚P0、P1、P2、P3,为4个8位I/O口 应熟记每一引脚功能对应用系统硬件电路设计十分重要。应熟记每一引脚功能对应用系统硬件电路设计十分重要。 EAPSENPROG 14 2.2.1 2.2.1 电源及时钟引脚电源及时钟引脚 1 1电源引脚电源引脚 (1 1)V VCC CC( (4040脚):脚):+5V电源。 (2 2)V VSS SS( (2020脚)

11、:脚):数字地。 图图2-2 AT89S51双列直插封装方式的引脚 15 2 2时钟引脚时钟引脚 (1 1)XTAL1XTAL1(1919脚):脚):片内振荡器反相放大器和时钟 发生器电路输入端。用片内振荡器时,该脚接外部 石英晶体和微调电容。外接时钟源时外接时钟源时,该脚接外部 时钟振荡器的信号。 (2 2)XTAL2XTAL2(1818脚):脚):片内振荡器反相放大器的输出 端。当使用片内振荡器片内振荡器,该脚连接外部石英晶体和 微调电容。当使用外部时钟源外部时钟源时,本脚悬空。 16 2.2.2 2.2.2 控制引脚控制引脚 (1 1)RST (RESETRST (RESET,9 9脚脚

12、) ) 复位信号输入,在引脚加上持续时间大于持续时间大于2 2个机器周期个机器周期 的高电平的高电平,可使单片机复位复位。正常工作,此脚电平 应 0.5V。 当看门狗定时器溢出输出时,该脚将输出长达当看门狗定时器溢出输出时,该脚将输出长达9696个时个时 钟振荡周期钟振荡周期的的高电平高电平。 17 (2 2) /VPP/VPP ( (Enable Address/Voltage Pulse of ProgramingEnable Address/Voltage Pulse of Programing,3131脚脚) ) :引脚引脚第一功能第一功能:外部程序存储器访问允许控制端。:外部程序存储

13、器访问允许控制端。 =1=1,在,在PCPC值不超出值不超出0FFFH0FFFH(即不超出片内(即不超出片内4KB Flash4KB Flash存储存储 器的地址范围)时,单片机读器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB4KB)中的程)中的程 序,但序,但PCPC值超出值超出0FFFH0FFFH (即超出片内(即超出片内4KB Flash4KB Flash地址范围)时,地址范围)时, 将将自动转向读取片外自动转向读取片外60KB60KB(1000H-FFFFH1000H-FFFFH)程序存储器空间中)程序存储器空间中 的程序。的程序。 =0 =0,只读取只读取外部的程序存

14、储器外部的程序存储器中的内容,读取的地址范中的内容,读取的地址范 围为围为0000H0000HFFFFHFFFFH,片内的,片内的4KB Flash 4KB Flash 程序存储器不起作用。程序存储器不起作用。 V VPP PP: :引脚引脚第二功能第二功能,对片内,对片内FlashFlash编程,接编程,接编程电压编程电压。 EA EA EA EA 18 (3 3)ALE/ ALE/ (Address Latch Enable/PROGrammingAddress Latch Enable/PROGramming,3030脚)脚) ALEALE为为CPUCPU访问外部程序存储器或外部数据存储

15、器提供访问外部程序存储器或外部数据存储器提供 地址锁存信号地址锁存信号,将,将低低8 8位地址位地址锁存在片外的地址锁存器中。锁存在片外的地址锁存器中。 此外,单片机此外,单片机正常运行正常运行时,时,ALEALE端端一直有正脉冲信号输出一直有正脉冲信号输出, 此频率为时钟振荡器频率此频率为时钟振荡器频率f fosc osc的 的1/61/6。可用作外部定时或触。可用作外部定时或触 发信号。发信号。 注意注意,每当,每当AT89S51AT89S51访问外部访问外部RAMRAM时(执行时(执行MOVXMOVX类指令),类指令), 要要丢失一个丢失一个ALEALE脉冲脉冲。 18 PROG 19

16、如需要,可将如需要,可将特殊功能寄存器特殊功能寄存器AUXRAUXR(地址为(地址为8EH8EH,将在后,将在后 面介绍)的面介绍)的第第0 0位位(ALEALE禁止位)置禁止位)置1 1,来,来禁止禁止ALEALE操作操作, 但执行访问外部程序存储器或外部数据存储器指令但执行访问外部程序存储器或外部数据存储器指令 “MOVCMOVC”或或“MOVXMOVX”时,时,ALEALE仍然有效。仍然有效。即即ALEALE禁止位禁止位 不影响对外部存储器的访问。不影响对外部存储器的访问。 :引脚引脚第二功能第二功能,对片内,对片内 FlashFlash编程,为编程,为编程脉冲编程脉冲 输入输入脚。脚。

17、 (4 4) (Program Strobe ENableProgram Strobe ENable,2929脚)脚) 片外程序存储器读选通信号,低电平有效。 PROG PSEN 20 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口口,需加上拉电阻,这时为准双准双 向口向口。作为通用I/O输入,应先向端口写入1。可驱动8 个LS型TT

18、L负载。 21 (2 2)P1P1口:口:8 8位,准双向位,准双向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存储器串行编程和校验,它们分别 是串行数据输入、输出和移位脉冲引脚。 22 (3 3)P2P2口:口:8位,准双向I/O口,具有内部上拉电阻。 当AT89S51扩展外部存储器及I/O口时,P2口作为高高8 8位地位地 址总

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

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

21、浮”态。故态。故P0P0口为双向三态口为双向三态I/OI/O口。口。 为什么为什么P0P0口要有高阻口要有高阻“悬浮悬浮”态?态? 准双向准双向I/OI/O口则无高阻的口则无高阻的“悬浮悬浮”状态。状态。 另外,另外,准双向口准双向口作通用作通用I/OI/O的输入口使用时,的输入口使用时,一定要向一定要向 该口先写入该口先写入“1 1”。以上的准双向口与双向口的差别,读以上的准双向口与双向口的差别,读 者在阅读者在阅读2.52.5节后,将会有深刻的理解。节后,将会有深刻的理解。 25 2.3 AT89S512.3 AT89S51的的CPUCPU 由图由图2-12-1可见,可见,CPUCPU由由

22、运算器运算器和和控制器控制器构成。构成。 2.3.1 2.3.1 运算器运算器 对操作数进行算术、逻辑和位操作运算。主要包括算对操作数进行算术、逻辑和位操作运算。主要包括算 术逻辑运算单元术逻辑运算单元ALUALU、累加器、累加器A A、位处理器、程序状态字、位处理器、程序状态字 寄存器寄存器PSWPSW及两个暂存器等。及两个暂存器等。 1 1算术逻辑运算单元算术逻辑运算单元ALUALU 可对可对8 8位变量位变量逻辑逻辑运算运算(与、或、异或、循环、求补和与、或、异或、循环、求补和 清零清零),还可,还可算术运算算术运算(加、减、乘、除加、减、乘、除) ALUALU还有位操作功能,对位变量进

23、行位处理,如置还有位操作功能,对位变量进行位处理,如置1 1、 清清0 0、求补、测试转移及逻辑、求补、测试转移及逻辑“与与”、“或或”等等。 26 2 2累加器累加器A A 使用最频繁的寄存器,使用最频繁的寄存器,可可写为写为AccAcc。“A A”与与“AccAcc” ” 书书 写上的差别,将在第写上的差别,将在第3 3章介绍。章介绍。作用如下:作用如下: (1 1)ALUALU单元的输入数据源之一,又是单元的输入数据源之一,又是ALUALU运算结果存放运算结果存放 单元单元。 (2 2)数据传送大多都通过累加器)数据传送大多都通过累加器A A,相当于数据的中转,相当于数据的中转 站。为解

24、决站。为解决“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S51AT89S51增加了一部分增加了一部分 可以不经过累加器的传送指令。可以不经过累加器的传送指令。 A A的进位标志的进位标志CyCy是特殊的,因为它同时又是是特殊的,因为它同时又是位处理机的位处理机的位位 累加器累加器 27 3 3程序状态字寄存器程序状态字寄存器PSWPSW PSWPSW(Program Status WordProgram Status Word)位于片内特殊功能寄存器区,)位于片内特殊功能寄存器区, 字节地址为字节地址为D0HD0H。 包含了包含了程序运行状态的信息程序运行状态的信息,其中,其中4 4位保存当前指令

25、执行位保存当前指令执行 后的状态,供程序查询和判断。后的状态,供程序查询和判断。格式如图格式如图2-32-3所示所示。 图图2-32-3 PSW PSW的格式的格式 28 PSWPSW中各个位的功能中各个位的功能: (1 1)CyCy(PSW.7PSW.7)进位标志位)进位标志位 可写为可写为C C。在算术和逻辑运算时,若有。在算术和逻辑运算时,若有进位进位/ /借位借位,CyCy 1 1;否则,;否则,CyCy0 0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。 (2 2)AcAc(PSW.6PSW.6)辅助进位标志位)辅助进位标志位 在在BCDBCD码运算时,用作十进位调整。即

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

27、为当前组工作寄存器区中的某一组为当前 工作寄存区工作寄存区见见表表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”的个数的个数是是奇数奇数还是还是偶数偶数。 30 P=1P=1,表示表示A A中中“1 1”的个

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

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

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

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

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

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

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

35、FH时,只访问片内时,只访问片内Flash Flash 存储器,存储器,当当PCPC值超出值超出 0FFFH0FFFH自动转向读片外程序存储器空间自动转向读片外程序存储器空间1000H1000HFFFFH FFFFH 内的程序。内的程序。 =0 =0时,只能执行片外程序存储器(时,只能执行片外程序存储器(0000H0000HFFFFHFFFFH) 中的程序。不理会片内中的程序。不理会片内4KB Flash 4KB Flash 存储器。存储器。 EA EA EA 37 (2 2)程序存储器某些固定单元)程序存储器某些固定单元用于各中断源中断服务用于各中断源中断服务 程序入口。程序入口。 64KB

36、64KB程序存储器空间中有程序存储器空间中有5 5个特殊单元个特殊单元分别对应于分别对应于5 5个中个中 断源的中断入口地址,见断源的中断入口地址,见表表2-32-3。 通常这通常这5 5个中断入口个中断入口地址处地址处都放一条跳转指令都放一条跳转指令跳向对应跳向对应 的中断服务子程序,而不是直接存放中断服务子程序的中断服务子程序,而不是直接存放中断服务子程序。 38 2.4.2 2.4.2 数据存储器空间数据存储器空间 片内与片外两部分。片内与片外两部分。 . .片内数据存储器片内数据存储器 片内数据存储器(片内数据存储器(RAMRAM)共)共128128个单元,个单元, 字节地址字节地址为

37、为00H00H7FH7FH。图图2-42-4为片内为片内 数据存储器的结构。数据存储器的结构。 00H00H1FH1FH 的的3232个单元个单元是是4 4组通用工作寄组通用工作寄 存器区,每区包含存器区,每区包含8B8B,为,为R7R7R0R0。可。可 通过指令改变通过指令改变RS1RS1、RS0RS0两位两位来选择。来选择。 20H20H2FH2FH的的1616个个单元的单元的128128位可位寻址,位可位寻址, 也可字节寻址。也可字节寻址。 30H30H7FH7FH的单元只能字节寻址,用作存的单元只能字节寻址,用作存 数据以及作为堆栈区。数据以及作为堆栈区。 39 . .片外数据存储器片

38、外数据存储器 当片内当片内128B128B的的RAMRAM不够用时,需外扩,最多可外扩不够用时,需外扩,最多可外扩64KB64KB 的的RAMRAM。注意,片内注意,片内RAMRAM与片外与片外RAMRAM两个空间是相互独两个空间是相互独 立的,立的,片内片内RAMRAM与片外与片外RAMRAM的低的低128B128B的地址是相同的的地址是相同的, 但由于使用的是不同的访问指令,所以不会发生冲突。但由于使用的是不同的访问指令,所以不会发生冲突。 40 2.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR) 采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件各功能部件

39、。特殊功能寄存特殊功能寄存 器器映射在片内映射在片内RAMRAM的的 80H80HFFH FFH 区域区域中,共中,共2626个个。SFRSFR 的名称及其分布的名称及其分布 ,有些还可位寻址,有些还可位寻址, ,见见表表2-4 2-4 。 与与AT89C51AT89C51相比,相比,新增新增5 5个个SFRSFR:DP1LDP1L、DP1HDP1H、AUXRAUXR、AUXR1AUXR1 和和WDTRSTWDTRST,已在,已在表表2-42-4中标出。中标出。 凡是凡是可位寻址的可位寻址的SFRSFR,字节地址末位只能是,字节地址末位只能是0H0H或或8H8H。另外,。另外, 若读若读/ /

40、写写未未定义单元,将得到一个不确定的随机数。定义单元,将得到一个不确定的随机数。 下面介绍某些下面介绍某些SFRSFR,余下的,余下的SFRSFR将在后将在后面面介绍。介绍。 41 42 43 1 1堆栈指针堆栈指针SPSP 指示堆栈顶部在内部指示堆栈顶部在内部RAMRAM块中的位置。块中的位置。 堆栈结构堆栈结构向上生长型向上生长型。单片机。单片机复位复位后,后,SPSP为为07H07H,使,使 得堆栈实际上从得堆栈实际上从08H08H单元开始,单元开始,由于由于08H08H1FH1FH单元分单元分 别是属于别是属于1 13 3组的工作寄存器区,组的工作寄存器区,最好在复位最好在复位后后把把

41、 SPSP值改置为值改置为60H60H或更大的值或更大的值,避免堆栈与工作寄存器,避免堆栈与工作寄存器 冲突。冲突。 堆栈是为堆栈是为子程序调用子程序调用和和中断操作中断操作而设而设,主要主要用来用来保护保护 断点断点和和现场现场。 44 1 1堆栈指针堆栈指针SPSP (1 1)保护断点。)保护断点。无论是子程序调用操作还是中断服务子无论是子程序调用操作还是中断服务子 程序调用,最终都要返回主程序。应预先把主程序的程序调用,最终都要返回主程序。应预先把主程序的 断点在堆栈中保护起来,为程序正确返回做准备。断点在堆栈中保护起来,为程序正确返回做准备。 (2 2)现场保护。)现场保护。执行子程序

42、或中断服务子程序时,要用执行子程序或中断服务子程序时,要用 到一些寄存器单元,会破坏原有内容。要把有关寄存到一些寄存器单元,会破坏原有内容。要把有关寄存 器单元的内容保存起来,送入堆栈,这就是所谓的器单元的内容保存起来,送入堆栈,这就是所谓的 “现场保护现场保护”。 两种操作:两种操作:数据压入数据压入(PUSHPUSH)堆栈,堆栈,数据弹出数据弹出(POPPOP)堆堆 栈。数据压入堆栈,栈。数据压入堆栈,SPSP自动加自动加1 1;数据弹出堆栈,;数据弹出堆栈,SPSP自自 动减动减1 1。 45 2 2寄存器寄存器B B 为执行乘法和除法为执行乘法和除法而而设。在不执行乘、除法操作的情设。

43、在不执行乘、除法操作的情 况下,可把它当作一个普通寄存器来使用。况下,可把它当作一个普通寄存器来使用。 乘法乘法,两乘数分别在,两乘数分别在A A、B B中,执行乘法指令后,乘积中,执行乘法指令后,乘积 在在BABA中中 除法除法,被除数取自,被除数取自A A,除数取自,除数取自B B,商存放在,商存放在A A中,余数中,余数 存存B B中。中。 46 3 3AUXRAUXR寄存器寄存器 AUXR AUXR是辅助寄存器,其格式如是辅助寄存器,其格式如图图2-52-5所示所示: 图图2-52-5 AUXRAUXR寄存器的格式寄存器的格式 其中其中: : DISALEDISALE:ALEALE的禁

44、止的禁止/ /允许位允许位。 0 0:ALEALE有效,发出脉冲;有效,发出脉冲; 1 1:ALEALE仅在执行仅在执行MOVCMOVC和和MOVXMOVX类指令时有效,不访类指令时有效,不访 问外部存储器时,问外部存储器时,ALEALE不输出脉冲信号不输出脉冲信号。 47 DISRTODISRTO:禁止禁止/ /允许允许WDTWDT溢出时的复位输出溢出时的复位输出。 0 0:WDTWDT溢出时,在溢出时,在RSTRST引脚输出一个高电平脉冲;引脚输出一个高电平脉冲; 1 1:RSTRST引脚仅为输入脚。引脚仅为输入脚。 WDIDLEWDIDLE:WDTWDT在空闲模式下的禁止在空闲模式下的禁

45、止/ /允许位。允许位。 0 0: WDTWDT在空闲模式下继续计数;在空闲模式下继续计数; 1 1: WDTWDT在空闲模式下暂停计数。在空闲模式下暂停计数。 48 4. 4. 数据指针数据指针DPTR0DPTR0和和DPTR1DPTR1 双数据指针寄存器双数据指针寄存器,便于访问便于访问数据存储器数据存储器。 DPTR0DPTR0:AT89C51AT89C51单片机单片机原有原有的数据指针的数据指针; DPTR1DPTR1:新增加新增加的数据指针。的数据指针。 AUXR1AUXR1的的DPSDPS位位用于用于选择选择两个数据指针两个数据指针。当。当DPS=0DPS=0时,选用时,选用 DP

46、TR0DPTR0;当;当DPS=1DPS=1时,选用时,选用DPTR1DPTR1。 数据指针数据指针可作为一个可作为一个1616位寄存器来用,也可作为两个独立位寄存器来用,也可作为两个独立 的的8 8位寄存器位寄存器DP0HDP0H(或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)来用。)来用。 49 5. AUXR15. AUXR1寄存器寄存器 AUXR1AUXR1是辅助寄存器,格式如是辅助寄存器,格式如图图2-62-6所示所示: DPSDPS:数据指针寄存器选择位。数据指针寄存器选择位。 0 0:选择数据指针寄存器选择数据指针寄存器DPTR0DPTR0; 1 1:选

47、择数据指针寄存器选择数据指针寄存器DPTR1DPTR1。 图图2-62-6 AUXR1AUXR1寄存器的格式寄存器的格式 50 6. 6. 看门狗定时器看门狗定时器WDTWDT WDTWDT包含一个包含一个1414位计数器位计数器和和看门狗定时器复位寄存器看门狗定时器复位寄存器 (WDTRSTWDTRST)。)。 当当CPUCPU由于干扰,程序陷入死循环或跑飞状态时,由于干扰,程序陷入死循环或跑飞状态时,WDTWDT提提 供了一种使程序恢复正常运行的有效手段。供了一种使程序恢复正常运行的有效手段。 有关有关WDTWDT在抗干扰设计中的应用以及低功耗模式下运行在抗干扰设计中的应用以及低功耗模式下

48、运行 的状态,将在相应的章节中具体介绍。的状态,将在相应的章节中具体介绍。 上面介绍的特殊功能寄存器,上面介绍的特殊功能寄存器,除了前两个除了前两个SPSP和和B B以外,以外, 其余的均为其余的均为AT89S51AT89S51在在AT89C51AT89C51基础上基础上新增加的新增加的SFRSFR。 51 2.4.4 2.4.4 位地址空间位地址空间 211211个寻址位的位地址,位地址范围为个寻址位的位地址,位地址范围为 00H00HFFHFFH,其中,其中 00H00H7FH7FH 这这128128位处于位处于片内片内RAM RAM 字节地址字节地址 20H20H2FH2FH 单单 元中

49、,如元中,如表表2-52-5所示。其余的所示。其余的8383个可寻址位个可寻址位分布在分布在特殊特殊 功能寄存器功能寄存器SFRSFR中,中,见见表表2-62-6。 可被位寻址的可被位寻址的特殊寄存器特殊寄存器有有1111个个,共有位地址,共有位地址8888个,个,5 5个个 位未用,其余位未用,其余8383个位的位地址离散地分布于片内数据存个位的位地址离散地分布于片内数据存 储器区字节地址为储器区字节地址为80H80HFFHFFH的范围内,其的范围内,其最低的位地址最低的位地址 等于其字节地址等于其字节地址,且其字节地址的,且其字节地址的末位都为末位都为0H0H或或8H8H。 52 53 特

50、殊功 能 寄存器 位 地 址 字 节 地 址 D7D6D5D4D3D2D1D0 BF7HF6HF5HF4HF3HF2HF1HF0HF0H AccE7HE6HE5HE4HE3HE2HE1HE0HE0H PSWD7HD6HD5HD4HD3HD2HD1HD0HD0H IPBCHBBHBAHB9HB8HB8H P3B7HB6HB5HB4HB3HB2HB1HB0HB0H IEAFHACHABHAAHA9HA8HA8H P2A7HA6HA5HA4HA3HA2HA1HA0HA0H SCON9FH9EH9DH9CH9BH9AH99H98H98H P197H96H95H94H93H92H91H90H90H TC

51、ON8FH8EH8DH8CH8BH8AH89H88H88H P087H86H85H84H83H82H81H80H80H 表2-6 SFR中的位地址分布 54 作为对作为对AT89S51AT89S51存储器结构的总结,存储器结构的总结,图图2-72-7为为各类各类 存储器的结构图。存储器的结构图。从图中可从图中可清楚看出各类存储器在存清楚看出各类存储器在存 储器空间的位置。储器空间的位置。 55 2.5 AT89S512.5 AT89S51的并行的并行I/OI/O端口端口 4 4个双向的个双向的8 8位并行位并行I/OI/O端口,分别记为端口,分别记为P0P0、P1P1、P2P2和和P3P3,

52、其中其中输出锁存器输出锁存器属于属于特殊功能寄存器特殊功能寄存器。端口的每一位。端口的每一位 均由输出锁存器、输出驱动器和输入缓冲器组成,均由输出锁存器、输出驱动器和输入缓冲器组成,4 4个个 端口按端口按字节输入字节输入/ /输出输出外,外,也也可可位寻址位寻址。 2.5.1 P02.5.1 P0口口 P0P0口是一个口是一个双功能双功能的的8 8位并行端口,位并行端口,字节地址字节地址为为80H80H,位地,位地 址为址为80H80H87H87H。端口的各位具有完全相同但又相互独。端口的各位具有完全相同但又相互独 立的电路结构,立的电路结构,P0P0口口某一位的某一位的位电路结构位电路结构

53、如如图图2-82-8所示所示。 56 57 1 1位电路结构位电路结构 P0 P0口某一位的电路包括:口某一位的电路包括: (1 1)一个数据输出的锁存器,用于数据位的锁存。)一个数据输出的锁存器,用于数据位的锁存。 (2 2)两个三态的数据输入缓冲器,分别是用于)两个三态的数据输入缓冲器,分别是用于读锁存器读锁存器 数据数据的输入缓冲器的输入缓冲器BUF1BUF1和和读引脚数据读引脚数据的输入缓冲器的输入缓冲器BUF2BUF2。 (3 3)一个多路转接开关)一个多路转接开关MUXMUX,它的一个输入来自锁存器的,它的一个输入来自锁存器的 端,另一个输入为地址端,另一个输入为地址/ /数据信号

54、的反相输出。数据信号的反相输出。MUXMUX由由 “控制控制”信号控制,实现锁存器的输出和地址信号控制,实现锁存器的输出和地址/ /数据信数据信 号之间的转接。号之间的转接。 (4 4)数据输出的)数据输出的控制和驱动电路控制和驱动电路,由,由两个场效应管两个场效应管(FETFET) 组成。组成。 58 2 2工作过程分析工作过程分析 (1 1)P0P0口用作地址口用作地址/ /数据总线数据总线 外扩存储器或外扩存储器或I/OI/O时,时,P0P0口作为单片机系统口作为单片机系统复用的复用的地址地址/ /数数 据总线使用。据总线使用。 当作为当作为地址或数据输出地址或数据输出时,时,“控制控制

55、”信号为信号为1 1,硬件自动,硬件自动 使转接开关使转接开关MUXMUX打向上面,接通反相器的输出,同时使打向上面,接通反相器的输出,同时使 与门处于开启状态。与门处于开启状态。 当当输出的地址输出的地址/ /数据信息为数据信息为1 1时,与门输出为时,与门输出为1 1,上方的场,上方的场 效应管导通,下方的场效应管截止,效应管导通,下方的场效应管截止,P0.xP0.x引脚输出为引脚输出为1 1; 当输出的地址当输出的地址/ /数据信息为数据信息为0 0时,时,上方的场效应管上方的场效应管截止截止, 下方的场效应管下方的场效应管导通导通,P0.xP0.x引脚输出为引脚输出为0 0。 59 输

56、出电路是输出电路是上、下两个场效应管形成的上、下两个场效应管形成的推拉式结构推拉式结构,大大提高了,大大提高了 负载能力,上方的场效应管这时起到负载能力,上方的场效应管这时起到内部上拉电阻内部上拉电阻的作用。的作用。 当当P0P0口作为口作为数据数据输入时输入时,仅从外部存储器(或,仅从外部存储器(或I/OI/O)读入信息,)读入信息, 对应的对应的“控制控制”信号为信号为0 0,MUXMUX接通锁存器的接通锁存器的 端。端。 由于由于P0P0口作为地址口作为地址/ /数据复用方式访问外部存储器时,数据复用方式访问外部存储器时,CPUCPU自动向自动向 P0P0口写入口写入FFHFFH,使下方

57、场效应管截止,上方场效应管由于控制,使下方场效应管截止,上方场效应管由于控制 信号为信号为0 0也截止,从而也截止,从而保证数据信息的保证数据信息的高阻抗高阻抗输入输入,从外部存,从外部存 储器输入的数据信息直接由储器输入的数据信息直接由P0.xP0.x引脚通过输入缓冲器引脚通过输入缓冲器BUF2BUF2进进 入内部总线。入内部总线。 具有具有高阻抗输入的高阻抗输入的I/OI/O口口应具有应具有高电平高电平、低电平低电平和和高阻抗高阻抗3 3种状态种状态 的端口。因此,的端口。因此,P0P0口作为地址口作为地址/ /数据总线使用时是一个真正的数据总线使用时是一个真正的 双向端口,简称双向端口,

58、简称双向口双向口。 Q 60 (2 2)P0P0口用作通用口用作通用I/OI/O口口 当当P0P0口不作为系统的地址口不作为系统的地址/ /数据总线使用时,此时数据总线使用时,此时P0P0口也可口也可 作为通用的作为通用的I/OI/O口使用。口使用。 作通用的作通用的I/OI/O口时,对应的口时,对应的“控制控制”信号为信号为0 0,MUXMUX打向下面,打向下面, 接通锁存器的接通锁存器的 端,端,“与门与门”输出为输出为0 0,上方场效应管截,上方场效应管截 止,形成的止,形成的P0P0口输出电路为漏极开路输出。口输出电路为漏极开路输出。 P0P0口作输出口口作输出口时,来自时,来自CPU

59、CPU的的“写写”脉冲加在脉冲加在D D锁存器的锁存器的CPCP 端,内部总线上的数据写入端,内部总线上的数据写入D D锁存器,并由引脚锁存器,并由引脚P0.xP0.x输出。输出。 Q 61 当当D D锁存器为锁存器为1 1时,时, 端为端为0 0,下方场效应管截止,输出为漏,下方场效应管截止,输出为漏 极开路,此时,必须外接上拉电阻才能有高电平输出;当极开路,此时,必须外接上拉电阻才能有高电平输出;当D D 锁存器为锁存器为0 0时,下方场效应管导通,时,下方场效应管导通,P0P0口输出为低电平。口输出为低电平。 P0P0口作输入口口作输入口使用时,有使用时,有两种读入方式两种读入方式:“读

60、锁存器读锁存器”和和 “读引脚读引脚”。 当当CPUCPU发出发出“读锁存器读锁存器”指令时,指令时,锁存器的状态锁存器的状态由由Q Q端经上端经上 方的三态缓冲器方的三态缓冲器BUF1BUF1进入内部总线;进入内部总线; 当当CPUCPU发出发出“读引脚读引脚”指令指令时,锁存器的输出状态时,锁存器的输出状态=1=1(即(即 端端为为0 0),而使下方场效应管截止,),而使下方场效应管截止,引脚的状态引脚的状态经下方的三经下方的三 态缓冲器态缓冲器BUF2BUF2进入内部总线。进入内部总线。 Q Q 62 3 3P0P0口的特点口的特点 P0P0口为口为双功能口双功能口地址地址/ /数据复用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论