-2AT89S51单片机硬件结构

上传人:a**** 文档编号:243269615 上传时间:2024-09-19 格式:PPT 页数:104 大小:2.47MB
返回 下载 相关 举报
-2AT89S51单片机硬件结构_第1页
第1页 / 共104页
-2AT89S51单片机硬件结构_第2页
第2页 / 共104页
-2AT89S51单片机硬件结构_第3页
第3页 / 共104页
点击查看更多>>
资源描述
点击添加标题,二级标题,三级标题,四级标题,点击添加标题,二级标题,三级标题,四级标题,AT89S51,单片机硬件结构,本章主要内容,189S51单片机的硬件组成,289S51的引脚功能,389S51的CPU,4AT89S51单片机存储器的结构,5AT89S51单片机的并行IO端口,6时钟电路与时序,789S51工作方式,889S51单片机最小系统,89S51单片机的根本组成,一个,8,位 的微处理器,CPU,。,片内数据存储器(RAM128B:,用以存放可以读,/,写的数据,如运算的中间结果、最终结果以及欲显示的数据等。,片内程序存储器Flash ROM4KB:,用以存放程序、一些原始数据和表格。,89S51单片机的根本组成,四个8位并行I/O输入/输出接口P0P3:,每个口可以用作输入,也可以用作输出,还兼有其它复合功能。,两个可编程,16,位定时,/,计数器,:,每个定时,/,计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。,一个看门狗定时器,一个全双工,UART,的串行,I/O,口,:,可实现单片机与单片机或其它微机之间串行通信。,UART:Universal Asynchronous Receiver/Transmitter,,通用异步接收,/,发送装置,片内振荡器和时钟产生电路,:,但需外接晶振和电容。,五个中断源的中断控制系统。,89S51单片机的根本组成,AT89S51,单片机的硬件结构,AT89S51,单片机片内结构,AT89S51,的引脚功能,PLCC,DIP,TQFP,按功能分类,I/O,口线:,P0,、,P1,、,P2,、,P3,共,32,条,控制口线:,PSEN,、,ALE,、,EA/V,PP,、,RESET,共,4,条,电源:,Vcc,、,Vss,共,2,条,时钟:,XTAL1,、,XTAL2,共,2,条,主电源和时钟振荡电路引脚,VCC 40脚运行和程序校验时接+5V电源,VSS 20脚)地线,XTAL119脚 用作晶体振荡电路的反相器输入端,内部接至振荡器的反相放大器。当采用外部时钟时, 该引脚作为外部振荡信号的输入端。,XTAL2 18脚 片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。,AT89S51,的引脚功能,P0口有三个功能:,外部扩展存储器时,当做数据总线,外部扩展存储器时,当作地址总线,不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。,当作为输入时,上拉电阻将其电位拉高,假设输入为低电平那么可提供电流源;所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。,P1口只做I/O口使用:其内部有上拉电阻。,P2口有两个功能:,扩展外部存储器时,当作地址总线使用,做一般I/O口使用,其内部有上拉电阻;,P3口有两个功能:,除了作为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/VPD9引脚:RST为复位信号输入端。,高电平复位CPU,低电平CPU工作。,当RST端保持2个机器周期以上高电平时,单片机完成复位操作。,第二功能VPD为内部RAM的备用电源输入端。当主电源VCC发生断电,降到一定电压值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丧失,上电后能继续正常运行。,复位使单片机进入某种确定的初始状态:,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门。,第二功能PROG为89C51内部Flash Rom编程时的编程脉冲输入端。在FLASH编程期间,此引脚用于输入编程脉冲。,然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。如果在外部执行状态ALE禁止,置位无效。,控制信号引脚,PSEN 29引脚 :外部程序存储器ROM读选通信号,访问外部ROM时,PSEN产生负脉冲作为外部ROM选通信号。,访问外部RAM或内部ROM时,不会产生有效的PSEN信号。,PSEN可驱动8个LSTTL门。,EA/VPP31引脚:EA为访问程序存储器ROM控制信号,当EA为高电平时,假设访问的地址空间在04KBPC0FFFH 时,CPU将自动访问外部ROM。,EA保持低电平,那么访问外部ROM。,对于8031, EA必须接地,只能访问外部ROM。,在FLASH编程期间,此引脚也用于施加12V编程电源VPP。,有内部EPROM的单片机芯片例如8751,为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:,编程脉冲:30脚ALE/PROG,编程电压:31脚EA/Vpp,有些印刷线路板上会有一个电池,这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚即RST/VPD引入,以保护内部RAM中的信息不会丧失。,例:,SRAM6264,的扩展,89C51,6264,ALE,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G(LE),EA,OE,CE2*,RD,WR,WE,CE1*,+5V,锁存器,74LS373,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,信号。,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,作用如下:,1ALU单元的输入数据源之一大局部单操作数指令的操作数取自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和RS0PSW.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程序状态字,片内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=C6C7,在乘法运算中,OV=1表示乘积超过255,即乘积分别在B高8位与A低8位中;否那么,OV=0表示乘积只在A中。,在除法运算中,OV=1表示除数为0,除法不能进行;否那么,OV=0表示除数不为0,除法可正常进行。,【注意】对于加减运算,无论参与运算的数是带符号数还是无符号数,都按带符号数的原那么来设置溢出标志位。,OV 溢出标志位,PSW程序状态字,1程序计数器PC16位,2指令存放器IR及指令译码器ID,3定时和控制逻辑电路,控制器,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各局部自动协调的工作。主要包括:,功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。,1程序计数器PC16位,程序计数器,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结构哈佛型,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,特殊功能,存放器,(21个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在0000H0FFFH4KB地址时从内部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,),49,工作寄存器组,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,位寻址区的位地址,52,用户,RAM,区,内部,RAM,的,30H7FH,字节为用户,RAM,区,即通用数据缓冲区,共,80,个单元,作为一般数据缓冲使用。,对于用户,RAM,区,只能以存储单元的形式来使用,没有其它任何规定和限制。,一般把堆栈开辟在此区中。,当片内,128B,的,RAM,不够用时,需外扩,最多可外扩,64KB,的,RAM,。,注意,片内,RAM,与片外,RAM,两个空间是相互独立的,片内,RAM,与片外,RAM,的低,128B,的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突。,按字节寻址:每个字节,(8,个位,),占一个地址。,按位寻址:每一位就有一个地址。,54,内部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离散地分布在80HFFH空间。,特殊功能存放器地址映像,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,一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。,P0,口,当,C=0,时,开关,MUX,被控为如图示位置,,P0,口为通用,I/O,口;,当,C=1,时,开关拨向反相器,3,的输出端,,P0,口分时作为地址,/,数据总线使用。,读引脚,读锁存器,内部总线,写入,D,CP,Q,Q,地址,/,数据,控制,C,MUX,VCC,T1,T2,P0.X,4,3,1,2,锁存器,P1,口,P2,口,P3,口,时钟电路与时序,时钟电路用于产生单片机工作所需要的时钟信号。,单片机本身是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序协调工作。,时序研究的是指令执行中各信号之间的相互时间关系。,时钟信号的产生内部方式时钟,89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。,外接作为反响元件的晶体后成为自激振荡器,晶体呈感性,与微调电容C1、C2构成并联谐振回路。,振荡器的频率主要取决于晶体,电容有微调作用。晶体的振荡频率范围通常是,1.212MHz,电容,C1,、,C2,一般取,30 pF,。,晶体振荡频率越高,系统的时钟频率越高,单片机运行速度越快。,时钟电路,在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的震荡脉冲。,外接的脉冲应是上下电平持续时间大于20ns的方波,且脉冲频率应低于12MHz。,引入外部脉冲信号外部方式时钟,分频电路,振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,以得到单片机各种相关的时钟信号。,时钟频率为振荡频率的,2,分频,,ALE,信号频率为振荡频率的,6,分频,机器频率为振荡频率的,12,分频。,当振荡脉冲频率为,12MHz,时,一个机器周期为,1ms,; 当振荡脉冲频率为,6MHz,时,一个机器周期为,2ms,。,机器周期、指令周期与指令时序,各种指令时序与时钟周期相关。,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 状态S1S6,每个S状态分为2 (拍)个振荡周期相位P1,相位P2。,1个机器周期 6个S状态12 (拍)个振荡周期,采用主频为12MHz 振荡源,每个机器周期为1S,89S51,工作方式,89S51单片机有5种不同的工作方式,每种工作方式都代表着单片机的一种工作状态。包括:,程序执行方式分为连续执行和单步执行,复位方式,掉电方式,低功耗节电工作方式,EPROM编程和校验方式,77,连续执行方式 正常工作方式,由于单片机复位后PC=0000H,因此程序执行总是从地址0000H开始,但因0003H是外部中断程序入口,所以一般程序并不是从0000H开始,为此需在0000H开始的单元中存放一条无条件转移指令,以便跳转到实际程序的入口去执行。,单步执行方式,AT89S51单片机的外部中断INT0引脚上输入一个正脉冲可实现单步执行方式。,程序执行方式单片机的根本工作方式,复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。复位后,单片机才能开始正常工作。,RST引脚是复位信号的输入端,在单片机的RST端加上高电平持续2个机器周期以上,单片机即进入复位工作方式。,除系统的正常初始化外,当程序出错如程序跑飞或操作错误使系统处于死锁状态时,需按复位键使RST脚为高电平,使AT89S51摆脱“跑飞或“死锁状态而重新启动程序。,复位不影响AT89S51单片机内部RAM的状态,只要RST输入端保持高电平,将循环复位。,在复位有效期间,ALE和PSEN信号变为无效状态。,RST返回低电平后,CPU从0000H地址开始执行程序。,复位方式和复位电路,复位后单片机有关存放器的状态,寄存器,复位状态,PC,0000H,ACC,00H,PSW,00H,SP,07H,DPTR,0000H,IP,0 0000B,IE,00 0000B,P0P3,FFH,TCON,00H,寄存器,复位状态,TMOD,00H,TL0,00H,TH0,00H,TL1,00H,TH1,00H,SCON,00H,SBUF,未定,PCON (HMOS),0 B,PCON (CHMOS),0 0000B,(PC) =0000H 表示复位后程序的入口地址为0000H;,(PSW)=00H,其中RS1(PSW.4)=0,RS0(PSW.3)=0,表示复位后单片机选择工作存放器第0组;,(SP)=07H 表示复位后堆栈在片内RAM的08H单元处建立;,P0口 P3口锁存器为全1状态,说明复位后这些并行接口可以直接作输入口,无须向端口写1;,定时器/计数器、串行口、中断系统等特殊功能存放器复位后的状态对各功能部件工作状态的影响,将在后续有关章节介绍。,说 明:,89S51根本复位电路有3种:上电复位、,按键电平复位和按键脉冲复位。,单片机系统在运行出错或进入死循环时,可按复位键重新启动,。,上电自动复位,:通过电容充电来实现。接通电源即可完成系统的复位。,按键手动复位:,按下复位按钮即可复位。分为电平方式和脉冲方式两种。,89S51根本复位电路,89S51,的,RST,引脚是复位信号的输入端。,复位信号是高电平有效,其有效时间应持续,2,个机器周期以上。,整个复位电路包括芯片内、外两局部。外部电路产生的复位信号RST送施密特触发器;再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样;最后才得到内部复位操作所需要的信号。,89S51,芯片内复位电路,在实际设计中,假设有外部扩展的I/O接口电路也需初始复位,假设它们的复位端和AT89S51的复位端相连,复位电路中的R、C参数要受到影响,这时复位电路中的R、C参数要统一考虑,以保证可靠的复位。,如果AT89S51单片机与外围I/O接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围I/O接口电路的复位也可以不与AT89S51单片机复位端相连,采用独立的上电复位电路。假设RC上电复位电路接施密特电路输入端,施密特电路输出接AT89S51单片机和外围电路复位端,那么能使系统可靠地同步复位。一般来说单片机的复位速度比外围I/O接口电路快些。为保证系统可靠复位,在单片机应用程序的初始化程序段应安排一定的复位延迟时间。,待机和掉电工作方式,节电降低功耗是衡量单片机的一项重要技术指标。,HMOS型单片机只有掉电方式。,CHMOS型单片机工作电源和备用电源同时加在引脚VCC上,有待机和掉电两种方式。由电源控制存放器PCON的有关位来控制。PCON存放器格式如下:,D7,D6,D5,D4,D3,D2,D1,D0,SMOD,GF1,GF0,PD,IDL,IDL:待机方式控制位, IDL=1,那么进入待机方式。,PD:掉电方式控制位,PD=1,那么进入掉电方式。,GF0和GF1:通用标志位。由用户置位或复位。,SMOD:串行口波特率加倍控制位,SMOD=1时,波特率加倍,串行通信时使用,如果使用指令把电源控制存放器PCON的IDL位置1,80S51单片机就进入待机模式。,待机模式的主要特点:关闭CPU,方法是阻断向CPU提供时钟信号的通路。CPU因得不到时钟信号而停止工作,同时,与CPU相关的SP、PC、PSW、ACC以及各存放器等也被“冻结在原状态。但在待机方式下,单片机的时钟振荡电路继续工作,为中断逻辑、定时器和串行口继续提供时钟信号,在内部只是把送往CPU的时钟信号封锁。这时80C51的耗电电流可由正常的16mA降为3mA。,退出待机模式的两种方法:激活中断和硬件复位。,待机方式空闲模式,掉电工作方式是指由于电源的故障而使电源电压丧失或工作电压低于正常值,导致单片机系统不能正常工作。,掉电保护的具体做法:电源检测电路一旦发现掉电,就通过外部中断向CPU发出中断请求,在中断效劳程序中把有关的数据送到内部RAM中保存起来,并把一个字节写入PCON,使PD=1,单片机就进入掉电方式。,掉电方式下,只有片内RAM 00H 7FH 单元的内容被保存,其它一切都停止,在此期间片内RAM的耗电电流为5mA,VCC可降为2V。在VCC恢复正常之前,不可进行复位。当VCC恢复正常后,硬件复位10ms能使单片机退出掉电保护。,掉电保护方式,89S51,单片机最小系统,51单片机最小系统构成,单片机最小系统是指单片机能正常工作的最小系统:,电源4.5v5.5v, PIN20-GND,PIN40-Vcc;,复位电路:上电复位必有,手动复位可选;,时钟电路:晶振+稳频电容;,PIN31EA/Vpp拉高:控制单片机从片内ROM启动;,51,单片机最小系统板,预备知识:元器件实物图,单片机芯片,AT89C51,AT89S51,AT89S52,AT89C2051,通信芯片,MAX232CPE,时钟芯片,DS1302,EEPROM,24C02,温度传感器,18B20,AD,变换器,0832,稳压片,78L05,晶 振,电阻和排电阻,瓷片小电容,零压力插座,万用焊接板,仪器盒,步进电机,液晶字符显示屏,液晶图形点阵显示屏,拨动开关,红外遥控用 发射接受一体管,继电器,各类接插件,遥控组件,超声波发射接受头,双路遥控组件,长距离遥控器,3000,4000M,88,二极管点阵 八段数码管,思考题,89S51系列单片机内部包含哪些主要功能部件?,程序计数器PC的作用是什么?,89S51的CPU主要由哪几局部组成?,单片机CPU运算器的核心部件是什么?其主要功能有哪些?,89S51单片机内部有多少字节的RAM和FlashROM?,请论述单片机最小系统的组成,并画出单片机最小系统原理图。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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