单片机课件第五章_第1页
单片机课件第五章_第2页
单片机课件第五章_第3页
单片机课件第五章_第4页
单片机课件第五章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机原理及应用单片机原理及应用 (第5章)第5章 C51单片机最小系统及应用 C51单片机最小系统除了有 CPU、存储器和并行I/O口之外,还包括定时/计数器、中断系统和串行接口。对于一些增强型单片机而言,内部还集成了看门狗、A/D转换器等。l5.1 中断系统n5.1.1中断概述 中断是CPU平常可以处理自己的工作,只有外设需要和CPU之间进行信息传送的时候,才采用中断的方式,暂停CPU的工作,使CPU转去处理外设的请求,处理完外设请求后,CPU继续执行原来被暂停的工作。中断传输是CPU与外设间最常用的一种数据传输方式。第5章 C51单片机最小系统及应用采用中断传输方式的功能:(1)CPU

2、与外设同步工作:CPU与外设间由串行工作变为并行工作。在CPU启动程序后,执行主程序。当外设准备好传送数据后,才要求CPU对其进行处理,发出中断申请,处理后CPU回到主程序继续执行,而外设得到新的数据后也可工作。实现CPU和外设的并行工作,大大提高了单片机的效率。(2)实时处理:所谓“实时”指单片机能够对现场采集到的信息及时做出分析和处理,以便对被控对象立即做出响应,使被控对象保持最佳工作状态。利用中断技术可及时处理随机输入的各种参数和信息,使单片机具备实时处理和控制功能。第5章 C51单片机最小系统及应用(3)故障处理:CPU在运行过程中,会随机出现一些无法预料的故障,如电源和硬件故障,数据

3、运送错误等。利用中断系统,CPU可根据故障源发出的中断请求,立即执行相应的故障处理程序而不必停机,从而提高了单片机的可靠性。n5.1.2 中断的相关概念(1)中断:当CPU正在执行某项任务A,而外界或内部发生了紧急事件B,向CPU提出中断请求, CPU暂停原来的任务A(中断响应),转去处理事件(中断服务),对事件B处理完毕后,再回到原来任务A被中断的地方(即断点)继续处理事件A(中断返回),这一过程称为中断。(2)中断源:向CPU提出中断请求的来源、引起中断的原因,称为中断源。中断源可以是I/O设备、故障、时钟及调试中的设置。C51中一共有5个:两个外部中断,两个定时/计数器中断,一个串行口中

4、断。第5章 C51单片机最小系统及应用(3)中断响应:CPU在满足条件情况下接受中断申请,终止现行程序执行,转而为申请中断的对象服务称中断响应。(4)断点:现行程序被中断的地址称为断点。(5)中断嵌套及中断优先级:当几个中断源同时向CPU发出中断请求时,CPU应优先响应最需要紧急处理的中断请求,需要规定各个中断源的优先级,优先级高的请求处理完毕后,再响应优先级低的请求,这种预先安排好的响应次序叫做中断优先级(6)中断系统:实现中断的硬件逻辑和实现中断功能的指令,统称为中断系统。(7)中断服务程序和中断返回:实现中断功能的处理程序称为中断服务程序;完成中断服务程序后,返回到被中断的程序继续执行,

5、该过程称为中断返回。第5章 C51单片机最小系统及应用n5.1.3中断系统中断请求是在执行程序的过程中随机发生的,中断系统要解决如下问题:(1)CPU在不断执行指令的过程中,如何检测到随机发生的中断请求?(2)如何使中断的双方(CPU和中断源)均能人为控制允许中断或禁止中断?(3)由于中断的产生存在随机性,因此不可能在程序中使用子程序调用指令或转移指令,那么如何实现正确的转移,从而更好地为该中断源服务?(4)中断源有多个,而CPU只有一个,当有多个中断源同时有中断请求时,用户怎样控制CPU按照自己的需要安排响应次序?第5章 C51单片机最小系统及应用(5)中断服务完毕,如何正确地返回到断点?1

