版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.3 MCS-51的串行接口,4.3.1 串行通信基础 计算机与外部设备或计算机与计算机之间的数据交换称为通信。通信分为并行通信与串行通信两种基本方式。 并行通信:将数据的各位用多条数据线同时进行传送, 外加地址线和通信控制线。优点是传输速率高,缺点是 长距离传输成本高,可靠性差,只适用于近距离传输。 串行通信:将数据分成1位1位的形式在一条传输线上逐 个地传送。优点是传输线少,长距离传送时成本低,缺 点是传输速率低。,4.3.1 串行通信基础,(a) 并行通信方式 (b) 串行通信方式 图4.10 并行和串行通信方式,4.3.1 串行通信基础,1. 串行通信的种类 根据数据传输方式的不同,
2、可将串行通信分为同步 通信和异步通信。 1) 同步通信 同步通信是一种数据连续传输的串行通信方式,通信时发送方把需要发送的多个字节数据和校验信息连接起来,组成数据块。 发送时,发送方只需在数据块前插入12个特殊的同步字符,然后按特定速率逐位输出(发送)数据块内的各位数据。 接收方在接收到特定的同步字符后,也按相同速率接收数据块内的各位数据。,4.3.1 串行通信基础,典型的同步通信格式如下: 在这种通信方式中,数据块内的各位数据之间没有间 隔,传输效率高; 发送、接收双方必须保持同步(使用同一时钟信号), 且数据块长度越大,对同步要求就越高。 同步通信设备复杂,成本高,一般只用在高速数字通 信
3、系统中。,4.3.1 串行通信基础,2) 异步通信 异步通信是以字符帧为单位进行传输。 每帧数据由4部分组成:起始位(占1位)、数据位(占 位)、奇偶校验位(占位,也可以没有校验 位)、停止位(占1或2位)。 图4.11中给出的是8位数据位、1位奇偶校验位和1位 停止位,加上1位起始位,共11位组成一个传输帧。,4.3.1 串行通信基础,图4.11 异步通信字符帧格式,4.3.1 串行通信基础,发送方:传送时先输出起始位“”作为联络信号,接下来的是数据位和奇偶校验位,停止位“1”表示一个字符的结束。其中,数据的低位在前,高位在后。字符之间允许有不定长度的空闲位。 接收方:传送开始后,接收设备不
4、断检测传输线的电平状态,当收到一系列的“1”(空闲位或停止位)之后,检测到一个“”,说明起始位出现,就开始接收所规定的数据位和奇偶校验位以及停止位。 异步通信的特点:所需传输线少,设备开销较小,在单片机控制系统中得到广泛的应用。但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。,4.3.1 串行通信基础,2. 串行通信数据传输方向 根据串行通信数据传输的方向,可将串行通信系统传输方式分为:单工方式、半双工方式和全双工方式,如图4.12所示。 图4.12 数据传输方式,4.3.1 串行通信基础,1) 单工:数据传输仅能从发送设备传输到接收设备。 2) 半双工:两个串行通信设备
5、之间只有一条数据线, 数据传输可以沿两个方向,但需要分时进行。 3) 全双工:是指两个串行通信设备之间可以同时进行 接收和发送。 3种方式中,全双工方式的效率最高; 半双工方式配置和编程相对灵活,传输成本较低 ; 串行通信设备常选用半双工方式。,4.3.1 串行通信基础,3. 波特率 数据的传输速率可以用波特率表示。 波特率是信号每秒变化的次数, 单位是:符号/s 比特率是每秒传送二进制数的位数 单位是:(bit/s或kbit/s)。 如每秒传送240个字符,而每个字符格式包含10位这时的波特率为10位(bit)240个/s = 2400 bit/s。 在异步串行通信中,接收方和发送方应使用相
6、同的波特率,才能成功传送数据。,4.3.2 串行接口的基本结构,MCS-51单片机内部有一个全双工异步串行I/O接口。MCS-51串行接口的内部简化结构如图4.13所示。 图4.13 MCS-51串行接口结构图,4.3.2 串行接口的基本结构,P3.0是串行数据接收端RXD,P3.1是串行数据发送端TXD。 串行接口的结构由串行接口控制电路、发送电路和接收电路3部分组成。 发送电路由发送缓冲器(SBUF)、发送控制电路组成,用于串行接口的发送。 接收电路由接收缓冲器(SBUF)、接收控制电路组成,用于串行接口的接收。 两个数据缓冲器(SBUF)在物理上相互独立,在逻辑上却占用同一字节地址99H
7、。,4.3.3 串行接口的控制与实现,单片机串行接口工作方式是通过初始化设置,将两个相应控制字分别写入串行控制寄存器SCON(98H)和电 源控制寄存器PCON(97H)即可。 1. 和串行接口有关的特殊功能寄存器 1) 数据缓冲器(99H) 发送缓冲器:只管发送数据,CPU写入SBUF的时候 (MOV SUBF,A)即为发送; 接收缓冲器:只管接收数据,CPU读取SBUF的过程 (MOV A,SUBF)即为接收。,4.3.3 串行接口的控制与实现,发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。所以可同时发送数据、接收数据。 对于发送缓冲器,因为发送时CPU是主动的,不会产生重叠
8、错误。 接收缓冲器是双缓冲结构,以避免在接收下一帧 数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,就会丢失前一个字节的内容。,4.3.3 串行接口的控制与实现,2) 串行接口控制寄存器SCON (98H) 用于控制串行接口的工作状态,其格式如下:,4.3.3 串行接口的控制与实现,(1) SM0和SM1:用于设置串行接口的工作方式,2位可选择4种工作方式,如表4-3所示。其中,UART是通用异步接收和发送器的英文缩写, 是晶振频率。,表4-3 串行接口的工作方式设置,/64或,4.3.3 串行接口的控制与实现,(2) REN:允许串行接收位。由软件置位或清零。REN=1时,串
9、行接口允许接收数据;REN=0时,则禁止接收。 (3) TB8:在方式2或方式3中,是发送数据的第9位。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。 (4) RB8:在方式2或方式3中,是接收到数据的第9位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。,4.3.3 串行接口的控制与实现,(5) TI:发送中断标志位。由内部硬件使TI置“1”,向CPU发中断申请。必须用软件将其清“0”,取消此中断申请。 (6) RI:接收中断标志位。由内部硬件使RI置“1”,向CPU发中断申请。必须用软件将其清“0”,取消此中断申请。 (
10、7) SM2:为多机通信控制位,主要用于方式2和方式3。通过控制SM2,可以实现多机通信。,7.3.2 多机通信接口,1多机通信原理 串行口控制寄存器SCON中的SM2为多机通信接口控制位。串行口以方式2或3接收时,若SM2为1,则仅当接收到的第9位数据RB8为1时,数据才装入SBUF,置位RI,请求CPU对数据进行处理;当SM2为0时,则接收到一个数据后,不管第9位数据RB8是0还是1,都将数据装入接收缓冲器SBUF并置位中断标志RI,请求CPU处理。 发送:先发送地址帧(TB8=1), 再发送数据帧(TB8=0)。,MCS-51单片机多机通信系统举例,发送分二步:1.先发送地址(第九位为1
11、 即TB8=1)所有子机都能接收 2.再发送数据(第九位为0即TB8=0)只有地址指定的子机接收,接收分二步:1.待接收状态 置SM2=1,只接收RB8=1的信息帧,即地址信息 2.收到的地址与本机符合时,置SM2=0,即可接收数据信息 因为:数据帧的RB8=0,4.3.3 串行接口的控制与实现,(8) 电源控制寄存器PCON (97H) 其中只有1位SMOD与串行接口工作有关,格式如下: (9) SMOD:波特率系数控制位。在串行接口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率加倍,否则不加倍。复位时,SMOD=0。 PCON的地址为97H,不能位寻址,需要字节传
12、送。,4.3.3 串行接口的控制与实现,2. 串行接口的工作方式 串行接口可由SCON中的SM0、SM1设置4种工作方式。 1) 方式0 串行接口为同步移位寄存器的输入/输出方式,而不是 通信方式,可外接移位寄存器,用于扩展并行I/O接口。 注意:数据都由RXD(P3.0)引脚输入或输出,TXD引脚 总是用于输出同步移位脉冲。 发送和接收均为8位数据,低位在先,高位在后。波特 率固定为/12。,4.3.3 串行接口的控制与实现,2) 方式0输出 方式0时输出时序如图4.14所示。 图4.14 方式0 输出时序,4.3.3 串行接口的控制与实现,当执行任何一条写SBUF的指令时,就启动了串行接口
13、的发送过程(如MOV SBUF,A)。 内部的定时逻辑在SBUF写入数据之后,经过一个完整的机器周期,输出移位寄存器中输出位的内容送RXD引脚输出; 移位脉冲由TXD引脚输出,它使RXD引脚输出的数据移入外部移位寄存器。 当数据的最高位D7位移出后,停止发送数据和移位脉冲,就完成了1B的输出,并把中断标志(TI)置“1”。 如要再发送下一字节数据,必须用软件先将TI清“0”。,4.3.3 串行接口的控制与实现,3) 方式0输入 方式0时输入时序如图4.15所示。 当SCON中的接收允许位REN=1和 RI=0时,就会启动一次串行接口接收过程。 串行数据从RXD引脚输入,移位脉冲由TXD引脚输出
14、。 当接收完一帧数据后,由硬件将输入移位寄存器中的内容写入SBUF,并把中断标志(RI)置“1”。 如要再接收数据,就再用软件将RI清“0”。,4.3.3 串行接口的控制与实现,方式0时输入时序如图4.15所示。 图4.15 方式0 输入时序,4.3.3 串行接口的控制与实现,4) 方式1 串行接口为波特率可变的8位数据的异步通信接口。 TXD为数据发送引脚,RXD为数据接收引脚。 传送1帧数据为10位,其中,1位起始位(0),8位数据位(低位在先),1位停止位(1)。 方式1的波特率由定时器(T1)的溢出率和SMOD的状态决定。,4.3.3 串行接口的控制与实现,5) 方式1输出 方式1的发
15、送时序如图4.16所示。 图4.16 方式1的发送时序,4.3.3 串行接口的控制与实现,执行一条写SBUF的指令就启动了发送过程。 在发送移位时钟的作用下,从TXD引脚先送出起始位 (0),然后是8位数据位,最后是停止位(1)。 1帧10位数据发送完后,将中断标志(TI)置“1”,向CPU申请中断。 如要再发送下一字节数据,必须用软件先将TI清“0”。,4.3.3 串行接口的控制与实现,6) 方式1输入 软件使REN=1和RI=0时,就启动了接收过程。 接收器以所选择波特率的16倍速率采样RXD引脚电平, 检测到RXD引脚输入电平发生负跳变时,说明起始位有 效,将其移入输入移位寄存器,并开始
16、接收这1帧信息 的其余位。 接收过程中,将每个数据位宽度分成16个状态,并在中 间的第7、8、9状态时对RXD采样,采样数据从输入移 位寄存器右边移入,起始位移至输入移位寄存器最左边 时,控制电路进行最后一次移位。,4.3.3 串行接口的控制与实现,当RI=0,且SM2=0(或接收到的停止位为“1”)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。如要再接收数据,就再用软件将RI清“0”。 图4.17 方式1的接收时序,4.3.3 串行接口的控制与实现,7) 方式2和方式3 串行接口为9位数据的异步通信接口。 TXD为数据发送引脚
17、,RXD为数据接收引脚。 传送1帧数据为11位。其中1位起始位(0),然后是8位数据位(低位在先),第10位是SCON中的TB8或RB8,最后1位是停止位(1)。 方式2的波特率固定为晶振频率的1/64或1/32,方式3波特率由定时器(T1)的溢出率和SMOD的状态决定。,4.3.3 串行接口的控制与实现,8) 方式2和方式3 输出 方式2和方式3的发送时序如图4.18所示。,图4.18 方式2和方式3的发送时序,4.3.3 串行接口的控制与实现,CPU向SBUF写入数据时,就启动了发送过程。 SCON中的TB8写入输出移位寄存器的第9位,8位数据装入SBUF。 发送开始时,先把起始位0输出到
18、TXD引脚,然后是9位数据位,最后是停止位(1)。 1帧11位数据发送完后,将中断标志(TI)置“1”,向CPU申请中断。 如要再发送下一字节数据,必须用软件先将TI 清0。,4.3.3 串行接口的控制与实现,9) 方式2和方式3输入 方式2和方式3的接收时序如图4.19所示。 图4.19 方式2、方式3的接收时序,4.3.3 串行接口的控制与实现,软件使REN=1和RI=0时,就启动了接收过程。 接收器就以所选频率的16 倍速率开始采样RXD引脚的电平状态,当检测到RXD引脚发生负跳变时,说明起始位有效,将其移入输入移位寄存器,开始接收这1帧数据。 接收时,将每个数据位宽度分成16个状态,并
19、在中间的第7、8、9状态时对RXD采样,采样数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。,4.3.3 串行接口的控制与实现,当RI=0,且SM2=0(或接收到的第9位数据为“1”)时,接收到的数据装入接收缓冲器和RB8(接收数据的第9位),置RI=1,向CPU请求中断。 如要再接收数据,就再用软件将RI清“0”。 如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。,4.3.3 串行接口的控制与实现,3. 波特率的计算 串行通信双方对发送或接收数据的波特率事先要约定好保持一致。 MCS-51单片机的波特率设置与工作方式有关,其中方式0和方式
20、2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率和SMOD的状态决定。,4.3.3 串行接口的控制与实现,各种方式的波特率计算由以下公式确定: 方式0的波特率= /12 方式2的波特率=(2SMOD/64) 方式1的波特率=(2SMOD/32)(T1溢出率) 方式3的波特率=(2SMOD/32)(T1溢出率),4.3.3 串行接口的控制与实现,当T1作为波特率发生器时,常使T1工作在自动重装初值的8位定时器方式,并禁止T1中断。 这种方式可避免重新设定定时初值而产生波特率误差。 TH1从初值计数到产生溢出,它每秒溢出的次数称为溢出率。 T1溢出率=/12256-(TH
21、1),4.3.3 串行接口的控制与实现,在单片机的应用中,相同机种单片机的波特率很容易达到一致,只要晶振频率相同,可以采用完全一致的设置参数。 异机种单片机的波特率设置较难达到一致,这时的设计原则应使两个通信设备之间的波特率误差小于2.5%。 常用的串行接口波特率、晶振频率以及各参数的关系如表4-4所示。,4.3.3 串行接口的控制与实现,表4-4常用波特率、晶振频率与定时器(T1)的参数关系,4.3.4 用串行接口扩展并行I/O接口,串行接口工作在方式0时用于扩展并行I/O接口 。 74LS164为一个1位串行输入8位并行输出的移位寄存器,TXD引脚输出的移位脉冲将RXD引脚输出的数据(低位
22、在先)逐位移入74LS164,扩展8个LED指示灯。 74LS165为一个8位并行输入1位串行输出的移位寄存器,TXD引脚输出的移位脉冲将74LS165的8位并行输入的数据(低位在先)逐位移入RXD引脚,扩展8个按键。 图4.20为一个串行接口扩展并行I/O接口方案。,4.3.4 用串行接口扩展并行I/O接口,【例】 【功能】如图4.20所示的8个LED指示灯,指示8个按键闭合状态,有键按下时对应的指示灯亮。 图4.20 串行接口扩展并行I/O接口方案,4.3.4 用串行接口扩展并行I/O接口,【实现程序】 SIO:MOVSCON,#10H;REN=1,RI=0,SM0=0,SM1=0, ;串
23、行口工作在方式0,且启动接收过程 LOOP:CLR P1.0 ;允许并行读入按键到74LS165,S/=0 ;有按键的位读数为0 SETB P1.0;允许串行移位,S/=1 CLR RI;启动接收 JNB RI,$;若RI=0,8位数据未接收完,等待 MOV A,SBUF;若RI=1,8位数据接收完,读入A CLR TI;清发送标志,准备发送 MOV SBUF,A;启动发送,输出数据位0, ;将点亮对应位LED JNB TI,$;8位数据未发送完,等待 SJMP LOOP;8位数据发送完,循环,4.3.5 串行通信接口标准,除了满足波特率、工作方式和特殊功能寄存器的设定外,串行通信双方必须采用
24、相同的接口标准,才能进行正常的通信。 由于不同设备串行接口的信号线定义、电气规格等特性都不尽相同,因此要使这些设备能够互相连接,需要统一的串行通信接口。 下面介绍常用的RS-232C和RS-485串行通信接口标准。,4.3.5 串行通信接口标准,1. RS-232C接口 RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。接口标准包括引脚定义、电气特性和电平转换几方面内容: 1) 引脚定义 RS-232C接口规定使用25针“D”型口连接器,常用9针“D”型口连接器替代25针连接器。连接器引脚定义如图:,4.3.5 串行通信接口标准,RS-232C接口主要信号线
25、的功能定义如表4-5所示。,表4-5 RS-232C标准接口主要引脚定义,4.3.5 串行通信接口标准,4.3.5 串行通信接口标准,2) 电气特性 RS-232C采用负逻辑电平,规定DC(-3-15V)为逻辑1,DC(+3+15V)为逻辑0。 通常RS-232C的信号传输最大距离为30m。 最高传输速率为20kbit/s。 RS-232C的逻辑电平与通常的TTL和MOS电平不兼容,为了实现与TTL或MOS电路的连接,要外加电平转换电路。,4.3.5 串行通信接口标准,3) RS-232C电平与TTL电平转换驱动电路 常见的TTL到RS-232C的电平转换器有MC1488、 MC1489和MA
26、X 202/232/232A等芯片。 图4.22 MAXM 202 / 232 / 232A内部逻辑功能,4.3.5 串行通信接口标准,2. RS-485接口 RS-232C推出的时间较早,传输速率慢,传输距离短,无法满足许多工业现场的使用要求。 EIA相继公布了RS-449、RS-423、RS-422和RS-485等替代标准。 RS-485以其优秀的特性、较低的成本在工业控制领域得到了广泛的应用。,4.3.5 串行通信接口标准,1) 引脚定义 RS-485使用两种标准接口连接器,37针“D”型口连接器和9针“D”型口连接器,主要信号线的功能定义如表4-6所示。表4-6 RS-485标准接口主
27、要引脚定义,4.3.5 串行通信接口标准,2) 电气特性 RS-485工作于半双工方式,采用一对平衡差分信号线。 RS-485是一种多发送器标准,在通信线路上最多可以使用32 对差分驱动器/接收器。 驱动器输出电平DC(-1.5-6V)为逻辑“1”,DC(+3+15V)为逻辑“0”。 接收器输入差分电压在-200mV以下时为逻辑“1”,在+200mV以上时为逻辑“0”。 通常RS-485的信号传输最大距离为1200m,最高传输速率为10Mbit/s。,4.3.5 串行通信接口标准,3) RS-485电平与TTL电平转换驱动电路 RS-485的驱动接口部分通常由Maxim公司生产的差分平衡器收发
28、芯片MAX 481/483/485/487/489等,每种型号的芯片内部均集成了一个驱动器和一个接收器。 MAX 481/483/485/487为8引脚封装,引脚功能说明如下。,4.3.5 串行通信接口标准,(1) RO:接收器输出; (2) :接收器输出使能,引脚为“0”,允许接收器, 引脚为输出“1”,接收器输出被禁止; (3) DE:驱动器输出使能,引脚为“1”,允许驱动器工 作,引脚为“0”,驱动器工作被禁止; (4) DI:驱动器输入; (5) GND:接地端; (6) A:接收器非反相输入和驱动器非反相输出端; (7) B:接收器反相输入和驱动器反相输出端; (8) VCC:电源端
29、,电压范围可以是4.755.25V;,4.3.5 串行通信接口标准,其引脚分布与典型工作电路如图4.23所示: 图4.23 MAX 481/ 483/ 485/487引脚图及接口示意图,4.3.6 单片机串行接口通信技术举例,1. 单片机与单片机之间的双机通信 双机之间通信应考虑接口电路、通信协议和程序编 制等几个方面问题。 1) 接口电路 TTL电平通信接口:系统之间的距离在1m范围内 RS-232C通信接口:系统之间的距离在30m范围内 RS-485通信接口:系统之间的距离在1200m范围内,4.3.6 单片机串行接口通信技术举例,双机通信根据通信距离和抗干扰性,可选择TTL电平直连,RS
30、-232C和RS-485等接口方法如图4.24所示。 (a) TTL电平传输通信接口电路 b) RS-232C通信接口电路 图4.24 双机通信接口电路,4.3.6 单片机串行接口通信技术举例,(c) RS-485通信接口电路 图4.24 双机通信接口电路,4.3.6 单片机串行接口通信技术举例,2) 通信协议 TTL电平直连,RS-232C双机通信的软件设计方法是一样的。 RS-485双机通信是半双工方式,在单片机系统发送或接收数据前,应先将MAX485的发送门或接收门打开。 当P1.0=1时,发送门打开,接收门关闭;当P1.0=0时,接收门打开,发送门关闭。,4.3.6 单片机串行接口通信
31、技术举例,下面以图4.24(a)(b)为接口电路,规定双机通信协议如下: (1)通信的甲、乙双方均可发送和接收; (2) 约定采用串行口方式1进行通信,1帧信息为10位; (3) 波特率为2400Bd,T1工作在定时器方式2,振荡频 率选用11.0592MHZ,查表可得TH1=TL1=0F4H, PCON寄存器的SMOD位为“0”;,4.3.6 单片机串行接口通信技术举例,(4) 设甲机是发送方,乙机是接收方。当甲机发送时, 先发送一个“0AAH”联络信号,乙机收到后回答一 个“55H”应答信号,表示同意接收; (5) 假定数据块长度为100B,数据放在起始地址为 1000H的片外RAM中,一
32、个数据块发送完毕后立即 发送“校验和”; (6) 若两者相等,说明接收正确,乙机回答0FH;若两 者不相等,说明接收不正确,乙机回答0F0H,请求 重发。,4.3.6 单片机串行接口通信技术举例,归纳联络信号,并以为指令格式定义如表4-7所示。,4.3.6 单片机串行接口通信技术举例,3) 程序实现 收发数据采用的是查询方式,程序实现如下。 【甲机发送程序】 START:CLR EA MOV TMOD,#20H ;定时器1置为方式2 MOV TH1,#0F4H ;装载定时器初值,波特率2400 MOV TL1,#0F4H MOV PCON,#00H SETB TR1 ;启动定时器 MOV SC
33、ON,#50H ;设定串口方式1,且准备接收应答信号 TLP1: MOV SBUF,#READY ;发联络信号“0AAH” JNB TI,$ ;等待1帧发送完毕 CLR TI ;允许再发送 JNB RI,$ ;等待乙机的应答信号 CLR RI ;允许再接收 MOV A,SBUF ;乙机应答后,读至A XRL A,#OK ;判断乙机是否准备完毕 JNZ TLP1 ;乙机未准备好,继续联络,4.3.6 单片机串行接口通信技术举例,TLP2: MOV DPTR,#ADDR ;乙机准备好,设定数据块地址指针初值 MOV R7,#LENTH ;设定数据块长度初值 MOV R6,#00H ;清校验和单元
34、TLP3: MOVX A,DPTR MOV SBUF,A ;发送一个数据字节 ADD A,R6 ;求校验和 MOV R6,A ;保存校验和 INC DPTR JNB TI,$ CLR TI DJNZ R7,TLP3 ;整个数据块是否发送完毕 MOV SBUF,R6 ;发送校验和 JNB TI,$ CLR TI JNB RI,$ ;等待乙机的应答信号 CLR RI MOV A,SBUF ;乙机应答,读至A XRL A,#SUCC;判断乙机是否接收正确 JNZ TLP2 ;乙机应答“错误”,转重新发送 RET ;乙机应答“正确”,返回,4.3.6 单片机串行接口通信技术举例,【乙机接收程序】 ST
35、ART: CLR EA MOV TMOD,#20H MOV TH1,#0F4H MOV TL1,#0F4H MOV PCON,#00H SETB TR1 MOV SCON,#50H;设定串口方式1,且准备接收 RLP1: JNB RI,$ ;等待甲机的联络信号 CLR RI MOV A,SBUF ;收到甲机信号 XRL A,#READY ;判是否为甲机联络信号 JNZ RLP1 ;不是甲机联络信号,再等待 MOV SBUF,#OK ;是甲机联络信号,发应答信号 JNB TI,$ CLR TI MOV DPTR,#ADDR ;设定数据块地址指针初值 MOV R7,#LENTH ;设定数据块长度初
36、值 MOV R6,#00H ;清校验和单元,4.3.6 单片机串行接口通信技术举例,RLP2:JNB RI,$ CLR RI MOV A,SBUF MOVX DPTR,A ;接收数据存储 INC DPTR ADD A,R6 ;求校验和 MOV R6,A DJNZ R7,RLP2 ;判数据块是否接收完毕 JNB RI,$ ;完毕,接收乙机发来的校验和 CLR RI MOV A,SBUF XRL A,R6 ;比较校验和 JZ GOOG ;校验和相等,跳至发正确标志 MOV SBUF,#ERRO ;校验和不相等,发错误标志 JNB TI,$ ;转重新接收 CLCR TI GOOD: MOV SBUF
37、,#OK RET,4.3.6 单片机串行接口通信技术举例,单片机与PC组合构成的分布控制系统是工控系统的一个重要发展方向。 在系统中,单片机一般称为下位机,通常用来完成数据的采集和上传。 由PC、网络设备、数据库服务器组成的后台应用部分则统称为上位机,对下位机的上传数据进行分析并处理。,4.3.6 单片机串行接口通信技术举例,如图4.25所示的热表控制分布式工控系统。 图4.25 热表控制分布式工控系统,4.3.6 单片机串行接口通信技术举例,1) 硬件的接口电路 MAX485的使能端,DE由AT89C51的P2.7控制。 单片机的晶振选用11.0592MHz。 如图4.26所示,PC的接口直
38、接接到RS-232串口即可。 图4.26 单片机与MAX485接口电路,4.3.6 单片机串行接口通信技术举例,2) 软件设计 PC应用软件在视窗Windows系统下采用简单易学的Visual Basic(简称VB)编程。 VB提供了具有强大功能的通信控件MSCOMM,文件名为MSCOMM.vbx。该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。,4.3.6 单片机串行接口通信技术举例,假设每台PC管理4块热表,仅作主机呼叫,单片机应答判断后,向上传输热量值的通信协议如下: (1) 通信的甲、乙双方均可发送和接收; (2) 单片机约定采用串行接口方式3进行通信,波特率 为9600Bd。 (3)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发二手房买卖合同样本
- 城市排水招投标廉洁合同模板
- 墙绘装饰施工合同
- 新能源项目招投标合同风险防范
- 房屋户外照明安装合同
- 教育培训机构装修施工合同
- 国际实验室地暖系统安装工程合同
- 劳动合同签订与解除规范
- 水利工程建造师聘用合同范例
- 交通运输设备维修合同
- 11.2 树立正确的人生目标 课件- 2024-2025学年统编版道德与法治七年级上册
- 特种玻璃课件
- 工厂员工考勤制度范本
- 基于创新能力培养的初中物理跨学科实践教学策略
- Unit 2 This is my pencil. Lesson 10(教学设计)-2024-2025学年人教精通版英语三年级上册
- 2024至2030年中国岩土工程市场深度分析及发展趋势研究报告
- 新版高血压病人的护理培训课件
- 医院等级创建工作汇报
- 2024年江西省公务员录用考试《行测》题(网友回忆版)(题目及答案解析)
- VDA6.3基础培训考核测试卷附答案
- 第01讲 正数和负数、有理数-人教版新七年级《数学》暑假自学提升讲义(解析版)
评论
0/150
提交评论