收藏 分销(赏)

微机原理总复习-2011.ppt

上传人:s4****5z 文档编号:10786567 上传时间:2025-06-14 格式:PPT 页数:77 大小:4.34MB 下载积分:10 金币
下载 相关 举报
微机原理总复习-2011.ppt_第1页
第1页 / 共77页
微机原理总复习-2011.ppt_第2页
第2页 / 共77页


点击查看更多>>
资源描述
*,第,1,章,复 习,1.1 8051,单片机的特点与基本结构,8051,系列,无片内,ROM,型,带片内,ROM,型,片内,EPROM,型,:,87C51,,,4k,片内,EEROM,型,:,89C51,,,4k,flash,片内掩膜,ROM,型,:,8051,,,4k,一次编程,:,8031,8051,单片机的基本组成包括:,中央处理器,CPU,,它是单片机的核心,用于产生各种控制信号,并完成对数据的算术逻辑运算和传送;,内部数据存储器,RAM,,用以存放可以读写的数据;,内部程序存储器,ROM,,用以存放程序指令或某些常数表格;,4,个,8,位的并行,I/O,接口,P0,P1,P2,和,P3,,每个口都可以用做输入或者输出;,内部时钟,但晶体和微调电容需要外接,振荡频率可以高达,40M HZ.,2,3,4,中中央处理器,CPU,包含运算器和控制器两大部分。,1,运算器,运算器以算术逻辑单元,ALU,为核心,加上累加器,ACC,、寄存器,B,、暂存寄存器,TMP,和程序状态字寄存器,PSW,等所组成。,ALU,主要用于完成二进制数据的算术和逻辑运算。,累加器,ACC,工作最为繁忙,,,因为在进行算术逻辑运算时,,ALU,的输入多为,ACC,的输出,而大多数运算结果也需要送到,ACC,中。,B,寄存器,在作乘除运算时用来存放一个操作数,它也用来存放乘除运算后的一部分结果。,程序状态字寄存器,PSW,,用于存放运算结果的一些特征,进位标志,辅助进位标志,用户标志,工作寄存器组选择,溢出标志,奇偶校验标志,5,2,控制器,控制器包括定时控制逻辑、指令寄存器、指令译码器、程序计数器,PC,、数据指针,DPTR,、堆栈指针,SP,、地址寄存器和地址缓冲器等。,它的功能是对逐条指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工作。,程序计数器,PC,:,用于存放下一条将要执行指令的地址。当一条指令按,PC,所指向的地址从程序存储器中取出之后,,PC,的值会自动增加,即指向下一条指令,。,PC,不属于特殊功能寄存器,不能被访问。,堆栈指针,SP,:用来指示堆栈的起始地址。,指令译码器:当指令送入指令译码器后,由译码器对该指令进行译码,即把指令转变成为所需要的电平信号,,CPU,根据译码器输出的电平信号使定时控制电路产生执行该指令所需要的各种控制信号。,6,1.2 8051,单片机的存储器结构,8051,单片机在物理上它有,4,个存储器空间:片内程序存储器(,4k,)和片外程序存储器;片内数据存储器和片外数据存储器。,图,1.5 8051,单片机存储器结构,7,8051,单片机通过不同的信号来选通,ROM,或,RAM,。当从外部,ROM,中取指令时,用选通信号,PSEN,,而从外部,RAM,中读写数据时则采用读写信号,RD,或,WR,来选通,因此不会因地址重叠而发生混乱。,8051,系列单片机的,片内数据存储器,RAM,有,256,个字节,其中,00H-7FH,地址空间是直,接寻址区,该区域内,00H-1FH,地址为工作寄,存器区,安排了,4,组工作寄存器,每组占用,8,个地址单元,记为,R0-R7,,在某一时刻,,CPU,只能使用其中任意一组工作寄存器,究竟选择哪一组工作寄存器由程序状态字寄存器,PSW,中,RS0,和,RS1,的状态决定。,片内,RAM,的,20H-2FH,地址单元为位寻址区,,共,16,个字节,每个字节的每一位都规定了位地址,该区域内每个地址单元除了可以进行字节操作之外,还可进行位操作,右图所示为片内,RAM,的位地址分配。,8,P0.0-P0.7(39-32),:,双向,I/O,口,P0,。其第二功能是在访问外部存储器时,,可分时用做低,8,位地址和,8,位数据线,。,P0,口能以,吸收电流,的方式,驱动,8,个,LS,型,TTL,负载,。,P1.0-P1.7(1-8),:,双向,I/O,口,P1,。,P1,口能驱动(吸收或输出电流),4,个,LS,型,TTL,负载,。,P2.0-P2.7(21-28),:,双向,I/O,口,P2,。,P2,口可以驱动(吸收或输出电流),4,个,LS,型,TTL,负载,。其第二功能是在访问外部存储器时,,输出高,8,位地址。,P3.0-P3.7(10-17),:双向,I/O,口,P3,。,P3,口能驱动(吸收或输出电流),4,个,LS,型,TTL,负载,。,P3,口的每条引脚都有各自的第二功能,。,9,第,3,章,指令系统,复习,2414 ADD A,#14H,;,累加器,A,中的内容与,14H,相加,3.1,指令助记符和字节数,指令本身是一组二进制数代码,助记符一般采用有关英文单词的缩写。,740A MOV A,#0AH,;,将十六进制数,0AH,放入累加器,A,中,指令,助记符,一条指令通常由两部分组成:操作码和操作数。,操作码用来规定这条指令完成什么操作。操作数则表示这条指令所完成的操作对象,即是对谁进行操作。,操作码,操作数,11,在,8051,单片机中,对于不同的指令,指令的字节数不相同。,8051,单片机有单字节,双字节或三字节指令。,1,、单字节指令,:指令只有一个字节,操作码和操作数同在一个字节中。在,80C51,系列的指令系统中,共有,49,条单字节指令。,操作码,+,地址码,如,MOV A,,,Rn,指令机器码为单字节,,其中,rrr,可表示为,000,111,,分别代表,R0,R7,(,1,)单字节指令中既包含操作码信息,也包含操作数信息。,例如数据指针加,1,指令:,INC DPTR,,由于操作的内容和对象都很明确,故不必再加操作数字节,其指令码为:,(,2,)用一个字节中的几位来表示操作数或操作数所在的位置。,11101rrr,10100011,12,例如 把,8,位二进制数传送到累加器,A,的指令:,MOV A,#data,其中,#data,表示,8,位二进制数,也叫立即数,这就是双节指令,其指令码为:,01110100,#data,2,双字节指令,:其中一个字节为操作码,另一个字节是操作数。,操作码,数据或地址码,在,80C51,系列的指令系统中,共有,45,条双字节指令。,13,3.,三字节指令则是一个字节的操作码,两个字节的操作数。操作数可以是数据,也可以是地址,因此,可能有四种情况:,操作码,立即数,立即数,操作码,操作码,操作码,地 址,立即数,立即数,地 址,地 址,地 址,8051,单片机共有,17,条三字节指令,只占全部指令的,15%,。一般而言,指令的字节数越则其执行速度越快,从这个角度来说,,8051,单片机的指令系统是比较合理的。,ANL direct,#data,MOV DPTR,#1234H,14,3.2,寻址方式,所谓寻址,就是,寻找操作数据的地址,。例如:,MOV A,R0,所谓寻址方式就是通过确定操作数据所在的地址把操作数据提取出来的方法。,在,8051,单片机中,有,7,种寻址方式:,1,寄存器寻址,2,直接寻址,3,立即寻址,4,寄存器间接寻址,5,变址寻址,6,相对寻址,7,位寻址,目的字节,源字节,15,3.3,指令分类详解,算术运算类指令(,24,条);,逻辑运算类指令(,25,条),;,数据传送类指令(,28,条),;,控制转移类指令,(17,条,),;,布尔操作(位)类指令(,17,条)。,8051,单片机共有,111,条指令,按指令功能可分为算术运算指令、逻辑运算指令、数据传送指令、控制转移指令及位操作指令等,5,大类。,16,3.3.1,算术运算指令,算术运算指令包括加、减、乘、除法指令,加法指令又分为普通加法指令、带进位加法指令和加,1,指令。,1,普通加法指令,ADD A,Rn,;,Rn(n,=0-7),为工作寄存器,指令意义,(,A)+(Rn)(A,),ADD A,#data ;#data,为立即数,指令意义,(A)+data,(A),这组指令的功能是将累加器,A,的内容与第二操作数的内容相加,结果送回到累加器,A,中。,在执行加法的过程中,如果位,7,有进位,则置“,1”,进位标志,CY,,否则清“,0”CY,。如果位,3,有进位,则置“,1”,辅助进位标志,AC,。如果位,6,有进位而位,7,没有进位,或者位,7,有进位而位,6,没有进位,则置“,1”,溢出标志,OV,,否则清“,0”OV,。,17,2,带进位加法指令,ADDC A,Rn,;,指令意义,(,A)+(Rn)+(CY)(A,),ADDC A,direct ;direct,为直接地址单元,ADDC A,#data ;#data,为立即数,这组指令的功能与普通加法指令类似,唯一的,不同之处是在执行加法时,还要将上一次进位标志,CY,的内容也一起加进去,。对于标志位的影响与普通加法指令相同。,例:设(,A,),C3H,,(,R0,),AAH,,(,CY,),1,。,执行指令:,ADDC A,,,R0,1 1 0 0 0 0 1 1,+1 0 1 0 1 0 1 0,+1,(CY),0 1 1 0 1 1 1 0,执行结果:(,A,),6EH,,,(,CY,),1,,(,OV,),l,,(,AC,),0,。,18,3,加,1,指令,INC A,不影响任何标志。,5,带进位减法指令,SUBB A,Rn,;,Rn(n,=0-7),。指令意义,(A),(,Rn,),(CY)(A),6,减,1,指令,DEC A,7,单字节乘法指令,MUL AB,8,单字节除法指令,DIV AB,乘积的低,8,位存放在累加器,A,中,高,8,位存放在寄存器,B,中。,商的整数部分存放在累加器,A,中,余数部分存放在寄存器,B,中,19,3.3.2,逻辑运算指令,逻辑运算指令分为简单逻辑操作指令、逻辑与指令、逻辑或指令以及逻辑异或指令。,1,简单逻辑指令,CLR A,;对累加器,A,清“,0”,,不影响标志位。,SWAP A,;将,A,的高半字节(,A.7-A.4),与低半字节(,A.3-A.0),交换,CPL A,;,对进行累加器的内容逐位取反,结果仍存在,A,中。,RL A,;累加器,A,的内容向左环移一位,RLC A,;累加器,A,的内容带进位位,CY,向左环移一位,RR A,;累加器,A,的内容向右环移一位,RRC,;累加器,A,的内容带进位位,CY,向右环移一位,2,逻辑与指令,ANL A,Rn,3,逻辑或指令,ORL A,Rn,4,逻辑异或指令,XRL A,Rn,20,2,逻辑与指令,ANL A,Rn,;(A),(Rn,),A,n=0-7,ANL A,direct ;(A),(direct,),A,ANL A,Ri,;(A)(,(,Ri,),A,i=0,或,1,ANL A,#data ;(A),#data,A,例:设(,A,),A3H,(,1010 0011B,),(,R0,),AAH,(,1010 1010B,)。,执行指令:,ANL A,,,Rn,执行结果为(,A,),A2H,(,1010 0010B,),。,ANL direct,#data ;(,direct)#data,direct,这条指令的功能是将两个操作数的内容按位进行逻辑与运算,结果送入由,direct,所指出的内部,RAM,单元。,21,ORL A,Rn,;(,A)V(Rn,)A,n=0-7,ORL A,direct ;(,A)V(direct,)A,ORL A,#data ;(A),V#data,A,ORL direct,A ;(direct)V(A)direct,ORL direct,#data ;(direct)V#data direct,3,逻辑或指令,这组指令的功能是将两个操作数的内容按位进行逻辑或运算,,结果送入累加器,A,或由,direct,所指出的内部,RAM,单元,。,4,逻辑异或指令,XRL A,Rn,;(A)(,Rn,)A,n=0-7,XRL A,direct ;(A)(direct)A,XRL A,Ri,;(A)(,Ri,)A,i=0,或,1,例:设(,A,),A3H,(,10100011B,),,(,R0,),45H,(,0100 0101B,)。,执行指令:,ORL A,R0,执行结果:(,A,),E7H,(,1110 0111B,),。,00=0,,,11=0,01=1,,,10=1,22,3.3.3,数据传送指令,8051,单片机的存储器区域可分为如下,3,个部分,即:,程序存储器,0000H-FFFFH,内部,RAM 00H-FFH,外部,RAM/IO,区,0000H-FFFFH,对于程序存储器,ROM,,只能通过变址寻址方式采用,MOVC,指令访问。,外部数据存储器,RAM,只能通过间接寻址方式用,MOVX,指令访问。,1,数据传送到累加器,A,的指令,MOV A,Rn,;n=0-7,MOV A,direct,MOV A,Ri,;i=0,或,1,MOV A,#data,这组指令的功能是把源操作数的内容送入累加器,A,。,23,4,堆栈操作指令,PUSH direct,;进栈,POP direct,;出栈,在,8051,单片机的特殊功能寄存器中有一个堆栈指针寄存器,SP,,进栈(,PUSH,)指令的功能是首先将堆栈指针,SP,的内容加,1,,然后将直接地址所指出的内容送入,SP,指出的内部,RAM,单元。,5,累加器,A,与外部数据存储器,RAM,之间的数据传送指令,MOVX A,DPTR ;(DPTR)A,6,查表指令,MOVC A,A+PC,MOVC A,A+DPTR,7,字节交换指令,XCH A,Rn,;n=0-7,8,半字节交换指令,XCHD A,Ri,;i=0,或,1,将累加器,A,的低,4,位内容和,R(i),的低,4,位内容相互交换。,24,3.3.4,控制转移指令,1,无条件短跳转指令,AJMP,addrll,这是,2K,字节范围内的无条件跳转指令。,2,相对转移指令,SJMP,rel,执行时跳转至,(PC)+rel+2,。因此转移的目标地址可以在这条指令前,128,个字节到后,127,个字节之间。,3,长跳转指令,LJMP addr16,4,散转指令,JMP A+DPTR,25,5,条件转移指令,JZ,rel,;(A)=0,时转移,JNZ,rel,;(A)#0,时转移,JC,rel,;CY=1,时转移,JNC,rel,;CY=0,时转移,JB,bit,rel,;(bit)=1,时转移,JNB,bit,rel,;(bit)=0,时转移,JBC,bit,rel,;(bit)=1,时转移,并清“,0 bit,位,6,比较不相等转移指令:,CJNE A,direct,rel,这组指令的功能是比较前面两个操作数的大小,如果它们的值不相等则转移。,影响进位标志:如果第一操作数(无符号整数)小于第二操作数(无符号整数),则置“,1”,进位标志,CY,。,7,减,1,不为,0,转移指令,DJNZ,Rn,rel,;n=0-7,这组指令把源操作数(,Rn,direct,)的内容减,1,,并将结果回送到源操作数中去。如果相减的结果不为,0,则转移。,26,8,短调用指令,ACALL,addrll,这是一条,2K,字节范围内的子程序调用指令。,9,长调用指令,LCALL addr16,这条指令无条件地调用位于,16,位地址,addr16,处的子程序。,10,子程序返回指令,RET,这条指令的功能是从堆栈中弹出,PC,的高,8,位和低,8,位字节,同时把,SP,的值减,2,,并从,PC,指向的地址开始继续执行程序。,11,中断返回指令,RETI,这条指令的功能与,RET,指令相似,不同的是它还清“,0”,单片机的内部中断状态标志。,12,空操作指令,NOP ;,这条指令只完成,(PC)+1,,而不执行任何其他操作。,27,3.3.5,位操作指令,程序状态字寄存器,PSW,,用于存放运算结果的一些特征,进位标志,辅助进位标志,用户标志,工作寄存器组选择,溢出标志,奇偶校验标志,8051,单片机内部,RAM,中有一个位寻址区,还有一些特殊功能寄存器也可以位寻址。,简化:,CY=C,1,位数据传送指令,MOV C,bit,MOV bit,C,这组指令的功能是把由源操作数指出的位变量送到目的操作数指定的位单元去,28,2,位变量修改指令,CLR C,;0CY,CLR bit ;0bit,CPL C ;,对,CY,的内容取反,CPL bit ;,对,bit,位取反,SETB C,;“1”CY,SETB bit ;“1”bit,3,位变量逻辑与指令,ANL C,bit,ANL C,/bit,这组指令的功能是将进位标志与指定的位变量(或位变量的取反值)相“与”,结果送到进位标志,不影响别的标志。,4,位变量逻辑或指令,ORL C,bit,ORL C,/bit,这组指令的功能是将进位标志与指定的位变量(或位变量的取反值)相“或,”,,结果送到进位标志,不影响别的标志。,29,3.4,汇编语言程序格式与伪指令,1,设置起始地址,ORG,一般格式:,ORG,nnnn,其中,,nnnn,为,4,位十六进制数,表示程序的起始地址。,2,定义字节,DB,3,定义字,DW,4,保留程序存储器空间,DS,5,为标号赋值,EQU,6,源程序结束,END,7.BIT,位定义伪指令,用于给字符名称赋予位地址。,例:,ABC BIT P3.1,30,例,3-2,若单片机的晶振为,6 MHz,,则一个机器周期为,2us,。子程序的入口条件为:,(R0)=,延时毫秒数,,(R1)=10ms,(预定值)。出口条件为:定时时间到,返回。,ORG 1000H,机器周期数,DELAY,:,MOV R0,#10,;延时,10ms,值,R0 1,DL2,:,MOV R1,#MT,;,10ms,预定值,R1 1,DL1:NOP,;延时,1,个机器周期,1,NOP,;延时,1,个机器周期,1,DJNZ R1,DL1,;,1ms,延时循环,2,DJNZ R0,DL2,;,10ms,延时循环,2,RET,;延时结束,返回,2,这是一个双重循环程序,预定值,MT,需要计算。预定延时时间也已经给定,(10ms),,故,MT,的值可以这样确定:,(1+1+2)2 MT 10,10 1000(us),所以:,MT,125,7DH,31,第四章 中断系统复习,4.1,中断的概念,中断过程:,程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,,使其转向中断服务程序中去;完成中断服务程序后,,CPU,继续原来被打断的程序,这样的过程称为中断。,33,中断响应:,CPU,暂停当前的工作转去处理中断源事件。,中断系统:单片机中实现中断功能的部件,也是中断管理系统。,中断源:产生中断的请求的外部或内部事件。,中断申请:中断源向,CPU,发出的请求。,优点:,中断方式的一个重要应用领域是实时控制。能将从现场采集到的数据及时传送给,CPU,,经过处理后就可立即作出响应,实现现场控制。,中断方式完全消除了,CPU,在查询方式中的等待现象,大大提高了,CPU,的工作效率。,34,2,中断的排队,如果有若干个中断申请同时发生,就需要决定先对哪一个中断申请进行响应。,3,中断的响应,单片机在响应了中断源的申请时,应使,CPU,从主程序转去执行中断服务子程序,同时要把断点地址送入堆栈进行保护,中断系统还要能确定各个被响应中断源的中断服务子程序的入口。,4,中断的撤除,8051,单片机中断系统的任务:,1,开中断或关中断,中断的开放或关闭可以通过指令对相关特殊功能寄存器的操作来实现,只有在开中断的情况下,才有可能接受中断源的申请。,35,805,1,中有,5,个中断源,:,两个外部中断源,/INT0,和,/INT1,;,4.2,中断系统结构与中断控制,三个内部中断源为:,T0,和,T1,的定时,/,计数溢出中断源(,2,个);和串行口发送或接收中断源(,1,个)。,外部中断请求信号可以是电平触发方式和负边沿触发方式。若是电平触发方式,只要在,INT0,或,INT 1,引脚有低电平信号即为有效的中断申请。,36,图,4.2,中断系统结构,定时器控制寄存器,中断允许寄存器,中断优先级寄存器,串行口控制寄存器,37,INT0,INT1,T0,及,T1,的中断标志存放在,TCON,(,定时器计数器控制寄存器,)中;,TCON,字节地址为,88H,,,其格式如下,:,中断控制系统,INT0,、,INT1,的中断触发方式控制位。为,0,选择电位触发,为,1,选择跳变触发。由软件设置。,外部中断,0,、,1,申请中断标志,。,为,1,表示有外部中断申请。,T0,、,T1,计数溢出标志,;为,1,表示溢出,由硬件置位、响应中断硬件复位。不用中断用软件清,0,。,1.,中断标志,38,串行口的中断标志存放在,SCON,(,串行口控制寄存器)中。,SCON,字节地址为,98H,,,其格式如下:,串行口发送中断标志。发送完一帧,由硬件置位。响应中断后,必须用软件清,0,。,串行口接收中断标志。接收完一帧,由硬件置位。响应中断后,必须用软件清,0,。,39,中断允许和禁止由中断允许寄存器,IE,(,A8H,),控制。,IE,中各位设置:为,0,时,禁止中断;为,1,时,允许中断。,中断允许位。当,EA,1,,,允许所有中断开放;当,EA,0,时,屏蔽所有中断。,串行口中断允许位。,T0,、,T1,中断允许位。,外部中断,0,、外部中断,1,中断允许位。,2.,中断允许控制,40,中断优先级寄存器,IP(B8H),的格式如下,IP,中各位设置:,为,0,时,为低优先级;为,1,时,设为高优先级,。,在中断执行过程中,高中断优先级可以中断低中断优先级的中断过程(即,中断嵌套,)。,当,CPU,同时接收到两个不同优先级的中断请求时,先响应高优先级的中断,串口,定时器,1,外部中断,0,3.,中断优先级,41,在同一优先级内有一个由内部查询序列确定的优先级结构。其排列如下:,中断源,中断优先级,最高,外部中断,0,定时器,T0,中断,外部中断,1,定时器,T1,中断,串行口中断,最低,中断嵌套:,优先级高的事件可以中断,CPU,正在处理的低级的中断服务程序,待完成了高级中断服务程序之后,再继续被打断的低级中断服务程序。这是中断嵌套问题。,42,表,4.1 8051,单片机的中断源及,中断矢量,1.,单片机在接收到中断申请以后,先把这些申请锁定在各自的中断标志位中,然后在下一个机器周期按优先级分别来查询这些标志。,2.CPU,在下一个机器周期响应中断,完成两件工作:一是把当前程序计数器,PC,的内容送入堆栈保护,另一个是根据中断的不同来源把程序的执行转移到相应的中断服务子程序的入口。,中断响应过程,3.,当某个中断请求得到响应之后,相应的中断标志位应该予以清除(即复“,0”),。,43,1,必须没有同级或更高级别的中断正在得到响应,如果有的话,则必须等,CPU,为它们服务完毕,返回主程序并执行一条指令之后才能响应新的中断申请。,2,必须要等当前正在执行的指令执行完毕以后,,CPU,才能响应新的中断申请。,3,若正在执行的指令是,RETI,(中断返回),则必须要在执行完该指令以及紧随其后的另外一条指令之后才可以响应新的中断申请。,中断响应的条件:,中断标志的清除:,1.,由硬件自动使标志位复“,0”,(即撤除),它们是:,定时器,0,或,1,的中断请求标志,TF0,或,TF1,;,外部中断,0,或,1,的中断请求标志,IE0,或,IE1,。,2.,中断系统不予以自动撤除,它们是:,串行口的中断请求标志,TI,和,RI,。,44,在,8051,中,实现中断需要用软件对以下,5,个内容进行初始化设置:中断服务程序入口地址的设定。,CPU,开中断与关中断。,某一中断源中断请求的允许与禁止。,各中断源优先级别的设定。,对于外部中断请求,还需进行触发方式的设定。,中断服务程序的设计,中断程序一般包含中断控制程序和中断服务程序两部分。,中断控制程序即中断初始化程序,一般不独立编写,而是包含在主程序中,根据上述的,5,点通过编写几条指令来实现。,中断服务程序是一种为中断源的特定事态要求服务的独立程序段,以中断返回指令,RETI,结束。,45,第,5,章 定时器,/,计数器,复习,定时器,/,计数器的作用:,1),产生一个时间很长的定时信号,可实现定时控制;,2),可以测量外部脉冲信号的个数及频率。,1,软件法,常用生产定时信号的方法:,假设单片机使用,12MHz,晶,振,一个机器周期是,1us,。,要编一个延时,50ms,的程序。,DEL:MOV R7,#200,DEL1:MOV R6,#125,DEL2:DJNZ R6,DEL2,DJNZ R7,DEL1,单条指令执行时间,2us,总时间:,2,125,200,50000us,缺点:,1),占用,CPU,时间;,2),定时有时不准。,47,2.,采用定时器计数器,最大特点是:可以通过软件设置来实现定时长短,通过中断方法来完成定时。,原理:,计数器就象一个容器,来,1,个脉冲加,1,粒颗粒,对进入的脉冲信号进行“加,1”,计数,低位满了向高位进位,当所有的位都满了就产生溢出,在,TCON,中产生计数器溢出标志。,定时器计数器还要解决的问题:,1.,实现定时器与计数器功能转换。,2.,在计数寄存器中装入初值。,3.,改变计数寄存器的总位数。,4.,定时器计数器何时及如何启动?,48,计数寄存器,方式寄存器,控制寄存器,输入引脚,时钟分频器,定时器计数器,T0,、,T1,原理示意图:,49,T0,、,T1,的方式寄存器,TMOD,D7 D6 D5 D4 D3 D2 D1 D0,GATE,C/T,M1,M0,GATE,C/T,M1,M0,T1,T0,门控位:为,0,时仅由,TR1,置位来启动定时器,T1,。为,1,时由外部中断引脚、和,TR1,共同来启动定时器。,定时器计数器方式选择位,为,0,时,为定时器。,工作方式选择位,可以有四种工作方式。,5.1,定时器计数器的工作方式与控制字,50,M1,、,M0,工作方式选择位。,由于有,M1,和,M0,两位,可以有四种工作方式,如下表所示。,M1 M0,工作方式,计数器配置,0 0,方式,0,13,位计数器,0 1,方式,1,16,位计数器,1 0,方式,2,自动重装载的,8,位计数器,1 1,方式,3,T0,分为,2,个,8,位计数器,/,定时器,,,T1,分为,1,个,8,位计数器,/,定时器,。,51,控制寄存器,TCON,是一个逐位定义的,8,位寄存器,字节地址为,88H,,,位寻址的地址为,88H,8FH,。,其格式如下:,位地址,8FH,8EH,8DH,8CH,8BH,8AH,89H,88H,位功能,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,T0,、,T1,的运行控制寄存器,TCON,T1,的溢出标志,T1,的运行控制位置,1,时,启动,T1,,,清,0,时,停止,T1,。,外部中断,1,申请中断位,外部中断,0,触发类型选择位,52,根据对,TMOD,寄存器中,M1,和,M0,的设定,,T0,可选择四种不同的工作方式,而,T1,只具有三种工作方式(即方式,0,、方式,1,和方式,2,)。,方式,0,:,13,位定时器,/,计数器,当,M1,0,、,M0,0,时,选定方式,0,工作。,非,或,与,为,1,时,闭合,定时器计数器,T0,、,T1,的工作方式:,53,门控位,GATE,可用作对,INTx,引脚上的高电平时间进行计量。当,GATE,0,时,,A,点为高电平,定时器计数器的启动停止由,TRx,决定。,TRx,1,,,定时器计数器启动;,TRx,0,,,定时器计数器停止。,当,GATE,1,时,,A,点的电位由,INTx,决定,因而,B,点的电位就由,TRx,和,INTx,决定,即定时器计数器的启动停止由,TRx,和,INTx,两个条件决定。,非,或,与,为,1,时,闭合,54,方式,1,:,16,位定时器,/,计数器,当,TMOD,中的,M1,0,、,M0,l,时,选定方式,1,工作。,方式,1,时,,T0,、,T1,的逻辑结构如图所示。这种方式下,计数寄存器由,16,位组成,,THx,高,8,位和,TLx,的低,8,位。,计数时,,TLx,溢出后向,THx,进位,,THx,溢出后将,TFx,置位,如果中断允许,,CPU,响应中断并转入中断服务程序,由内部硬件清,TFx,。,TFx,也可以由程序查询和清零。,55,方式,2,:定时常数自动重装载的,8,位定时器,/,计数器,当,TMOD,中的,M1,1,、,M0,0,时,选定方式,2,工作。这种方式是将,16,位计数寄存器分为两个,8,位寄存器,组成一个可重载的,8,位计数寄存器。方式,2,时定时器,/,计数器,T0,、,T1,的逻辑结构如下图所示。,当,TLx,计数溢出时,将,THx,的内容重新装入,TLx,中,继续计数。,方式,2,适合于作为串行口波特率发生器使用。,56,方式,3,当,TMOD,中的,M1,l,、,M0,1,时,选定方式,3,工作。,工作方式,3,下的定时器,/,计数器,T0,方式,3,时,这种方式是将,T0,分为一个,8,位定时器计数器和一个,8,位定时器,,TL0,用于,8,位定时器计数器,,TH0,用于,8,位定时器。,57,5.2,定时器计数器应用举例,8051,单片机定时器计数器的初始化编程包括如下几个步骤:,1,确定工作方式,即给方式控制寄存器,TMOD,写入控制字。,2,计算定时器计数器初值,并将初值写入寄存器,TL,和,TH,。,3,根据需要对中断控制寄存器,IE,置初值,决定是否开放定时器中断。,4,使运行控制寄存器,TCON,中的,TR0,或,TR1,置“,1,,启动定时器计数器。,计数初始值,X,确定:,假设计数器的最大计数值为,M,(根据不同工作方式,,M,可以是,2,13,、,2,16,或,2,8,),则计算初值,X,的公式如下:,计数方式:,X=M,要求的计数值,(5-1),定时方式:,X,M,要求的定时值,(12/fosc)(5-2),机器周期,58,例,5.5,要求在,P1.0,引脚上产生周期为,2 ms,的方波输出。,已知晶体振荡器的频率为,fosc,=6MHz,。,可使用,T0,作定时器,设为方式,0,,设定,lms,的定时,每隔,1ms,使,P1.0,引脚上的电平变反,(1),解:定时常数计算,振荡器的频率,fosc,6MHz,,,机器周期为,2s,,,方式,0,计数器长度,13,,定时时间,t,1ms,0.001s,方式,0,最大计数值为,M=2,13,,因此定时器的初值应为:,X=2,13,(1 10,-3,),(12/(610,6,),=7692D,59,(,2),编 程,(,中断法,),ORG 0000H,AJMP MAIN,ORG 000BH,;,T0,中断矢量,AJMP INQP,ORG 0030H,MAIN,:,MOV TMOD,,,00H,;,写控制字,,;设,T0,为定时器方式,0,MOV TH0,,,0F0H,;,写定时常数,(,定时,1ms),MOV TL0,,,0CHSETB TR0,;,启动,T0,SETB ET0,;,允许,T0,中断,SETB EA,;,开放,CPU,中断,AJMP$,;,定时中断等待,ORG XXXX H,;,T0,中断服务程序,INQP,:,MOV TH0,,,0F0H,;,重写定时常数,MOV TL0,,,0CH,CPL P1,0,;变反输出,RETI,;,中断返回,60,第,6,章单片机的串行口原理及应用复习,并行通信方式与串行通信方式,并行通信,在数据传输时,如果一个数据编码字符的所有各位都同时发送、并排传输,又同时被接收,则将这种传送方式称为并行传送方式。,特点:传送速度快、效率高。数据线多,成本高。,串行通信,在数据传输时,数据编码字符的所有各位不是同时发送,而是按一定顺序,一位接着一位在信道中被发送和接收,则将这种传送方式称为串行传送方式。,特点:成本低,但速度慢。,6.1,串行通信方式,62,2,异步传输和同步传输,异步传输,异步传输以一个字(或称字符)为单位进行数据传输,每个字符都用起始位、停止位包装起来,在字符间允许有长短不一的间隙(空闲位)。,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。起始位为“,0”,信号,起始位后面紧跟着的是数据位,它一般是,8,位,奇偶校验位只占一位,停止位用来表征字符的结束,它一定是“,1”,,停止位可以是,1,位或,2,位。,63,3.,波特率,波特率表示串行通信时每秒钟传送”位”的数目,比如,1s,传送,1bit,,,就是,1,波特。即,1,波特,1bit/s(,位,/,秒,),串行通信常用的标准波特率在,RS-232C,标准中已有规定,如波特率为,600,、,1200,、,2400,、,4800,、,9600,、,19200,等等。,假若数据传送速率为,120,字符,/s,,,而每一个字符帧已规定为,10,个数据位,则传输速率为,12010,1200bit/s,,,即波特率为,1200,。,同步传输,同步传输用来对数据块进行传输,一个数据块中包含着许多连续的字符,在字符之间没有空闲。,64,4,单工方式、半双工方式、全双工方式,单工方式,信号,(,不包括联络信号,),在信道中,只能沿一个方向传送,,而不能沿相反方向传送的工作方式称为单工方式。,半双工方式,通信的双方均具有发送和接收信息的能力,信道也具有双向传输性能,但是,,通信的任何一方都不能同时既发送信息又接收信息,,即在指定的时刻,只能沿某一个方向传送信息。这样的传送方式称为半双工方式。半双工方式大多采用双线制。,全双工方式,若信号在通信双方之间沿两个方向同时传送,任何一方在,同一时刻既能发送又能接收信息,,这样的方式称为全双工方式。,65,8051,通过,RXD,(,P3,0,),引脚、,TXD,(,P3,1,),引脚输入、输出,与外界通信。内部有一个通用异步接收发送器,(UART),,,及,波特率发生器,。,UART,由,同步移位寄存器、接收缓冲器(,SBUF,),和发送缓冲器(,SBUF,),组成,它主要完成把数据进行串、并行的转换,。,8051,串行口基本结构主要由两大部分组成。,波特率发生器:,主要由,T1,及内部的一些控制开关和分频器所组成。它提供串行口的时钟信号为,TXCLOCK,(,发送时钟)和,XCLOCK,(,接收时钟)。,串行口的内部,6.2,串行口的工作方式与控制,66,8051,串行口结构图,UART,67,串行口状态控制寄存器,SCON,位地址,9FH,9EH,9DH,9,CH,9BH,9AH,99H,98H,位功能,SM0,SM1,SM2,REN,TB8,RB8,TI,RI,寄存器,SCON,既可字节寻址也可位寻址,字节地址为,98H,,,位地址为,98H,9FH,。,其格式如下:,工作方式选择位,允许方式,2,、,3,中的多处理机通信位,允许串行接收位,方式,2,和方式,3,中要发送、接收的第,9,位数据,发送、接收中断标志位,68,SM0,,,SM1,串行口工作方式选择位,其功能见表,。,SM0,SM1,方式,特 点,波 特 率,0,0,方式,0,8,位移位寄存器,fosc/12,0,1,方式,1,10,位,UART,可变,1,0,方式,2,11,位,UART,fosc/64或fosc/32,1,1,方式,3,11,位,UART,可变,SM2(SCON.5),允许方式,2,、,3,中的多处理机通信位。,方式,0,时,,SM2,0,。,方式,1,时,若,SM2,l,,,只有接收到有效的停止位,接收中断,RI,才置,1,。,方式,2,和方式,3,时,若,SM2,1,,,则只有当接收到的第,9,位数据(,RB8,),为,1,时,才将接收到的前,8,位数据送入缓冲器,SBUF,中,并把,RI,置,1,、同
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服