6、. 中断系统结构第5章 C51单片机最小系统及应用 C51系列单片机中不同型号芯片的中断源数量是不同的,最基本的C51单片机有5个中断源,分别是两个外部中断 (P3.2)和 (P3.3),2个片内定时/计数器溢出中断TF0和TF1,一个片内串行口中断TI和RI。 特殊功能寄存器包括定时/计数器控制寄存器TCON、串行口控制寄存器SCON、中断允许寄存器IE和中断优先级寄存器IP,主要用于控制中断的打开和关闭、保存中断信息、设置优先级别。2.C51的中断源:C51单片机的5个中断源分别是:第5章 C51单片机最小系统及应用 (1) 外部中断请求0,由引脚(P3.2)输入,低电平/负跳变有效,在每

7、个机器周期的S5P2采样,请求标志位为IE0。(2)外部中断请求1,由引脚(P3.3)输入,低电平/负跳变有效,在每个机器周期的S5P2采样,请求标志位为IE1。(3)定时/计数器T0溢出中断请求,请求标志位为TF0。(4)定时/计数器T1溢出中断请求,请求标志位为TF1。(5)串行口中断请求,当串行口完成一帧数据的发送和接收时请求中断,请求标志位为TI或RI。3.相关寄存器第5章 C51单片机最小系统及应用 C51中断系统在4个特殊功能寄存器控制下工作。4个特殊功能寄存器是定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)和中断优先级控制寄存器(IP

8、)。(1)中断允许寄存器IE(A8H)C51对中断源的允许或屏蔽是由中断允许寄存器IE控制,可按位寻址。单片机复位时,IE被清0。通过对IE的各位置1或清0,实现允许或屏蔽某个中断。 D7D6D5D4D3D2D1D0IEEAESET1EX1ET1EX00A8H0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H第5章 C51单片机最小系统及应用EA:总中断允许控制位。EA=0时,屏蔽所有中断;EA=l时,开放所有中断。ES:串口中断允许控制位。ES=0时,屏蔽串口中断;ES=l且EA=1时,允许串口中断。ETl:定时计数器Tl中断允许控制位。ETl=0时,屏蔽Tl溢出中断;ETl=

9、 l且EA=1时,允许Tl溢出中断。EXl:外部中断中断允许控制位。EXl=0时,屏蔽外部中断; EXl=l且EA=1时,允许外部中断。ET0:定时计数器T0中断允许控制位。功能与ETl类似。EX0:外部中断的中断允许控制位。功能与EXl类似。 单片机采用两级中断控制,1个总的开关控制EA,5个中断源控制位, 设置中断允许时,各个中断控制位应该和中断允许总控制位配合使用。第5章 C51单片机最小系统及应用(2)中断优先级控制寄存器IP(B8H) 中断系统中,用户对中断的管理还体现在当有多个中断源有中断请求时,用户控制CPU按照自己的需要安排响应次序。这种管理通过对特殊功能寄存器IP的设置来完成

10、,可位寻址。D7D6D5D4D3D2D1 D0IPPSPT1PX1PT0 PX0 0B8H0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8HPX0、PT0、PXl、PTl和PS分别为、T0、Tl和串口中断优先级控制位。当相应的位为0时,所对应的中断源定义为低优先级,相反则定义为高优先级。第5章 C51单片机最小系统及应用CPU响应中断的优先级控制原则是:(1)若多个中断请求同时有效,CPU优先响应优先权最高的中断。如果是同级中断,则按照CPU查询次序确定哪个中断被响应。(2)同级的中断或更低级的中断不能打断CPU正在响应的中断过程。一直到该中断服务程序结束,返回主程序且执行了主程

11、序中的一条指令后,CPU才响应新的中断请求。 (3)低优先权的中断响应过程可被高优先权的中断请求所中断,CPU会暂时中止当前低优先权的中断过程,而响应高优先权中断第5章 C51单片机最小系统及应用n5.1.4中断响应过程1.中断请求及中断撤除(1)中断请求:若是外部中断源,则需将外部中断源接到单片机的P3.2()或P3.3()引脚上。当外部中断源发出有效中断信号时,相应的中断请求标志位IE0或IE1置“1”,提出中断请求。若是内部中断源发出有效中断信号,如T0、T1溢出,则相应的中断请求标志位TF0或TF1置“1”,提出中断请求。(2)中断请求的撤除:CPU响应中断请求,转向中断服务程序执行,

