




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 程序存储器空间3 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
2、 P3口 2.5.5 P1P3口驱动LED发光二极管42.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 掉电和空闲模式下的WDT5nAT89S51AT89S51的片内硬件基本结构、引脚功能、存储器结构、的片内硬件基本结构、引脚功能、存储器结构、特殊功能寄存器功能、特殊功能寄存器功能、4 4个并行个并行I/OI/O口的结构和特点,口的结构和特点,n复位电路
3、和时钟电路的设计复位电路和时钟电路的设计, ,节电工作模式。节电工作模式。目的:目的:本章本章学习学习,为,为AT89S51AT89S51系统的应用系统的应用设计设计打下基础。打下基础。在原理和结构上,单片机把微机的许多概念、技术与特点都在原理和结构上,单片机把微机的许多概念、技术与特点都继承下来。用学习微机的思路来学习单片机。继承下来。用学习微机的思路来学习单片机。内容概要内容概要62.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)增加在线可编程
6、功能ISPISP(In System Program),字字节节和页编程页编程,现场程序调试和修改更加方便灵活;(2)数据指针数据指针增加到两个两个,方便了对片外RAM的访问过程;(3)增加增加了看门狗定时器看门狗定时器,提高了系统的抗干扰能力;(4)增加增加断电标志;(5)增加掉电状态下的中断恢复模式。片内各功能部件通过片内单一总线连接而成(见图2-1),基本结构依旧是CPU 加上外围芯片的传统微机结构。CPU对各种功能部件的控制对各种功能部件的控制是采用特殊功能寄存器特殊功能寄存器(SFR,Special Function Register)的集中控制方式。下面介绍图2-1中片内各功能部件
7、片内各功能部件。(1 1)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)中断
8、系统)中断系统具有6个中断源,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/ 、 / /V
10、PP、RST(RESET)(3 3)I/OI/O口引脚口引脚P0、P1、P2、P3,为4个8位I/O口12EAEAEAPSENPROG2.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
11、)XTAL2XTAL2(1818脚):脚):片内振荡器反相放大器的输出端。当使用片内振荡器片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源外部时钟源时,本脚悬空。2.2.2 2.2.2 控制引脚控制引脚(1 1)RST (RESETRST (RESET,9 9脚脚) )复位信号输入,在引脚加上持续时间大于持续时间大于2 2个机器周期的高电个机器周期的高电平平,可使单片机复位复位。正常工作,此脚电平应 0.5V。1415当看门狗定时器溢出输出时,该脚将输出长达当看门狗定时器溢出输出时,该脚将输出长达9696个时钟振荡个时钟振荡周期周期的的高电平高电平。(2 2) /VPP/VPP (
12、Enable Address/Voltage Pulse of (Enable Address/Voltage Pulse of ProgramingPrograming,3131脚脚) ) :引脚引脚第一功能第一功能:外部程序存储器访问允许控制端。:外部程序存储器访问允许控制端。=1=1,在,在PCPC值不超出值不超出0FFFH0FFFH(即不超出片内(即不超出片内4KB Flash4KB Flash存存储器的地址范围)时,单片机读储器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB4KB)中的程序,但中的程序,但PCPC值超出值超出0FFFH0FFFH (即超出片内(即超出片内
13、4KB Flash4KB Flash地地址范围)时,将址范围)时,将自动转向读取片外自动转向读取片外60KB60KB(1000H-FFFFH1000H-FFFFH)程序存储器空间中的程序。程序存储器空间中的程序。EAEAEA =0 =0,只读取只读取外部的程序存储器外部的程序存储器中的内容,读取的地中的内容,读取的地址范围为址范围为0000H0000HFFFFHFFFFH,片内的,片内的4KB Flash 4KB Flash 程序存储器不起程序存储器不起作用。作用。 V VPPPP:引脚引脚第二功能第二功能,对片内,对片内FlashFlash编程,接编程,接编程电压编程电压。(3 3)ALE/
14、 ALE/ (Address Latch Enable/Address Latch Enable/PROGrammingPROGramming,3030脚)脚)ALEALE为为CPUCPU访问外部程序存储器或外部数据存储器提供访问外部程序存储器或外部数据存储器提供地地址锁存信号址锁存信号,将,将低低8 8位地址位地址锁存在片外的地址锁存器中。锁存在片外的地址锁存器中。16EAPROG此外,单片机此外,单片机正常运行正常运行时,时,ALEALE端端一直有正脉冲信号输出一直有正脉冲信号输出,此,此频率为时钟振荡器频率频率为时钟振荡器频率f foscosc的的1/61/6。可用作外部定时或触发。可用
15、作外部定时或触发信号。信号。注意注意,每当,每当AT89S51AT89S51访问外部访问外部RAMRAM时(执行时(执行MOVXMOVX类指令),要类指令),要丢失一个丢失一个ALEALE脉冲脉冲。如需要,可将如需要,可将特殊功能寄存器特殊功能寄存器AUXRAUXR(地址为(地址为8EH8EH,将在后面介,将在后面介绍)的绍)的第第0 0位位(ALEALE禁止位)置禁止位)置1 1,来,来禁止禁止ALEALE操作操作,但执行,但执行访问外部程序存储器或外部数据存储器指令访问外部程序存储器或外部数据存储器指令“MOVCMOVC”或或“MOVXMOVX”时,时,ALEALE仍然有效。仍然有效。即即
16、ALEALE禁止位不影响对外部存禁止位不影响对外部存储器的访问。储器的访问。 :引脚引脚第二功能第二功能,对片内,对片内 FlashFlash编程,为编程,为编程脉冲输编程脉冲输入入 脚。脚。17PROG(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位地址总线及数据总线的分时
17、复用分时复用端口。P0口也可用用作通用的作通用的I/OI/O口口,需加上拉电阻,这时为准双向准双向口口。作为通用I/O输入,应先向端口写入1。可驱动8个LS型TTL负载。(2 2)P1P1口:口:8 8位,准双向位,准双向I/OI/O口,具有内部上拉电阻。口,具有内部上拉电阻。准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1。18PSEN19P1口可驱动4 4个个LSLS型型TTLTTL负载。P1.5/MOSIP1.5/MOSI、P1.6/MISOP1.6/MISO和和P1.7/SCKP1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引
18、脚。(3 3)P2P2口:口:8位,准双向I/O口,具有内部上拉电阻。当AT89S51扩展外部存储器及I/O口时,P2口作为高高8 8位地址总线位地址总线用,输出高8位地址。P2P2口口也可作为普通的也可作为普通的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
19、输入输入,应先向端,应先向端口输出锁存器写入口输出锁存器写入1 1。可驱动。可驱动4 4个个LSLS型型TTLTTL负载。负载。P3P3口还可提供口还可提供第二功能第二功能。第二功能定义。第二功能定义见见表表2-12-1,应熟,应熟记。记。2021INT0INT1WRRD综上所述,综上所述,P0P0口口可可作为总线作为总线口口,为双向口。作为通用的,为双向口。作为通用的I/OI/O口使用时,为准双向口,这时需加上拉电阻。口使用时,为准双向口,这时需加上拉电阻。P1P1口、口、P2P2口、口、P3P3口口均为准双向口。均为准双向口。注意注意:准双向口与双向口的差别准双向口与双向口的差别。准双向口
20、仅有两个状态。准双向口仅有两个状态。而。而P0P0口作为总线使用,口线内无上拉电阻,处于高阻口作为总线使用,口线内无上拉电阻,处于高阻“悬浮悬浮”态。故态。故P0P0口为双向三态口为双向三态I/OI/O口。口。为什么为什么P0P0口要有高阻口要有高阻“悬浮悬浮”态?态?准双向准双向I/OI/O口则无高阻的口则无高阻的“悬浮悬浮”状态。状态。另外,另外,准双向口准双向口作通用作通用I/OI/O的输入口使用时,的输入口使用时,一定要向该口一定要向该口先写入先写入“1 1”。以上的准双向口与双向口的差别,读者在阅读以上的准双向口与双向口的差别,读者在阅读2.52.5节后,将会有深刻的理解。节后,将会
21、有深刻的理解。22至此,至此,4040个个引脚已介绍引脚已介绍完完,应熟记每一引脚功能对应用,应熟记每一引脚功能对应用系统硬件电路设计十分重要。系统硬件电路设计十分重要。2.3 AT89S512.3 AT89S51的的CPUCPU由图由图2-12-1可见,可见,CPUCPU由由运算器运算器和和控制器控制器构成。构成。2.3.1 2.3.1 运算器运算器对操作数进行算术、逻辑和位操作运算。主要包括算术对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元逻辑运算单元ALUALU、累加器、累加器A A、位处理器、程序状态字寄存、位处理器、程序状态字寄存器器PSWPSW及两个暂存器等。及两个暂
22、存器等。1 1算术逻辑运算单元算术逻辑运算单元ALUALU可对可对8 8位变量位变量逻辑逻辑运算运算(与、或、异或、循环、求补和清与、或、异或、循环、求补和清零零),还可,还可算术运算算术运算(加、减、乘、除加、减、乘、除)23ALUALU还有位操作功能,对位变量进行位处理,如置还有位操作功能,对位变量进行位处理,如置“1 1”、清、清“0 0”、求补、测试转移及逻辑、求补、测试转移及逻辑“与与”、“或或”等等。2 2累加器累加器A A使用最频繁的寄存器,使用最频繁的寄存器,可可写为写为AccAcc。“A A”与与“AccAcc” 书写书写上的差别,将在第上的差别,将在第3 3章介绍。章介绍。
23、作用如下:作用如下:(1 1)ALUALU单元的输入数据源之一,又是单元的输入数据源之一,又是ALUALU运算结果存放单运算结果存放单元元。(2 2)数据传送大多都通过累加器)数据传送大多都通过累加器A A,相当于数据的中转站。,相当于数据的中转站。为解决为解决“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S51AT89S51增加了一部分可以不增加了一部分可以不经过累加器的传送指令。经过累加器的传送指令。24A A的进位标志的进位标志CyCy是特殊的,因为它同时又是是特殊的,因为它同时又是位处理机的位处理机的位累位累加器加器3 3程序状态字寄存器程序状态字寄存器PSWPSWPSWPSW(Progra
24、m Status WordProgram Status Word)位于片内特殊功能寄存器区,)位于片内特殊功能寄存器区,字节地址为字节地址为D0HD0H。包含了包含了程序运行状态的信息程序运行状态的信息,其中,其中4 4位保存当前指令执行后位保存当前指令执行后的状态,供程序查询和判断。的状态,供程序查询和判断。格式如图格式如图2-32-3所示所示。 图图2-32-3 PSW PSW的格式的格式25PSWPSW中各个位的功能中各个位的功能:(1 1)CyCy(PSW.7PSW.7)进位标志位)进位标志位 可写为可写为C C。在算术和逻辑运算时,若有。在算术和逻辑运算时,若有进位进位/ /借位借位
25、,CyCy1 1;否则,否则,CyCy0 0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)辅助进位标志位)辅助进位标志位 在在BCDBCD码运算时,用作十进位调整。即当码运算时,用作十进位调整。即当D3D3位向位向D4D4位产生进位产生进位或借位时,位或借位时,AcAc1 1;否则,;否则,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用户设定标志位)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置由用户使用的一个状态标志位,可用指令来使它置1 1或清或清0 0,控制程序的流向。用户应充分利用。控制程序的流向。用户应
26、充分利用。26(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4组工作寄存器区选择组工作寄存器区选择选择片内选择片内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(P
27、SW.0PSW.0)奇偶标志位)奇偶标志位指令执行完,累加器指令执行完,累加器A A中中“1 1”的个数的个数是是奇数奇数还是还是偶数偶数。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单元取指单元取指令,开始执行程序。令
29、,开始执行程序。 PC PC工作过程是工作过程是:CPUCPU读指令时,读指令时,PCPC的内容作为所取指令的地的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时址,程序存储器按此地址输出指令字节,同时PCPC自动加自动加1 1。 PC PC中内容变化轨迹中内容变化轨迹决定程序流程。当决定程序流程。当顺序执行顺序执行程序时自动程序时自动加加1 1;执行;执行转移程序转移程序或或子程序、中断子程序调用子程序、中断子程序调用时,自动时,自动将其内容更改成所要转移的目的地址。将其内容更改成所要转移的目的地址。 PC PC的计数宽度的计数宽度决定了程序存储器的地址范围。决定了程序存储器的地
30、址范围。PCPC为为1616位,位,故可对故可对64KB64KB(=2=21616B B)寻址。寻址。2.4 AT89S512.4 AT89S51存储器的结构存储器的结构存储器存储器的的结构特点之一是将程序存储器和数据存储器分开结构特点之一是将程序存储器和数据存储器分开(哈佛结构),哈佛结构),并有并有各自各自的访问指令。的访问指令。存储器空间可分为存储器空间可分为4 4类类。30. .程序存储器空间程序存储器空间片内和片外两部分。片内和片外两部分。片内片内4KB4KB FlashFlash ,编程和擦除完全是电气实现。可用通用编,编程和擦除完全是电气实现。可用通用编程器对其编程,也可程器对其
31、编程,也可在线编程在线编程。当片内当片内4KB Flash 4KB Flash 存储器不够用时,可片外扩展,最多可扩存储器不够用时,可片外扩展,最多可扩展至展至64KB64KB程序存储器。程序存储器。. .数据存储器空间数据存储器空间片内片内与与片外片外两部分。两部分。片内有片内有128 B RAM128 B RAM(5252子系列为子系列为256B256B)。片内片内RAM RAM 不够用时,在不够用时,在片外可扩展至片外可扩展至64KB RAM64KB RAM 。31. .特殊功能寄存器特殊功能寄存器SFRSFR (Special Function RegisterSpecial Func
32、tion Register)片内各功能部件的控制寄存器及状态寄存器。片内各功能部件的控制寄存器及状态寄存器。SFRSFR综合反映了综合反映了整个单片机基本系统内部实际的工作状态及工作方式。整个单片机基本系统内部实际的工作状态及工作方式。. .位地址空间位地址空间共有共有211211个个可寻址位,构成了位地址空间。它们位于内部可寻址位,构成了位地址空间。它们位于内部 RAMRAM(共(共128128位)和特殊功能寄存器区(共位)和特殊功能寄存器区(共8383位)中。位)中。2.4.1 2.4.1 程序存储器空间程序存储器空间存放程序和表格之类的固定常数。片内为存放程序和表格之类的固定常数。片内为
33、4KB4KB的的 Flash Flash ,地址,地址为为0000H0000H0FFFH0FFFH。1616位地址线,可外扩的程序存储器空间最位地址线,可外扩的程序存储器空间最大为大为64KB64KB,地址为,地址为0000H0000HFFFFHFFFFH。使用使用时时应注意以下问题应注意以下问题:32(1 1)分为)分为片内片内和和片外片外两部分两部分,访问片内的还是片外的程序,访问片内的还是片外的程序存储器,由存储器,由 引脚电平引脚电平确定。确定。 =1 =1时,时,CPUCPU从片内从片内0000H0000H开始取指令,开始取指令,当当PCPC值没有超出值没有超出0FFFH0FFFH时
34、,只访问片内时,只访问片内Flash Flash 存储器,存储器,当当PCPC值超出值超出0FFFH0FFFH自自动转向读片外程序存储器空间动转向读片外程序存储器空间1000H1000HFFFFH FFFFH 内的程序。内的程序。 =0 =0时,只能执行片外程序存储器(时,只能执行片外程序存储器(0000H0000HFFFFHFFFFH)中的)中的程序。不理会片内程序。不理会片内4KB Flash 4KB Flash 存储器。存储器。(2 2)程序存储器某些固定单元)程序存储器某些固定单元用于各中断源中断服务程序用于各中断源中断服务程序入口。入口。33EAEAEA3464KB64KB程序存储器
35、空间中有程序存储器空间中有5 5个特殊单元个特殊单元分别对应于分别对应于5 5个中断源个中断源 的中断入口地址,见的中断入口地址,见表表2-32-3。通常这通常这5 5个中断入口个中断入口地址处地址处都放一条跳转指令都放一条跳转指令跳向对应的跳向对应的 中断服务子程序,而不是直接存放中断服务子程序中断服务子程序,而不是直接存放中断服务子程序。2.4.2 2.4.2 数据存储器空间数据存储器空间 片内与片外两部分。片内与片外两部分。. .片内数据存储器片内数据存储器 片内数据存储器(片内数据存储器(RAMRAM)共)共128128个单元,字节地址个单元,字节地址为为00H00H7FH7FH。图图
36、2-42-4为片内数据存储器的结构。为片内数据存储器的结构。35图图2-4 2-4 AT89S51AT89S51片内片内RAMRAM结构结构00H00H1FH1FH 的的3232个单元个单元是是4 4组通用工作寄存器区,每区包含组通用工作寄存器区,每区包含8B8B,为为R7R7R0R0。可。可通过指令改变通过指令改变RS1RS1、RS0RS0两位两位来选择。来选择。20H20H2FH2FH的的1616个个单元的单元的128128位可位寻址,也可字节寻址。位可位寻址,也可字节寻址。30H30H7FH7FH的单元只能字节寻址,用作存数据以及作为堆栈区。的单元只能字节寻址,用作存数据以及作为堆栈区。
37、. .片外数据存储器片外数据存储器当片内当片内128B128B的的RAMRAM不够用时,需外扩,最多可外扩不够用时,需外扩,最多可外扩64KB64KB的的RAMRAM。注意,片内注意,片内RAMRAM与片外与片外RAMRAM两个空间是相互独立的,两个空间是相互独立的,片内片内RAMRAM与片外与片外RAMRAM的低的低128B128B的地址是相同的的地址是相同的,但由于使用的是不同,但由于使用的是不同的访问指令,所以不会发生冲突。的访问指令,所以不会发生冲突。362.4.3 2.4.3 特殊功能寄存器(特殊功能寄存器(SFRSFR)采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件
38、各功能部件。特殊功能寄存器特殊功能寄存器映射在片内映射在片内RAMRAM的的 80H80HFFH FFH 区域区域中,共中,共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组的工作寄存器区,组的工作寄存器区,最好在复位最好在复位后后
40、把把SPSP值改置为值改置为60H60H或或更大的值更大的值,避免堆栈与工作寄存器冲突。,避免堆栈与工作寄存器冲突。堆栈是为堆栈是为子程序调用子程序调用和和中断操作中断操作而设而设,主要主要用来用来保护断点保护断点和和现场现场。(1 1)保护断点。)保护断点。无论是子程序调用操作还是中断服务子程无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。堆栈中保护起来,为程序正确返回做准备。40(2 2)现场保护。)现场保护。执行子程序或中断服务子程序时,要用到一执行子程序或中断服
41、务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的容保存起来,送入堆栈,这就是所谓的“现场保护现场保护”。两种操作:两种操作:数据压入数据压入(PUSHPUSH)堆栈,堆栈,数据弹出数据弹出(POPPOP)堆栈。堆栈。数据压入堆栈,数据压入堆栈,SPSP自动加自动加1 1;数据弹出堆栈,;数据弹出堆栈,SPSP自动减自动减1 1。2 2寄存器寄存器B B为执行乘法和除法为执行乘法和除法而而设。在不执行乘、除法操作的情况下,可设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用
42、。把它当作一个普通寄存器来使用。4142乘法乘法,两乘数分别在,两乘数分别在A A、B B中,执行乘法指令后,乘积在中,执行乘法指令后,乘积在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有效,发出脉冲;有效,发出脉冲;
43、 1 1:ALEALE仅在执行仅在执行MOVCMOVC和和MOVXMOVX类指令时有效,不访问外部类指令时有效,不访问外部存储器时,存储器时,ALEALE不输出脉冲信号不输出脉冲信号。DISRTODISRTO:禁止禁止/ /允许允许WDTWDT溢出时的复位输出溢出时的复位输出。0 0:WDTWDT溢出时,在溢出时,在RSTRST引脚输出一个高电平脉冲;引脚输出一个高电平脉冲;1 1:RSTRST引脚仅为输入脚。引脚仅为输入脚。WDIDLEWDIDLE:WDTWDT在空闲模式下的禁止在空闲模式下的禁止/ /允许位。允许位。 0 0: WDTWDT在空闲模式下继续计数;在空闲模式下继续计数; 1
44、1: WDTWDT在空闲模式下暂停计数。在空闲模式下暂停计数。444. 4. 数据指针数据指针DPTR0DPTR0和和DPTR1DPTR1双数据指针寄存器双数据指针寄存器,便于访问便于访问数据存储器数据存储器。DPTR0DPTR0:AT89C51AT89C51单片机单片机原有原有的数据指针的数据指针;DPTR1DPTR1:新增加新增加的数据指针。的数据指针。AUXR1AUXR1的的DPSDPS位位用于用于选择选择两个数据指针两个数据指针。当。当DPS=0DPS=0时,选用时,选用DPTR0DPTR0;当;当DPS=1DPS=1时,选用时,选用DPTR1DPTR1。数据指针数据指针可作为一个可作
45、为一个1616位寄存器来用,也可作为两个独立的位寄存器来用,也可作为两个独立的8 8位寄存器位寄存器DP0HDP0H(或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)来用。)来用。455. AUXR15. AUXR1寄存器寄存器AUXR1AUXR1是辅助寄存器,格式如是辅助寄存器,格式如图图2-62-6所示所示: DPSDPS:数据指针寄存器选择位。数据指针寄存器选择位。0 0:选择数据指针寄存器选择数据指针寄存器DPTR0DPTR0;1 1:选择数据指针寄存器选择数据指针寄存器DPTR1DPTR1。图图2-62-6 AUXR1AUXR1寄存器的格式寄存器的格式6. 6
46、. 看门狗定时器看门狗定时器WDTWDTWDTWDT包含一个包含一个1414位计数器位计数器和和看门狗定时器复位寄存器看门狗定时器复位寄存器 (WDTRSTWDTRST)。)。当当CPUCPU由于干扰,程序陷入死循环或跑飞状态时,由于干扰,程序陷入死循环或跑飞状态时,WDTWDT提供了一种提供了一种使程序恢复正常运行的有效手段。使程序恢复正常运行的有效手段。有关有关WDTWDT在抗干扰设计中的应用以及低功耗模式下运行的状态,在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应的章节中具体介绍。将在相应的章节中具体介绍。上面介绍的特殊功能寄存器,上面介绍的特殊功能寄存器,除了前两个除了前两个
47、SPSP和和B B以外,其余的均以外,其余的均为为AT89S51AT89S51在在AT89C51AT89C51基础上基础上新增加的新增加的SFRSFR。462.4.4 2.4.4 位地址空间位地址空间211211个寻址位的位地址,位地址范围为个寻址位的位地址,位地址范围为 00H00HFFHFFH,其中,其中 00H00H7FH7FH 这这128128位处于位处于片内片内RAM RAM 字节地址字节地址 20H20H2FH2FH 单元中,如单元中,如表表2-52-5所示。其余的所示。其余的8383个可寻址位个可寻址位分布在分布在特殊功能寄存器特殊功能寄存器SFRSFR中,中,见见表表2-62-
48、6。可被位寻址的可被位寻址的特殊寄存器特殊寄存器有有1111个个,共有位地址,共有位地址8888个,个,5 5个位未个位未用,其余用,其余8383个位的位地址离散地分布于片内数据存储器区字个位的位地址离散地分布于片内数据存储器区字节地址为节地址为80H80HFFHFFH的范围内,其的范围内,其最低的位地址等于其字节地最低的位地址等于其字节地址址,且其字节地址的,且其字节地址的末位都为末位都为0H0H或或8H8H。4748特殊功能寄存器位 地 址字 节地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0
49、HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布 作为对作为对AT89S51AT89S51存储器结构的总结,
50、存储器结构的总结,图图2-72-7为为各类存储各类存储器的结构图。器的结构图。从图中可从图中可清楚看出各类存储器在存储器空间清楚看出各类存储器在存储器空间的位置。的位置。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,其中,其中输出锁存器输出锁存器属于属于特殊功能寄存器特殊功能寄存器。端口的每一位均由输出锁。端口的每一位均由输出锁存器、输出驱动器和输入缓冲器组
51、成,存器、输出驱动器和输入缓冲器组成,4 4个端口按个端口按字节输入字节输入/ /输出输出外,外,也也可可位寻址位寻址。2.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口某一位的
52、电路包括:口某一位的电路包括:(1 1)一个数据输出的锁存器,用于数据位的锁存。)一个数据输出的锁存器,用于数据位的锁存。(2 2)两个三态的数据输入缓冲器,分别是用于)两个三态的数据输入缓冲器,分别是用于读锁存器数读锁存器数据据的输入缓冲器的输入缓冲器BUF1BUF1和和读引脚数据读引脚数据的输入缓冲器的输入缓冲器BUF2BUF2。(3 3)一个多路转接开关)一个多路转接开关MUXMUX,它的一个输入来自锁存器的,它的一个输入来自锁存器的 端,另一个输入为地址端,另一个输入为地址/ /数据信号的反相输出。数据信号的反相输出。MUXMUX由由“控控制制”信号控制,实现锁存器的输出和地址信号控制
53、,实现锁存器的输出和地址/ /数据信号之间数据信号之间的转接。的转接。(4 4)数据输出的)数据输出的控制和驱动电路控制和驱动电路,由,由两个场效应管两个场效应管(FETFET)组成。组成。532 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。5455输出电路是输出电路是上、下两个场效应管形成的上、下两个场效应管形成的推拉式结构推拉式结构,大大提高了,大大提高了负载能力,上方的场效应
55、管这时起到负载能力,上方的场效应管这时起到内部上拉电阻内部上拉电阻的作用。的作用。当当P0P0口作为口作为数据数据输入时输入时,仅从外部存储器(或,仅从外部存储器(或I/OI/O)读入信息,)读入信息,对应的对应的“控制控制”信号为信号为0 0,MUXMUX接通锁存器的接通锁存器的 端。端。由于由于P0P0口作为地址口作为地址/ /数据复用方式访问外部存储器时,数据复用方式访问外部存储器时,CPUCPU自动向自动向P0P0口写入口写入FFHFFH,使下方场效应管截止,上方场效应管由于控制,使下方场效应管截止,上方场效应管由于控制信号为信号为0 0也截止,从而也截止,从而保证数据信息的保证数据信
56、息的高阻抗高阻抗输入输入,从外部存,从外部存储器输入的数据信息直接由储器输入的数据信息直接由P0.xP0.x引脚通过输入缓冲器引脚通过输入缓冲器BUF2BUF2进进入内部总线。入内部总线。Q具有具有高阻抗输入的高阻抗输入的I/OI/O口口应具有应具有高电平高电平、低电平低电平和和高阻抗高阻抗3 3种状种状态态的端口。因此,的端口。因此,P0P0口作为地址口作为地址/ /数据总线使用时是一个真正数据总线使用时是一个真正的双向端口,简称的双向端口,简称双向口双向口。 (2 2)P0P0口用作通用口用作通用I/OI/O口口当当P0P0口不作为系统的地址口不作为系统的地址/ /数据总线使用时,此时数据
57、总线使用时,此时P0P0口也可作口也可作为通用的为通用的I/OI/O口使用。口使用。作通用的作通用的I/OI/O口时,对应的口时,对应的“控制控制”信号为信号为0 0,MUXMUX打向下面,打向下面,接通锁存器的接通锁存器的 端,端,“与门与门”输出为输出为0 0,上方场效应管截止,上方场效应管截止,形成的形成的P0P0口输出电路为漏极开路输出。口输出电路为漏极开路输出。P0P0口作输出口口作输出口时,来自时,来自CPUCPU的的“写写”脉冲加在脉冲加在D D锁存器的锁存器的CPCP端,端,内部总线上的数据写入内部总线上的数据写入D D锁存器,并由引脚锁存器,并由引脚P0.xP0.x输出。输出
58、。56Q当当D D锁存器为锁存器为1 1时,时, 端为端为0 0,下方场效应管截止,输出为漏极开,下方场效应管截止,输出为漏极开路,此时,必须外接上拉电阻才能有高电平输出;当路,此时,必须外接上拉电阻才能有高电平输出;当D D锁存器锁存器为为0 0时,下方场效应管导通,时,下方场效应管导通,P0P0口输出为低电平。口输出为低电平。P0P0口作输入口口作输入口使用时,有使用时,有两种读入方式两种读入方式:“读锁存器读锁存器”和和“读读引脚引脚”。当当CPUCPU发出发出“读锁存器读锁存器”指令时,指令时,锁存器的状态锁存器的状态由由Q Q端经上方的端经上方的三态缓冲器三态缓冲器BUF1BUF1进
59、入内部总线;进入内部总线;当当CPUCPU发出发出“读引脚读引脚”指令指令时,锁存器的输出状态时,锁存器的输出状态=1=1(即(即 端端为为0 0),而使下方场效应管截止,),而使下方场效应管截止,引脚的状态引脚的状态经下方的三态缓经下方的三态缓冲器冲器BUF2BUF2进入内部总线。进入内部总线。57QQ3 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,方可执行输入操作。,方可执行输入操作。58P0P0口口大多作为地址大多作为地址/ /数据复用口数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年威海市文登区卫生健康局所属事业单位公开招聘工作人员(67人)模拟试卷及答案详解(名师系列)
- 2025河南省蓝天实验室招聘工作人员20人模拟试卷及答案详解(易错题)
- 2025年齐齐哈尔工程学院博士人才招聘50人考前自测高频考点模拟试题及完整答案详解一套
- 2025年汉中市中心医院第二批备案制工作人员招聘(19人)模拟试卷附答案详解
- 2025年福建省莆田市度尾镇向社会招聘1人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025广西百色市西林县社会保险事业管理中心招聘编外聘用人员6人模拟试卷带答案详解
- 2025年塑铝稳态管项目合作计划书
- 2025年管业:地暖专用管合作协议书
- 2025年高精度数字电压表合作协议书
- 2025湖南郴州桂东县城市管理和综合执法局辅助执法临聘人员招聘考前自测高频考点模拟试题及1套参考答案详解
- 2025年河北唐山市芦台经济开发区公开招聘区属国有企业工作人员18人笔试模拟试题及答案解析
- 树妈妈和树叶娃娃教学课件
- 酒店突发事件应急预案2025优化版
- 2024年新高考Ⅰ卷英语真题(原卷+答案)
- 2025年注册安全工程师考试冲刺押题:安全生产管理实务专项训练试卷
- 外贸会计自学课件
- 2024年黑龙江哈尔滨工业大学辅导员招聘真题
- 高质量临床护理服务实施路径
- 2025年辅警招聘考试试题库及答案(必刷)
- 烟花爆竹经营培训试题及答案
- 2025年医院精神科冲动伤人患者应急预案及演练脚本
评论
0/150
提交评论