课堂教学教案授课章节名称串口通讯基础知识1课型理论授课日期年月日第周课时数2教学目标知识与技能:1、了解串口通讯在工作中的应用2、能够根据实际类型选择所需的串口类型过程与方法:1、掌握串口的通讯原理分析方法情感态度价值观:1、培养对互联网+的物联网的兴趣教学重点串口通讯的过程和工作原理教学难点串口通讯的分类教学方法讲授法、演示法、实验法教学资源PPT、计算机仿真软件课外作业P1941,2教学后记教学实践教学环节与主要教学内容具体教学目标教学活动【新课讲授】串行通信概述1)、数据的通信方式数据通信方式有并行通信与串行通信两种,示意图见图5-1。①并行通信指数据的各个位能同时进行传送的一种通信方式。其优点是数据传送速度快、效率高;缺点是数据有多少位就要多少根数据线相互接口,尤其在远程通信时成本很高。所以并行通信一般应用在高速、短距离(一般几米之内)的场合。图5-1串行通信与并行通信示意图②串行通信是指使用一条数据线,将数据一位一位地依次传输,每位数据占据一个固定的时间长度。因此只需要少数几根线就可以在系统间进行信息交换。其优点是成本低、特别适合远距离通信。目前,采用串行通信方式进行信息交换是各类电子产品乃至工业控制的主流。比如常用的USB、RS232、RS485等接口都属于串行通信标准接口。2)、串行通信分同步通讯与异步通讯①同步通信指传送信息的每个字符都要用起始位和停止位作为字符开始和结束的标志,也就是在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送与接收。同步通信要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。正是由于实现同步通信的硬件和软件成本较高,这也是同步通信未广泛应用的原因之一。②异步通讯指传送信息时用一个起始位表示字符的开始,用停止位表示字符的结束。这种包含一个起始位表示开始与一个停止位表示结束的全部内容的一个字符叫一帧。其每帧的格式如下:在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。用这种格式表示字符,则字符可以一个接一个地传送,参见图5-2。51系列单片机就是采用的这种通信方式。了解数据通讯的方式了解通讯的数据结构教师讲授学生记录学生讨论图5-2一帧数据格式在异步通信中,CPU与外设之间必须有两项规定,即字符格式和波特率的要求。字符格式的规定是双方能够对同一种0和1的串理解成同一种意义。原则上字符格式可以由通信的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如发送的字符采用对应的ASCII码。至于波特率的要求与标准将在51单片机串口工作方式这部分详细阐述。3)、串行通信的方向串行通信的方向分为单工传送与双工传送。双工传送又分为半双工传送与全双工传送。①在串行通讯中,把通讯接口只能发送或接收的单向传送方法叫单工传送。比如发射台、收音机或电视机等设备。发送器A接收器B图1单工制式图5-3单工传送②把数据在甲乙两机之间的双向传递,称之为双工传送。在双工传送方式中又分为半双工传送和全双工传送。半双工传送是两机之间不能同时进行发送和接收,任一时刻,只能发送或者只能接收信息。比如步话机或对讲机的相互通信。发送接收发送接收A端B端图2半双工制式图5-4半双工传送所谓全双工传送是指两机之间能够同时发送或接收信息。比如手机通信、宽带上网等。发送接收接收发送A端B端图3全双工制式图5-5双工传送2、串行接口的组成1)、串行接口的结构串行接口主要由发送数据缓冲器、发送控制器、输出控制门、分析帧数据的含义教师讲授接收数据缓冲器、接收控制器、输入移位寄存器、波特率发生器T1等组成。串行口中还有两个特殊功能寄存器SCON、PCON,特殊功能寄存器SCON用来存放串行口的控制和状态信息。定时器/计数器1(T1)与定时器/计数器2(T2)都可构成串行口的波特率发生器,其波特率是否增倍可由特殊功能寄存器PCON的最高位控制。2)、串行数据缓冲器SBUFSBUF对应着两个寄存器,一个是串行发送寄存器,另一个是串行接收寄存器,但它们都用SBUF这一个名称,且统一编址为99H,故初学者往往搞不清楚。其实发送或接收虽然都用SBUF,但不会出现冲突,事实上是两个寄存器,一个只能发送数据用、另一个只能接收数据用。举个例子,在编程时如果你想从TXD发送一个数据,假设这个数据存放在buffer中,指令写成“SBUF=buffer;”。反之,如果通过RXD接收一个数据,假设接收的数据准备存放到buffer中,指令写成“buffer=SBUF;”,所以是不一样的。3)、串行口的特殊功能寄存器①串行口控制寄存器SCON串行口控制寄存器SCON用于定义串行口的工作方式及实施接收和发送控制,该寄存器地址为98H,其各位定义如下表:D7D6D5D4D3D2D1D0SCONSM0SM1SM2RENTB8RB8TIRI98H9FH9EH9DH9CH9BH9AH99H98H各位的含义如下:SM0、SM1:串行口工作方式选择位,其定义如下:方式位工作方式功能波特率SM0SM100方式0同步移位寄存器方式Fosc/1201方式18(10)位UART方式须设置10方式29(11)位UART方式Fosc/32(64)11方式39(11)位UART方式须设置上表中的Fosc指单片机晶振的频率。SM2:多机通讯控制位在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。REN:接收允许控制位由软件置位以允许接收,又由软件清0来禁止接收。TB8:是要发送数据的第9位在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。RB8:接收到的数据的第9位在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接了解单片机串口的程序配置方法收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。TI:发送中断标志在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清零。RI:接收中断标志位在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清零。②电源控制寄存器PCON串行口设置中借用了PCON(直接地址为87H)的最高位SMOD,该特殊功能寄存器本身不可位寻址,基本功能如下:SMOD------GF1GF0PDIDLSMOD:波特率加倍位当使用T1作波特率发生器,且工作在方式1或2时,如果SMOD=1,则传送的波特率增加一倍;SMOD=0,则不加倍。GF1、GF0:普通标志位用户可以根据需要选择使用。PD:掉电工作模式当PD为1时,单片机进入掉电工作方式。在掉电方式下,CPU停止工作,片内振荡器停止工作。由于时钟被“冻结”,一切功能都停止。片内RAM的内容和专用寄存器中的内容一直保持到掉电方式结束为止。退出掉电方式的唯一途径是硬件复位,复位时会重新定义专用寄存器中的值,但不改变片内RAM的内容。即在掉电方式下,只有片内RAM的内容被保持,专用寄存器的内容则不保持。IDL:空闲工作模式IDL为1时,单片机进入空闲模式。在空闲模式下,CPU处于睡眠状态,但片内的其他部件仍然工作,而且片内RAM的内容和所有专用寄存器的内容在空闲方式期间都被保留起来。终止空闲方式有两条途经,一个方法是激活任何一个被允许的中断,IDL将被硬件清除,结束空闲工作方式,中断得到响应后,进入中断服务子程序,紧跟在RETI之后,下一条要执行的指令将是使单片机进入空闲方式那条指令的后面一条指令;另一个方法是通过硬件复位。要注意的是,当空闲方式是靠硬件复位来结束时,CPU通常都是从激活空闲方式那条指令的下一条指令开始继续执行。但要完成内部复位操作,硬件复位信号要保持2个机器周期(24个振荡器周期)有效。3、串行口工作方式从前面的SCON学习中可知,AT89S52单片机的全双工串行口可设置为4种工作方式,通过编程设置,可以使其工作在任一方式,以满足不同场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可以作多机通信,以构成分布式多微机系统。现详细叙述如下:1)、方式0方式0为移位寄存器输入/输出方式。可外接移位寄存器以扩展I/O口,也可以外接同步输入/输出设备。8位串行数据是从RXD输入或输出,TXD用来输出同步脉冲。当输出时,串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fos/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位。当输入时,串行口以方式0接收,先置位允许接收控制位REN。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(RI)=0和(REN)=1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。2)、方式1方式1为波特率可变的10位异步通讯接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。当输出时,CPU执行一条指令将数据写入发送缓冲SBUF,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后,由硬件置位TI。当输入时,在(REN)=1时,串行口采样RXD引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。只有当(RI)=0且停止位为1或者(SM2)=0时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI,否则信息就丢失了。所以在方式1接收时,应先用软件清零RI和SM2标志。3)、方式2方式2为固定波特率的11位UART方式。它比方式1增加了一位可程控的为1或0的第9位数据。当输出时,发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON寄存器的TB8位,用软件置位或复位。它可作为多机通讯中地址/数据信息的标志位,也可以作为数据的奇偶校验位。当CPU执行一条数据写入SUBF的指令时,就启动发送器发送。发送一帧信息后,置位中断标志TI。当输入时,在(REN)=1时,串行口采样RXD引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。在接收到附加的第9位数据后,当(RI)=0或者(SM2)=0时,第9位数据才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。且不置位RI。再过一位时间后,不管上述条件时否满足,接收电路即行复位,并重新检测RXD上从1到0的跳变。4)、方式3方式3也为波特率可变的11位UART方式。除波特率外,其余与方式2相同。【作业】P1941,2