12、在其执行中断返回指令RETI之前,中断请求信号必须撤除,否则将会再一次引起中断而出错。第5章 C51单片机最小系统及应用2.中断响应(1)单片机响应中断的条件:单片机响应中断的条件是中断源有请求且CPU开中断(即EA=1) 无同级或高级中断正在处理。现行指令执行到最后1个机器周期且已结束。若现行指令为RETI或访问特殊功能寄存器IE、IP的指令时,执行完该指令且紧随其后的另一条指令也已执行完毕。(2)中断响应过程:置位中断优先级有效触发器,即关闭同级和低级中断;转入中断服务程序入口地址,断点入栈保护; 进入中断服务程序。第5章 C51单片机最小系统及应用(3)响应时间:从查询中断请求标志位到转

13、向中断服务入口地址所需的机器周期数。最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)2个周期(保护断点,相当于LCALL指令)。最长时间若当前指令是RET、RETI和访问IP、IE指令,紧接着下一条是乘除指令,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。第5章 C51单片机最小系统及应用3.中断服务程序(1)中断服务程序设计的基本任务:设置IE,允许相应的中断请求。设置IP,确定并分配所使用的中断优先级。若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发

14、还是边沿触发。编写中断服务程序,处理中断请求。(2)中断服务程序的流程第5章 C51单片机最小系统及应用4.恢复现场:与保护现场相对应,在返回前(即执行返回指令RETI前),通过“POP direct”指令将保护现场时压入堆栈的内容弹出,送到相关的存储单元后,再中断返回。5.中断返回:中断处理程序的最后一条指令是RETI,它的功能是使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。n5.1.5中断的编程及应用 对中断系统进行初始化,即对几个特殊功能寄存器的有关控制位进行赋值(1)开中断和允许中断源中断,设置IE。(2)确定各中断源的优先级,设置IP。(3)若为外部中断,应规定是电平

15、触发还是边沿触发,设置中断请求的触发方式ITx(x=0/1)。第5章 C51单片机最小系统及应用在中断服务程序中需完成下面几个必要工作:(1)现场保护和现场恢复(2)开中断和关中断 (3)中断处理(4)中断返回l5.2 定时/计数器n5.2.1 概述1.计数容量 :C51单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成,即每个计数器都是16位,最大计数容量是65536。2.定时:定时/计数器是单片机中最常用、最基本的重要组成功能部件之一,可用来实现定时控制、延时、频率测量、脉冲宽度测量、信号发生、信号检测等功能。第5章 C51单片机最小系统及应用3.溢出

16、:计数器溢出时,将使标志位TF0/TF1置“1”。一旦TF0/TF1由0变1,就会引发事件,像定时的时间一到,闹钟会响。4.定时方法:1)硬件定时-硬件定时方法的特点是定时功能全部由硬件电路完成,不占CPU时间,可通过修改电路中的元件参数(电阻或电容值)来调节定时时间,但硬件连接好以后,定时值不能由软件进行控制和修改,即不可编程。2)软件定时-让CPU循环执行一段程序以实现延迟,延迟时间可通过选择指令和设计循环次数来实现。软件定时的特点是时间精确,且无需外加硬件电路。3)可编程定时-通过对系统时钟脉冲的计数来实现。计数值容易用程序来设定和修改,使用既灵活又方便。第5章 C51单片机最小系统及应

17、用5.单片机时钟特点及与微机的区别:设单片机外接12MHz晶振。单片机中,定时/计数器实际是一个加1计数器,每输入一个脉冲,计数器的值就会自动加1,而花费的时间恰好是1微秒;只要相邻两个计数脉冲间的时间间隔相等,则计数值就代表了时间的流逝。PC机上的CPU主频是晶振经过倍频之后的频率,这一点恰好与C51单片机的相反。而C51单片机的主频是晶振经过分频之后的频率。所以,C51单片机中的时间概念是通过测量计数脉冲的个数得到n5.2.2 定时/计数的结构与工作原理1. 定时/计数器结构: C51单片机内部设有两个16位的可编程定时/计数器:定时器0和定时器1。T0由2个定时寄存器TH0和TL0构成,

18、T1则由TH1和TL1构成,它们分别映射在特殊功能寄存器中。第5章 C51单片机最小系统及应用 第5章 C51单片机最小系统及应用2. 定时/计数器工作原理16位定时/计数器的控制电路受软件控制、切换。当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为C51单片机的一个机器周期等于12个振荡周期,如果单片机系统采用12MHz晶振,即计数频率fcount=fosc,则计数周期为: usT11012126第5章 C51单片机最小系统及应用计数寄存器的溢出: (1)每来一个脉冲,计数器寄存器加1;

