8051系列单片机内部集成的串行通信接口全称为“通用异步收发器”,它既可作异步传输使用,也可作同步移位寄存器使用,还可用于数据的组网通信。图9-7 8051系列单片机通用异步收发器的内部结构UART工作时,定时器T1用于产生通信需要的时钟,控制寄存器用于对串行口的工作状态进行相应的监控和设置。......
2023-11-17
单片机的串行口是和外部设备进行通信的重要通道,下面将对串行通信接口的物理和电气标准、多机及远程通信的方法做进一步介绍。
9.3.1 串行接口的电气标准
8051系列单片机的串行口输入/输出均使用TTL电平方式,当单片机与外部进行芯片间的数据交换时,TTL方式完全能够胜任,但在与PC进行通信时,TTL方式因抗干扰性差、电平损耗大等原因而有些力不从心,这时可以选择RS-232C通信方式,以实现近距离的数据通信。如果是在工厂、煤矿等远距离、强干扰的复杂环境下,RS-232C通信方式也捉襟见肘,只有RS-422A、RS-485通信方式才能满足通信的要求。
1.TTL电平通信接口
如果两个单片机的通信距离在1 m以内,就可以将它们的串行接口直接相连,实现芯片间的通信。在TTL电平通信方式下,单片机使用+3~+5 V来表示逻辑“1”,使用0 V来表示逻辑“0”。发送器的TXD引脚连接至接收器的RXD引脚,接收器的TXD引脚则连接至发送器的RXD引脚。两个8051单片机间的TTL电平通信连接方式如图9-18所示。
图9-18 芯片间的TTL通信接口
2.RS-232C通信接口
RS-232C接口(EIA RS-232C)是常用的一种串行通信接口标准,最早在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家以及计算机终端制造商共同制定完成,并用于串行通信的接口电气标准,它的全称是数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准。
RS-232C是一种在低速率串行通信中增加通信距离的单端标准,采用不平衡传输方式,收发端的数据信号都是相对于地的,使用正负电压来表示逻辑状态,即使用-5~-15 V表示逻辑“1”,+5~+15 V表示逻辑“0”。由于RS-232C电平接口使用两根信号线构成共地的传输形式,其共模抑制能力较差,容易产生共模干扰,再加上双绞线上的分布电容,其传送距离最大约为15 m,最高传输速率20 kb/s。
由于RS-232C电平与TTL电平不兼容,在单片机使用RS-232C标准进行通信时,必须进行电平和逻辑关系的转换,目前较为常用的电平转换器件是美信公司推出的MAX232,其引脚排列和典型电路如图9-19和图9-20所示。MAX232内部包含有两组驱动/接收器件,支持从EIA-232电平至5 V的TTL/CMOS电平的双向转换。
图9-19 MAX232的引脚排列
图9-20 RS-232C电平转换电路
注意:在使用MAX232设计电路时,需要将MAX232引脚OUT端连接至单片机的RXD端,MAX232的IN端连接至单片机的TXD端,才能保证两者之间的正常通信。
3.RS-422A通信接口
由于RS-232C标准存在许多不足之处,EIA又制定出了RS-422A标准。应当说RS-232C既是一种电气标准,又是一种特理接口功能标准,既规定了通信的电平,又规定了连接器件的样式,而RS-422A仅是一种电气标准,它并不涉及硬件接口的标准。
RS-422A标准采用平衡驱动和差分接收的通信方法,信号在一对双绞线上以相反极性传输,一条线上为高电平时,另一条线上为低电平,发送驱动器两条线之间的正电平为+2~+6 V,负电平为-2~-6 V。这种传输方式可以使信号在每根双绞线上产生的磁场相互抵消,从而将电磁干扰减至最小,RS-422A也因此具有很强的抗共模干扰能力。
RS-422A接口电路原理如图9-21所示。当TTL电平的逻辑“1”从A点输入时,在B点会输出经取反后为0 V的低电平,而在C点输出的是+5 V的高电平,这种B低C高的线路电压状态,在差分接收器中会被还原成TTL电平的“1”。反之,当从A点输入逻辑“0”时,B点为+5 V,C点为0 V,这种线路电压状态会被还原成TTL电平的“0”。
图9-21 RS-422A电路原理
RS-422A是四线接口,发送和接收均为单独通道,在相同传输线上最多允许接10个节点,即一个主设备,其余为从设备,从设备之间不能通信,所以RS-422A是一种支持“点对多”的双向通信协议。在实际应用中,RS-422A需要接终端电阻,其阻值约等于传输电缆的特性阻抗,在短距离传输时终端电阻也可以省略。RS-422A的最大传输速率可达10 Mb/s,在100 kb/s的速率下最大传输距离能达到1 200 m。
4.RS-485通信接口
RS-485是由RS-422A演变而来,区别在于RS-422A为全双工四线制,采用两对差分信号线传输数据,而RS-485为半双工二线制,采用一对差分信号线传输数据。在RS-485标准中,实现了多点、双向通信,增加了发送器的驱动能力和冲突保护特性,在一对通信线路上最多可以使用32台发送器和32台接收器。
RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此发送电路须由使能信号加以控制,使能信号可以控制发送驱动器与传输线间的切断与连接,当“使能”端关闭时,发送驱动器处于高阻状态。由于RS-485满足所有RS-422的规范,可以用在基于RS-422A标准的网络应用中。与RS-422A一样,RS-485最大传输距离约为1 200 m,最大传输速率为10 Mb/s,其接口的电路原理如图9-22所示。
(www.chuimin.cn)
图9-22 RS-485的电路原理
在实际使用中,通常是使用专用的485转换器将TTL电平转换成RS-485电平,实现双机或多机通信。由MAX485构成的双机二线制通信和多机二线制通信电路原理如图9-23和图9-24所示。
图9-23 MAX485双机通信原理
图9-24 MAX485多机通信原理
9.3.2 串行接口的物理标准
RS-232C物理标准规定接口通向外部的连接器是一种型号为DB25的25芯插针插座。在实际应用中,RS-232C规定的25条引线中一般只使用3~9条线,所以RS-232C还规定了另一种小型的连接器DB9,它采用9芯插头插座,其引脚定义和连接器实物如图9-25和图9-26所示,引脚功能见表9-3。
图9-25 DB9连接器引脚定义
图9-26 DB9连接器
表9-3 DB9连接器引脚定义
注:通常情况下单片机与PC连接只需使用发送数据、接收数据和信号地三根线即可。
9.3.3 多机通信
使用串行接口组网构成总线型主从式结构,可以实现多机通信,如图9-27所示。图中仅有一个主机,其余均是从机,从机要服从主机的调度和支配。使用8051系列单片机实现多机通信时,串行口可以工作在方式2或方式3,发送和接收一帧数据是11位,其中包括1个起始位、8个数据位、1个程控位和1个停止位。程控位用于区分地址帧或数据帧,当程控位为“1”时,该帧为地址帧;为“0”时,该帧为数据帧。为了延长通信距离,在实际的多机组网通信中,常采用RS-485标准总线进行数据传输。
图9-27 多机通信原理
编程向导:多机通信的设置。
(1)将所有从机的SM2位置位,使其处于只接收地址帧的状态。
(2)主机发送一个地址帧,其中包含8位地址信息,并且程控位为“1”,表示发送的是地址。
(3)每一个从机收到地址帧后,各自将收到的地址与其本机的地址相比较。
(4)地址相符的从机将SM2位清零,将本机置于接收所有数据的状态,而其他从机则保持SM2位不变,仍处于接收地址的状态。
(5)主机发送数据信息(程控位为0),只有SM2位清零的从机能接收到该数据帧,其他单片机因为SM2位为“1”不能接收数据帧。
(6)主机要与其他从机通信时,可以再次发送地址帧,先前与主机通信的单片机会将自身的SM2位再次置位,并对随后发来的数据帧不响应。
有关单片机原理与应用 基于C语言的文章
8051系列单片机内部集成的串行通信接口全称为“通用异步收发器”,它既可作异步传输使用,也可作同步移位寄存器使用,还可用于数据的组网通信。图9-7 8051系列单片机通用异步收发器的内部结构UART工作时,定时器T1用于产生通信需要的时钟,控制寄存器用于对串行口的工作状态进行相应的监控和设置。......
2023-11-17
异步串口通信的字符格式数据传送分为串行和并行,通信又分为异步和同步。异步串行通信是一帧接一帧进行的,传送既可以是连续的,也可以是断续的。串行通信的传送速率及通信波特率的计算MCS51系列单片机串行接口组成的通信系统是一种异步通信系统。波特率在串行口异步通信中是一个由用户决定的保证通信可靠的重要参数。1)串行接口控制寄存器SCON设置串行接口控制寄存器SCON是一个可位寻址的专业寄存器,用于串行数据通信控制。......
2023-11-07
在MCS-51单片机中,与串行通信有关的控制寄存器有3个,分别是串行控制寄存器SCON、串行口电源控制寄存器PCON和中断允许寄存器IE。1.串行控制寄存器SCONSCON是一个可位寻址的专用寄存器,用于串行数据通信的控制。2.串行口电源控制寄存器PCONPCON主要是为CHMOS型单片机8051的电源控制而设置的。表9-4串行口电源控制器寄存器在电源控制寄存器PCON中只有1位SMOD与串行口工作有关,SMOD是串行口波特率的倍增位,当SMOD=1时,串行口波特率加倍。......
2023-11-17
图8-23电压抖动图图8-24独立式未编码键盘图1.独立式键盘接口及处理程序独立式键盘是各按键相互独立地接通一条输入数据线,如图8-24所示。图8-25行列式键盘的结构及键盘扫描示意图如果把列线接到单片机的输入口,行线接到单片机的输出口,则在单片机的控制下,先使行线D0为低电平,其余7根行线都为高电平,读列线的状态,如果D0、D1、D2、D3都为高电平,则D0这一行没有键闭合。......
2023-11-17
8051单片机全双工串行口具有4种工作方式,可通过软件编程选择。方式1为波特率可变的10位异步通信接口方式。在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,在移位脉冲作用下串行数据从TXD引脚输出。发送和接收的一帧信息为11位,即1个起始位,9个数据位和1个停止位。发送一帧信息后,置位中断标志TI,其过程与方式1相同。方式3为波特率可变的11位UART方式。......
2023-11-04
所谓I/O接口也就是输入/输出接口。根据信号传输方式的不同,I/O接口一般可分为并行接口和串行接口两种方式。通常所说的并行接口一般称为Centronics接口,也称为IEEE1284标准。当传输距离较远、位数又多时,并行接口会导致通信线路复杂且成本提高。图5-13所示为各类并行接口及并行电缆,传输的是数字量和开关量。串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS-485等。......
2023-06-23
1.8255的I/O控制方式8255中可以使用无条件方式、查询方式和中断方式共3种I/O控制方式。因为传送这些信号的口线分别为PC5和PC1,所以查询就是对输入这些口线的状态进行测试。2.端口选择及读/写控制8255共有4个可寻址端口:A口、B口、C口和控制寄存器,由CS和地址A0、A1的状态组合进行选择,由读/写信号和进行端口操作控制,具体设置见表8-8。......
2023-11-17
图6-9串行数据通信的通路形式2)波特率串行通信中,数据是按位来传送的。3)串行数据通信的帧格式在串行通信中,没有专门的信号线可用来指示接收、发送的时刻,并辨别字符的起始和结束。串行传送有同步和异步两种基本方式,在测控领域,异步通信应用更加普遍。下面以异步传送的通信规程为例介绍串行数据通信的帧格式。4)近程通信与远程通信串行通信有近程和远程之分,它们在信号形式上有所不同。......
2023-06-22
相关推荐