AT89S51单片机的硬件结构.ppt
《AT89S51单片机的硬件结构.ppt》由会员分享,可在线阅读,更多相关《AT89S51单片机的硬件结构.ppt(99页珍藏版)》请在三一办公上搜索。
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 程序存储器空间,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发光二极管,2.
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,AT89S51的片内硬件基本结构、引脚功能、存储器结构、特殊功能寄存器功能、4个并行I/O口的结构和特点,复位电路和时钟电路的设计,节电工作模式。目的:本章学习,为AT89S51系统的应用设计打下基础。在原理和结构上,单片机把微机的许多概念、技术与特点都继承下来。用学习微机的思路来学习单片机。,内容概要,6,2.1 AT89S5
3、1单片机的硬件组成片内硬件组成结构如图2-1所示。把作为控制应用所必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上。有如下功能部件和特性:(1)8位微处理器(CPU);(2)数据存储器(128B RAM);(3)程序存储器(4KB Flash ROM);(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工的异步串行口;(6)2个可编程的16位定时器/计数器;,7,图2-1 AT89S51单片机片内结构,8,(7)1个看门狗定时器;(8)中断系统具有5个中断源、5个中断向量;(9)特殊功能寄存器(SFR)26个;(10)低功耗模式有空闲模式和掉电模式,且具有
4、掉电模式 下的中断恢复模式;(11)3个程序加密锁定位。与AT89C51相比,AT89S51有更突出的优点:(1)增加在线可编程功能ISP(In System Program),字节和页编程,现场程序调试和修改更加方便灵活;(2)数据指针增加到两个,方便了对片外RAM的访问过程;(3)增加了看门狗定时器,提高了系统的抗干扰能力;,(4)增加断电标志;(5)增加掉电状态下的中断恢复模式。片内各功能部件通过片内单一总线连接而成(见图2-1),基本结构依旧是CPU 加上外围芯片的传统微机结构。CPU对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)
5、的集中控制方式。下面介绍图2-1中片内各功能部件。(1)CPU(微处理器)8位的CPU,与通用CPU基本相同,同样包括了运算器和控制器两大部分,还有面向控制的位处理功能。,9,(2)数据存储器(RAM)片内为128B(52子系列为256B),片外最多可扩64KB。片内128B的RAM以高速RAM的形式集成,可加快单片机运行的速度和降低功耗。(3)程序存储器(Flash ROM)片内集成有4KB的Flash存储器(AT89S52 则为8KB;AT89C55片内20KB),如片内容量不够,片外可外扩至64KB。(4)中断系统具有6个中断源,2级中断优先权。(5)定时器/计数器2个16位定时器/计数
6、器(52子系列有3个),4种工作方式。,10,(6)1个看门狗定时器WDT当CPU由于干扰使程序陷入死循环或跑飞时,WDT可使程序恢复正常运行。(7)串行口1个全双工的异步串行口,4种工作方式。可进行串行通信,扩展并行I/O口,还可与多个单片机构成多机系统。(8)P1口、P2口、P3口、P0口4个8位并行I/O口。(9)特殊功能寄存器(SFR)26个,对片内各功能部件管理、控制和监视。是各个功能部件的控制寄存器和状态寄存器,映射在片内RAM区80HFFH内。,11,AT89S51完全兼容AT89C51,在充分保留原来软、硬件条件下,完全可以用AT89S51直接代换。2.2 AT89S51的引脚
7、功能先了解引脚,牢记各引脚的功能。AT89S51与51系列中各种型号芯片的引脚互相兼容。目前多采用40只引脚双列直插,如图2-2所示。引脚按其功能可分为如下3类:(1)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2)控制引脚、ALE/、/VPP、RST(RESET)(3)I/O口引脚P0、P1、P2、P3,为4个8位I/O口,12,2.2.1 电源及时钟引脚1电源引脚(1)VCC(40脚):+5V电源。(2)VSS(20脚):数字地。,13,图2-2 AT89S51双列直插封装方式的引脚,2时钟引脚(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器
8、时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器的信号。(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。2.2.2 控制引脚(1)RST(RESET,9脚)复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚电平应 0.5V。,14,当看门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期的高电平。(2)/VPP(Enable Address/Voltage Pulse of Programing,31脚):引脚第一功能:外部程序存储器访问允许控制
9、端。=1,在PC值不超出0FFFH(即不超出片内4KB Flash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但PC值超出0FFFH(即超出片内4KB Flash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。,=0,只读取外部的程序存储器中的内容,读取的地址范围为0000HFFFFH,片内的4KB Flash 程序存储器不起作用。VPP:引脚第二功能,对片内Flash编程,接编程电压。(3)ALE/(Address Latch Enable/PROGramming,30脚)ALE为CPU访问外部程序存储器或外部数据存储器提供地址锁
10、存信号,将低8位地址锁存在片外的地址锁存器中。,16,此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。可用作外部定时或触发信号。注意,每当AT89S51访问外部RAM时(执行MOVX类指令),要丢失一个ALE脉冲。如需要,可将特殊功能寄存器AUXR(地址为8EH,将在后面介绍)的第0位(ALE禁止位)置1,来禁止ALE操作,但执行访问外部程序存储器或外部数据存储器指令“MOVC”或“MOVX”时,ALE仍然有效。即ALE禁止位不影响对外部存储器的访问。:引脚第二功能,对片内 Flash编程,为编程脉冲输入 脚。,17,(4)(Program Str
11、obe ENable,29脚)片外程序存储器读选通信号,低电平有效。2.2.3 并行I/O口引脚(1)P0口:8位,漏极开路的双向I/O口当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。P0口也可用作通用的I/O口,需加上拉电阻,这时为准双向口。作为通用I/O输入,应先向端口写入1。可驱动8个LS型TTL负载。(2)P1口:8位,准双向I/O口,具有内部上拉电阻。准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1。,18,P1口可驱动4个LS型TTL负载。P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于对片内Flash存储器串行编程和校验
12、,它们分别是串行数据输入、输出和移位脉冲引脚。(3)P2口:8位,准双向I/O口,具有内部上拉电阻。当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。,P2口也可作为普通的I/O口使用。当作为通用I/O输入时,应先向端口输出锁存器写1。P2口可驱动4个LS型TTL负载。(4)P3口:8位,准双向I/O口,具有内部上拉电阻。可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。P3口还可提供第二功能。第二功能定义见表2-1,应熟记。,20,21,综上所述,P0口可作为总线口,为双向口。作为通用的I/O口使用时,
13、为准双向口,这时需加上拉电阻。P1口、P2口、P3口均为准双向口。注意:准双向口与双向口的差别。准双向口仅有两个状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮”态。故P0口为双向三态I/O口。为什么P0口要有高阻“悬浮”态?准双向I/O口则无高阻的“悬浮”状态。另外,准双向口作通用I/O的输入口使用时,一定要向该口先写入“1”。以上的准双向口与双向口的差别,读者在阅读2.5节后,将会有深刻的理解。,22,至此,40个引脚已介绍完,应熟记每一引脚功能对应用系统硬件电路设计十分重要。2.3 AT89S51的CPU由图2-1可见,CPU由运算器和控制器构成。2.3.1 运算器对操作数进
14、行算术、逻辑和位操作运算。主要包括算术逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存器PSW及两个暂存器等。1算术逻辑运算单元ALU可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除),23,ALU还有位操作功能,对位变量进行位处理,如置“1”、清“0”、求补、测试转移及逻辑“与”、“或”等。2累加器A使用最频繁的寄存器,可写为Acc。“A”与“Acc”书写上的差别,将在第3章介绍。作用如下:(1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。(2)数据传送大多都通过累加器A,相当于数据的中转站。为解决“瓶颈堵塞”问题,AT89S51增加了一
15、部分可以不经过累加器的传送指令。,24,A的进位标志Cy是特殊的,因为它同时又是位处理机的位累加器3程序状态字寄存器PSWPSW(Program Status Word)位于片内特殊功能寄存器区,字节地址为D0H。包含了程序运行状态的信息,其中4位保存当前指令执行后的状态,供程序查询和判断。格式如图2-3所示。图2-3 PSW的格式,25,PSW中各个位的功能:(1)Cy(PSW.7)进位标志位 可写为C。在算术和逻辑运算时,若有进位/借位,Cy1;否则,Cy0。在位处理器中,它是位累加器。(2)Ac(PSW.6)辅助进位标志位 在BCD码运算时,用作十进位调整。即当D3位向D4位产生进位或借
16、位时,Ac1;否则,Ac0。(3)F0(PSW.5)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置1或清0,控制程序的流向。用户应充分利用。,26,(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄存区见表2-2。(5)OV(PSW.2)溢出标志位当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。(6)PSW.1位 保留位(7)P(PSW.0)奇偶标志位指令执行完,累加器A中“1”的个数是奇数还是偶数。,27,P=1,表示A中“1”的个数为奇数。P=0,表示A中“1
17、”的个数为偶数。此标志位对串行通信有重要的意义,常用奇偶检验的方法来检验数据串行传输的可靠性。,28,29,2.3.2 控制器 任务识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。控制器包括:程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。程序计数器PC是一个独立的16位计数器,不可访问。单片机复位时,PC中内容为0000H,从程序存储器0000H单元取指令,开始执行程序。PC工作过程是:CPU读指令时,PC的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时PC自动
18、加1。,PC中内容变化轨迹决定程序流程。当顺序执行程序时自动加1;执行转移程序或子程序、中断子程序调用时,自动将其内容更改成所要转移的目的地址。PC的计数宽度决定了程序存储器的地址范围。PC为16位,故可对64KB(=216B)寻址。2.4 AT89S51存储器的结构存储器的结构特点之一是将程序存储器和数据存储器分开(哈佛结构),并有各自的访问指令。存储器空间可分为4类。,30,.程序存储器空间片内和片外两部分。片内4KB Flash,编程和擦除完全是电气实现。可用通用编程器对其编程,也可在线编程。当片内4KB Flash 存储器不够用时,可片外扩展,最多可扩展至64KB程序存储器。.数据存储
19、器空间片内与片外两部分。片内有128 B RAM(52子系列为256B)。片内RAM 不够用时,在片外可扩展至64KB RAM。,31,.特殊功能寄存器SFR(Special Function Register)片内各功能部件的控制寄存器及状态寄存器。SFR综合反映了整个单片机基本系统内部实际的工作状态及工作方式。.位地址空间共有211个可寻址位,构成了位地址空间。它们位于内部 RAM(共128位)和特殊功能寄存器区(共83位)中。2.4.1 程序存储器空间存放程序和表格之类的固定常数。片内为4KB的 Flash,地址为0000H0FFFH。16位地址线,可外扩的程序存储器空间最大为64KB,
20、地址为0000HFFFFH。使用时应注意以下问题:,32,(1)分为片内和片外两部分,访问片内的还是片外的程序存储器,由 引脚电平确定。=1时,CPU从片内0000H开始取指令,当PC值没有超出0FFFH时,只访问片内Flash 存储器,当PC值超出0FFFH自动转向读片外程序存储器空间1000HFFFFH 内的程序。=0时,只能执行片外程序存储器(0000HFFFFH)中的程序。不理会片内4KB Flash 存储器。(2)程序存储器某些固定单元用于各中断源中断服务程序入口。,33,34,64KB程序存储器空间中有5个特殊单元分别对应于5个中断源 的中断入口地址,见表2-3。通常这5个中断入口
21、地址处都放一条跳转指令跳向对应的 中断服务子程序,而不是直接存放中断服务子程序。,2.4.2 数据存储器空间 片内与片外两部分。.片内数据存储器 片内数据存储器(RAM)共128个单元,字节地址为00H7FH。图2-4为片内数据存储器的结构。,35,图2-4 AT89S51片内RAM结构,00H1FH 的32个单元是4组通用工作寄存器区,每区包含8B,为R7R0。可通过指令改变RS1、RS0两位来选择。20H2FH的16个单元的128位可位寻址,也可字节寻址。30H7FH的单元只能字节寻址,用作存数据以及作为堆栈区。.片外数据存储器当片内128B的RAM不够用时,需外扩,最多可外扩64KB的R
22、AM。注意,片内RAM与片外RAM两个空间是相互独立的,片内RAM与片外RAM的低128B的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突。,36,2.4.3 特殊功能寄存器(SFR)采用特殊功能寄存器集中控制各功能部件。特殊功能寄存器映射在片内RAM的 80HFFH 区域中,共26个。表2-4 SFR的名称及其分布。有些还可位寻址,位地址见表2-4。与AT89C51相比,新增5个SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST,已在表2-4中标出。凡是可位寻址的SFR,字节地址末位只能是0H或8H。另外,若读/写未定义单元,将得到一个不确定的随机数。下面介绍某些S
23、FR,余下的SFR将在后面介绍。,37,38,1堆栈指针SP指示堆栈顶部在内部RAM块中的位置。堆栈结构向上生长型。单片机复位后,SP为07H,使得堆栈实际上从08H单元开始,由于08H1FH单元分别是属于13组的工作寄存器区,最好在复位后把SP值改置为60H或更大的值,避免堆栈与工作寄存器冲突。堆栈是为子程序调用和中断操作而设,主要用来保护断点和现场。(1)保护断点。无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。,40,(2)现场保护。执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存
24、器单元的内容保存起来,送入堆栈,这就是所谓的“现场保护”。两种操作:数据压入(PUSH)堆栈,数据弹出(POP)堆栈。数据压入堆栈,SP自动加1;数据弹出堆栈,SP自动减1。2寄存器B为执行乘法和除法而设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。,41,42,乘法,两乘数分别在A、B中,执行乘法指令后,乘积在BA中除法,被除数取自A,除数取自B,商存放在A中,余数存B中。3AUXR寄存器 AUXR是辅助寄存器,其格式如图2-5所示:,图2-5 AUXR寄存器的格式,43,其中:DISALE:ALE的禁止/允许位。0:ALE有效,发出脉冲;1:ALE仅在执行MOVC和MOV
25、X类指令时有效,不访问外部存储器时,ALE不输出脉冲信号。DISRTO:禁止/允许WDT溢出时的复位输出。0:WDT溢出时,在RST引脚输出一个高电平脉冲;1:RST引脚仅为输入脚。WDIDLE:WDT在空闲模式下的禁止/允许位。0:WDT在空闲模式下继续计数;1:WDT在空闲模式下暂停计数。,44,4.数据指针DPTR0和DPTR1双数据指针寄存器,便于访问数据存储器。DPTR0:AT89C51单片机原有的数据指针;DPTR1:新增加的数据指针。AUXR1的DPS位用于选择两个数据指针。当DPS=0时,选用DPTR0;当DPS=1时,选用DPTR1。数据指针可作为一个16位寄存器来用,也可作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89S51 单片机 硬件 结构
链接地址:https://www.31ppt.com/p-6501841.html