19、(2)计数器计满时,再来一脉冲加1,计数器溢出,产生溢出信号,TF0或TF1置1; (3)计数器溢出事件表示定时时间到或计数值已满,需要单片机处理,计数的初值为:计数初值=2n-计数值。3. 定时/计数器的控制寄存器 在定时/计数器开始工作前,CPU必须将控制字写入定时/计数器的相关寄存器,实现定时/计数器初始化。在初始化过程中,要将工作方式控制字写入方式寄存器,工作状态字写入控制寄存器,赋定时/计数初值。第5章 C51单片机最小系统及应用(1)定时/计数器控制寄存器TCON(88H) TCON为定时计数器控制寄存器,地址为88H,可位寻址,位地址范围为88H8FH。其功能是控制定时器的启动和

20、停止,它除了控制定时数器T0、Tl的溢出中断外,还控制着两个外部中断源的触发方式和锁存两个外部中断源的中断请求标志IE0和IE1。TCON T1 T1 T0 T0 INT1 INT1 INT0 INT0 中断标志 运行标志 中断标志 运行标志 中断标志 触发方式 中断标志 触发方式名称TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H 88H第5章 C51单片机最小系统及应用 TF1/TF0:C/T1、C/T0溢出中断请求标志位 TR1/TR0:C/T1、C/T0运行控制位。 IT0/IT1:外部中断0(或1)的中断触发方式控制位 IE0/IE1:

21、外部中断0(或1)的中断请求标志位(2)定时/计数器方式寄存器TMOD(89H) TMOD在特殊功能寄存器中,字节地址为89H,无位地址,不能位操作,设置TMOD须用字节操作指令。TMODGATEC/T M1 M0 GATE C/T M1 M089HD7D6 D5 D4 D3 D2 D1D0 定时器1 定时器0T第5章 C51单片机最小系统及应用n5.2.3 定时/计数器工作方式 C51系列单片机的定时/计数器还有4种工作方式(方式0、方式1、方式2和方式3)。除方式3外,T0和T1有完全相同的工作状态。1.工作方式0及其应用 工作方式0是13位计数器方式。最大计数值213 = 8192。定时

22、时间为: t=(213T0初值)机器周期=(213T0初值)振荡周期12 最大定时时间:213机器周期第5章 C51单片机最小系统及应用定时/计数器0工作在方式0时电路逻辑结构如图第5章 C51单片机最小系统及应用 当=0时,定时/计数器被设置为定时方式,单片机系统时钟振荡器产生的振荡信号被12分频后作为时基脉冲,加法计数器对机器周期计数;当=1时,定时/计数器被设置为计数方式,外部信号被选中,由T0端(P3.4脚)输入作为计数脉冲,当计数脉冲发生负跳变时,计数器加1,实现计数功能。2.工作方式1及其应用方式1是16位计数结构的工作方式。逻辑结构如图5-10所示。TL0:存放计数初值的低8位。

23、TH0存放计数初值的高8位。定时时间的计算: 定时时间=(216-定时初值)机器周期最大定时时间:216机器周期。第5章 C51单片机最小系统及应用第5章 C51单片机最小系统及应用当为计数工作方式时,计数值的范围是:165536(216)当为定时工作方式时,定时时间计算公式为: t=(216计数初值)晶振周期12 或 t=(216计数初值)机器周期 3.工作方式2及其应用方式2为可自动重装时间常数的8位定时/计数器。TL0为8位的定时/计数器,而TH0为8位预置寄存器,用于保存计数初值。工作过程:当TL0计满溢出时,TF0置1,向CPU发出中断请求;同时引起重装操作(TH0的计数初值送到TL

24、0),进行新一轮计数。第5章 C51单片机最小系统及应用优点:模式2能够进行自动重装载。模式0和1计数溢出后,计数器为全0。循环定时或计数时,需要重新设置初值。故当模式2能够满足计数/定时要求时,尽可能使用模式2。 缺点:这种方式的定时/计数范围要小于方式0和方式1。4.工作方式3及其应用 方式3为两个独立的8位计数器,即把定时器0的两个8位计数寄存器TH0和TL0分开使用。但此方式仅适用于T0,T1无方式3。第5章 C51单片机最小系统及应用n5.2.4 定时/计数器的应用1.定时/计数器的初始化(1)确定工作方式,尽可能地选择方式2,若 N256选择方式2,否则选择方式1;如果需要增加一个

