书签 分享 收藏 举报 版权申诉 / 50
上传文档赚钱

类型单片机第8章-AT89S51单片机串行通信技术课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2912540
  • 上传时间:2022-06-10
  • 格式:PPT
  • 页数:50
  • 大小:955.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《单片机第8章-AT89S51单片机串行通信技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 AT89S51 串行 通信 技术 课件
    资源描述:

    1、单片机原理、应用与仿真单片机原理、应用与仿真 第第8章章 AT89S51单片机串行通信接单片机串行通信接口技术口技术单片机原理、应用与仿真单片机原理、应用与仿真 第第8章章 AT89S51单片机串行通信接口技术单片机串行通信接口技术l 【知识目标知识目标】1.掌握串行口的工作原理及相关的特殊功能寄存器。掌握串行口的工作原理及相关的特殊功能寄存器。2.熟悉标准串行接口的硬件接口设计。熟悉标准串行接口的硬件接口设计。3.掌握串行通信程序的设计。掌握串行通信程序的设计。l 【技能目标技能目标】1.掌握串行口的硬件接口电路设计及软件驱动程序设计。掌握串行口的硬件接口电路设计及软件驱动程序设计。2.掌握

    2、基于掌握基于PROTEUS的串行通信接口电路的仿真调试。的串行通信接口电路的仿真调试。单片机原理、应用与仿真单片机原理、应用与仿真 8.1 串行口的结构串行口的结构l AT89S51单片机内部有一个功能强大的全双工的异步通信串口。单片机内部有一个功能强大的全双工的异步通信串口。全双工就是双机之间串行接收、发送数据可同时进行。异步通全双工就是双机之间串行接收、发送数据可同时进行。异步通信是指通信双方没有同步时钟来控制收、发双方的传送,而是信是指通信双方没有同步时钟来控制收、发双方的传送,而是靠双方各自的时钟来控制数据的异步传送。单片机中使用的数靠双方各自的时钟来控制数据的异步传送。单片机中使用的

    3、数据都是并行数据,所以在发送端将并行数据转换为串行数据,据都是并行数据,所以在发送端将并行数据转换为串行数据,而在接收端要将串行数据转换为并行数据。这是由串行接口电而在接收端要将串行数据转换为并行数据。这是由串行接口电路实现,这种电路也称之为通用异步接收发送器路实现,这种电路也称之为通用异步接收发送器(UART)。l AT89S51单片机的串口由单片机的串口由2个数据缓冲器、个数据缓冲器、1个移位寄存器和个移位寄存器和1个串行控制寄存器个串行控制寄存器等组成。数据缓冲器由串行接收缓冲器和发等组成。数据缓冲器由串行接收缓冲器和发送缓冲器构成,它们在物理上是独立的,既可以接收数据也可送缓冲器构成,

    4、它们在物理上是独立的,既可以接收数据也可以发送数据,还可以同时发送和接收数据。接收缓冲器只能读以发送数据,还可以同时发送和接收数据。接收缓冲器只能读出,不能写入,而发送缓冲器则只能写入,不能读出。出,不能写入,而发送缓冲器则只能写入,不能读出。它们共它们共用一个地址用一个地址(99H)。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl SCON是是AT89S51单片机可位寻址的特殊功能寄单片机可位寻址的特殊功能寄存器,主要用于控制串口的串行数据通信。单元存器,主要用于控制串口的串行数据通信。单元地址是地址是98H,复位后位,复位后位00H。各位

    5、的定义如下:。各位的定义如下:位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H位号SCON.7SCON.6SCON.5SCON.4SCON.3SCON.2SCON.1SCON.0单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl SM0 SM1:串行口:串行口4种工作方式的选择位。如表种工作方式的选择位。如表8-1所示。所示。SM0SM1工作方式功能简述 00工作方式0移位寄存器工作方式,波特率为/12 01工作方式18位数据异步收发,波特率可变 10工作方式29位数据异步收发,波特率为/3

    6、2或/64 11工作方式39位数据异步收发,波特率可变表表8-1串行通信工作方式串行通信工作方式单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl SM2:多机级通信控制位。因为多机通信是在方式:多机级通信控制位。因为多机通信是在方式2和方和方式式3下进行的,因此,下进行的,因此,SM2位主要用于方式位主要用于方式2和方式和方式3中。中。当串行口以方式当串行口以方式2或方式或方式3接收时,如果接收时,如果SM2=1,则只有,则只有当接收到的第当接收到的第9位数据位数据(RB8)为为1时,才将接收到的前时,才将接收到的前8位位数据送入数据送入SBU

    7、F,并置,并置1RI,产生中断请求;当接收到的,产生中断请求;当接收到的第第9位数据位数据(RB8)为为0时,则将接收到的前时,则将接收到的前8位数据丢弃。位数据丢弃。而当而当SM2=0时,则不论第时,则不论第9位数据是位数据是1还是还是0,都将前,都将前8位位数据送入数据送入SBUF中,并将中,并将RI置置1,产生中断请求。,产生中断请求。 在方式在方式1时,如果时,如果SM2=1,则只有收到有效的停止位时才,则只有收到有效的停止位时才会激活会激活RI。 在方式在方式0时,时,SM2必须为必须为0。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCO

    8、Nl REN:允许串行接收位。由软件置:允许串行接收位。由软件置1或清或清0。若。若REN=1,允许串行口接收数据;若,允许串行口接收数据;若REN=0,禁止,禁止串行口接收数据。串行口接收数据。l TB8:发送的第:发送的第9位数据。在方式位数据。在方式2和和3时,时,TB8是是要发送的第要发送的第9位数据。其值由软件置位数据。其值由软件置1或清或清0。在。在双机通信时,双机通信时,TB8一般作为奇偶校验位使用;在一般作为奇偶校验位使用;在多机通信中用来表示主机发送的是地址帧还是数多机通信中用来表示主机发送的是地址帧还是数据帧,据帧,TB8=1为地址帧,为地址帧,TB8=0为数据帧。为数据帧

    9、。l RB8:接收到的第:接收到的第9位数据。在方式位数据。在方式2和和3时,时,TB8存放接收到的第存放接收到的第9位数据。在方式位数据。在方式1,如果,如果SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0,不使用,不使用RB8。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl TI:发送中断标志位。串行口工作在方式:发送中断标志位。串行口工作在方式0时,串行发送第时,串行发送第8位数据结束时由硬件置位数据结束时由硬件置1,在其他工作方式,串行口发送,在其他工作方式,串行口发送停止位的开始时置停止位的开始时置1。TI=1,

    10、表示一帧数据发送结束,可供,表示一帧数据发送结束,可供软件查询,也可申请中断。软件查询,也可申请中断。CPU响应中断后,在中断服务响应中断后,在中断服务程序中向程序中向SBUF写入要发送的下一帧数据。写入要发送的下一帧数据。TI必须由软件清必须由软件清0。l RI:接收中断标志位。串行口在工作方式:接收中断标志位。串行口在工作方式0时,接收完第时,接收完第8位数据时,位数据时,RI由硬件置由硬件置1。在其它工作方式中,串行口接收。在其它工作方式中,串行口接收到停止位时,该位置到停止位时,该位置1。RI=1,表示一帧数据接收完毕,并,表示一帧数据接收完毕,并申请中断,要求申请中断,要求CPU从接

    11、收从接收SBUF取走数据。该位的状态取走数据。该位的状态也可供软件查询。也可供软件查询。RI必须由软件清必须由软件清0。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.2电源控制寄存器电源控制寄存器PCONl PCON,不能位寻址。地址为,不能位寻址。地址为87H。各位的定义。各位的定义如下如下l 其中,与串行通信相关的位是其中,与串行通信相关的位是SMOD。l SMOD:串行口波特率系数控制位。若:串行口波特率系数控制位。若SMOD=1,方式方式1、方式、方式2和方式和方式3的波特率加倍。若的波特率加倍。若SMOD=0,各工作方式的波特率保持不变。,各工作方式的波特率保持不变。 位称S

    12、MOD GF1GF0PDIDL单片机原理、应用与仿真单片机原理、应用与仿真 8.1.3数据缓冲寄存器数据缓冲寄存器SBUF l 数据缓冲寄存器数据缓冲寄存器SBUF用于保存要发送的数据或用于保存要发送的数据或者从串口接收到的数据,在特殊功能寄存器区的者从串口接收到的数据,在特殊功能寄存器区的地址是地址是99H。CPU执行写执行写 MOV SBUF,A指令便指令便开始触发串口数据的发送。开始触发串口数据的发送。SBUF便一位一位地便一位一位地发送数据,发送完成后置标志发送数据,发送完成后置标志TI=1;在;在CPU允许允许接收串行数据的时,外部串行数据经接收串行数据的时,外部串行数据经RXD送入

    13、送入SBUF时,电路便自动启动接收,第时,电路便自动启动接收,第9位则装入位则装入SCON寄存器的寄存器的RB8位,直至完成一帧数据后将位,直至完成一帧数据后将RI置置1,当串口接收缓冲器接收到一帧数据时,可,当串口接收缓冲器接收到一帧数据时,可以执行以执行MOV A,SBUF指令进行读取。指令进行读取。单片机原理、应用与仿真单片机原理、应用与仿真 8.2串行口的工作方式串行口的工作方式l AT89S51单片机的串行接口有单片机的串行接口有4种工作模式,可种工作模式,可通过对通过对SCON中的中的SM0、SM1位的设置选择。位的设置选择。l 1.工作方式工作方式0串行数据通过串行数据通过RXD

    14、输入输出,输入输出,TXD输出时钟。每次发输出时钟。每次发送或者接收送或者接收8位数据。波特率为位数据。波特率为 /12。当以中断方式传。当以中断方式传送数据时,送数据时,CPU响应中断并不会自动清除响应中断并不会自动清除TI、RI标志,标志,所以在中断服务程序中必须由指令清所以在中断服务程序中必须由指令清0。单片机原理、应用与仿真单片机原理、应用与仿真 2.工作方式工作方式1l 串行数据通过串行数据通过TXD发送,发送,RXD接收。一帧数据是接收。一帧数据是10位,位,包括包括1位起始位,位起始位,8位数据为和位数据为和1位停止位。波特率是可变位停止位。波特率是可变的,由定时器的,由定时器1

    15、溢出率和溢出率和SMOD共同决定。方式共同决定。方式1的波特率的波特率由下式确定:由下式确定:方式方式1波特率波特率= l 当一帧数据发送结束时,将串行控制寄存器当一帧数据发送结束时,将串行控制寄存器SCON中的中的TI置置1,通知,通知CPU数据发送已经结束,可以发送下一帧数据。数据发送已经结束,可以发送下一帧数据。l 若若REN处于允许接收状态,当一帧数据接收完毕后,将处于允许接收状态,当一帧数据接收完毕后,将SCON中的中的RI置置1,通知,通知CPU从从SBUF取走接收到的数据。取走接收到的数据。的溢出率定时器 1T322SMOD单片机原理、应用与仿真单片机原理、应用与仿真 3.工作方

    16、式工作方式2l 串行数据通过串行数据通过TXD发送,发送,RXD接收。每帧数据均接收。每帧数据均为为11位,包括位,包括1位起始位,位起始位,8位数据位,位数据位,1位可程位可程控为控为1或或0的第的第9位及位及1位停止位。波特率由下式确位停止位。波特率由下式确定:定:l 方式方式2的波特率的波特率= l 第第9位数据可以自己定义,一般在双机通信时作位数据可以自己定义,一般在双机通信时作为奇偶校验位,多机通信时作为地址为奇偶校验位,多机通信时作为地址/数据的标志数据的标志位。在发送一帧数据时,位。在发送一帧数据时,CPU除了要把除了要把8位数据位数据送送SBUF外,要先将第外,要先将第9位数据

    17、送到位数据送到SCON的的TB8中。中。oscSMOD642f单片机原理、应用与仿真单片机原理、应用与仿真 4.工作方式工作方式3l 除了波特率外,工作方式除了波特率外,工作方式3和方式和方式2相同,方式相同,方式3的波特率由下式确定:的波特率由下式确定:l 方式方式3波特率波特率= 的溢出率定时器 1T322SMOD单片机原理、应用与仿真单片机原理、应用与仿真 8.3波特率的设定波特率的设定l AT89S51单片机的串行口以方式单片机的串行口以方式0工作时,波特工作时,波特率为率为 /12。l 串行口工作于方式串行口工作于方式2时,若时,若SMOD=1,波特率为,波特率为振荡频率的振荡频率的

    18、1/32;若;若SMOD=0,波特率为振荡频,波特率为振荡频率的率的1/64。l 串行口以方式串行口以方式1或方式或方式3工作时,波特率是可变的。工作时,波特率是可变的。波特率的计算公式为:波特率的计算公式为:波特率=的溢出率定时器 1T322SMOD单片机原理、应用与仿真单片机原理、应用与仿真 l 如果定时器如果定时器T1用作波特率发生器,则就不能用作用作波特率发生器,则就不能用作中断。在典型的应用中中断。在典型的应用中T1以定时器方式工作,并以定时器方式工作,并处于定时方式处于定时方式2即自动重新装载的模式下,设置即自动重新装载的模式下,设置完后启动定时器完后启动定时器1。l 则波特率为:

    19、则波特率为:溢出率=C2561211OSCf定时时间定时器波特率=C25612322OSCSMODf单片机原理、应用与仿真单片机原理、应用与仿真 时时 钟钟 频频 率率波波 特特 率率常常 数数SMOD=1SMOD=01228800FEHFFH19200FDH-14400FCHFEH9600F9HFDH4800F3HF9H2400E6HF3H1200CCHE6H11.059228800FEHFFH19200FDH-14400FCHFEH9600FAHFDH4800F4HFAH2400E8HF4H1200D0HE8H单片机原理、应用与仿真单片机原理、应用与仿真 8.4单片机的串行通信接口技术单片

    20、机的串行通信接口技术l AT89S51单片机串行口的输入、输出均为单片机串行口的输入、输出均为TTL电电平。使用平。使用TTL电平进行串行数据的传送,传输距电平进行串行数据的传送,传输距离短,抗干扰能力差。为了提高通信的可靠性,离短,抗干扰能力差。为了提高通信的可靠性,增大串行通信的距离,通常采用标准串行接口,增大串行通信的距离,通常采用标准串行接口,如如RS-232、RS-422以及以及RS-485等标准接口。等标准接口。l RS-232是美国电子工业协会(是美国电子工业协会(EIA)的推荐标准,)的推荐标准,适用于短距离或带调制解调器的串行通信场合。适用于短距离或带调制解调器的串行通信场合

    21、。为了提高串行数据传输率和通信距离以及抗干扰为了提高串行数据传输率和通信距离以及抗干扰能力,能力,EIA又公布了又公布了RS-422和和RS-485串行总线接串行总线接口标准。口标准。单片机原理、应用与仿真单片机原理、应用与仿真 8.4.1标准串行通信接口标准串行通信接口l 1.RS-232C接口接口RS-232C是异步串行通信中应用最广的标准串行接口,是异步串行通信中应用最广的标准串行接口,它定义了数据终端设备和数据通信设备之间的串行接它定义了数据终端设备和数据通信设备之间的串行接口标准。口标准。l (1)RS-232信号引脚定义信号引脚定义RS-232C标准规定了标准规定了25针连接器,但

    22、许多信号是为了针连接器,但许多信号是为了通信业务联系或信息控制而定义的,所以通信业务联系或信息控制而定义的,所以PC机配置的机配置的都是都是9针针“D”型连接器。图型连接器。图8-3为为RS-232C的的“D”型型9针针插头的引脚定义。插头的引脚定义。单片机原理、应用与仿真单片机原理、应用与仿真 (2)电气特性)电气特性l RS-232C上传送的数字量采用负逻辑,且与地对上传送的数字量采用负逻辑,且与地对称。称。逻辑逻辑1:-3-15V;逻辑逻辑0:+3+15V。l RS-232C标准的信号传输的最大电缆长度为标准的信号传输的最大电缆长度为30m,最高数据传输速率位,最高数据传输速率位20kb

    23、/s。单片机原理、应用与仿真单片机原理、应用与仿真 (3)电平转换)电平转换l 由于由于AT89S51单片机串行口的输入、输出都是单片机串行口的输入、输出都是TTL电平,电平,TTL电平和电平和RS-232C电平互不兼容,电平互不兼容,所以必须进行电平转换,常用的芯片是美国所以必须进行电平转换,常用的芯片是美国MAXIM公司的产品公司的产品MAX232芯片。芯片。 MAX232是是RS-232C双工发送器双工发送器/接收器电路芯片,其外部引接收器电路芯片,其外部引脚如图脚如图8-4所示,使用所示,使用MAX232实现实现TTL/RS-232C之间的电平转换电路如图之间的电平转换电路如图8-5所

    24、示。所示。单片机原理、应用与仿真单片机原理、应用与仿真 MAX232芯片引脚图及芯片引脚图及RS-232C接口的电平接口的电平转换电路转换电路单片机原理、应用与仿真单片机原理、应用与仿真 2. RS-422A接口接口 由于由于RS-232C传输的速率低、通信距离短、抗干传输的速率低、通信距离短、抗干扰能力差等,所以扰能力差等,所以EIA又制定了又制定了RS-422A标准。标准。l (1)电气特性)电气特性RS-422A的全称是的全称是“平衡电压数字接口电路的电气特平衡电压数字接口电路的电气特性性”,全双工,传输信号为两对平衡差分信号线,因,全双工,传输信号为两对平衡差分信号线,因此此RS-42

    25、2A的传输距离长,最大传输距离可达到的传输距离长,最大传输距离可达到1200m,最大传输速率位,最大传输速率位10Mb/s。单片机原理、应用与仿真单片机原理、应用与仿真 (2)电平转换)电平转换l TTL电平转换成电平转换成RS-422A电平的常用芯片有电平的常用芯片有MC3487、SN75174等;等;RS-422A电平转换成电平转换成TTL电平的常用芯片有电平的常用芯片有MC3486、SN75175等。等。典型的转换电路如图典型的转换电路如图8-6所示。所示。 单片机原理、应用与仿真单片机原理、应用与仿真 3.RS-485接口接口l RS-485是是RS-422A的变形,它与的变形,它与R

    26、S-422A的区别的区别是是RS-485为半双工,采用为半双工,采用1对平衡差分信号线。对平衡差分信号线。l (1)电气特性)电气特性RS-485的信号传输采用两线间的电压来表示逻辑的信号传输采用两线间的电压来表示逻辑1和逻和逻辑辑0,数据采用差分传输,抗干扰能力强,传输距离可达,数据采用差分传输,抗干扰能力强,传输距离可达到到1200m,传输速率可达,传输速率可达10Mb/s。驱动器输出电平在驱动器输出电平在-1.5V以下时为逻辑以下时为逻辑1,在,在+1.5V以上时以上时为逻辑为逻辑0。接收器输入电平在。接收器输入电平在-0.2V以下时为逻辑以下时为逻辑1,在,在+0.2V以上为逻辑以上为

    27、逻辑0。单片机原理、应用与仿真单片机原理、应用与仿真 (2)电平转换)电平转换l 适用于适用于RS-422A标准中所用的驱动器和接收器芯标准中所用的驱动器和接收器芯片,在片,在RS-485中均可以使用。普通的中均可以使用。普通的PC机一般机一般不带不带RS-485接口,因此要使用接口,因此要使用RS-232/RS-485转转换器。换器。RS-485接口电平转换电路如图接口电平转换电路如图8-7所示。所示。单片机原理、应用与仿真单片机原理、应用与仿真 8.4.2 串口转换为并口输出串口转换为并口输出 l 74LS164 为为 8 位移位寄存器,引脚如图位移位寄存器,引脚如图8-8所示。所示。CL

    28、OCK :时钟输入端。:时钟输入端。CLEAR: 同步清除输入端,低电平有效。同步清除输入端,低电平有效。 A,B : 串行数据输入端。串行数据输入端。 Q0Q7: 数据输出端。数据输出端。单片机原理、应用与仿真单片机原理、应用与仿真 【例例8-1】 用用AT89S51单片机串行口外接单片机串行口外接74LS164扩展并行输出口,扩展并行输出口,8位并行口的各位位并行口的各位分别接一个发光二极管,要求发光二极管轮分别接一个发光二极管,要求发光二极管轮流点亮。流点亮。单片机原理、应用与仿真单片机原理、应用与仿真 解:解:1.硬件电路的设计硬件电路的设计单片机原理、应用与仿真单片机原理、应用与仿真

    29、 2.程序设计程序设计 l ORG 0000Hl AJMP MAINl ORG 0030Hl MAIN:MOV SCON,#00H ;设置方式设置方式0l MOV A,#80H ;最高位先亮最高位先亮l OUT :MOV SBUF,A ;开始串行输出开始串行输出l JNB TI,$ ;输出是否完毕?输出是否完毕?l CLR TI ;清清TIl ACALL DELAY ;延时延时l RR A ;循环右移循环右移l SJMP OUT ;循环循环单片机原理、应用与仿真单片机原理、应用与仿真 l DELAY: MOV R7,#5 ;延时程序延时程序l D1:MOV R6,#250l D2:MOV R5

    30、,#250l DJNZ R5,$l DJNZ R6,D2l DJNZ R7,D1l RETl END单片机原理、应用与仿真单片机原理、应用与仿真 8.4.3多机串行通信接口多机串行通信接口l 单片机的多机通信是指一台主机和多台从机之间单片机的多机通信是指一台主机和多台从机之间的通信,在多机通信中,使用单片机构成分布式的通信,在多机通信中,使用单片机构成分布式系统,主机与各从机可实现全双工通信,各从机系统,主机与各从机可实现全双工通信,各从机之间只能通过主机交换信息。之间只能通过主机交换信息。l 【例例8-2】甲乙丙三机相距甲乙丙三机相距1m进行串行通信,要进行串行通信,要求:甲机是主机,乙机和

    31、丙机是从机,乙机的编求:甲机是主机,乙机和丙机是从机,乙机的编号是号是1,丙机的编号是,丙机的编号是2;主机将要发送的;主机将要发送的10个数个数据存放在内部数据存储器据存放在内部数据存储器30H开始的单元中,从开始的单元中,从机将接收到的数据放入内部数据存储器机将接收到的数据放入内部数据存储器30H开始开始的单元中;主机和从机时钟振荡频率为的单元中;主机和从机时钟振荡频率为11.0592MHZ单片机原理、应用与仿真单片机原理、应用与仿真 解:解:1.接口电路接口电路单片机原理、应用与仿真单片机原理、应用与仿真 2.通信协议通信协议l 在单片机多机通信中,要确保主机与从机之间可靠的通信在单片机

    32、多机通信中,要确保主机与从机之间可靠的通信,必须保证通信接口具有识别功能,串行口控制器,必须保证通信接口具有识别功能,串行口控制器SCON的的SM2就可以满足这一要求。当串行口以方式就可以满足这一要求。当串行口以方式2或方式或方式3工工作时,发送和接收的每一帧信息都是作时,发送和接收的每一帧信息都是11位,其中第位,其中第9位数位数据是可编程的,通过对据是可编程的,通过对SCON中的中的TB8置置“1”或清零,或清零,以区分发送的是地址还是数据,若以区分发送的是地址还是数据,若TB8为为1发送的是地址发送的是地址帧,否则发送的是数据帧。如果从机的控制位帧,否则发送的是数据帧。如果从机的控制位S

    33、M2=1,则当接收的是地址帧时,数据装入则当接收的是地址帧时,数据装入SBUF,并置,并置RI=1;如;如果接收的是数据帧时,则从机不予理睬,数据丢弃。若果接收的是数据帧时,则从机不予理睬,数据丢弃。若SM2=0,则无论接收地址帧还是数据帧都将,则无论接收地址帧还是数据帧都将RI置置1,数据,数据装入装入SBUF。因此,我们可以拟定多机通信的编程要求如。因此,我们可以拟定多机通信的编程要求如下:下:单片机原理、应用与仿真单片机原理、应用与仿真 l 将所有从机的将所有从机的SM2置置1,只接收地址帧。,只接收地址帧。l 主机发送一帧地址信息,第主机发送一帧地址信息,第9位为位为1。l 当从机接收

    34、到地址帧后,与自己的地址相比较当从机接收到地址帧后,与自己的地址相比较。若相同,则从机将。若相同,则从机将SM2清零,否则从机维持清零,否则从机维持SM2=1不变。不变。l 主机将第主机将第9位清零,发送数据或控制信息。对位清零,发送数据或控制信息。对于已经被寻址的从机,因为于已经被寻址的从机,因为SM2=0,故可以接收,故可以接收主机的信息;而其他从机因为主机的信息;而其他从机因为SM2=1,对主机发,对主机发来的信息不予理睬。来的信息不予理睬。l 从机接收数据结束后,恢复其从机接收数据结束后,恢复其SM2=1。l 当主机改为与另外从机联系时,再发出地址帧当主机改为与另外从机联系时,再发出地

    35、址帧寻址其他从机。寻址其他从机。单片机原理、应用与仿真单片机原理、应用与仿真 3.程序设计程序设计l 主机程序:主机程序:l ORG 0000Hl LJMP MAINl ORG 0100Hl MAIN: CLR EAl MOV SP,#75H ;设置堆栈指针设置堆栈指针l MOV TMOD,#20H ;定时器定时器1工作方式工作方式2l MOV TH1,#0F4H ;2400bps的时间常数的时间常数,时钟时钟频率频率11.0592MHZl MOV TL1,#0F4Hl MOV PCON,#00H ;SMOD=0l MOV 20H,#01H ;置下位机编号置下位机编号单片机原理、应用与仿真单片

    36、机原理、应用与仿真 l MOV 22H,#02H ;置下位机个数置下位机个数l MAIN1:SETB TR1 ;启动定时器启动定时器l CLR ES ;使用查询方式,关中断使用查询方式,关中断l CLR ET1l CLR RIl MOV SCON,#0F0H ;串行口工作方式串行口工作方式3,允许接收允许接收l MOV R0,#30H ;设置数据块起始地址设置数据块起始地址l MOV 21H,#0AH ;置要发送的数据个数置要发送的数据个数l CONNECT: SETB TB8 ;多机通信,置多机通信,置TB8l MOV A,20Hl MOV SBUF,A ;发送地址编号发送地址编号l JNB

    37、 TI,$l CLR TIl CLR TB8 ;与寻址的下位机通信,清与寻址的下位机通信,清TB8单片机原理、应用与仿真单片机原理、应用与仿真 l SEND: MOV A,R0 ;取数据取数据l MOV SBUF,A ;送数据送数据l JNB TI,$l CLR TIl LCALL DELAYl INC R0l DJNZ 21H,SENDl INC 20H ;地址号加地址号加1l DJNZ 22H,MAIN1l SJMP $l DELAY: MOV R6,#20H ;延时程序延时程序l DELAY1:MOV R5,#255l DJNZ R5,$l DJNZ R6,DELAY1l RETl EN

    38、D单片机原理、应用与仿真单片机原理、应用与仿真 从机程序:从机程序:l ORG 0000Hl LJMP MAINl ORG 0023Hl LJMP SINTl ORG 0100Hl MAIN:MOV SP,#70H ;设置堆栈指针设置堆栈指针l MOV TMOD,#20H ;定时器定时器1工作方式工作方式2l MOV TH1,#0F4H ;2400bps的时间常数,的时间常数,时钟频率时钟频率11.0592MHZl MOV TL1,#0F4Hl MOV PCON,#00H ;SMOD=0l MOV R0,#30H ;设置数据起始地址设置数据起始地址l CLR RI单片机原理、应用与仿真单片机原

    39、理、应用与仿真 l MAIN1:MOV SCON,#0F0H ;串行口工作方式串行口工作方式3,允许接收,允许接收l MOV 21H,#0AH ;置要接收的数据个数置要接收的数据个数l SETB ESl SETB EAl SETB TR1 ;启动定时器启动定时器l SJMP $l SINT :CLR EA ;关中断关中断l MOV C,RB8 ;判断是地址还是数据判断是地址还是数据l JNC DATA1 l MOV A,SBUFl CLR RIl CJNE A,#02H,SRET ;判断地址编号判断地址编号l CLR SM2 ;清清SM2l LJMP SRETl 单片机原理、应用与仿真单片机原

    40、理、应用与仿真 l DATA1: MOV A,SBUF ;接收数据接收数据 l CLR RIl MOV R0,Al INC R0l DJNZ 21H,SRETl SETB SM2 ;数据接收完,置数据接收完,置SM2l MOV 21H,#0AHl CLR P1.7 ;数据传输完毕,点亮数据传输完毕,点亮P1.7l LCALL DELAYl SETB P1.7 l SRET: SETB EA ;开中断开中断l RETIl END单片机原理、应用与仿真单片机原理、应用与仿真 8.5 任务任务11 双机通信双机通信l 【任务目的任务目的】理解理解AT89S51单片机串行通信原理单片机串行通信原理,掌

    41、握双机串行通信的软件设计。用,掌握双机串行通信的软件设计。用Proteus设设计、仿真计、仿真AT89S51单片机双机通信过程。单片机双机通信过程。l 【任务描述任务描述】 该任务用甲乙两台该任务用甲乙两台AT89S51单片机单片机完成双机串行通信。两机相距完成双机串行通信。两机相距1m;甲机将;甲机将P1口口指拨开关数据传送给乙机,乙机将接收的数据输指拨开关数据传送给乙机,乙机将接收的数据输出至出至P1口,点亮相应端口的口,点亮相应端口的LED,然后乙机将接,然后乙机将接收的数据加收的数据加1后发送给甲机,甲机将数据输出至后发送给甲机,甲机将数据输出至P2口,点亮对应的口,点亮对应的LED。

    42、要求:使用串口方式。要求:使用串口方式3,波特率为,波特率为9600bps。单片机原理、应用与仿真单片机原理、应用与仿真 1.硬件电路设计硬件电路设计l 在小工具栏中单击虚拟仪器按钮在小工具栏中单击虚拟仪器按钮 ,然后在对象选,然后在对象选择器中选择择器中选择VIRTUAL TERMINAL(虚拟终端),(虚拟终端),如图如图 8-11所示所示 。单片机AT51发光二极管LED-YELLOWDIPSW-9开关电阻RES单片机原理、应用与仿真单片机原理、应用与仿真 硬件电路硬件电路单片机原理、应用与仿真单片机原理、应用与仿真 2.程序设计程序设计单片机原理、应用与仿真单片机原理、应用与仿真 汇编

    43、源程序汇编源程序l 甲机程序:甲机程序:l ORG 0000Hl LJMP MAINl ORG 0100Hl MAIN: CLR EAl MOV SP,#75H ;设置堆栈指针设置堆栈指针l MOV TMOD,#20H ;定时器定时器1工作方式工作方式2l MOV TH1,#0FDH;9600BPS的时间常数的时间常数,时钟频率时钟频率11.0592MHZl MOV TL1,#0FDHl MOV PCON,#00H ;SMOD=0l MAIN1:SETB TR1 ;启动定时器启动定时器l CLR ES ;使用查询方式,关中断使用查询方式,关中断l CLR ET1l CLR RIl MOV SC

    44、ON,#0F0H ;串行口工作方式串行口工作方式3,允许接收允许接收l MOV 30H,#0FFH单片机原理、应用与仿真单片机原理、应用与仿真 l CONNECT:MOV P1,#0FFHl MOV A,P1 ;读读P1口状态口状态l CJNE A,30H,CONNECT1l AJMP CONNECTl CONNECT1:MOV 30H,Al SETB TB8l MOV SBUF,A ;发送数据发送数据l JNB TI,$l CLR TIl JNB RI,$l MOV A,SBUFl CLR RIl MOV P2,Al LJMP CONNECTl END单片机原理、应用与仿真单片机原理、应用与

    45、仿真 乙机程序:乙机程序:l ORG 0000Hl LJMP MAINl ORG 0023Hl LJMP SINTl ORG 0100Hl MAIN:MOV SP,#70H ;设置堆栈指针设置堆栈指针l MOV TMOD,#20H ;定时器定时器1工作方式工作方式2l MOV TH1,#0FDH ;9600BPS的时间常数的时间常数,时钟时钟频率频率11.0592MHZl MOV TL1,#0FDHl MOV PCON,#00H ;SMOD=0l CLR RI单片机原理、应用与仿真单片机原理、应用与仿真 l MAIN1:MOV SCON,#0F0H ;串行口工作方式串行口工作方式3,允许接收,

    46、允许接收l SETB ESl SETB EAl SETB TR1 ;启动定时器启动定时器l SJMP $l SINT: JB RI,RECl CLR TIl LJMP SRETl REC: MOV A,SBUF ;读取数据读取数据l CLR RIl MOV P1,A ;将数据送将数据送P1口口l INC Al SETB TB8l MOV SBUF,A ;发送数据发送数据l SRET: RETI l END单片机原理、应用与仿真单片机原理、应用与仿真 8.6 实训实训8 单片机之间的通信接口技术单片机之间的通信接口技术l 8.6.1 实训目的实训目的 1.熟悉单片机与单片机之间接口技术的硬件、软

    47、件设计。熟悉单片机与单片机之间接口技术的硬件、软件设计。2.进一步熟悉进一步熟悉Keil软件和软件和ISP在线编程的使用技术。在线编程的使用技术。l 8.6.2 实训内容实训内容1.根据图根据图8-12所示电路图,在两台单片机课程教学实验板所示电路图,在两台单片机课程教学实验板(或面包板、实验(或面包板、实验PCB等)上安装好线路。等)上安装好线路。2.读懂单片机之间通信接口程序设计。求用读懂单片机之间通信接口程序设计。求用Keil建立建立“甲机甲机.asm”、“乙机乙机.asm”源程序文件,并分别生成目标代码源程序文件,并分别生成目标代码“甲机甲机.hex”、 “乙机乙机.hex”文件。文件。3.用用ISP在线编程将目标代码分别固化到在线编程将目标代码分别固化到AT89S51单片机单片机中,装入电路板后,上电运行。进行按键操作,观察并解中,装入电路板后,上电运行。进行按键操作,观察并解释现象。释现象。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:单片机第8章-AT89S51单片机串行通信技术课件.ppt
    链接地址:https://www.163wenku.com/p-2912540.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库