微机原理第五章2

上传人:仙*** 文档编号:201271537 上传时间:2023-04-19 格式:PPT 页数:73 大小:611KB
返回 下载 相关 举报
微机原理第五章2_第1页
第1页 / 共73页
微机原理第五章2_第2页
第2页 / 共73页
微机原理第五章2_第3页
第3页 / 共73页
点击查看更多>>
资源描述
第第5章章 MCS-51单片机的中断、单片机的中断、定时定时/计数器、串行口计数器、串行口 5.1 中断的概述中断的概述5.2 MCS-51中断系统中断系统5.3定时器定时器/计数器计数器5.4 MCS-51单片机的串行接口单片机的串行接口5.1 中中 断断 的的 概概 述述 1.CPU与设备之间的传送方式与设备之间的传送方式1)无条件传送无条件传送2)CPU认认为为设设备备时时刻刻是是准准备备好好(ready)的的状状态态。CPU随时可以读出正确的数据或写入数据。随时可以读出正确的数据或写入数据。3)用用于于:传传送送间间隔隔长长,足足以以让让外外设设ready.例例如如按按键键、LED显示等。显示等。4)优点:编程简单、硬件简单优点:编程简单、硬件简单 2)查询传送(条件传送)查询传送(条件传送)以以CPU 为为主主动动方方,每每次次传传送送前前先先查查询询设设备备状状态态是是否否是是ready,是是,则则进进行行数数据据传传送送;否否,则则一一直等待至直等待至ready再进行传送。再进行传送。优点:简单优点:简单缺点:缺点:CPU只能等待查询状态,效率低。只能等待查询状态,效率低。应用:简单场合,应用:简单场合,CPU任务少。任务少。3)中断传送)中断传送由由设设备备提提出出要要求求,CPU和和设设备备可可以以同同时时工工作作,在在需需要要传传送送(或或设设备备ready时时)外外设设向向CPU发发出出信信号号(中中断断申申请请),CPU接接到到信信号号后后,暂暂停停正正在在执执行行的的程程序序,转转去去处处理理与与设设备备之之间间的的信信息息传传送送(响响应应中中断断)。处处理理完完后后又又继继续执行主程序。续执行主程序。优点:优点:CPU效率高,效率高,CPU可和几个设备同时工作。可和几个设备同时工作。适用于实时控制。适用于实时控制。采用了中断技术后的计算机采用了中断技术后的计算机,可以解决可以解决CPU与外设之间速度匹配的问题与外设之间速度匹配的问题,使计算使计算机可以及时处理系统中许多随机的参数机可以及时处理系统中许多随机的参数和信息和信息,同时同时,它也提高了计算机处理故它也提高了计算机处理故障与应变的能力。障与应变的能力。“中断中断”与与“查询查询”相比:相比:执行效率执行效率 实时性实时性 2.中断源中断源 中中断断源源是是指指在在计计算算机机系系统统中中可可以以向向CPU发发出出中中断断请请求求的的来来源源。通通常常有有I/O设设备备、实实时时控控制制系系统统中中的的随随机机参参数数和和信信息故障源等。息故障源等。3.中断优先级中断优先级 中中断断优优先先级级越越高高,则则响响应应优优先先权权就就越越高高。当当CPU正正在在执执行行中中断断服服务务程程序序时时,又又有有中中断断优优先先级级更更高高的的中中断断申申请请产产生生,这这时时CPU就就会会暂暂停停当当前前的的中中断断服服务务转转而而处处理理高高级级中中断断申申请请,待待高高级级中中断断处处理理程程序序完完毕毕再再返返回回原原中中断断程程序序断断点点处处继继续续执执行行,这这一一过过程程称为称为“中断嵌套中断嵌套”。4.中断响应的一般过程中断响应的一般过程(1)在在每每条条指指令令结结束束后后,系系统统都都自自动动检检测测中中断断请请求求信信号号,如如果果有有中中断断请请求求,且且CPU处处于于开开中断状态下中断状态下,则响应中断。则响应中断。(2)保保护护现现场场,在在保保护护现现场场前前,一一般般要要关关中中断断,以以防防止止现现场场被被破破坏坏。保保护护现现场场一一般般是是用用堆堆栈指令将原程序中用到的寄存器推入堆栈。栈指令将原程序中用到的寄存器推入堆栈。(3)中断服务中断服务,即为相应的中断源服务。即为相应的中断源服务。(4)恢恢复复现现场场,用用堆堆栈栈指指令令将将保保护护在在堆堆栈栈中中的的数数据据弹弹出出来来,在在恢恢复复现现场场前前要要关关中中断断,以以防防止止现现场场被被破破坏坏。在在恢恢复复现现场场后后应应及及时时开开中断。中断。(5)返返回回,此此时时 CPU将将推推入入到到堆堆栈栈的的断断点点地地址址弹弹回回到到程程序序计计数数器器,从从而而使使CPU继继续续执执行刚才被中断的程序。行刚才被中断的程序。5.2 MCS-51中断系统中断系统图图5.1 MCS-51中断系统结构框图中断系统结构框图 5.2.1 中断源中断源 表表 5.1 8051 中中 断断 源源中断标志(中断标志(Flag)IE0:外部中断:外部中断0中断标志中断标志TF0:定时器:定时器/计数器计数器0中断标志中断标志IE1:外部中断:外部中断1中断标志中断标志TF1:定时器:定时器/计数器计数器1中断标志中断标志TI:串行口发送中断标志:串行口发送中断标志RI:串行口接收中断标志:串行口接收中断标志1.定时器控制寄存器定时器控制寄存器TCON的格式(的格式(88H)TF1TF1TRTR1 1TF0TF0TRTR0 0IE1IE1ITIT1 1IE0IE0ITIT0 0(MSB)(LSB)IT0:外部中断:外部中断0触发方式选择位触发方式选择位 0:低电平触发低电平触发 1:负跳变触发负跳变触发IE0:外部中断:外部中断0中断请求标志中断请求标志IT1、IE1 类似类似 IT0、IE0TR0:定时:定时/计数器计数器0运行控制位运行控制位 0:停止停止 1:运行运行TF1:定时:定时/计数器计数器0中断请求标志位中断请求标志位TR1、TF1 类似类似 TR0、TF02.特殊功能寄存器特殊功能寄存器SCON的格式(的格式(98H)SM0和和SM1:串行口工作方式选择位:串行口工作方式选择位SM2:多机通信使能位:多机通信使能位REN:接收允许位接收允许位TB8:发送数据位:发送数据位8RB8:接收数据位:接收数据位8TI:串行口发送中断请求标志串行口发送中断请求标志RI:串行口接收中断请求标志串行口接收中断请求标志 SM0SM0 SM1SM1 SM2SM2RENREN TB0TB0 RB0RB0TITIRIRIMSBLSB5.2.2 中断控制中断控制 1.中断允许控制中断允许控制 MCS-51单单片片机机有有 5个个(8052有有 6个个)中中断断源源,为为了了使使每每个个中中断断源源都都能能独独立立地地被被允允许许或或禁禁止止,以以便便用用户户能能灵灵活活使使用用,CPU内内部部在在每每个个中中断断信信号号的的通通道道中中设设置置了了一一个个中中断断允允许许触触发发器器,它它控控制制CPU能能否否响响应应中中断断。只只有有对对应应的的中中断断允允许许触触发发器器被被使使能能(置置“1”),相相应的中断才能得到相应。应的中断才能得到相应。EX0:外部中断:外部中断0允许位允许位ET0:定时器:定时器/计数器计数器0中断允许位中断允许位EX1:外部中断:外部中断1允许位允许位ET1:定时器:定时器/计数器计数器1中断允许位中断允许位ES :串行口中断允许位串行口中断允许位EA :中断总允许位:中断总允许位EA ESET1EX1ET0EX0(MSB)(LSB)中断允许控制寄存器中断允许控制寄存器IE(0A8H)2.中断优先级控制寄存器中断优先级控制寄存器IP(0B8H)PSPT1PX1PT0PX0(MSB)(LSB)PX0:外部中断:外部中断0允许位允许位PT0:定时器:定时器/计数器计数器0中断允许位中断允许位PX1:外部中断:外部中断1允许位允许位PT1:定时器:定时器/计数器计数器1中断允许位中断允许位PS :串行口中断允许位串行口中断允许位 当两个以上的中断源同时提出申请时,当两个以上的中断源同时提出申请时,CPU到底相应哪个中断呢?到底相应哪个中断呢?中断响应遵循两条规则:中断响应遵循两条规则:(1)低优先级中断可以被高优先级中断所)低优先级中断可以被高优先级中断所中断,反之不能;中断,反之不能;(2)一种中断(不论哪个优先级)一旦得)一种中断(不论哪个优先级)一旦得到响应,与它同级的中断不能再中断它。到响应,与它同级的中断不能再中断它。表表 5.2 同级内第二优先级次序同级内第二优先级次序 当同时收到处于同一优先级的多个中断当同时收到处于同一优先级的多个中断请求时,哪一个中断能得到响应,取决于请求时,哪一个中断能得到响应,取决于“内部查询次序内部查询次序”,相当于在每个优先级中,相当于在每个优先级中,还有一个还有一个“内部优先级内部优先级”,如下表所示:,如下表所示:例如例如,某软件中对寄存器某软件中对寄存器IE、IP设置如下设置如下:MOV IE,8FH MOV IP,06H 则此时该系统中则此时该系统中:CPU中断允许中断允许;允允许许外外部部中中断断 0、外外部部中中断断 1、定定时时器器 /计计数数器器 0、定时器定时器 /计数器计数器1提出的中断申请提出的中断申请;允许中断源的中断优先次序为允许中断源的中断优先次序为:定时器定时器 /计数器计数器 0外部中断外部中断 1外部中断外部中断 0定时器定时器/计计数器数器 1。2.单单片片机机一一旦旦响响应应中中断断请请求求,由由硬硬件件完完成成以以下下功功能能:(1)根根据据响响应应的的中中断断源源的的中中断断优优先先级级,使使相相应应的的优优先先级级状状态态触发器置触发器置 1;(2)执执行行硬硬件件中中断断服服务务子子程程序序调调用用,并并把把当当前前程程序序计计数数器器PC的内容压入堆栈的内容压入堆栈;(3)清除相应的中断请求标志位(串行口中断请求标清除相应的中断请求标志位(串行口中断请求标志志 RI和和 TI除外)除外);(4)把被响应的中断源所对应的中断服务程序的入口把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入地址(中断矢量)送入PC,从而转入相应的中断服务程序。从而转入相应的中断服务程序。中断响应过程,相当于执行了一条隐中断响应过程,相当于执行了一条隐含的调用指令(或称隐指令)含的调用指令(或称隐指令)LCALL。例如当例如当TF0被置被置1且得到中断响应时,且得到中断响应时,CPU就自动的执行一条隐指令就自动的执行一条隐指令“LCALL 000BH”。应当注意,在中断服务子程序的调用应当注意,在中断服务子程序的调用过程中,仅仅保存了过程中,仅仅保存了PC的信息,其余的现的信息,其余的现场信息(如寄存器的值等)都要由编程人场信息(如寄存器的值等)都要由编程人员通过软件来进行保护。员通过软件来进行保护。表表 5.3 中断服务程序入口地址表中断服务程序入口地址表 例例如如,现现有有外外部部中中断断 1 提提出出申申请请,且且主主程程序序中中有有R0、R1、DPTR、累累加加器器A需需保保护护,则则编编制制程程序序应为应为:ORG 0000H AJMP MAIN ORG 0013H LJMP INT1 ORG 0100H MAIN:;主程序主程序 ORG 1000H INT1:PUSH ACC ;中断服务程序中断服务程序 PUSH DPH;若有更高级中断,;若有更高级中断,PUSH DPL;应先关闭;应先关闭EA PUSH R0 ;待现场保护完成后;待现场保护完成后 PUSH R1 ;再打开;再打开EA POP R1 ;恢复现场时相同;恢复现场时相同 POP R0 POP DPL POP DPH POP ACC RETI 编程中应注意编程中应注意:(1)在在 0000H放放一一条条跳跳转转到到主主程程序序的的跳跳转转指指令令,这这是是因因为为 MCS-51单单片片机机复复位位后后,PC的的内内容容变变为为 0000H,程程序序从从 0000H 开开始始执执行行,紧紧接接着着 0003H是是中中断断程程序序入入口口地地址址,故故在在此此中中间间只只能插入一条转移指令能插入一条转移指令;(2)响响应应中中断断时时,先先自自动动执执行行一一条条隐隐指指令令“LCALL 0013H”,而而 0013H至至 001BH(定定时时器器 1 溢溢出出中中断断入入口口地地址址)之之间间可可利利用的存储单元不够用的存储单元不够,故放一条无条件转移指令。故放一条无条件转移指令。(3)在在中中断断服服务务程程序序的的末末尾尾,必必须须安安排排一一条条中中断断返返回回指指令令RETI,使程序自动返回主程序。使程序自动返回主程序。中断初始化中断初始化1.开中断开中断2.确定优先级确定优先级3.触发方式触发方式SETB EASETB EX0SETB PX0CLR IT0MOV IE,#81HORL IP,#01HANL TCON,#0FEH5.3定时器定时器/计数器计数器 在工业检测、控制中,很多场合都要用到计数或者定在工业检测、控制中,很多场合都要用到计数或者定时功能。例如对外部脉冲进行计数、产生精确的定时时间、时功能。例如对外部脉冲进行计数、产生精确的定时时间、作串行口的波特率发声器等。作串行口的波特率发声器等。MCS51单片机内部有两单片机内部有两个可编程的定时器个可编程的定时器/计数器,以满足这方面的需要。它们计数器,以满足这方面的需要。它们具有具有 两种工作模数(计数器模式、两种工作模数(计数器模式、定时器模式)和四种定时器模式)和四种工作方式(工作方式(方式方式0、方式、方式1、方式、方式2、方式、方式3),其控制字),其控制字均在相应的特殊功能寄存器(均在相应的特殊功能寄存器(SFR)中,通过对它的)中,通过对它的SFR的编程,可以方便的选择工作模数和工作方式的编程,可以方便的选择工作模数和工作方式。一、工作原理一、工作原理定时器定时器/计数器:计数器:Timer/Counter 本质上都是加法计数器,当对本质上都是加法计数器,当对固定周期(固定周期(f/12)的脉的脉冲信号计数时是定时器冲信号计数时是定时器,对脉冲长度不确定的信号(引,对脉冲长度不确定的信号(引脚的计数脉冲脚的计数脉冲)计数时是计数器。计数时是计数器。每接收到一个计数脉冲,加法计数器的值就加一,每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从当计满时发生溢出,并从0开始继续计数。开始继续计数。加法计数器的计满溢出信号就是定时加法计数器的计满溢出信号就是定时/计数器的输出,计数器的输出,该信号使该信号使TCON的某位(的某位(TF0或或TF1位)置一,作为定时位)置一,作为定时器器/计数器的溢出中断标志。计数器的溢出中断标志。二、二、定时器定时器/计数器的方式寄存器计数器的方式寄存器TMOD 8位分为两组,高四位控制T1,低4位控制T0。对对TMOD的各个位的说明:的各个位的说明:GATE位:门控位。位:门控位。GATE1时,时,T0、T1是否计数要受是否计数要受到外部引脚输入电平的控制,到外部引脚输入电平的控制,INT0引脚控制引脚控制T0,INT1引引脚控制脚控制T1。可用于测量在。可用于测量在INT0和和INT1引脚出现的正脉冲引脚出现的正脉冲的宽度。若的宽度。若GATE0,即不使能门控功能,定时计数器,即不使能门控功能,定时计数器的运行不受外部输入引脚的运行不受外部输入引脚INT0、INT1的控制的控制。C/T位:计数器模式和定时器模式的选择位。位:计数器模式和定时器模式的选择位。C/T0,为定时器模式,内部计数器对晶振脉冲,为定时器模式,内部计数器对晶振脉冲12分频分频后的脉冲计数,该脉冲周期等于机器周期,所以可以理后的脉冲计数,该脉冲周期等于机器周期,所以可以理解为对机器周期进行计数。从计数值可以求得计数的时解为对机器周期进行计数。从计数值可以求得计数的时间,所以称为定时器模式。间,所以称为定时器模式。C/T1,为计数器模式,计数器对外部输入引脚,为计数器模式,计数器对外部输入引脚T0(P3.4)或)或T1(P3.5)的外部脉冲(负跳变)计数,)的外部脉冲(负跳变)计数,允许的最高计数频率为晶振频率的允许的最高计数频率为晶振频率的1/24。M1 M0:四种工作方式的选择位:四种工作方式的选择位 M1 M0 方式方式说说 明明00013 位定时器位定时器(TH的的 8 位和位和TL的低的低 5 位)位)01116 位定时器位定时器/计数器计数器 102自动重装入初值的自动重装入初值的 8 位计数器位计数器 113 T0 分成两个独立的分成两个独立的 8 位计数器位计数器,T1 在方式在方式 3 时停止工作时停止工作 三、三、定时器定时器/计数器控制寄存器计数器控制寄存器TCONTF0、TF1分分别别是是定定时时器器/计计数数器器T0、T1 的的溢溢出出标标志志位位,加加法法计计数数器器计计满满溢溢出出时时置置 1,申申请请中中断断,在在中中断断响响应应后后自自动动复复 0。TF产产生生的的中中断断申申请请是是否否被被接接受受,还还需需要要由由中中断断是是否否开放来决定。开放来决定。TR1、TR0 分分别别是是定定时时器器/计计数数器器T1、T0 的的运运行行控控制制位位,通通过过软软件件置置 1 后后,定定时时器器/计计数数器器才才开开始始工工作作,在在系系统统复复位时被清位时被清 0。TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0四、四、工作方式工作方式 1、方式方式 0 在方式在方式0下,下,T0和和T1工作在工作在13位的定时位的定时/计数器方式,由计数器方式,由TH的的高高 8 位和位和TL的低的低 5 位组成。位组成。当当T0的的13位计数器加到全部为位计数器加到全部为 1 以后,再加以后,再加1就产生溢出,这就产生溢出,这时置时置TCON的的TF0为为 1,同时把计数器全部变,同时把计数器全部变 0,然后从,然后从 0 开始继开始继续计数。续计数。2、方式方式1 方式方式1和方式和方式0的工作原理基本相同,唯一不同是的工作原理基本相同,唯一不同是T0和和T1工作在方式工作在方式1时是时是16位的计数位的计数/定时器。定时器。方式方式1时的计数长度时的计数长度M是是2的的16次方。次方。16位的初值直位的初值直接拆成高低字节,分别送入接拆成高低字节,分别送入TH和和TL即可。即可。3、方式、方式 2工作方式工作方式0和工作方式和工作方式1的最大特点就是计数溢出后,计数器为的最大特点就是计数溢出后,计数器为全全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。这给程序设计带来许多不便,同时也会影响计时精度。工作方式工作方式2就针对这个问题而设置,它具有自动重装载功能,就针对这个问题而设置,它具有自动重装载功能,即自动加载计数初值,所以也称为自动重加载工作方式。即自动加载计数初值,所以也称为自动重加载工作方式。在这种工作方式中,在这种工作方式中,16位计数器分为两部分,位计数器分为两部分,即以即以TL0为计数器,以为计数器,以TH0作为预置寄存器,初始化作为预置寄存器,初始化时把计数初值分别加载至时把计数初值分别加载至TL0和和TH0中,当计数溢出中,当计数溢出时,不再象方式时,不再象方式0和方式和方式1那样需要那样需要“人工干预人工干预”,由,由软件重新赋值,而是由预置寄存器软件重新赋值,而是由预置寄存器TH以硬件方法自以硬件方法自动给计数器动给计数器TL0重新加载重新加载。4、方式方式 3 在工作方式在工作方式3模式下,定时模式下,定时/计数器计数器0被拆成两个独立被拆成两个独立的的8位计数器位计数器TL0和和TH0。其中。其中TL0既可以作计数器使用,既可以作计数器使用,也可以作为定时器使用,定时也可以作为定时器使用,定时/计数器计数器0的各控制位和引脚的各控制位和引脚信号全归它使用。其功能和操作与方式信号全归它使用。其功能和操作与方式0或方式或方式1完全相同。完全相同。TH0就没有那么多就没有那么多“资源资源”可利用了,只能作为简单的定可利用了,只能作为简单的定时器使用,而且由于定时时器使用,而且由于定时/计数器计数器0的控制位已被的控制位已被TL0占用,占用,因此只能借用定时因此只能借用定时/计数器计数器1的控制位的控制位TR1和和TF1,也就是,也就是以计数溢出去置位以计数溢出去置位TF1,TR1则负责控制则负责控制TH0定时的启动定时的启动和停止。和停止。由于由于TL0既能作定时器也能作计数器使用,而既能作定时器也能作计数器使用,而TH0只能作定时器使用而不能作计数器使用,因此只能作定时器使用而不能作计数器使用,因此在方式在方式3模式下,定时模式下,定时/计数器计数器0可以构成二个定时器可以构成二个定时器或者一个定时器和一个计数器。或者一个定时器和一个计数器。如果定时如果定时/计数器计数器0工作于工作方式工作于工作方式3,那么定时,那么定时/计数器计数器1的工作方式就不可避免受到一定的限制,因的工作方式就不可避免受到一定的限制,因为自己的一些控制位已被定时为自己的一些控制位已被定时/计数器借用,只能工计数器借用,只能工作在方式作在方式0、方式、方式1或方式或方式2下,如果设置下,如果设置T1工作在方工作在方式式3,则,则T1停止工作,相当于其他方式时令停止工作,相当于其他方式时令TR10。五、定时、计数器的初始化五、定时、计数器的初始化1.初值的计算初值的计算初值初值M-计数值计数值 M:最大计数值最大计数值 213 216 28定时器初值定时器初值 M定时值定时值/T2.初始化步骤:初始化步骤:1)确定工作方式确定工作方式TMOD2)预置定时、计数初值预置定时、计数初值TL0,TH0或或TH1,TL13)根据需要设置与中断相关的位根据需要设置与中断相关的位4)启动定时启动定时/计数器计数器TR0=1或或TR1=1六、六、定时器定时器/计数器应用举例计数器应用举例 1、方式方式 0 的应用的应用 例例 1利用定时器输出周期为2ms的方波,设单片机晶振频率为6MHz。选用定时器/计数器T0作定时器,输出为P1.0引脚,2ms的方波可由间隔1ms的高低电平相间而成,因而只要每隔1ms对P1.0取反一次即可得到这个方波。定时1ms的初值:因为机器周期=126MHz=2s所以1ms内T0需要计数N次:N=1ms2s=500由此可知:使用方式0的13位计数器即可,T0的初值X为X=MN=8192500=7692=1E0CH但是,因为13位计数器中,低8位TL0只使用了5位,其余码均计入高8位TH0的初值,则T0的初值调整为TH0=0F0H,TL0=0CHTMOD初始化:TMOD=00000000B=00H(GATE=0,C/T=0,M1=0,M0=0)TCON初始化:启动TR0=1IE初始化:开放中断EA=1,定时器T0中断允许ET0=1程序清单如下:ORG0000HAJMPSTART;复位入口ORG000BHAJMPTOINT;T0中断入口ORG0030HSTART:MOVSP,60H;初始化程序MOVTH0,0F0H;T0赋初值MOVTL0,0CHMOVTMOD,00HSETBTR0;启动T0SETBET0;开T0中断SETBEA;开总允许中断SJMP$;主程序T0INT:CPLP1.0MOVTL0,0CHMOVTH0,0F0HRETI5.4 MCS-51单片机的串行接口单片机的串行接口 1.串行通信的基本概念串行通信的基本概念 并行并行 和和 串行串行并行通信的优点是速度快,效率高,确点是不适合远距离通信。串行通信刚好相反。单工、半双工单工、半双工 和和 全双工全双工单工:信息只能沿着一个方向传播半双工:信息可以沿一条线双向传播,但不能同时实现双向传播。全双工:使用两条独立的数据通道,收发可同时进行。同步方式和异步方式同步方式和异步方式(1)同步方式是将一大批数据分成几个数据块,数据块之间用同步字符予以隔开,而传输的各位二进制码之间都没有间隔。其基本特征是发送与接收时钟始终保持严格同步。(2)异步通信是按帧传送数据,它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔,但帧与帧之间的时间间隔是随机的。其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。异步通信中,一帧数据由四部分组成:起始位(0),数据位(58位,低位在前),奇偶校验位,停止位(1,12位)在异步通信时,收发双方需达成协议字符格式波特率波特率即每秒能发送或接收的二进制位数。Bits/s2 与串行口有关的特殊功能寄存器与串行口有关的特殊功能寄存器 1).数据缓冲器数据缓冲器SBUF串行口缓冲器SBUF是可直接寻址的特殊功能寄存器,其内部RAM字节地址是99H。在物理上,它对应着两个独立的寄存器,一个发送寄存器,一个接收寄存器。发送时,就是CPU写SBUF的时候(51系列单片机没有专门的启动发送状态的指令);接收时,就是读取SBUF的过程,接收寄存器是双缓冲的,以避免在接收下一帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。2).特殊功能寄存器特殊功能寄存器SCON的格式(的格式(98H)SM0和和SM1:串行口工作方式选择位:串行口工作方式选择位SM2:多机通信使能位:多机通信使能位REN:接收允许位接收允许位TB8:发送数据位:发送数据位8RB8:接收数据位:接收数据位8TI:串行口发送中断请求标志串行口发送中断请求标志RI:串行口接收中断请求标志串行口接收中断请求标志 SM0SM0 SM1SM1 SM2SM2RENREN TB8TB8 RB8RB8TITIRIRIMSBLSB表5.6串行口操作模式选择SM0SM1 模式功能波特率000110110101同步移位寄存器8位UART9位UART9位UARTfOSC/12可变(T1溢出率)fOSC/64或fOSC/32可变(T1溢出率)3.电源控制寄存器电源控制寄存器PCON特殊功能寄存器PCON中,只有一位(最高位)SMOD与串行口的工作有关,该位是串行口波特率系数的控制位:SMOD=1时,波特率加倍,否则不加倍。PCON的地址为87H,不可位寻址,因此初始化时需要字节传送。3 串行口的串行口的 4 种工作模式种工作模式 1.模式模式 0 同步移位寄存器输入输出模式,可外接移位寄存器,以扩展I/O口。2.(1)模式模式 0 输出状态。输出状态。CPU执行任何一条以SBUF为目标寄存器的指令,就启动发送过程。图6.8外接移位寄存器输出(2)模式模式 0 输入状态。输入状态。当满足RI=0且REN1时,就启动一次接收过程。图6.9外接移位寄存器输入2.模式模式 1串行口工作于模式1时,为波特率可变的8 位位异异步步通信接口。数据位由P3.0(RXD)端接收,由P3.1(TXD)端发送。传送一帧信息为10位:一位起始位(0),8位数据位(低位在前)和一位停止位(1)。波特率是可变的,它取决于定时器T1的溢出速率及SMOD的状态。(1)模式1发送过程。用软件清除TI后,CPU执行任何一条以SBUF为目标寄存器的指令,就启动发送过程。数据由TXD引脚输出,此时的发送移位脉冲是由定时器/计数器T1送来的溢出信号经过16或32分频而取得的。一帧信号发送完时,将置位发送中断标志TI=1,向CPU申请中断,完成一次发送过程。(2)模式1接收过程。用软件清除RI后,当允许接收位REN被置位1时,接收器以选定波特率的16倍的速率采样RXD引脚上的电平,即在一个数据位期间有16个检测脉冲,并在第7、8、9个脉冲期间采样接收信号,然后用三中取二的原则确定检测值,以抑制干扰。并且采样是在每个数据位的中间,避免了信号边沿的波形失真造成的采样错误。当检测到有从“1”到“0”的负跳变时,则启动接收过程,在接收移位脉冲的控制下,接收完一帧信息。当最后一次移位脉冲产生时能满足下列两个条件:RI=0;接收到的停止位为1或SM2=0。则停止位送入RB8,8位数据进入SBUF,并置RI1,完成一次接收过程。否则,所接收到的一桢信息将丢失,接收器复位,并从新开始检测负跳变,以便接收下一桢信息。注意:接收中断标志RI应由软件清除。3.模式模式 2 和模式和模式 3。串行口工作于模式2和模式3时,被定义为9 位位异异步步通信接口。它们的每帧数据结构是11位的:最低位是起始位(0),其后是8位数据位(低位在先),第10位是用户定义位(SCON中的TB8或RB8),最后一位是停止位(1)。模式2和模式3工作原理相似,唯一的差别是模式2的波特率是固定的,即为f/32或fOSC/64;而模式3的波特率是可变的,与定时器T1的溢出率有关。(1)模式2和模式3的发送过程。发送过程是由执行任何一条SBUF为目的寄存器的指令来启动的。由“写入SBUF”信号把8位数据装入SBUF,同时还把TB8装入发送移位寄存器的第9位,并通知发送控制器要求进行一次发送。发送完一帧信息后TI=1,请求申请中断。第9位数据(TB8)由软件置位或清零,可以作为数据的奇偶校验位,也可以作为多机通信中的地址、数据标志位。如把TB8作为奇偶校验位,可以在发送程序中,在数据写入SBUF之前,先将数据位写入TB8。(2)模式2和模式3接收过程。与模式1类似,当允许接收位REN被置位1时,模式2和模式3接收过程始于在RXD端检测到负跳变时,为此,CPU以波特率16倍的采样速率对RXD端不断采样。若起始位有效(为0)则起始位移入移位寄存器,并开始接收这一帧的其余位。当起始位0移到最左面时,通知接收控制器进行最后一次移位。把8位数据装入接收缓冲器SBUF,第9位数据装入SCON中的RB8,并置中断标志RI=1。装入SBUF和RB8以及置位RI的信号只有在产生最后一个移位脉冲且同满足下列两个条件,才会产生:RI=0;SM2=0或接收到的第9位数据为“1”。上述两个条件中任一个不满足,所接收的数据帧就会丢失,不再恢复。两者都满足时,第9位数据装入TB8,前8位数据装入SBUF。请注意:与模式1不同,模式2和3中装入RB8的是第9位数据,而不是停止位。所接收的停止位的值与SBUF、RB8和RI都没有关系,利用这一特点可用于多机通信中。4.波特率波特率串行口每秒钟发送或接收的数据位数称为波特率。假设发送一位数据所需时间为T,则波特率为1/T。(1)模式0的波特率等于单片机晶振频率的1/12,即每个机器周期接收或发送一位数据。(2)模式2的波特率与电源控制器PCON的最高位SMOD的写入值有关:即SMOD=0,波特率为(1/64)fOSC;SMOD=1,波特率为(1/32)fOSC。(3)模式1和模式3的波特率除了与SMOD位有关之外,还与定时器T1的溢出率有关。定时器T1作为波特率发生器,常选用定时方式2(8位重装载初值方式),并且禁止T1中断。此时TH1从初值计数到产生溢出,它每秒钟溢出的次数称为溢出率。于是定时器定时器T1产生的常用波特率产生的常用波特率 假设某MCS-51单片机系统,串行口工作于模式3,要求传送波特率为1200Hz,作为波特率发生器的定时器T1工作在方式2时,请求出计数初值为多少?设单片机的振荡频率为6MHz。因为串行口工作于模式3时的波特率为所以当SMOD=0时,初值TH1=256-6106/(12001232/1)=243=0F3H当SMOD=1时,初值TH1=256-6106/(12001232/2)=230=0E6H6 串行口的应用串行口的应用 一、一、串行口的初始化串行口的初始化(1)若选定的操作模式不是模式0,需设定接收/发送的波特率。设定SMOD的状态,以控制波特率是否加倍。若选定操作模式1或3,则应对定时器T1进行初始化以设定其溢出率。(2)确定SCON按选定串行口的操作模式设定SCON的SM0、SM1两位二进制编码。对于操作模式2或3,应根据需要在TB8中写入待发送的第9位数据。(3)根据情况设置与中断相关的位。例例 1 利用串行口进行双机通信。利用串行口进行双机通信。P190甲机把内部甲机把内部RAM40H5FH单元中的单元中的ASCII码,在最高位码,在最高位加上奇偶校验位后发送到乙机,波特率加上奇偶校验位后发送到乙机,波特率1.2K,晶振晶振f=11.059MHZ 图6.12双机通信系统二、二、串行口的应用串行口的应用 工作方式:工作方式:甲机:方式甲机:方式1,发送,发送乙机:方式乙机:方式1,接收,接收波特率波特率查表得到查表得到T1的工作模式和初值的工作模式和初值奇偶校验奇偶校验奇校验:每次发送的数据奇校验:每次发送的数据1的个数总是奇数个的个数总是奇数个MOV A,MOV C,PCPLC;奇校验奇校验MOV Acc.7,CMOVR0,40H;数据区地址指针MOV R1,20H;数据长度甲机发送(采用查询方式):MOV TMOD,#32MOV TL1,#0E8HMOV TH1,#0E8HSETB TR1;设置波特率设置波特率MOVSCON,40H;设置工作方式1LOOP:MOVA,R0;取发送数据MOV C,PCPLC;奇校验奇校验MOV Acc.7,CMOVSBUF,A;送串口并开始发送数据JNBTI,$;检测是否发送结束CLRTI;并清TINEXT:INCR0;修改发送数据地址指针DJNZ R1,LOOP.乙机接收(查询方式):MOV TMOD,#32MOV TL1,#0E8HMOV TH1,#0E8HSETB TR1MOVR0,60H;置数据区地址指针MOVR2,20H;等待接收数据长度LOOP:MOVSCON,50H;启动接收JBRI,$MOV A,SBUFMOV C,PANLA,#7FJNCERRMOV R0,AINCR0DJNZ R1,LOOP.ERR:;出错处理程序
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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