25、定时/计数器则选择方式3;(2)预置定时或计数初值(可直接将初值写入TH0、TL0或TH1、TL1);(3)根据需要开放定时/计数器的中断(直接对IE位赋值); (4)启动定时/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚加启动电平。第5章 C51单片机最小系统及应用2.定时/计数器初值计算(1)工作于定时方式计数脉冲由内部的时钟提供,每个机器周期进行加1。设晶振频率为fosc,则计数脉冲的频率为fosc/12,计数脉冲周期T=1/(fosc/12)。设定时时间为t,求计数初值X,则: t=(2n -X)12/fosc (2)工作于计数方

26、式当工作在计数方式时,对外部脉冲计数。利用计数器计数结束产生溢出的特性,来计算初值X 。则有: X= 2n计数次数 第5章 C51单片机最小系统及应用l5.3 C51单片机串行通信与串行接口5.3.1串行通信基础知识1. 并行通信方式:并行通信将数据字节的各位用多条数据线同时传送,每一位数据都需要一条传输线,如图2.串行通信方式: 串行通信将数据的各位一位一位地依次传送。只需要一条数据线,外加一条公共信号地线和若干控制信号线第5章 C51单片机最小系统及应用3.串行通信的分类:按照同步时钟的不同,串行通信可分为同步通信和异步通信。在单片机中使用的大都是异步串行通信1)异步通信:异步通信中数据通

27、常是以字符(或字节)为单位组成字符帧传送。字符帧由发送端到接收端一帧一帧地发送和接收,这两个时钟彼此独立,互不同步 在异步通信方式中,接收器和发送器有各自的时钟,它们是非同步工作。通常,在无数据传送时,发送线为高电平(逻辑“ 1 ”),每当接收端检测到传输线上发送过来的低电平逻辑“ 0 ”(字符帧中起始位)时就知道发送端已开始发送,每当接收端接收到字符帧中停止位时就知道一帧字符信息已发送完毕。 第5章 C51单片机最小系统及应用(1)异步串行通信的字符格式 在异步通信中,接收端是依靠字符帧格式来判断发送端开始发送和结束发送的时间。字符帧也叫数据帧,由4部分组成: 起始位、 数据位、 奇偶校验位

28、和停止位.(2)异步通信的传输速率 异步串行通信的传送速率用波特率表示。波特率的定义为每秒钟传送二进制数码的位数(亦称比特数),单位是bps(bit per second),即位秒(3)传输距离与传输速率的关系 串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关。传输距离是随传输速率的增加而减小。第5章 C51单片机最小系统及应用(4)异步通信的传输方式 根据同一时刻串行通信的数据方向,异步串行通信可分为单工、半双工、全双工和多工方式等多种数据通路形式。 单工方式:数据仅按一个固定方向传送。 半双工方式式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现

29、收/发开关转换。 全双工方式式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。 多工方式:以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,可实现在同一线路上资源共享功能,称之为多工传输方式。第5章 C51单片机最小系统及应用2)同步通信 同步通信是一种连续串行传送数据的方式, 一次通信只传送一帧信息,同步通信格式中,发送器和接收器由同一个时钟源控制。在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就慢得多。为克服这一缺点,同步传输

