NO7单片机串行口应用——单片机的双机通信电子课件 单片机应用技术.ppt
《NO7单片机串行口应用——单片机的双机通信电子课件 单片机应用技术.ppt》由会员分享,可在线阅读,更多相关《NO7单片机串行口应用——单片机的双机通信电子课件 单片机应用技术.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习任务七 单片机串行口应用单片机的双机通信单片机应用技术学 习 目 标任任务说务说明明 通过单片机之间的双机通信设计及任务实施,学习定时器的功能和编程应用,理解串行通信方式,掌握串行通信的重要指标:字符帧和波特率。掌握51系列单片机串行口的使用方法。双机通信的过程包括发送和接收,通信软件发送机中包含发送程序,接收机中包含接收程序,异步串行通信通过查询方式来确定数据的发送和接收。通过对本学习任务的学习,学生能够进一步强化单片机的硬件设计与软件的运行与调试能力。学 习 目 标知知识识和能力要求和能力要求 知识要求 (1)掌握串行通信的基础知识;(2)熟悉并行通信与串行通信的区别;(3)了解单片机
2、的串行接口及串行口特殊功能寄存器;(4)掌握串行接口程序设计的初始化内容;(5)掌握常用的串行转换器MAX538和MAX187;(6)掌握单片机串行通信常用的标准接口。学 习 目 标知知识识和能力要求和能力要求 能力要求 (1)能够灵活设计串行口电路实现通信;(2)能够灵活针对硬件通信电路设计、编写应用程序等;(3)能够对双机通信电路进行正确接线;(4)能够对双机通信系统进行正确的调试;(5)能够灵活地应用串行转换器MAX538和MAX187实现通信;(6)能够灵活地应用通信的标准接口实现通信。51系列单片机串行通信 一、实际应用中,不但计算机与外部设备之间常常要进行信息交换,而且计算机之间也
3、需要交换信息,所有这些信息的交换均称为“通信”。任 务 准 备任 务 准 备并行通信与串行通信 并行通信是构成一组数据的各位同时进行传送,如8位数据或16位数据并行传送。其特点是传输速度快,但当距离较远、位数又多时通信线路复杂且成本高。串行通信是数据一位接一位地顺序传送。其特点是通信线路简单,只要一对传输线(如电话线)就可以实现通信,从而大大地降低了系统成本,特别适用于远距离通信。缺点是传送速度慢。任 务 准 备串行口通信方式串行口通信方式1.1 1)异步通信)异步通信任 务 准 备 异步通信中数据是以字符为单位传送的。在传送过程中每一个字符(或一个字节)数据都要加进一些识别信息位和校验位,构
4、成一帧字符信息,或称为字符格式。发送信息时,信息位的同步时钟(即发送一个信息位的定时信号)并不发送到线路上去,数据的发送端和接收端各自有独立的时钟源。异步通信的一帧数据格式由起始位、数据位、奇偶校验位和停止位四部分组成。串行通信字符帧格式任 务 准 备 (1)起始位。按照串行通信协议规定,在通信双方实行数据传输时,线路呈逻辑“1”。发送端需要发送字符时,首先发送一个起始位,即将线路置成逻辑“0”,起始位长度占1位。(2)数据位。数据位紧跟在起始位之后,数据位可以为58位,通常使用7位或8位数据位。数据位在传送时,低位(LSB)在前,高位(MSB)在后。任 务 准 备 (3)奇偶校验位。在数据位
5、之后,是一个奇偶校验位。它是根据通信双方采用何种校验方式(奇校验或偶校验)的约定而加入的。目前专用于串行通信中的IC芯片大多采用这种校验方式。在传输过程中,CPU可以根据此标志进行纠错处理。(4)停止位。它用来表示一个字符数据的结束,用逻辑“1”表示。停止位长度可以是1位、1.5位或2位。停止位之后紧接着可以是下一个字符的起始位,也可以是空闲位(逻辑“1”),意味着线路处于等待状态。任 务 准 备2 2)同步通信)同步通信 同步通信是以数据块方式传输数据。通常在面向字符的同步传输中,其帧结构(或称为帧格式)由三部分组成,即由若干字符组成的数据块,在数据块前加上12个同步字符SYN,在数据块的后
6、部根据需要加入若干校验字符CRC。任 务 准 备同步通信数据格式 同步通信方式的同步由每个数据块前面的同步字符实现。同步字符的格式和数量可以根据需要约定。接收端在检测到同步字符之后,便确认开始传送有效数据字符。与异步通信不同的是,同步方式需要提供单独的时钟信号,且要求接收器时钟和发送器时钟严格保持同步。任 务 准 备同步通信数据传输速率同步通信数据传输速率2.串行通信数据传输速率用波特率来表示。波特率就是在通信时每秒钟传送的二进制数的位数,单位为位/秒(b/s)。在异步通信中,波特率为每秒传送的字符数与每个字符的位数的乘积。假如每秒传送120个字符,而每个字符按规定包含10位(起始位、校验位、
7、停止位各1位,数据位7位),则波特率为120字符/s10 b/字符=1 200 b/s 波特率越高,数据传输的速度越快,一般异步通信的波特率为509 600 b/s。任 务 准 备任 务 准 备注意注意串串行通信的制式行通信的制式3.(1)单工(simplex)制式。在单工方式下,通信双方的一方只能发送数据,另一方只能接收数据,如图所示。通信线的A端只有发送器,B端只有接收器,信息数据只能单向传送,即只能由A端传送到B端,而不能反传。任 务 准 备单工通信方式 (2)半双工(half duplex)制式。半双工方式中,通信线路两端的设备都有一个发送器和一个接收器,即收发一体,如图75所示。数据
8、可双方向传送,但不能同时传送,即A端发送B端接收或B端发送A端接收,A、B两端的发送/接收只能通过半双工通信协议切换交替工作。任 务 准 备半双工通信方式 (3)全双工(full duplex)制式。全双工通信方式简称双工通信方式。在全双工方式下,通信线路A、B两端都有发送器和接收器,A、B之间有两个独立通信的回路,两端数据可以同时发送和接收,因此通信效率比前两种要高。该方式下所需的传输线至少要有三条,一条用于发送,一条用于接收,一条用于公用信号地。任 务 准 备全双工通信方式串行口的连接方法串行口的连接方法4.任 务 准 备 根据通信距离的不同,串行口的电路连接方式可分为三种形式。如果距离很
9、近,只要两根信号线(TXD、RXD)和一根地线(GND)就可以实现互联;为了提高通信距离,并且距离在15 m以内可采用RS-232接口实现;如果是远程通信,可通过调制解调器进行通信互联。5151系列单片机的串行接口系列单片机的串行接口5.任 务 准 备 51系列单片机内部有一个很强的可编程的全双式通信接口,可同时发送和接收数据。它有4种工作方式,可供不同场合使用。波特率由软件设置,通过片内的定时/计数器产生。接收、发送均要工作在查询方式或中断方式,使用十分灵活。51系列的串行口除了用于数据通信外,还可以非常方便地构成1个或多个并行输入/输出口,或作为串并转换,用来驱动键盘与显示器。51系列单片
10、机串行口内部结构1 1)内部结构)内部结构任 务 准 备2 2)特殊功能寄存器)特殊功能寄存器 (1)串行口数据缓冲寄存器SBUF。51系列单片机通过特殊功能寄存器SBUF实现读写操作,即实现同时对数据的串行接收和串行发送,串行接收和串行发送缓冲器寄存器在串行口内部占两个独立的存储单元,共用一个地址99H。串行口数据传送使用的是内部数据传送指令“MOV A,SBUF”或“MOV SBUF,A”。当执行写操作时,访问串行发送寄存器SBUF;当执行读操作时,访问串行接收寄存器SBUF。串行接收寄存器具有双缓冲结构,即在从接收寄存器中读出前一个已收到的字节之前,便能接收第二个字节。但如果第二个字节已
11、经接收完毕,第一个字节还没有读出,则将丢失其中一个字节,编程时应引起注意。对于发送器,因为数据是由CPU控制发送的,所以不需要双缓冲。任 务 准 备 (2)串行口控制寄存器SCON。串行口控制寄存器SCON用来控制单片机串行口的工作方式的设定、接收与发送控制的状态,是一个特殊功能寄存器,其地址为98H,可位寻址在复位时所有位被清零。SCON的格式如下。任 务 准 备 其中各位的作用定义如下。SM0、SM1。串行口工作方式选择位,单片机串行口的工作方式见表7-1。任 务 准 备 单片机中断系统基本概念及结构组成 一、中断的基本概念中断的基本概念1.在计算机执行程序的过程中,当出现某种情况时,由服
12、务对象向CPU发出请求当前程序中断的信号,要求CPU暂时停止当前程序的执行,而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行原来被中断的程序,这样的过程称为中断过程。引起中断的原因或触发中断请求的来源称为中断源。为实现中断而设置的各种硬件和软件称为中断系统。任 务 准 备中断请求标志中断请求标志2.中断请求信号发出后,必须在相应的存储单元中设定标志,以便CPU及时查询并作出响应。与中断请求标志相关的寄存器有TCON和SCON两个特殊功能寄存器,其中对应于各中断源的标志位见表6-1。任 务 准 备 SM2。多机通信控制位。主要用于工作方式2和工作方式3。在方式2和方式3中,如SM2
13、=1时,则接收到的第9位数据(RB8)为0时不启动接收中断RI(RI=0),并且将接收到的前8位数据丢弃;RB8为1时,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求。当SM2=0时,则不论第9位数据为0或1,都将前8位数据装入SBUF中,并产生中断请求。在方式0时,SM2必须为0。任 务 准 备 REN。允许接收控制位。由软件置位或清零。REN=1时,允许接收;REN=0时,禁止接收。TB8。在方式2和方式3时,存放要发送数据的第9位数据,常用作奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位,若为地址帧,TB8=1;若为数据帧,TB8=0。RB8。在方式2和方式3时,
14、RB8保存接收到的第9位数据。在方式0时,不用RB8;在方式1时,如果SM2=0,则RB8是接收到的停止位。任 务 准 备 TI。发送中断标志位。在方式0下,发送完第8位数据位时,由硬件置位;在其他方式下,当开始发送停止位时,由硬件将TI置位,即向CPU申请中断,CPU可以发送下一帧数据。在任何方式下,TI必须用软件清零。RI。接收中断标志位。在方式0下,当接收完1帧数据时,由硬件将该位置位,在其他方式下,当接收到停止位时RI置位,即申请请求中断,要求CPU取走数据。响应中断后,用软件清零。任 务 准 备 (3)电源控制寄存器PCON。电源控制寄存器PCON是一个特殊的功能寄存器,它主要用于电
15、源控制方面。另外,PCON中的最高位SMOD位称为波特率加倍位,用于对串行口的波特率控制,它的格式如下。其中,最高位SMOD为串行口波特率选择位。当SMOD=1时,串行口工作在方式1、方式2、方式3时的波特率加倍。任 务 准 备3 3)工作方式)工作方式 (1)工作方式0。此时串行口作为同步移位寄存器使用,相当于一个并入串出或串入并出的移位寄存器。其波特率固定,为单片机振荡频率 f osc/12。数据从RXD输入或输出(低位在先,高位在后),TXD输出同步移位时钟,发送过程从“MOV SBUF,A”开始,当8位数据传送完毕后,TI被置1。接收时,必须先使REN1,RI0。当8位数据接收完后,R
16、I会置1,此时可由“MOV A,SBUF”将数据读入累加器。若要再次发送和接收数据,必须用软件将TI、RI清零。任 务 准 备 这种方式常用于单片机外围接口电路的扩展。串行发送时,外部可扩展一片(或几片)串入并出的移位寄存器,用来扩展一个并行口。典型应用如图所示。任 务 准 备串行口方式0任 务 准 备 (2)工作方式1。此时串行口工作于异步通信方式,帧数据格式为10位(8位数据位、1位起始位、1位停止位),其波特率是可变的。AT89S51串行口的波特率由工作在方式2下的定时器T1的溢出率决定。此方式时常设置定时器T1工作在方式2下,且禁止中断。任 务 准 备 定时器的溢出率,就是定时器一秒钟
17、计满溢出的次数。若将定时器当作一个可编程的分频器来理解,则溢出率就等于定时器对系统时钟分频后的信号频率。具体计算公式为 T1溢出率=f osc/12(2n -预置初值)当串行口以方式1发送时,CPU执行一条写发送寄存器指令“MOU SBUF,A”就可将数据位逐一由TXD端送出。发送一帧数据后,将TI置1。任 务 准 备 当串行口以方式1接收时,需控制SCON中的REN为1,此时对RXD引脚进行采样,当采样到起始有效时开始。当一帧数据接收完毕,且RI=0,SM0=0或接收到RB8=1时,接收的数据有效,此时可利用接收寄存器指令“MOV A,SBUF”将数据送入CPU,同时将RI置1。若要再次发送
18、时,必须用软件将TI、RI清零。(3)工作方式2和方式3。此时串行口工作为异步通信方式,帧数据格式为11位(1位起始位、8位数据位、1位可编程数据位、1位停止位)。方式2的波特率取决于SMOD位的值。当SMOD=0时,波特率为 f osc/64;当SMOD=1时,波特率为 f osc/32。任 务 准 备 方式3的波特率是可变的,是由定时器T1的溢出率决定的。发送时,由软件设置TB8后构成第9位数据进行发送,TB8可作为多机通信中的地址/数据信息的标志位,也可作为奇偶校验位。方式2、方式3的发送过程与方式1的发送过程类似。方式2、方式3的接收过程也与方式1类似,当接收到第9位数据后,将这一位数
19、据送入RB8中。任 务 准 备任 务 准 备任 务 准 备任 务 准 备 串行通信的程序设计 二、串行口的初始化编程串行口的初始化编程1.串行口的初始化编程主要是对串行口控制寄存器SCON、电源控制寄存器PCON中的相关位的设定及串行口波特率发生器TI1的初始化。如果涉及中断系统,则还需要对中断允许控制寄存器IE及中断优先级控制寄存器IP进行设定。任 务 准 备任 务 准 备【例例7-17-1】发送和接收程序设计发送和接收程序设计2.通信过程包含发送和接收两部分,因此通信软件也包括发送程序和接收程序,它们分别位于发送机和接收机中。发送和接收程序的设计一般采用查询和中断两种设计方法。异步串行通信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NO7单片机串行口应用单片机的双机通信电子课件 单片机应用技术 NO7 单片机 串行口 应用 双机 通信 电子 课件 应用技术
限制150内