[计算机硬件及网络]第2章AT89S51单片机硬件结构

上传人:e****s 文档编号:243424773 上传时间:2024-09-23 格式:PPT 页数:75 大小:928KB
返回 下载 相关 举报
[计算机硬件及网络]第2章AT89S51单片机硬件结构_第1页
第1页 / 共75页
[计算机硬件及网络]第2章AT89S51单片机硬件结构_第2页
第2页 / 共75页
[计算机硬件及网络]第2章AT89S51单片机硬件结构_第3页
第3页 / 共75页
点击查看更多>>
资源描述
点击添加标题,二级标题,三级标题,四级标题,Copyright ,Http:/ ,*,点击添加标题,二级标题,三级标题,四级标题,*,2,AT89S51单片机硬件结构,本章主要内容,1. 89S51单片机的硬件组成,2. 89S51的引脚功能,3. 89S51的CPU,4. AT89S51单片机存储器的结构,5. AT89S51单片机的并行IO端口,6. 时钟电路与时序,7. 89S51工作方式,8. 89S51单片机最小系统,2,2.1 89S51单片机的硬件组成,89S51=80C31+74LS373+2732,3,89C51,CPU,振荡器和时序,OSC,64KB 总线,扩展控制器,数据存储器,256B RAM/SFR,216位,定时器/计数器,可编程I/O,程序存储器,4KBROM,可编程全双工,串行口,外中断,内中断,控制,并行口,串行通信,外部时钟源,外部事件计数,AT89S51单片机结构框图,4,89S51单片机的基本组成,一个,8,位 的微处理器,CPU,。,片内数据存储器,(RAM128B/256B,),:,用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。,片内程序存储器,Flash ROM,(,4KB/8KB,),:,用以存放程序、一些原始数据和表格。但有一些单片机内部不带ROM/EPROM,如8031、8032、80C31等。,5,89S51单片机的基本组成,四个,8,位并行,I/O,(,输入,/,输出)接口,P0P3:,每个口可以用作输入,也可以用作输出,还兼有其它复合功能。,两个可编程,16,位定时,/,计数器,:,每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。,一个看门狗定时器,6,一个全双工,UART,的串行,I/O,口,:,可实现单片机与单片机或其它微机之间串行通信。,UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,片内振荡器和时钟产生电路,:,但需外接晶振和电容。,五个中断源的中断控制系统。,7,89S51采用标准的40引脚双列直插封装(DIP),或PLCC封装,2.2 AT89S51的引脚功能,8,1. 主电源和时钟振荡电路引脚,V,CC,(,40,脚),运行和程序校验时接,+5V,电源,V,SS,(,20,脚,),地线,XTAL1,(,19,脚),用作晶体振荡电路的,反相器输入端,,内部接至振荡器的反相放大器。当采用外部时钟时,该引脚作为外部振荡信号的输入端。,XTAL2,(,18,脚),用作晶体振荡电路的,反相器输出端,,内部接至时钟发生器。当采用外部时钟时,对于,HMOS,单片机,该引脚接收振荡器信号;对于,CHMOS,单片机,该引脚悬浮。,2.2 AT89S51的引脚功能,9,2. 输入/输出(I/O)引脚,(,39,脚,32,脚),:,8,位漏极开路的双向,I/O,口,当使用片外,ROM,和,RAM,时,用作低,8,位地址和数据分时复用。,(,1,脚,8,脚),:,8,位带上拉电阻的准双向,I/O,口,在编程,/,校验期间,用作输入低,8,位地址。对于,8052,,,是定时器,T2,的计数输入端;,是定时器,T2,的外部输入端。,(,21,脚,28,脚),:,8,位带上拉电阻的准双向,I/O,口,当使用片外,ROM,和,RAM,时,输出高,8,位地址。,(,10,脚,17,脚),:,8,位带上拉电阻的准双向,I/O,口,P3,口具有第二功能,在单片机中,“口”是一个集数据输入缓冲、输出驱动及锁存等多项功能于一体的I/O电路。,2.2 AT89S51的引脚功能,10,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读选通,11,控制信号引脚,RST/VPD,(,9,引脚):,RST,为复位信号输入端。,当,RST,端保持,2,个机器周期以上高电平时,单片机完成复位操作。,第二功能,VPD,为内部,RAM,的备用电源输入端。当主电源,V,CC,发生断电,降到一定电压值时,可通过,VPD,为单片机内部,RAM,提供电源,以保护片内,RAM,中的信息不丢失,上电后能继续正常运行。,ALE/ PROG,(,30,引脚) :,ALE,为地址锁存允许信号,在系统扩展时,,ALE,用于控制把,P0,口输出的低,8,位地址送入锁存器锁存起来,以实现低,8,位地址和数据的分时传送。,由于,ALE,是以,1/6,晶振频率的固定频率输出的正脉冲,故可作为外部时钟或外部定时脉冲使用。,ALE,可驱动,8,个,LSTTL,门。,第二功能,PROG,为,89C51,内部,Flash Rom,编程时的编程脉冲输入端。,12,控制信号引脚,PSEN,(,29,引脚) :外部程序存储器(,ROM,)读选通信号,访问外部,ROM,时,,PSEN,产生负脉冲作为外部,ROM,选通信号。,访问外部,RAM,或内部,ROM,时,不会产生有效的,PSEN,信号。,PSEN,可驱动,8,个,LSTTL,门。,EA/V,PP,(,31,引脚):,EA,为访问程序存储器(,ROM,)控制信号,当,EA,为高电平时,若访问的地址空间在,04KB,范围内,,CPU,访问片内,ROM,;若访问的地址范围超过,4KB,时,,CPU,将自动访问外部,ROM,。,EA,保持低电平,则访问外部,ROM,。,对于,8031,,,EA,必须接地,只能访问外部,ROM,。,第二功能为,+12V,编程电源输入。,13,2.3 AT89S51的CPU,CPU是单片机内部的核心部件,完成运算和控制操作。包括运算器、控制器以及若干,寄存器,等部件组成,运算器,以算术逻辑单元,ALU,为核心,加上累加器,ACC,、寄存器,B,、暂存器,TMP1,和,TMP2,、 程序状态寄存器,PSW,、十进制调整电路及专门用于位操作的布尔处理机组成的。,功能:实现数据的算术逻辑运算,位变量处理和数据传送操作。,14,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(程序状态字),15,CY是PSW中最为常用的标志位,共有4项功能:,在加法运算中存放进位标志,有进位时,CY,置,1,,无进位时,CY,清,0,;,在减法运算中存放借位标志,有借位时,CY,置,1,,无借位时,CY,清,0,;,在位操作中作累加位使用,在位传送和位运算中都要用到,CY,;,在带进位的移位操作中用于构成循环移位通路。,【,注意,】,对于加,/,减运算,无论参与运算的数是带符号数还是无符号数,都按无符号数的原则来设置进,/,借位标志位,CY,。,CY,(,),进位标志位,PSW(程序状态字),16,17,在加减运算中,当低,4,位向高,4,位有进借位时,,AC,由硬件置位,否则,AC,被清,0,。,在进行十进制数运算时需要十进制调整,此时要用到,AC,位的状态进行判断。,AC,(,),半进位标志位,F0,(,),用户标志位,由用户定义使用的标志位。用户可根据需要用软件方法置位或复位。,PSW(程序状态字),17,这两个选择位的状态由软件设置,被选中的工作寄存器组即为当前工作寄存器组。,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(程序状态字),18,在加减运算中,如果,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(程序状态字),19,(1)程序计数器PC(16位),(2)指令寄存器IR及指令译码器ID,(3)振荡器和定时电路,控制器,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分自动协调的工作。主要包括,:,20,(1)程序计数器PC(16位),由两个8位计数器PCH、PCL组成。,PC是程序的字节地址计数器,PC内容为将要执行的指令地址。,改变PC内容,改变执行的流向。,PC可对64KB的ROM直接寻址,也可对89S51片内RAM寻址。,21,(2)指令寄存器IR及指令译码器ID,由PC中的内容指定ROM地址,取出来的指令经IR送至ID,由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。,(3)振荡器和定时电路,89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为,12MHz。该信号作为89C51工作的基本节拍即时间的最小单位。,22,89S51单片机的存储器组织结构与一般微机不同:,一般微机通常是程序和数据共用一个存储空间,属于Von Neumann,结构,(,冯诺依曼型,),89S51单片机把,程序存储器空间和数据存储器相互分离开来,属于Harvard结构(,哈佛型,),2.4 AT89S51单片机存储器的结构,23,24,存储器,ALU),算逻部件,(ALU),控制部件,中央处理器,CPU,输入/输出,部件,输入/输出,部件,算逻部件,(ALU),控制部件,中央处理器,CPU,程序存储器,数据存储器,单片机体系结构,冯诺依曼型,哈佛型,24,89S51存储器,程序存储器ROM,数据存储器RAM,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,AT89S51单片机存储器的结构,25,89S51的存储器组织分3个不同的存储地址空间:,64KB,的程序存储器地址空间(包括片内,ROM,和片外,ROM,),64KB,的外部数据存储器地址空间,256B,的内部数据存储器地址空间,汇编语言对这,3,个不同的存储器空间进行数据传送时,必须分别采用,3,种不同形式的指令。,26,内部 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单片机存储器组织结构,27,程序存储器(,ROM,),ROM,用于存放程序及表格常数,读取,ROM,的指令为,“,MOVC,”,。,89C51,片内有,4KB,的,ROM,,外部可用,16,位地址线扩展到最大,64KB,的,ROM,空间。,片内,ROM,和外部扩展,ROM,是统一编址的,。,28,当芯片引脚,EA,为高电平时,程序计数器,PC,在,0000H0FFFH,(,4KB,)地址时从内部,ROM,取指令,超过,4KB,时,,CPU,自动转向外部,ROM,执行程序。,如果,EA,为低电平(接地),则所有取指令操作均在外部,ROM,中进行,这时外部扩展的,ROM,从,0000H,开始编址。,8031,单片机无片内,ROM,,只能使用外部扩展,ROM,且从,0000H,开始编址,,EA,必须接低电平,。,程序存储器(ROM),29,ROM中的某些特定单元是给系统默认使用的,0000H,单元是复位入口,单片机复位后,,CPU,总是从,0000H,单元开始执行程序。,0000H 0002H,单元安排一条无条件转移指令,使之转向主程序的入口地址。,0003H 002AH,共,40,个单元均匀地分为,5,段,分别作为,5,个中断源的中断地址区。,中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。,30,系统复位和中断地址区,地 址 区,操 作,0000H 0002H,系统复位,0003H 000AH,外部中断 0 中断地址区,000BH 0012H,定时器/计数器 0 中断地址区,0013H 001AH,外部中断 1 中断地址区,001BH 0022H,定时器/计数器 1 中断地址区,0023H 002AH,串行口中断地址区,一般从中断首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。,31,数据存储器(RAM),RAM,用于存放运算中间结果,用作缓冲和数据暂存,以及设置特征标志等。,89C51,片内有,256B,的,RAM,空间,片外有,64KB,的,RAM,空间,两个存储空间独立寻址。,内部,RAM,低,128,字节地址空间(,00H 7FH,)为内部,RAM,区,是供用户使用的数据存储器单元,作为处理问题的数据缓冲器。,高,128,字节地址空间(,80H FFH,)为特殊功能寄存器区(,SFR,区),共,21,个特殊功能寄存器,也就是,128,个字节单元中只有,21,个字节单元能够被用户使用。,内部,RAM,存储空间小,仅用,8,位地址寻址,但存取速度比外部,RAM,快。,32,内部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个位,,可按位寻址,也可按字节寻址),33,内部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),34,35,工作寄存器组 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,工作寄存器的使用方法:,以寄存器的形式使用,用,寄存器符号,表示;,以存储单元的形式使用,以,单元地址,表示。,工作寄存器区各寄存器对应的地址,35,36,位寻址区,内部,RAM,的,20H2FH,字节为可位寻址区域,这,16,个字节共,128,位,每一位都有一个位地址,位编址为:,00H7FH,,用户可用程序对它们直接进行清,0,、置位、取反和测试等操作。,位寻址区的,RAM,单元也可按字节寻址,作为一般的数据缓冲器使用。,“位”的两种表示方式:,以,位地址,的形式,如位寻址区的最后一个位是,7FH,;,以,存储单元地址加位,的形式表示,如位寻址区的最后一个位表示为,。,36,单元地址,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位寻址区的位地址,37,38,用户,RAM,区,内部,RAM,的,30H7FH,字节为用户,RAM,区,即通用数据缓冲区,共,80,个单元,作为一般数据缓冲使用。,52,子系列的用户,RAM,区为,30HFFH,范围内的,208,个字节。,对于用户,RAM,区,只能以存储单元的形式来使用,没有其它任何规定和限制。,一般把堆栈开辟在此区中。,38,39,内部RAM高128单元:特殊功能寄存器(SFR)区,单元地址为,80HFFH,,用于存放相应功能部件的控制命令、状态或数据。,89S51,片内包括,21,个,SFR,,其中可位寻址的有,11,个。,对可位寻址的,SFR,,在表示某一位时,可以用,位地址,,也可以用,位定义名,,或用“,寄存器名,.,位,”表示。例如程序状态字,PSW,中的,D3,位可表示为:,D3H,(位地址),RS0,(位定义名),PSW.3,(寄存器名,.,位),39,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,特殊功能寄存器地址映像,40,41,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,特殊功能寄存器地址映像(续),41,42,21,个,SFR,不连续,地分散在内部,RAM,高,128,单元中。用户不能使用剩余的的空闲单元,如果访问了这些没有定义的单元,读出的为不定数,写入的数将被舍弃。,每个,SFR,都有字节地址,并定义了符号名。其中,11,个可位寻址,对应的位也定义了位名。(,凡是字节地址能被,8,整除的,SFR,都具有位地址,),只能使用,直接寻址,方式访问特殊功能寄存器,指令中既可使用寄存器符号表示,也可使用寄存器地址表示。,在,P3 P0,口中,作为特殊功能寄存器的是它们的锁存器,由各位口线的锁存位组成。,对SFR的字节寻址问题的说明:,42,43,堆栈是一种数据结构,就是只允许在其一端进行数据插入和数据删除操作的线性表。,数据写入堆栈叫,入栈,(,PUSH,),数据从堆栈中读出叫,出栈,(,POP,)。,堆栈的最大特点是“,后进先出,”(,LIFO,,,Last-In-First-Out,)的数据操作规则。,89S51的堆栈操作:,43,栈顶,栈底(可用软件设置),35H,34H,33H,32H,31H,30H,堆栈指针(SP),MOV SP,#60H,PUSH ACC,PUSH PSW,. .,POP PSW,POP ACC,44,45,堆栈的功用,堆栈可用于响应中断或调用子程序时,,保护断点和保护现场,。在中断服务程序或子程序结束时,执行中断返回或子程序返回指令,原断点地址会自动从堆栈中弹出给,PC,,使程序从断点处顺序执行下去。,堆栈也可用于,数据的临时存放,。,堆栈的开辟,堆栈只能开辟在芯片的内部,RAM,中(内堆栈),通常设在,内部,RAM,的,30H7FH,地址空间内的顶部,但要考虑到堆栈的最大深度。,内堆栈的特点:操作速度快,但堆栈容量有限,45,46,堆栈指针(,SP,),堆栈指针,SP,是,8,位的特殊功能寄存器,可指向片内,RAM 128,字节(,00H7FH,)的任何单元。,堆栈的两种操作(进栈和出栈)都是对栈顶单元进行的。,SP,用来指示栈顶,,SP,的内容就是堆栈栈顶的存储单元,地址,。,系统复位后,,SP,的内容为,07H,,但由于堆栈一般在内部,RAM,的,30H7FH,单元中开辟,所以在程序设计时应注意把,SP,值初始化为,30H,以后,以免堆栈占用工作寄存器区和位寻址区。,SP,的内容一经确定,堆栈的位置也就跟着确定下来,由于,SP,可初始化为不同值,因此,堆栈位置是浮动,的。,46,47,堆栈类型,向上生长型堆栈,:栈底在低地址单元。,操作规则:,进栈操作:先,SP,加,1,,后写入数据,出栈操作:先读出数据,后,SP,减,1,向下生长型堆栈:,栈底在高地址单元。,操作规则:,进栈操作:先,SP,减,1,,后写入数据,出栈操作:先读出数据,后,SP,加,1,89C51的堆栈属于向上生长型,栈底,栈底,SPSP+1,SP,进栈,出栈,出栈,进栈,SP,SP SP-1,47,48,堆栈的使用方式,自动方式(保护断点),无需用户干预,在调用子程序或中断时,返回地址(断点)自动进栈;程序返回时,断点再自动弹回,PC,。,指令方式(保护现场),使用专用的堆栈操作指令,进行进出栈操作。进栈指令为,PUSH,(保护现场),出栈指令为,POP,(恢复现场) 。,48,数据存储器和程序存储器截然分开,RAM,和,ROM,的地址空间、存取指令和控制信号各有一套。,存储器有内外之分,为扩展外部存储器,单片机的芯片引脚已经作了预先准备:,通过口线最多可提供,16,位地址,对外部存储器的寻址范围达,64KB,;,ALE,信号用于外部存储器的地址锁存;,WR,和,RD,信号分别用于外部,RAM,的写选通和读选通;,PSEN,信号用于外部,ROM,的读选通;,EA,信号用于内外,ROM,的访问控制。,总结:89S51单片机系统的存储器结构特点,49,2.5 AT89S51单片机的并行IO端口,189S51单片机有四个8位并行I/O端口:P0、P1、P2和P3。,2每个端口都是8位准双向口,共占32根引脚。,3每一条I/O线都能独立地用作输入或输出。,4每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。,50,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,锁存器,51,P1口,52,P2口,53,P3口,54,2.6 时钟电路与时序,时钟电路用于产生单片机工作所需要的时钟信号。,单片机本身是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序协调工作。,时序研究的是指令执行中各信号之间的相互时间关系。,55,56,时钟信号的产生(内部方式时钟),89C51,芯片内部有一个高增益反相放大器,其输入端为芯片引脚,XTAL1,,输出端为引脚,XTAL2,。,外接作为反馈元件的晶体后成为自激振荡器,晶体呈感性,与微调电容,C1,、,C2,构成并联谐振回路。,振荡器的频率主要取决于晶体,电容有微调作用。晶体的振荡频率范围通常是,1.212MHz,电容,C1,、,C2,一般取,30 pF,。,晶体振荡频率越高,系统的时钟频率越高,单片机运行速度越快。,时钟电路,56,在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的震荡脉冲。,外接的脉冲应是高低电平持续时间大于,20ns,的方波,且脉冲频率应低于,12MHz,。,引入外部脉冲信号(外部方式时钟),57,分频电路,振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,以得到单片机各种相关的时钟信号。,时钟频率为振荡频率的,2,分频,,ALE,信号频率为振荡频率的,6,分频,机器频率为振荡频率的,12,分频。,当振荡脉冲频率为12MHz时,一个机器周期为1,m,s; 当振荡脉冲频率为6MHz时,一个机器周期为2,m,s。,58,振荡周期(节拍,P,),:振荡脉冲的周期。,时钟周期(状态周期)(状态,S,),:两个振荡周期为一个时钟周期。一个状态包含两个节拍,前半周期对应的节拍叫,P1,,后半周期对应的节拍叫,P2,。,机器周期,:一个机器周期的宽度为,6,个状态,用,S1,、,S2,、,、,S6,表示;共,12,个节拍,依次可表示为,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P1,、,S6P2,。,指令周期,:执行一条指令所需要的时间,它以机器周期为单位,是最大的时序定时单位。,MCS-51,的指令周期根据指令的不同,可包含有,1,、,2,、,4,个机器周期。,时序定时单位,59,S1 S2 S3 S4 S5 S6,P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2,一个机器周期的,12个节拍,(振荡周期),60,61,AT89S51,共有,111,条汇编指令,按长度可分为:,单字节指令、双字节指令、三字节指令。,执行这些指令所需要的机器周期数目是不同的,概括起来有以下几种情况:,单字节单机器周期指令、单字节双机器周期指令、双字节单机器周期指令、双字节双机器周期指令、三字节的指令都是双机器周期、单字节的乘、除指令为四个机器周期,ALE,信号为,MCS-51,扩展系统的外部存储器地址低,8,位的锁存信号,,ALE,信号每有效一次对应单片机进行,1,次的读指令操作。,ALE,信号以振荡脉冲的,1/6,频率出现,在一个机器周期中,,ALE,信号两次有效,,第一次在,S1P2,和,S2P1,期间,第二次在,S4P2,和,S5P1,期间,,,有效宽度为,1,个状态,。,典型指令时序,61,2.7 89S51工作方式,89S51单片机有5种不同的工作方式,每种工作方式都代表着单片机的一种工作状态。包括:,程序执行方式(分为连续执行和单步执行),复位方式,掉电方式,低功耗节电工作方式,EPROM,编程和校验方式,62,63,连续执行方式 (正常工作方式),由于单片机复位后,PC=0000H,,因此程序执行总是从地址,0000H,开始,但因,0003H,是外部中断程序入口,所以一般程序并不是从,0000H,开始,为此需在,0000H,开始的单元中存放一条,无条件转移指令,,以便跳转到实际程序的入口去执行。,单步执行方式,AT89S51,单片机的外部中断,INT0,引脚上输入一个正脉冲可实现单步执行方式。,程序执行方式,(单片机的基本工作方式,),63,64,复位是单片机的初始化操作,其主要功能是把,PC,初始化为,0000H,,使单片机从,0000H,单元开始执行程序。复位后,单片机才能开始正常工作。,RST,引脚是复位信号的输入端,在单片机的,RST,端加上高电平(持续,2,个机器周期以上),单片机即进入复位工作方式。,复位不影响,AT89S51,单片机内部,RAM,的状态,只要,RST,输入端保持高电平,将循环复位。,在复位有效期间,,ALE,和,PSEN,信号变为无效状态。,RST,返回低电平后,,CPU,从,0000H,地址开始执行程序。,复位方式和复位电路,64,65,复位后单片机有关寄存器的状态,寄存器,复位状态,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,65,66,(PC) =0000H,表示复位后程序的入口地址为,0000H,;,(PSW)=00H,,其中,RS1(PSW.4)=0,,,RS0(PSW.3)=0,,表示复位后单片机选择工作寄存器第,0,组;,(SP)=07H,表示复位后堆栈在片内,RAM,的,08H,单元处建立;,P0,口, P3,口锁存器为全,1,状态,说明复位后这些并行接口可以直接作输入口,无须向端口写,1,;,定时器,/,计数器、串行口、中断系统等特殊功能寄存器复位后的状态对各功能部件工作状态的影响,将在后续有关章节介绍。,说 明:,66,67,89S51,基本复位电路有,3,种:上电复位、,按键电平复位和按键脉冲复位。,单片机系统在运行出错或进入死循环时,可按复位键重新启动,。,上电自动复位,:通过电容充电来实现。接通电源即可完成系统的复位。,按键手动复位:,按下复位按钮即可复位。分为电平方式和脉冲方式两种。,89S51基本复位电路,67,68,89S51,的,RST,引脚是复位信号的输入端。,复位信号是高电平有效,其有效时间应持续,2,个机器周期以上。,整个复位电路包括芯片内、外两部分。外部电路产生的复位信号RST送施密特触发器;再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样;最后才得到内部复位操作所需要的信号。,89S51芯片内复位电路,68,69,待机和掉电工作方式,节电降低功耗是衡量单片机的一项重要技术指标。,HMOS,型单片机只有掉电方式。,CHMOS,型单片机工作电源和备用电源同时加在引脚,V,CC,上,有待机和掉电两种方式。由电源控制寄存器(,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,时,波特率加倍,(串行通信时使用),69,如果使用指令把电源控制寄存器,PCON,的,IDL,位(,)置,1,,,80S51,单片机就进入待机模式。,待机模式的主要特点:关闭,CPU,,办法是阻断向,CPU,提供时钟信号的通路。,CPU,因得不到时钟信号而停止工作,同时,与,CPU,相关的,SP,、,PC,、,PSW,、,ACC,以及各寄存器等也被“冻结”在原状态。但在待机方式下,单片机的时钟振荡电路继续工作,为中断逻辑、定时器和串行口继续提供时钟信号,在内部只是把送往,CPU,的时钟信号封锁。这时,80C51,的耗电电流可由正常的,16mA,降为,3mA,。,退出待机模式的两种方法:激活中断和硬件复位。,待机方式(空闲模式),70,71,掉电工作方式是指由于电源的故障而使电源电压丢失或工作电压低于正常值,导致单片机系统不能正常工作。,掉电保护的具体做法:电源检测电路一旦发现掉电,就通过外部中断向,CPU,发出中断请求,在中断服务程序中把有关的数据送到内部,RAM,中保存起来,并把一个字节写入,PCON,,使,PD=1,,单片机就进入掉电方式。,掉电方式下,只有片内,RAM 00H 7FH,单元的内容被保留,其它一切都停止,在此期间片内,RAM,的耗电电流为,5mA,,,V,CC,可降为,2V,。,在,V,CC,恢复正常之前,不可进行复位。当,V,CC,恢复正常后,硬件复位,10ms,能使单片机退出掉电保护。,掉电保护方式,71,2.8 89C51单片机最小系统,51,单片机最小系统构成,单片机最小系统是指单片机能正常工作的最小系统:,电源,4.5v5.5v, PIN20-GND,PIN40-Vcc,;,复位电路:上电复位必有,手动复位可选;,时钟电路:晶振,+,稳频电容;,PIN31,(,EA/,Vpp,)拉高:控制单片机从片内,ROM,启动;,72,单片机最小系统原理图,73,51单片机最小系统板,74,思考题,89S51系列单片机内部包含哪些主要功能部件?,程序计数器PC的作用是什么?,89S51的CPU主要由哪几部分组成?,单片机CPU运算器的核心部件是什么?其主要功能有哪些?,89S51单片机内部有多少字节的RAM和FlashROM?,请论述单片机最小系统的组成,并画出单片机最小系统原理图。,75,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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