30、方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。同步通信中,在数据开始传送前用同步字符来指示(常约定12个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,连续按顺序传送数据。同步传送时,字符与字符之间没有间隙,仅在数据块开始时用同步字符SYNC来指示,其数据格式如图5-20所示。第5章 C51单片机最小系统及应用第5章 C51单片机最小系统及应用4.串行通信的校验 异步通信时可能会出现帧格式错、超时错等传输错误,因此,应对数据进行差错校验。常用差错校验方法有奇偶校验、和校验及循环冗余码校验。(1) 奇偶校验:发送数据时, 数据位尾随1位数据, 为

31、奇偶校验位(1或0)。当设置为奇校验(0)时,数据中“1”的个数与校验位“1”的个数之和应为奇数。当设置为偶校验(1)时,数据中“1”的个数与校验位“1”的个数之和应为偶数。 接收时,接收方应具有与发送方一致的差错检验设置。当接收一个字符时,对“1”的个数进行校验,若二者不一致,则说明数据传送出现差错。第5章 C51单片机最小系统及应用(2) 和校验: 发送方将所发送的数据块求和(字节数求和),并产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据时也是先对数据块求和,将所得结果与发送方的校验和进行比较,相符则无差错,否则出现差错。特点是无法检验出字节位序的错误。(3)循环冗余码校

32、验这种校验是对一个数据块校验一次。例如对磁盘信息的访问、ROM或RAM存储区的完整性等的检验。这种方法广泛应用于串行通信方式。n5.3.2 C51串行接口编程结构 C51单片机内部有一个全双工、异步、串行、通信接口,通过引脚TXD(P3.1)和RXD(P3.0)实现串行数据的发送和接收。它既可实现串行异步通信,也可作为同步移位寄存器使用。 第5章 C51单片机最小系统及应用1. C51 串行口结构 C51单片机串行口包括发送缓冲寄存器(SBUF)、发送控制器、发送控制门、接收缓冲寄存器(SBUF)、接收控制寄存器、移位寄存器和中断构成。第5章 C51单片机最小系统及应用2.C51串行口相关寄存

33、器 控制C51单片机串口的寄存器有两个SCON和PCON。与串行通信有关的控制寄存器共有4个:SBUF、SCON、PCON和IE(1)串行口控制寄存器SCON(98H) C51串行通信的方式选择、接收和发送控制以及串行口的状态标志等由特殊功能寄存器SCON控制和指示,其控制字格式如图复位时,SCON所有位均清0。SCON可位寻址,字节地址98H,位地址9FH98H。第5章 C51单片机最小系统及应用第5章 C51单片机最小系统及应用串行口工作方式选择位SM0、SM1(SCON.7,SCON.6)两个选择位对应4种工作方式,如表5.7所示。其中,fosc是振荡频率。SM0、SM1由软件置1或清0

34、,用于选择串行口的4种工作方式(方式0、1、2、3)。SM0 SM1 工作方式 说明 波特率 0 0 方式0 同步移位寄存器 fosc/12 0 1 方式1 10位异步收发器(8位数据)有定时器控制 1 0 方式2 11位异步收发器(9位数据) fosc/32,fosc/64 1 1 方式3 11位异步收发器(9位数据)有定时器控制第5章 C51单片机最小系统及应用多机通信控制位SM2(SCON.5) 主要用于方式2和方式3。当串行口在方式2或方式3下进行数据接收时,如果SM2=1(允许多机通信)。 若SM2=0,单机通信方式,当收到RB8(0或1),则接收一贞数据后,不管第九位数据是0还是1

35、,都置RI=1,使接收到的数据装入SBUF。若置SM2=1,则允许多机通信。当一片C51(主机)与多片C51(从机)通信时,所有从机的SM2位都置1。主机首先发送一帧数据为地址,即从机编号,其中第9位为1,所有的从机接收到数据后,将其中第9位装入RB8中。各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。第5章 C51单片机最小系统及应用当SM2=1,REN=1时,若从机接收到的(RB8)0,说明是数据帧,收到的信息丢弃,不激活RI;若(RB8)1,说明是地址帧,数据装入SBUF并置RI1,中断所有从机,被寻址的目标从机清除SM2以接收主机发来的一帧数据。其他从机仍然

36、保持SM21。允许接收控制位REN(SCON.4) 由软件置1或清0,只有当REN1时才允许接收;若REN0,则禁止接收。发送数据D8位TB8(SCON.3) 发送数据的第9位(D8)装入TB8中。TB8是方式2、方式3中要发送的第9位数据,事先用软件写入1或0。方式0、方式1不用。第5章 C51单片机最小系统及应用接收数据D8位RB8(SCON.2) 接收数据的第9位。在方式2或方式3中,由硬件将接收到的第九位数据存入RB8位。它或是约定的奇/偶校验位,或是约定的地址/数据标识位。在方式2和方式3多机通信中,若SM21,如果RB81,说明收到的数据为地址帧。发送中断标志位TI(SCON.1)当串口以一定方式发送数据时,每发送完一帧数据,由硬件自动将Tl位置l,可用软件查询。它同时也申请中断,TI置位意味着向CPU提供“发送缓冲器SBUF已空”的信息,CPU可准备发送下一帧数据。串行口发送中断被响应后,TI不会自动清0,必须由软件清0。第5章 C51单片机最小系统及应用接收中断标志位RI(SCON.0) 在接收到一帧有效数据后由硬件置位。在方式0中,第8位数据发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论