收藏 分销(赏)

单片机第二章.ppt

上传人:xrp****65 文档编号:13338036 上传时间:2026-03-04 格式:PPT 页数:47 大小:7.89MB 下载积分:10 金币
下载 相关 举报
单片机第二章.ppt_第1页
第1页 / 共47页
单片机第二章.ppt_第2页
第2页 / 共47页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第章单片机结构原理,本章内容,Single Chip Microcomputer,单片机内部结构及引脚,单片机时序及接口,单片机存储器配置,单片机输入输出口,2-1 MCS-51,单片机内部结构及引脚,MCS-51,系列单片机是英特尔公司,1980,推出的高档,8,位机,分为二个子系列,、三个版本:,/,8KB,8052,/,/,8032,52,子系列,4KB,/,8751,/,4KB,8051,/,/,8031,51,子系列,MCS-51,EPROM,掩膜,ROM,存储器类型,单片机系列,型号,片内,ROM,片内,RAM,I/O,口线,备 注,8031,无,128B+SFR,8,4,DIP 40,脚,8051,掩膜,4KB,128B+SFR,8,4,DIP 40,脚,8751,EPROM 4KB,128B+SFR,8,4,DIP 40,脚,89C51,FLASH 4KB,128B+SFR,8,4,DIP 40,脚,89C2051,FLASH 2KB,128B+SFR,15,简化,DIP 20,脚,8XC552,8K,256B+SFR,8,6,增强多功能型,返回,MCS-51,单片机硬件结构,时钟电路,CPU,ROM,RAM,T0 T1,中断系统,串行接口,并行接口,P0 P1 P2 P3,TXD RXD,INT0 INT1,定时计数器,结构框图,中央处理器,CPU,:,8,位,运算和控制功能,内部,RAM,:,共,256,个,RAM,单元,用户使用前,128,个单元,用于存放可读写数据,后,128,个单元被专用寄存器占用。,内部,ROM,:,4KB,掩膜,ROM,,用于存放程序、原始数据和表格。,定时,/,计数器:,两个,16,位的定时,/,计数器,实现定时或计数功能。,并行,I/O,口:,4,个,8,位的,I/O,口,P0,、,P1,、,P2,、,P3,。,串行口:,一个全双工串行口。,中断控制系统:,5,个中断源(外部中断,2,个,定时,/,计数中断,2,个,串行中断,1,个),时钟电路:,可产生时钟脉冲序列,允许晶振频率,6MHZ,和,12MHZ,1,、,8051,单片机的基本组成,中央处理器,CPU,:,8,位,运算和控制功能,内部,RAM,:,共,256,个,RAM,单元,用户使用前,128,个单元,用于存放可读写数据,后,128,个单元被专用寄存器占用。,内部,ROM,:,4KB,掩膜,ROM,,,用于存放程序、原始数据和表格。,定时,/,计数器:,两个,16,位的定时,/,计数器,实现定时或计数功能。,并行,I/O,口:,4,个,8,位的,I/O,口,P0,、,P1,、,P2,、,P3,。,串行口:,一个全双工串行口。,中断控制系统:,5,个中断源(外中断,2,个,定时,/,计数中断,2,个,串行中断,1,个),时钟电路:,可产生时钟脉冲序列,允许晶振频率,6MHZ,和,12MHZ,2,、,MCS-51,单片机信号引脚简介,P3,口线的第二功能,VCC,VSS,XTAL2XTAL1,RST,P0.0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7,P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7,P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0,ALE,P3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7,2,、振荡电路:,XTAL1,、,XTAL2,3,、复位引脚:,RST,4,、并行口:,P0,、,P1,、,P2,、,P3,7,、,ALE,:地址锁存控制信号,1,、电源线:,VCC(+5V)、VSS(,地,),EA,PSEN,5,、,EA,:访问程序存储控制信号,6,、,PSEN,:外部,ROM,读选通信号,RXD/TXD/INT0/INT1/T0/T1/WR/RD/,1234567891011121314151617181920,4039383736353433323130292827262524242221,8031,8051,8751,89C51,=0,时,只访问外部程序存储器,即外,ROM,=1,时,访问内部程序存储器,即内,ROM,/Vpp,内,外,ROM,选择端,对于,8751,单片机编程时,该端施加编程电压,IO,引脚,P0.0 P0.7,;,P1.0 P1.7,;,P2.0 P2.7,;,P3.0 P3.7,四个,I/O,口,每口八条线;还兼作地址,/,数据线。,EA,EA,EA,ALE/PROG,地址锁存控制端,访问外部存储器用来锁存由,P0,口送出的低,8,位地址信息;不访问外存时,提供,1/6,fosc,振荡频率;,PROG,用于对,8751,片内的,EPROM,输入编程脉冲;,PSEN,外部程序存储器的读选通信号端,3,、时钟电路与复位电路,(,1),时钟振荡电路,几个工作周期的区别:,振荡周期,状态周期,机器周期,指令周期,时钟周期,T:,时序中最小的时间单位,.,其值由外接晶体或外输入时钟来决定,其值为石英振荡器频率的倒数。,例如,:,在单片机外接,1MHZ,的晶体,则单片机的系统时钟的频率为,1M,时钟周期为,1us.,机器周期,:,完成特定功能所需要的时间,在,MCS-51,单片机中机器周期由,12,个时钟周期构成,并分为,6,个状态,(S1-S6),每个状态又分为,P1,和,P2,两拍,.,这样一个机器周期的,12,个震荡周期可以表示为,:,S1P1,S1P2,S2P1,S2P2,S3P1,S3P2 S6P1,S6P2,将,12,个震荡周期用,6,个状态和,2,拍来替代。,T,S1,S2,S6,S5,S4,S3,机器周期,指令周期,:,这是时序图中最大的时间单位,既执行一条指令所需要的时间,.,在,MCS-51,系统中,不同的指令它所包含的机器周期数不同,.,它们分别是,:,1,单机器周期指令,;2,双机器周期指令,;3,四机器周期指令,我们知道,:,一个机器周期包含了,12,个震荡周期,.,如果我们使用一个,12M,的晶体震荡器,那么,:,一个机器周期为,1us,两个机器周期为,2us,四个机器周期为,4us.,可见一条,指令的运算速度,与它所包含的,机器周期数,有关,.,机器周期数越少,执行的速度就越快,.,在,MCS-51,单片机的指令系统中,除了乘、除法指令为四个机器周期外,其余都是单周期和双周期指令,.,返回,(2),、,控制或复位引脚,RST/VPD,当出现两个机器周期高电平时,单片机复位。,复位后,,P0 P3,输出高电平;,SP,寄存器为,07H,;,其它寄存器全部清,0,;,不影响,RAM,状态。,参考复位电路如下:,(2),复位电路,单片机复位条件,:,必须使,RST,引脚持续,10 us,以上,高电平,(,外部时钟,12MHz),谁知道,复位电路怎么起到复位的作用,?,1234567891011121314,2827262524232221 201918171615,EPROM,2764,1234567891011121314,2827262524232221 201918171615,EPROM,2764,1234567891011121314151617181920,4039383736353433323130292827262524242221,1234567891011121314,2827262524232221 201918171615,RAM,6264,1234567891011121314,2827262524232221 201918171615,RAM,6264,2-2,存储器配置,8031,8751,8051,89C51,片内,RAM,片内,ROM,256B,(字节),4K,64K,64K,物理上分为:,4,个空间,即片内,ROM,、,片外,ROM,片内,RAM,、,片外,RAM,逻辑上分为,:,3,个空间,,即程序内存(片内、外)统一编址,MOVC,数据存储器(片内),MOV,数据存储器(片外),MOVX,冯,.,诺依曼结构,哈佛结构,改进哈佛结构,(1),程序存储器,程序,存储器,内部,外部,0000H,0FFFH,(4K),0000H,FFFFH,(64K),0000H,0FFFH,(4K),0000H,0001H,0002H,(PC),0000H,是程序执行的起始单元,在这三个单元存放一条无条件转移指令,中断,5,中断,4,中断,3,中断,2,中断,1,0003H,000BH,0013H,001BH,0023H,002BH,外部中断,0,定时器,0,中断,外部中断,1,定时器,1,中断,串行口中断,8,位,0FFFH,0FFEH,EA=1 EA=0,程序,存储器资源分布,中断入口地址,七个具有特殊含义的单元是:,0000H,系统复位,,PC,指向此处;,0003H,外部中断,0,入口,000BH,T0,溢出中断入口,0013H,外中断,1,入口,001BH,T1,溢出中断入口,0023H,串口中断入口,002BH,T2,溢出中断入口,0000H,FFFFH,(64K),内部,外部,(2),数据存储器,数据,存储器,00H,FFH,7FH,80H,(,高,128B),(,低,128B),RAM,专用寄存器,00H,07H,08H,0FH,10H,17H,18H,1FH,0,区,R0,R7,R0,R7,R0,R7,R0,R7,1,区,2,区,3,区,工作寄存器区,可位寻址区,20H,2FH,7F 78,07 00,30H,7FH,数据缓冲区,/,堆栈区,内部,RAM,存储器,1 1,第,3,区,18H1FH,0 1,第,1,区,08H0FH,RS1 RS0,寄存器区,片内,RAM,地址,0 0,第,0,区,00H07H,1 0,第,2,区,10H17H,工作寄存器区,选择位,RS0,、,RS1,PSW,位地址,CY,AC,F0,RS1,RS0,OV,F1,P,位寻址区(,20H2FH,),16,个字节。,16*8=128,位,每一位都有一个位地址,范围为:,00H7FH,,,位地址区也可作为一般,RAM,使用。,位寻址区,特殊功能寄存器,SFR,MCS-51,单片机内共有,22,个特殊功能寄存器,包括,PC,及,SFR,。,PC,为程序计数器。它是一个双字节寄存器,寻址范围为,:,0000H FFFFH,,,即,0 64KB,。,SFR,为特殊功能寄存器。其寻址空间:,80H FFH,其中,,51,子系列有,18,个寄存器,占有,21,个字节;,52,子系列有,21,个寄存器,占有,26,个字节。,51,子系列,SFR,的地址分配及位地址见下页表:,高128个单元,离散分布有,21,个特殊功能寄存器,SFR,。,11,个可以进行位寻址。,特别提示:对,SFR,只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。,寄存器,位地址,/,位定义,地址,F7,F6,F5,F4,F3,F2,F1,F0,B,F0H,E7,E6,E5,E4,E3,E2,E1,E0,ACC,E0,D7,D6,D5,D4,D3,D2,D1,D0,PSW,CY,AC,F0,RS1,RS0,OV,/,P,D0H,BF,BE,BD,BC,BB,BA,B9,B8,IP,B8H,B7,B6,B5,B4,B3,B2,B1,B0,P3,P3.7,P3.6,P3.5,P3.,4,P3.3,P3.2,P3.1,P3.0,B0H,IE,A8H,A7,A6,A5,A4,A3,A2,A1,A0,P2,P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0,A0H,SBUF,99H,+,+,注意:,1,、,表中共有,3,个双字节寄存器。,2,、,PC,也为双字节寄存器,但是,不在,80H FFH,范围内。,3,、表中,凡地址能被,8,整除的寄存器都是可位,寻址的寄存器,。,各寄存器的名称:,1,、算术运算寄存器,(,1,),A,累加器。,(,2,),B,B,寄存器,乘、除法运算用。,(,3,),PSW,程序状态字寄存器:包含程序运,行状态、信息。,程序状态字,PSW:,8,位寄存器,.,表征程序执行的状态信息。,CY(PSW.7),进位标志,:,在加减法运算中,累加器,A,的最高位,A7,有进位,则,CY=1,否则,CY=0.,同理,在减法运算中,如果,A7,有借位,则,CY=1.,因此,CY,往往作为无符号数运算是否有溢出的标志。,AC(PSW.6):,辅助进位位,:,用来判断加减法运算时,低四位是否向高四位进位或借位,(,既,A3,的进位或借位,).,往往用来判断压缩的,BCD,码的运算处理,.,F0(PSW.5),用户标志位,:,完全由用户来定义和使用。,RS1,RS0,工作寄存器区选择位,:,确定工作寄存器,R0-R7,在哪个区中,.,单片机在上电或复位后,RS1,、,RS0=00,。当需要人为的修改,RS1,RS0,的值来改变工作寄存器区的位置。,0 0,:,0,区,R0 R7,0 1,:,1,区,R0 R7,1 0,:,2,区,R0 R7,1 1,:,3,区,R0 R7,CY,AC,F0,RS1,RS0,OV,-,P,OV(PSW.2),溢出标志位,:,判断有符号数,(,补码,),加减法运算时是否有溢出,.,OV,的结果可以用一个算法来表示,:,OV=CP,异或,CS,其中,:CP,为,A7,的进位,CS,为,A6,的进位,OV=1,表明有溢出。,P(PSW.0),奇偶标志位,:,用来标志累加器,A,中运算后,1,的个数。,当,P=1,时,表明,A,中,1,的个数为奇数个,反之为偶数个。,【,举例,】,:有两个数,0FH,和,F8H,,,试将两数相加,MOV A,,,#0FH,;,将立即数,0f h,送累加器,A,ADD A,,,#0F 8H,;,A,的内容与立即数,0f8h,相加,结果送,A,0000 1111,运算结果:,A=07H,,,CY=1,(既,CP=1,),,+1111 1000,CS=1,,,OV=0,(因为,CP=1,,,CS=1,),Cy,1 0000 0111 AC=1,,,P=1,如何根据,PSW,来分析运算结果是否正确?是否有溢出?,1,,若数据为无符号数。既,15+248=263=107H,既,CY=1,,,A=07H,。,2,,,若数据为有符号数。既,+15,加,-8=+7=07H,,,OV=0,表明无溢出。,2,、指针寄存器,(,1,)程序计数器,PC,指明即将执行的下一条指令的地址,(,程序存储器地址,),,在物理上独立,复位时,PC=0000H,。,(,2,),堆栈指针,SP,指明栈顶元素的地址,,8,位,可软件设置初值,复位时,SP=07H,。注意压,栈和出栈,SP,的变化。,(,3,),数据指针,DPTR,DPTR,;,指明访问的数据存储器的单元地址,,16,位,寻址范围,64KB,。,DPTR=DPH+DPL,,,也可单独使用。,SP,堆栈指针,:,8,位寄存器,用来指示堆栈的位置,可由软件修改。在,MCS-51,单片机的设计中,片内,RAM,区为堆栈的可用空间。上电或复位时,,SP,被初始化为,07H,,,既堆栈底部被确定在,RAM,的,07H,单元。,堆栈操作过程:,进栈,:,PUSH ACC,指令,(设,SP=07H,),,1,,,SP+1,送,SP,,,此时,SP=08H,;,2,,,ACC,送,RAM,的,08H,单元;,出栈,:,POP ACC,(设,SP=08H,),;,1,,将,RAM,中,08H,单元内容送,A,;,2,,,SP-1,送,SP,,,此时,SP=07H,。,07H,SP,08H,07H,RAM,x,累加器,A,堆栈操作示意图,3,、并行输入,/,输出端口,寄存器,P0,、,P1,、,P2,、,P3,实为相应端口锁存器。,4,、串行输入,/,输出端口,(,1,)串行数据缓冲器,SBUF,是物理上独立的两个寄存器,共同使用一个地址(,99H,),。,(,2,),串行控制,/,状态寄存器,SCON,控制监视串行口的工作状态,(,3,)电源控制寄存器,PCON,控制单片机的低功耗工作方式及波特率选择。,5,、中断系统,(,1,)中断优先级寄存器,IP,:,2,级优先,可软件设定,(,2,)中断允许寄存器,IE,6,、,定时,/,计数器,(,1,)定时器方式寄存器:,TMOD,(,2,),定时器控制寄存器:,TCON,(,3,),计数寄存器:,TH0,、,TL0,;,TH1,、,TL1,。,可用于设定计数初值。,时钟的基本概念,启动单片机后,指令执行顺序:,取指令,分析,执行,2-3 CPU,时序,单片机工作的基本时序,所谓时序就是,CPU,总线信号在时间上的顺序关系。,CPU,控制器实际上是复杂的同步时序电路,所有的工作都是在时钟信号的控制下进行的。每执行一条指令,,CPU,控制器都要发出一系列特定的控制信号,这些控制信号在时间上的相互关系就是,CPU,的时序。,一个单片机系统要想正常工作,除了要做到电平匹配、功率匹配外,还要做到时序匹配。,一个机器周期,P1 P2,P1 P2,单字节单周期指令,例:,INC A,以上是单周期单字节指令在执行过程中,ALE,脉冲、取指 操作、执行操作等在时间上的先后关系。,时序的定义:,单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。,指令周期:,即从取指到执行完,所需时间。,不同机器指令周期不一样;即使相同机器,不同的,指令其指令周期也不一样。,机器周期:,机器的基本操作周期。一个指令周期含若干机器周,期(单、双、四周期),每个状态周期含两个振荡周期,即相位,P1,、,P2,。,振荡周期:,由振荡时钟产生。,振荡周期,Tosc,=1/fosc,一个机器周期,=12,个振荡周期,=12,1/fosc,。,例如,若,fosc,=12MHz,,,则一个机器周期,=1,s,。,状态周期:,一个机器周期分,6,个状态周期,Si,指令的字节数与指令周期之间的关系:,在,MCS-51,单片机的指令系统中有:,单字节;,双字节;,三字节指令。,在,MCS-51,的,111,条指令中,可以分为六种基本的时序,:,1,单字节单周期指令,;4,双字节单周期指令,;,2,单字节双周期指令,;5,双字节双周期指令,;,3,单字节四周期指令,;6,三字节双周期指令,.,指令特点,:,在程序存储器,ROM,中仅占一个存储单元。,在,ALE,第一次有效,(S1P2),时,从,ROM,中读取指令的操作码,送入指令寄存器,IR,中,.,并译码执行,在,ALE,第二次有效时,封锁,PC,加一,使第二次读数无效,.,可见,:,1,ALE,信号对应着从,ROM,中读指令,所以在一个机器周期中,CPU,可以读两次指令,;,2,对于单字节单周期的指令,CPU,通过译码后封死,PC,实际上指令的后半部不做任何工作,.,单字节单周期指令的时序,:,机器周期,读操作码一,读,操作无效,ALE,返回,S1,S2,S6,S5,S4,S3,指令特点,:,一条指令长度为两个字节,并存储在,ROM,相邻的两个单元中。要想完整的将这样的指令执行完,必须从,ROM,中读两次操作码,.,在,ALE,第一次有效时,CPU,从,ROM,的,n,单元中取出指令的第一个字节,OP1-1,并送入,IR,译码,通过译码,CPU,知道这是一条双字节指令,所以使,PC,加一,并在,ALE,第二次有效时,从,ROM,的,n+1,单元取出指令的第二个字节,OP1-2,送入,IR,进行译码,并产生对应的操作,.,最后在,S6P2,时完成本条指令的运行,.,S1,S2,S6,S5,S4,S3,机器周期,读操作码一,读,操作码二,OP1-2,OP1-1,n+1,n,程序,ROM,PC,双字节单周期指令时序,ALE,返回,指令特点,:,单字节,需要两个机器周期运行,.,如,:,INC DPTR,DPTR,为两个,8,位的寄存器,加一时,必须分两步完成,.,既第一步,DPL,加一,如果,DPL,加一有进位则还要进行第二步对,DPH,加一,.,在指令周期的第一个,ALE,时,将,ROM,中的操作码,OP,取出,经,IR,译码后得知为单字节双周期指令,所以一面执行该指令,同时封锁后面三次,ALE,有效时的,PC+1,在第二个机器周期的,S6P2,时,完成操作,.,S1,S2,S6,S5,S4,S3,机器周期,1,读操作码,读无效,S1,S2,S6,S5,S4,S3,读无效,读无效,机器周期,2,单字节双周期指令的时序,ALE,返回,指令,寄存器,译码,地址,译码,程序计数器,地址寄存器,累加器,A,运算器,存,储,器,内部数据总线,外部地址总线,AB,数据缓冲器,外部数据总线,DB,寄存器区,外部控制总线,CB,内部控制信号,时钟及清零,2-4,单片机的工作过程,取指过程,例,:,MOV A,#09H,74H,09H,;,把,09H,送到累加器,A,中,执行过程,PC=,0000H,0001H,0000H,0002H,0 1 1 1 0 1 0 0,0 0 0 0 1 0 0 1,(PC),(PC),0001H,0002H,0000H,外部控制总线,CB,取指过程,(PC),执行过程,你知道,PC,的作用吗?,2-5.,单片机开发系统概述,PC,并口线,仿真器,电源,+5,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,89C51,51,单片机开发板,RESET,实验板,(,组合教具,),仿真器,仿真软件,(,集成开发环境,),组合教具,CPU,模块,存储器模块,总线接口模块,总线扩展模块,LED,模块,点阵,LED,模块,LCD,模块,键盘模块,A/D,模块,D/A,模块,输入模块,输出模块,红外遥控发射模块,红外遥控接收模块,DIP20,模块,DIP40,模块,仿真器,仿真软件,A51 C51,并口 串口,USB,口等,程序运行的基本操作方法,2,、单步运行,3,、跟踪运行,4,、连续运行,5,、断点运行,1,、观察复位后的各寄存器状态,单片机资源分配与观察,2,),RAM,内容观察与修改,3,),ROM,内容观察,1,)寄存器内容观察与修改,R0R7,工作寄存器区变化,特殊工能寄存器,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服