单片机第2章 at89s51硬件结构

上传人:e****s 文档编号:243498865 上传时间:2024-09-24 格式:PPT 页数:121 大小:2.63MB
返回 下载 相关 举报
单片机第2章 at89s51硬件结构_第1页
第1页 / 共121页
单片机第2章 at89s51硬件结构_第2页
第2页 / 共121页
单片机第2章 at89s51硬件结构_第3页
第3页 / 共121页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,AT89S51,单片机硬件结构,本章主要内容,(,1,),89S51,单片机的硬件组成,(,2,),89S51,的引脚功能,(,3,),89S51,的,CPU,(,4,),AT89S51,单片机存储器的结构,(,5,),AT89S51,单片机的并行,IO,端口,(,6,)时钟电路与时序,(,7,)复位操作和复位电路,(,8,)低功耗节电模式,一个全双工,UART,的串行,I/O,口,:,89S51,单片机的基本组成,一个,8,位 的微处理器,CPU,。,片内数据存储器,RAM,片内程序存储器,ROM,四个,8,位并行,I/O,(输入,/,输出)接口,P0P3,定时,/,计数器,:,看门狗定时器,中断系统,系统总线,片内振荡器和时钟产生电路,:,AT89S51,单片机的硬件结构,AT89S51,单片机片内结构,5,片内各功能部件:,(,1,),CPU,(微处理器),8,位的,CPU,,与通用,CPU,基本相同,同样包括了,运算器,和,控制器,两大部分,还有面向控制的,位处理功能,。,(,2,)数据存储器(,RAM,),片内为,128B,(,52,子系列,为,256B,),片外最多可扩,64KB,。片内,128B,的,RAM,以高速,RAM,的形式集成,可加快单片机运行的速度和降低功耗。,(,3,)程序存储器(,Flash ROM,),片内集成有,4KB,的,Flash,存储器(,AT89S52,则为,8KB,;,AT89C55,片内,20KB,),如片内容量不够,片外可外扩至,64KB,。,5,6,(,4,)中断系统,具有,5,个,中断源,,2,级中断优先权。,(,5,)定时器,/,计数器,2,个,16,位定时器,/,计数器(,52,子系列有,3,个),,4,种,工作方式,(,6,),1,个看门狗定时器,WDT,当,CPU,由于干扰使程序陷入死循环或跑飞时,,WDT,可使程序恢复正常运行。,(,7,)串行口,1,个全双工的异步串行口,,4,种工作方式。可进行串行通信,扩展并行,I/O,口,还可与多个单片机构成多机系统。,6,7,(,8,),P0,口、,P1,口、,P2,口和,P3,口,4,个,8,位并行,I/O,口。,(,9,)特殊功能寄存器(,SFR,),26,个,对片内各功能部件管理、控制和监视。是各个功能部件,的,控制寄存器,和,状态寄存器,映射在片内,RAM,区,80H,FFH,内。,7,8,8,与,AT89C51,相比,,AT89S51,有更突出的优点,:,(,1,)增加在线可编程功能,ISP,(,In System Program,),,字节,和,页编程,,现场程序调试和修改更加方便灵活;,(,2,),数据指针,增加到,两个,,方便了对片外,RAM,的访问过程;,(,3,),增加,了,看门狗定时器,,提高了系统的抗干扰能力;,(,4,),增加,断电标志,;,(,5,)增加,掉电状态,下的,中断恢复模式,。,片内各功能部件通过片内单一总线连接而成,,基本结构,依旧,是,CPU,加上外围芯片的传统微机结构。,CPU,对各种功能部件的控制,是采用,特殊功能寄存器,的集中控制方式。,2.2 AT89S51,的引脚功能,PLCC,DIP,TQFP,按功能分类,I/O,口线:,P0,、,P1,、,P2,、,P3,共,32,条,控制口线:,PSEN,、,ALE,、,EA/V,PP,、,RESET,共,4,条,电源:,Vcc,、,Vss,共,2,条,时钟:,XTAL1,、,XTAL2,共,2,条,主电源和时钟振荡电路引脚,V,CC,(,40,脚),运行和程序校验时接,+5V,电源,V,SS,(,20,脚,),地线,XTAL1,(,19,脚),用作晶体振荡电路的,反相器输入端,,内部接至振荡器的反相放大器。当采用外部时钟时,该引脚作为外部振荡信号的输入端。,XTAL2,(,18,脚),片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。,AT89S51,的引脚功能,P0,口有三个功能:,外部扩展存储器时,当做数据总线,外部扩展存储器时,当作地址总线,不扩展时,可做一般的,I/O,使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果,P0,口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。,P1,口只做,I/O,口使用:其内部有上拉电阻。,并行,I/O,口引脚,14,P2,口有两个功能:,扩展外部存储器时,当作地址总线使用,做一般,I/O,口使用,其内部有上拉电阻;,P3,口有两个功能:,除了作为,I/O,使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。,并行,I/O,口引脚,P3,各端口引脚与复用功能,口线,第二功能,功能含义,P3.0,RXD,串行数据接收,P3.1,TXD,串行数据发送,P3.2,INT0,外部中断,0,申请,P3.3,INT1,外部中断,1,申请,P3.4,T0,定时器,/,计数器,0,计数输入,P3.5,T1,定时器,/,计数器,1,计数输入,P3.6,WR,外部,RAM,写选通,P3.7,RD,外部,RAM,读选通,控制信号引脚,RST/VPD,(,9,引脚):,RST,为复位信号输入端。,高电平复位,CPU,,低电平,CPU,工作。,当,RST,端保持,2,个机器周期以上高电平,时,单片机完成复位操作。,第二功能,VPD,为内部,RAM,的备用电源输入端。当主电源,V,CC,发生断电,降到一定电压值时,可通过,VPD,为单片机内部,RAM,提供电源,以保护片内,RAM,中的信息不丢失,上电后能继续正常运行。,17,复位使单片机进入某种确定的初始状态:,1,),PC (Programe Counter),值归零,(0000H),2,)各个,SFR,被赋予初始值,3,)退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。,控制信号引脚,ALE/ PROG,(,30,引脚) :,地址锁存允许,/,编程脉冲信号端,当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。,P0,口是数据,/,地址复用口,,ALE,低电平时,,P0,口出现数据信息;,ALE,高电平时,,P0,口出现地址信息。在系统扩展时,,ALE,信号下降沿用于控制把,P0,口输出的低,8,位地址送入锁存器锁存起来,以实现低,8,位地址和数据的分时传送。,由于,ALE,是以,1/6,晶振频率的固定频率输出的正脉冲,故可作为外部时钟或外部定时脉冲使用。,ALE,可驱动,8,个,LSTTL,门。,19,第二功能,PROG,为,89C51,内部,Flash Rom,编程时的编程脉冲输入端。,在,FLASH,编程,期间,此,引脚,用于输入,编程,脉冲。,然而要注意的是:每当用作外部数据存储器时,将跳过一个,ALE,脉冲。如想禁止,ALE,的输出可在,SFR 8EH,地址上置,0,。此时,,ALE,只有在执行,MOVX,,,MOVC,指令时,ALE,才起作用。如果在外部执行状态,ALE,禁止,置位无效。,控制信号引脚,PSEN,(,29,引脚) :外部程序存储器(,ROM,)读选通信号,访问外部,ROM,时,,PSEN,产生负脉冲作为外部,ROM,选通信号。,访问外部,RAM,或内部,ROM,时,不会产生有效的,PSEN,信号。,PSEN,可驱动,8,个,LSTTL,门。,EA/V,PP,(,31,引脚):,EA,为访问程序存储器(,ROM,)控制信号,当,EA,为高电平时,若访问的地址空间在,04KB,(,PC0FFFH,)时,,CPU,将自动访问外部,ROM,。,EA,保持低电平,则访问外部,ROM,。,对于,8031,,,EA,必须接地,只能访问外部,ROM,。,在,FLASH,编程期间,此引脚也用于施加,12V,编程电源(,VPP,)。,有内部,EPROM,的单片机芯片(例如,8751,),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:,编程脉冲:,30,脚(,ALE/PROG,),编程电压:,31,脚(,EA/Vpp,),有些印刷线路板上会有一个电池,这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第,9,脚(即,RST/VPD,)引入,以保护内部,RAM,中的信息不会丢失。,例:,SRAM6264,的扩展,89S51,6264,ALE,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G(LE),EA,OE,CE2*,RD,WR,WE,CE1*,+5V,锁存器,74LS373,23,8031,锁存器,74LS373,ALE,PSEN,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,EA,OE,CE,EPROM,PSEN,(Program Store Enable),低有效 ,寻址外部程序存储器时选通外部,ROM,的读控制端,(OE),。,Note:,读取外部,ROM,时,每个机器周期产生两次,PSEN,有效信号;,执行片内,ROM,取指时,不产生,PSEN,信号。,AT89S51,的,CPU,运算器,算术逻辑运算单元,ALU,累加器,ACC,寄存器,B,PSW,控制器,程序计数器,PC,指令寄存器,IR,定时与控制逻辑,其他寄存器,数据指针,DPTR,堆栈指针,SP,工作寄存器,R0R7,AT89S51,的,CPU,CPU,是单片机内部的核心部件,完成运算和控制操作。包括运算器、控制器以及若干,寄存器,等部件组成,运算器,以算术逻辑单元,ALU,为核心,加上累加器,ACC,、寄存器,B,、暂存器,TMP1,和,TMP2,、 程序状态寄存器,PSW,、十进制调整电路及专门用于位操作的布尔处理机组成的。,功能:实现数据的算术逻辑运算,位变量处理和数据传送操作。,1,算术逻辑运算单元,ALU,算术运算:加、减、乘、除;,逻辑运算:与、或、异或、循环、求补和清零;,位操作:置“,1,”,、清“,0,”,、求反、测试转移等。,2,累加器,A,字节地址为,E0H,,复位值为,00H,。,最常用的一个8位寄存器,在使用汇编语言编程时,有些场合必须写为Acc,27,累加器,A,作用如下:,(,1,),ALU,单元的输入数据源之一(大部分单操作数指令的操作数取自,A,,很多双操作数指令的一个操作数取自,A,),又是,ALU,运算结果存放单元。,(,2,)位寻址功能:,A,的进位标志,Cy,是特殊的,因为它同时又是位处理机的位累加器。,(,3,)数据传送大多都通过累加器,A,,相当于数据的中转站。为解决“瓶颈堵塞”问题,,AT89S51,增加了一部分可以不经过累加器的传送指令。,3.,寄存器,B,8,位特殊功能寄存器,字节地址为,F0H,,复位值为,00H,。,为执行乘法和除法而设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。,乘法,两乘数分别在,A,、,B,中,执行乘法指令后,乘积在,BA,中,除法,被除数取自,A,,除数取自,B,,商存放在,A,中,余数存,B,中。,PSW,是一个,8,位的标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。,PSW,格式及含义如下,:,CY,(,),进位标志位,AC,(,),辅助进位(或称半进位)标志,F0,(,),由用户定义的标志位。复位时该位为“,0”,RS1,和,RS0,(,PSW.4,和,PSW.3,),工作寄存器组选择位,OV,(,),溢出标志位。 由硬件置位或清零。,未定义位,P,(,),奇偶标志位(,A,中,1,的个数:偶,0,,奇,1,),位序,PSW.7,PSW.6,PSW.5,PSW.4,PSW.3,PSW.2,PSW.1,PSW.0,位标志,CY,AC,F0,RS1,RS0,OV,P,PSW,(程序状态字),CY,是,PSW,中最为常用的标志位,共有,4,项功能:,在加法运算中存放进位标志,有进位时,CY,置,1,,无进位时,CY,清,0,;,在减法运算中存放借位标志,有借位时,CY,置,1,,无借位时,CY,清,0,;,在位操作中作累加位使用,在位传送和位运算中都要用到,CY,;,在带进位的移位操作中用于构成循环移位通路。,【,注意,】,对于加,/,减运算,无论参与运算的数是带符号数还是无符号数,都按无符号数的原则来设置进,/,借位标志位,CY,。,CY,(,),进位标志位,PSW,(程序状态字),在加减运算中,当低,4,位向高,4,位有进借位时,,AC,由硬件置位,否则,AC,被清,0,。,在进行十进制数运算时需要十进制调整,此时要用到,AC,位的状态进行判断。,AC,(,),半进位标志位,F0,(,),用户标志位,由用户定义使用的标志位。用户可根据需要用软件方法置位或复位。,PSW,(程序状态字),这两个选择位的状态由软件设置,被选中的工作寄存器组即为当前工作寄存器组。,RS1,和,RS0,(,PSW.4,和,PSW.3,),工作寄存器组选择位,RS1 RS0,所选寄存器组,R0R7,地址,0 0,第,0,组,00H 07H,0 1,第,1,组,08H 0FH,1 0,第,2,组,10H 17H,1 1,第,3,组,18H 1FH,P,(,),奇偶标志位,表明累加器,A,中,1,的个数的奇偶性:若,1,的个数为偶数,则,P=0,;若,1,的个数为奇数,则,P=1,。,在每个指令周期由硬件根据,A,的内容对,P,位进行置位或复位。,PSW,(程序状态字),33,片内,RAM,前,32,个单元,(00H1FH),是工作寄存器区,(,由,PSW,中的,RS1,、,RS0,决定,),系统复位后,,PSW=00H,,自动选择,00-07h,单元,工作寄存器区,0,,默认设置。,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52,子系列才有,的,RAM,区,普通,RAM,区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区,3,工作寄存器区,2,工作寄存器区,1,工作寄存器区,0,在加减运算中,如果,OV=1,,则表示运算结果超出了累加器,A,所能表示的符号数的有效范围(,-128 +127,),运算结果是错误的,即产生了溢出;否则,,OV=0,,则表示运算结果正确,即未产生溢出。,溢出的判断:,OV=C6,C7,在乘法运算中,,OV=1,表示乘积超过,255,,即乘积分别在,B,(高,8,位)与,A,(低,8,位)中;否则,,OV=0,表示乘积只在,A,中。,在除法运算中,,OV=1,表示除数为,0,,除法不能进行;否则,,OV=0,表示除数不为,0,,除法可正常进行。,【,注意,】,对于加减运算,无论参与运算的数是带符号数还是无符号数,都按带符号数的原则来设置溢出标志位。,OV,(,),溢出标志位,PSW,(程序状态字),(,1,)程序计数器,PC,(,16,位),(,2,)指令寄存器,IR,及指令译码器,ID,(,3,)定时和控制逻辑电路,控制器,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分自动协调的工作。主要包括,:,功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。,(,1,)程序计数器,PC,(,16,位),程序计数器,PC,是一个独立的,16,位计数器,,由两个,8,位计数器,PCH,、,PCL,组成,,不可访问。单片机复位时,,PC,中的内容为,0000H,,从程序存储器,0000H,单元取指令,开始执行程序。,PC,是程序的字节地址计数器,,PC,内容为将要执行的指令地址。改变,PC,内容,改变执行的流向。,PC,工作过程是:,CPU,读指令时,,PC,的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时,PC,自动加,1,。,控制器,(,2,)指令寄存器,IR,及指令译码器,ID,由,PC,中的内容指定,ROM,地址,取出来的指令经,IR,送至,ID,,由,ID,对指令译码产生一定序列的控制信号,以执行指令所规定的操作。,(,3,)振荡器和定时电路,89S51,单片机片内有振荡电路,只需外接石英晶体和频率微调电容(,2,个,30pF,左右),其频率范围为,1.2MHz12MHz,。该信号作为,89S51,工作的基本节拍即时间的最小单位。,89S51,单片机的存储器组织结构与一般微机不同:,一般微机通常是程序和数据共用一个存储空间,属于,Von Neumann,结构,(,冯,诺依曼型,),89S51,单片机把,程序存储器空间和数据存储器相互分离开来,属于,Harvard,结构(,哈佛型,), 2.4 AT89S51,单片机存储器的结构,存储器,ALU,),算逻部件,(,ALU,),控制部件,中央处理器,CPU,输入,/,输出,部件,输入,/,输出,部件,算逻部件,(,ALU,),控制部件,中央处理器,CPU,程序存储器,数据存储器,单片机体系结构,冯,诺依曼型,哈佛型,89S51,存储器,程序存储器,ROM,数据存储器,RAM,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,AT89S51,单片机存储器的结构,89S51,的存储器组织分,3,个不同的存储地址空间:,64KB,的程序存储器地址空间(包括片内,ROM,和片外,ROM,),64KB,的外部数据存储器地址空间,256B,的内部数据存储器地址空间,汇编语言对这,3,个不同的存储器空间进行数据传送时,必须分别采用,3,种不同形式的指令。,AT89S51,的存储器结构,AT89S51,存储器按功能分为两类:用不同的指令访问,RAM,,,CPU,在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。,FLASH,,断电后,其中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。,对单片机来讲,,ROM,(或,FLASH,)和,RAM,的寻址机构和寻址方式是分开的。,内部,ROM,4KB,EA=1,外部,ROM,4KB,EA=0,内部,RAM,128B,0FFFH,0000H,0FFFH,0000H,FFFFH,1000H,外部,RAM,64KB,特殊功能,寄存器,(26,个,SFR),外部,ROM,60KB,FFH,80H,7FH,00H,程序存储器地址空间,数据存储器地址空间,FFFFH,0000H,(,MOV,指令操作域),(,MOVX,指令操作域),(,MOVC,指令操作域),89S51,单片机存储器组织结构,程序存储器(,ROM,),ROM,用于存放程序及表格常数,读取,ROM,的指令为,“,MOVC,”,。,89S51,片内有,4KB,的,ROM,,外部可用,16,位地址线扩展到最大,64KB,的,ROM,空间。,片内,ROM,和外部扩展,ROM,是统一编址的。,当芯片引脚,EA,为高电平时,程序计数器,PC,在,0000H0FFFH,(,4KB,)地址时从内部,ROM,取指令,超过,4KB,时,,CPU,自动转向外部,ROM,执行程序。,如果,EA,为低电平(接地),则所有取指令操作均在外部,ROM,中进行,这时外部扩展的,ROM,从,0000H,开始编址。,8031,单片机无片内,ROM,,只能使用外部扩展,ROM,且从,0000H,开始编址,,EA,必须接低电平,。,程序存储器(,ROM,),AT89S51,的程序存储器配置,片内与片外程序存储器的选择,EA,引脚接高电平,-,片内,+,片外,EA,引脚接地,-,片外,ROM,中的某些特定单元是给系统默认使用的,0000H,单元是复位入口,单片机复位后,,CPU,总是从,0000H,单元开始执行程序。,0000H 0002H,单元安排一条无条件转移指令,使之转向主程序的入口地址。,0003H 002AH,共,40,个单元均匀地分为,5,段,分别作为,5,个中断源的中断地址区。,中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。,系统复位和中断地址区,地 址 区,操 作,0000H 0002H,系统复位,0003H 000AH,外部中断,0,中断地址区,000BH 0012H,定时器,/,计数器,0,中断地址区,0013H 001AH,外部中断,1,中断地址区,001BH 0022H,定时器,/,计数器,1,中断地址区,0023H 002AH,串行口中断地址区,一般从中断首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。,程序存储器低端的几个特殊单元,数据存储器(,RAM,),RAM,用于存放运算中间结果,用作缓冲和数据暂存,以及设置特征标志等。,89S51,片内有,256B,的,RAM,空间,片外可扩展,64KB,的,RAM,空间,两个存储空间独立寻址。,内部,RAM,低,128,字节地址空间(,00H 7FH,)为内部,RAM,区,是供用户使用的数据存储器单元,作为处理问题的数据缓冲器。,高,128,字节地址空间(,80H FFH,)为特殊功能寄存器区(,SFR,区),共,26,个特殊功能寄存器。,内部,RAM,存储空间小,仅用,8,位地址寻址,但存取速度比外部,RAM,快。,内部,RAM,低,128,单元的划分,工作寄存器组,0,位寻址区,(位地址:,00H7FH,),用户,RAM,区,(堆栈、数据缓冲),7FH,30H,2FH,20H,工作寄存器组,3,工作寄存器组,2,工作寄存器组,1,1FH,18H,17H,10H,0FH,08H,07H,00H,R7,R0,R7,R0,R7,R0,R7,R0,工作寄存器区,(共,32,个字节单元,分为,4,组,,每组,8,个,8,位寄存器,,只能按字节寻址),用户,RAM,区,(共,80,个字节单元,,只能按字节寻址),位寻址区,(共,16,个字节单元,,128,个位,,可按位寻址,也可按字节寻址),内部,RAM,低,128,单元,按用途可分为,3,个区域:,工作寄存器区,内部,RAM,的,00H 1FH,为工作寄存器区,共,32,个字节,分为,4,组,每组,8,个,8,位寄存器,R0R7,。,在任一时刻,,CPU,只能使用其中的一组寄存器,当前程序使用的工作寄存器组是由程序状态字,PSW,的,RS0,、,RS1,位来选择的。,PSW.4,(,RS1,),PSW.3,(,RS0,),当前使用的工作寄存器组,0,0,第,0,组(,00H 07H,),0,1,第,1,组(,08H 0FH,),1,0,第,2,组(,10H 17H,),1,1,第,3,组(,18H 1FH,),54,工作寄存器组,0,工作寄存器组,1,工作寄存器组,2,工作寄存器组,3,地址,寄存器,地址,寄存器,地址,寄存器,地址,寄存器,00H,R0,08H,R0,10H,R0,18H,R0,01H,R1,09H,R1,11H,R1,19H,R1,02H,R2,0AH,R2,12H,R2,1AH,R2,03H,R3,0BH,R3,13H,R3,1BH,R3,04H,R4,0CH,R4,14H,R4,1CH,R4,05H,R5,0DH,R5,15H,R5,1DH,R5,06H,R6,0EH,R6,16H,R6,1EH,R6,07H,R7,0FH,R7,17H,R7,1FH,R7,工作寄存器的使用方法:,以寄存器的形式使用,用,寄存器符号,表示;,以存储单元的形式使用,以,单元地址,表示。,工作寄存器区各寄存器对应的地址,位寻址区,内部,RAM,的,20H2FH,字节为可位寻址区域,这,16,个字节共,128,位,每一位都有一个位地址,位编址为:,00H7FH,,用户可用程序对它们直接进行清,0,、置位、取反和测试等操作。,位寻址区的,RAM,单元也可按字节寻址,作为一般的数据缓冲器使用。,“位”的两种表示方式:,以,位地址,的形式,如位寻址区的最后一个位是,7FH,;,以,存储单元地址加位,的形式表示,如位寻址区的最后一个位表示为,。,单元地址,D7,D6,D5,D4,D3,D2,D1,D0,2FH,7FH,7EH,7DH,7CH,7BH,7AH,79H,78H,2EH,77H,76H,75H,74H,73H,72H,71H,70H,2DH,6FH,6EH,6DH,6CH,6BH,6AH,69H,68H,2CH,67H,66H,65H,04H,63H,62H,61H,60H,2BH,5FH,5EH,5DH,5CH,5BH,5AH,59H,58H,2AH,57H,56H,55H,54H,53H,52H,51H,50H,29F,4FH,4EH,4DH,4CH,4BH,4AH,49H,48H,28H,47H,46H,45H,44H,43H,42H,41H,40H,27H,3FH,3EH,3DH,3CH,3BH,3AH,39H,38H,26H,37H,36H,35H,34H,33H,32H,31H,30H,25H,2FH,2EH,2DH,2CH,2BH,2AH,29H,28H,24H,27H,26H,25H,24H,23H,22H,21H,20H,23H,1FH,1EH,1DH,1CH,1BH,1AH,19H,18H,22H,17H,16H,15H,14H,13H,12H,11H,10H,21H,0FH,0EH,0DH,0CH,0BH,0AH,09H,08H,20H,07H,06H,05H,04H,03H,02H,01H,00H,内部,RAM,位寻址区的位地址,57,用户,RAM,区,内部,RAM,的,30H7FH,字节为用户,RAM,区,即通用数据缓冲区,共,80,个单元,作为一般数据缓冲使用。,对于用户,RAM,区,只能以存储单元的形式来使用,没有其它任何规定和限制。,一般把堆栈开辟在此区中。,当片内,128B,的,RAM,不够用时,需外扩,最多可外扩,64KB,的,RAM,。,注意,片内,RAM,与片外,RAM,两个空间是相互独立的,片内,RAM,与片外,RAM,的低,128B,的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突。,按字节寻址:每个字节,(8,个位,),占一个地址。,按位寻址:每一位就有一个地址。,59,内部,RAM,高,128,单元:特殊功能寄存器(,SFR,)区,单元地址为,80HFFH,,用于存放相应功能部件的控制命令、状态或数据。,89S51,片内包括,26,个,SFR,,其中可位寻址的有,11,个。,对可位寻址的,SFR,,在表示某一位时,可以用,位地址,,也可以用,位定义名,,或用“,寄存器名,.,位,”表示。例如程序状态字,PSW,中的,D3,位可表示为:,D3H,(位地址),RS0,(位定义名),PSW.3,(寄存器名,.,位),AT89S51,特殊功能寄存器(,SFR,),与运算器相关,3,个,ACC,B,PSW,与定时,/,计数器相关,6,个,TH0,TL0,TH1,TL1,TMOD,TCON,指针类,5,个,SP,DPH0/1,DPL0/1,与口相关,7,个,P0,P1,P2,P3,SBUF,SCON,PCON,与中断相关,2,个,IE,IP,辅助寄存器,2,个,AUXR,AUXR1,看门狗寄存器,1,个,WDTRST,基本型单片机有,26,个,SFR,离散地分布在,80H,FFH,空间。,特殊功能寄存器地址映像,SFR,名称,符号,D7,位地址,/,位定义,D0,字节地址,寄存器,B,B,F7,F6,F5,F4,F3,F2,F1,F0,F0H,累加器,A,ACC,E7,E6,E5,E4,E3,E2,E1,E0,E0H,程序状态字,PSW,D7,D6,D5,D4,D3,D2,D1,D0,D0H,CY,AC,F0,RS1,RS0,OV,P,中断优先级,IP,BF,BE,BD,BC,BB,BA,B9,B8,B8H,PS,PT1,PX1,PT0,PX0,I/O,端口,3,P3,B7,B6,B5,B4,B3,B2,B1,B0,B0H,P3.7,P3.6,P3.5,P3.4,P3.3,P3.2,P3.1,P3.0,中断允许控制,IE,AF,AE,AD,AC,AB,AA,A9,A8,A8H,EA,ES,ET1,EX1,ET0,EX0,I/O,端口,2,P2,A7,A6,A5,A4,A3,A2,A1,A0,A0H,P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0,串行数据缓冲,SBUF,99H,串行控制,SCON,9F,9E,9D,9C,9B,9A,99,98,98H,SM0,SM1,SM2,REN,TB8,RB8,TI,RI,I/O,端口,1,P1,A9,96,95,94,93,92,91,90,90H,P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0,特殊功能寄存器地址映像,SFR,名称,符号,D7,位地址,/,位定义,D0,字节地址,定时,/,计数器,1,(高字节),TH1,8DH,定时,/,计数器,0,(高字节),TH0,8CH,定时,/,计数器,1,(低字节),TL1,8BH,定时,/,计数器,0,(低字节),TL0,8AH,定时,/,计数器方式选择,TMOD,GATE,C/T,M1,M0,GATE,C/T,M1,M0,89H,定时,/,计数器控制,TCON,8F,8E,8D,8C,8B,8A,89,88,88H,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,电源控制及波特率控制,PCON,SMOD,GF1,GF0,PD,IDL,87H,数据指针高字节,DPH,83H,数据指针低字节,DPL,82H,堆栈,SP,81H,I/O,端口,0,P0,87,86,85,84,83,82,81,80,80H,P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0,特殊功能寄存器地址映像(续),26,个,SFR,连续,地分散在内部,RAM,高,128,单元中。,每个,SFR,都有字节地址,并定义了符号名。其中,11,个可位寻址,对应的位也定义了位名。(,凡是字节地址能被,8,整除的,SFR,都具有位地址,)。,凡是可位寻址的,SFR,,字节地址末位只能是,0H,或,8H,。,只能使用,直接寻址,方式访问特殊功能寄存器,指令中既可使用寄存器符号表示,也可使用寄存器地址表示。,在,P3 P0,口中,作为特殊功能寄存器的是它们的锁存器,由各位口线的锁存位组成。,对,SFR,的字节寻址问题的说明,堆栈指针(,SP,),堆栈指针,SP,是,8,位的特殊功能寄存器,可指向片内,RAM 128,字节(,00H7FH,)的任何单元。,堆栈的两种操作(进栈和出栈)都是对栈顶单元进行的。,SP,用来指示栈顶,,SP,的内容就是堆栈栈顶的存储单元,地址,。,系统复位后,,SP,的内容为,07H,,但由于堆栈一般在内部,RAM,的,30H7FH,单元中开辟,所以在程序设计时应注意把,SP,值初始化为,30H,以后,以免堆栈占用工作寄存器区和位寻址区。,SP,的内容一经确定,堆栈的位置也就跟着确定下来,由于,SP,可初始化为不同值,因此,堆栈位置是浮动,的。,数据存储器和程序存储器截然分开,RAM,和,ROM,的地址空间、存取指令和控制信号各有一套。,存储器有内外之分,为扩展外部存储器,单片机的芯片引脚已经作了预先准备:,通过口线最多可提供,16,位地址,对外部存储器的寻址范围达,64KB,;,ALE,信号用于外部存储器的地址锁存;,WR,和,RD,信号分别用于外部,RAM,的写选通和读选通;,PSEN,信号用于外部,ROM,的读选通;,EA,信号用于内外,ROM,的访问控制。,总结:,89S51,单片机系统的存储器结构特点,AT89S51,单片机的并行,IO,端口,89S51,单片机有四个,8,位并行,I/O,端口:,P0,、,P1,、,P2,和,P3,。,每个端口都是,8,位准双向口,共占,32,根引脚。,每一条,I/O,线都能独立地用作输入或输出。,每个端口都包括一个锁存器(即特殊功能寄存器,P0P3,),一个输出驱动器和输入缓冲器,作输出时数据可以锁存,作输入时数据可以缓冲。,68,68,图,2-8,P0,口某一位的位电路结构,69,1,位电路结构,P0,口某一位的电路包括:,(,1,)一个数据输出的锁存器,用于数据位的锁存。,(,2,)两个三态的数据输入缓冲器,分别是用于,读锁存器数据,的输入缓冲器,BUF1,和,读引脚数据,的输入缓冲器,BUF2,。,(,3,)一个多路转接开关,MUX,,它的一个输入来自锁存器的,端,另一个输入为地址,/,数据信号的反相输出。,MUX,由“控制”信号控制,实现锁存器的输出和地址,/,数据信号之间的转接。,(,4,)数据输出的,控制和驱动电路,,由,两个场效应管,(,FET,)组成。,69,70,2,工作过程分析,(,1,),P0,口用作地址,/,数据总线,外扩存储器或,I/O,时,,P0,口作为单片机系统,复用的,地址,/,数据总线使用。,当作为,地址或数据输出,时,,“控制”信号为,1,,硬件自动使转接开关,MUX,打向上面,接通反相器的输出,同时使与门处于开启状态。,当,输出的地址,/,数据信息为,1,时,与门输出为,1,,上方的场效应管导通,下方的场效应管截止,引脚输出为,1,;,当输出的地址,/,数据信息为,0,时,,上方的场效应管,截止,,,下方的场效应管,导通,,引脚输出为,0,。,70,71,输出电路是,上、下两个场效应管形成的,推拉式结构,,大大提高了负载能力,上方的场效应管这时起到,内部上拉电阻,的作用。,当,P0,口作为,数据,输入时,,仅从外部存储器(或,I/O,)读入信息,对应的“控制”信号为,0,,,MUX,接通锁存器的,端。,由于,P0,口作为地址,/,数据复用方式访问外部存储器时,,CPU,自动向,P0,口写入,FFH,,使下方场效应管截止,上方场效应管由于控制信号为,0,也截止,从而,保证数据信息的,高阻抗,输入,,从外部存储器输入的数据信息直接由引脚通过输入缓冲器,BUF2,进入内部总线。,72,具有,高阻抗输入的,I/O,口,应具有,高电平,、,低电平,和,高阻抗,3,种状态,的端口。因此,,P0,口作为地址,/,数据总线使用时是一个真正的双向端口,简称,双向口,。,(,2,),P0,口用作通用,I/O,口,当,P0,口不作为系统的地址,/,数据总线使用时,此时,P0,口也可作为通用的,I/O,口使用。,作通用的,I/O,口时,对应的“控制”信号为,0,,,MUX,打向下面,接通锁存器的 端,“与门”输出为,0,,上方场效应管截止,形成的,P0,口输出电路为漏极开路输出。,P0,口作输出口,时,来自,CPU,的“写”脉冲加在,D,锁存器的,CP,端,内部总线上的数据写入,D,锁存器,并由引脚输出。,72,73,当,D,锁存器为,1,时, 端为,0,,下方场效应管截止,输出为漏极开路,此时,必须外接上拉电阻才能有高电平输出;当,D,锁存器为,0,时,下方场效应管导通,,P0,口输出为低电平。,P0,口作输入口,使用时,有,两种读入方式,:,“读锁存器”,和,“读引脚”,。,当,CPU,发出,“读锁存器”,指令时,,锁存器的状态,由,Q,端经上方的三态缓冲器,BUF1,进入内部总线;,当,CPU,发出,“读引脚”指令,时,锁存器的输出状态,=1,(即,端,为,0,),而使下方场效应管截止,,引脚的状态,经下方的三态缓冲器,BUF2,进入内部总线。,73,74,3,P0,口的特点,P0,口为,双功能口,地址,/,数据复用,口和,通用,I/O,口。,(,1,),当,P0,口用作,地址,/,数据复用,口时,是一个,真正的双向口,,,输出低,8,位地址和输出,/,输入,8,位数据。,(,2,),当,P0,口用作,通用,I/O,口时,由于需要在片外接上拉电阻,端口不存在,高阻抗(悬浮)状态,,因此是一个,准双向口,。,为保证引脚信号的,正确读入,,应,首先向锁存器写,1,。单片机复位后,锁存器自动被置,1,;当,P0,口由原来输出转变为输入时,应先置锁存器为,1,,方可执行输入操作。,P0,口,大多作为地址,/,数据复用口,使用,就不能再作为通用,I/O,口使用。,74,P1,口,P2,口,77,2.5.4 P3,口,由于,引脚数目有限,,在,P3,口,增加了第二功能,。每,1,位都可以分别定义为第二输入功能或第二输出功能。,P3,口,字节地址为,B0H,,,位地址,B0H,B7H,。,P3,口某一位的位电路结构见,图,2-11,。,1,位电路结构,P3,口某一位的电路包括:,(,1,),1,个,数据输出锁存器,锁存输出数据位。,(,2,),3,个,三态数据输入缓冲器,BUF1,、,BUF2,和,BUF3,,分别用于读锁存器、读引脚数据和第二功能数据的输入缓冲。,(,3,)输出驱动,由与非门、场效应管(,FET,)和内部上拉电阻组成。,77,78,78,图,2-11,P3,口某一位的位电路结构,79,2,工作过程分析,(,1,),P3,口用作第二输入,/,输出功能,当选择第二输出功能时,,该位的锁存器需要置,1,,使与非门为开启状态。,当第二输出为,1,时,场效应管截止,引脚输出为,1,;,当第二输出为,0,时,场效应管导通,引脚输出为,0,。,当选择第二输入功能时,该位的锁存器和第二输出功能端均应置,1,,保证场效应管截止,引脚的信息由输入缓冲器,BUF3,的输出获得。,79,80,(,2,),P3,口用作第一功能,通用,I/O,口,用作,第一功能通用输出,时,,第二输出功能,端应保持高电平,与非门开启。,CPU,输出,1,时,,,Q=1,,场效应管截止,,引脚输出为,1,;,CPU,输出,0,时,,,Q=0,,场效应管导通,,引脚输出为,0,。,用作,第一功能通用输入,时,位的输出锁存器和第二输出功能均应置,1,,场效应管截止,引脚信息通过输入,BUF3,和,BUF2,进入内部总线,完成,“读引脚”,操作。,当,P3,口,第一功能通用输入,时,也可执行,“读锁存器”,操作,此时,Q,端信息经过缓冲器,BUF1,进入内部总线。,80,81,3,P3,口的特点,P3,口内部,有上拉电阻,,无高阻抗输入态,-,准双向口,。,P3,口作为第二功能的输出,/,输入,或第一功能通用输入,均须将相应位的锁存器置,1,。实际应用中,由于复位后,P3,口锁存器自动置,1,,满足第二功能所需的条件,所以不需任何设置工作,就可以进入第二功能操作。,当,某位不作为第二功能,用时,可,作为第一功能通用,I/O,使用。,引脚输入部分有两个缓冲器,第二功能的输入信号取自缓冲器,BUF3,的输出端,第一功能的输入信号取自缓冲器,BUF2,的输出端。,81,82,P3,口的,第二功能定义,见,表,2-1,。,2.5.5 P1,P3,口驱动,LED,发光二极管,下面讨论,P1,P3,口与,LED,发光二极管的驱动连接问题。,P0,口与,P1,、,P2,、,P3,口相比,,P0,口的驱动能力较大,,每位可驱动,8,个,LSTTL,输入,而,P1,、,P2,、,P3,口,的每一位的驱动能力,,只有,P0,口的一半,。,当,P0,口,某位为,高电平,时,可提供,400,A,的电流;,当,P0,口某位为,低电平,()时,可提供的灌电流。,83,83,如低电平允许提高,灌电流可相应加大。所以,,任何一个口要想获得较大的驱动能力,只能用,低电平,输出。,例如,使用单片机的并行口,P1,P3,直接驱动,发光二极管,,电路如,图,2-12,。由于,P1,P3,内部有,30k,左右的,上拉电阻。,如,高电平,输出,,则强行从,P1,、,P2,和,P3,口输出的电流,I,d,会造成单片机端口的损坏,如,图,2-12,(,a,),所示。,如端口引脚为,低电平,,能使电流,I,d,从单片机外部流入内部,则,将大大增加流过的电流值,,如,图,2-12,(,b,),所示。,所以,当,P1,P3,口驱动,LED,发光二极管,时,应该采用低电平驱动。,84,84,(,a,),不恰当的连接:高电平驱动,(,b,),恰当的连接:低电平驱动,图,2-12,发光二极管与,AT89S51,并行口的直接连接,时钟电路与时序,时钟电路用于产生单片机工作所需要的时钟信号。,单片机本身是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序协调工作。,时序研究的是指令执行中各信号之间的相互时间关系。,时钟信号的产生(内部方式时钟),89S51,芯片内部有一个高增益反相放大器,其输入端为芯片引脚,XTAL1,,输出端为引脚,XTAL2,。,外接作为反馈元件的晶体后成为自激振荡器,晶体呈感性,与微调电容,C1,、,C2,构成并联谐振回路。,振荡器的频率主要取决于晶体,电容有微调作用。晶体的振荡频率范围通常是,1.212MHz,电容,C1,、,C2,一般取,30 pF,。,晶体振荡频率越高,系统的时钟频率越高,单片机运行速度越快。,时钟电路,在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的震荡脉冲。,外接的脉冲应是高低电平持续时间大于,20ns,的方波,且脉冲频率应低于,12MHz,。,引入外部脉冲信号(外部方式时钟),分频电路,振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,以得到单片机各种相关的时钟信号。,时钟频率为振荡频率的,2,分频,,ALE,信号频率为振荡频率的,6,分频,机器频率为振荡频率的,12,分频。,当振荡脉冲频率为,12MHz,时,一个机器周期为,1,s,; 当振荡脉冲频率为,6MHz,时,一个机器周期为,2,s,。,机器周期、指令周期与指令时序,各种指令时序与时钟周期相关。,(,1,)时钟周期,时钟控制信号的基本时间单位。若晶振频率为,fosc,,则时钟周期,Tosc=1/fosc,。如,fosc=6MHz,,。,(,2,)机器周期,CPU,完成一个基本操作所需时间为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。,每,12,个时钟周期为,1,个机器周期,1,个机器周期包括,12,个时钟周期,分,6,个状态:,S1,S6,。每个状态又分两拍:,P1,和,P2,。因此,一个机器周期中的,12,个时钟周期表示为,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P2,,,指令周期,执行一条指令所需的时间。简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。,从指令执行时间看,:,单字节和双字节指令一般为单机器周期和双机器周期,;,三字节指令都是双机器周期,;,乘、除指令占用,4,个机器周期。,振荡周期(节拍,P,):单片机外接石英晶体振荡器的周期。如外接石英晶体的频率若为,12MHz,,其振荡周期就是,1/12,微秒。,状态周期(状态,S,):一个状态周期,2,个振荡周期。用,S,表示。两个振荡周期作为两个节拍分别称为节拍,P1,和节拍,P2,。在状态周期的前半周期,P1,有效时,通常完成算术逻辑操作;在后半周期,P2,有效时,一般进行内部寄存器之间的传输。,机器周期,:一个机器周期包含,6,个状态周期,用,S1,、,S2,、,、,S6,表示;共,12,个节拍,依次可表示为,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P1,、,S6P2,。,指令周期,:执行一条指令所占用的全部时间,它以机器周期为单位。,MCS-51,系列单片机除乘法、除法指令是,4,周期指令外,其余都是单周期指令和双周期指令。若用,12 MHz,晶振,则单周期指令和双周期指令的指令周期时间分别为,1 s,和,2s,,乘法和除法指令为,4 s,。,时序定时单位,S1 S2 S3 S4 S5 S6,P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2,一个机器周期的,12,个节拍,(振荡周期),一个机器周期包括,6,个,S,状态,S1,S6,,每个,S,状态分为,2 (,拍,),个振荡周期(相位,P1,,相位,P2,)。,1,个机器周期,6,个,S,状态,12 (,拍,),个振荡周期,采用主频为,12MHz,振荡源,每个机器周期为,1S,89S51,工作方式,89S51,单片机有,5,种不同的工作方式,每种工作方式都代表着单片机的一种工作状态。包括:,程序执行方式(分为连续执行和单步执行),复位方式,掉电方式,低功耗节电工作方式,EPROM,编程和校验方式,95,连续执行方式 (正常工作方式),由于单片机复位后,PC=0000H,,因此程序执行总是从地址,0000H,开始,但因,0003H,是外部中断程序入口,所以一般程序并不是从,0000H,开始,为此需在,0000H,开始的单元中存放一条,无条件转移指令,,以便跳转到实际程序的入口去
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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