下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 51单片机串口通信

51单片机串口通信.ppt

51单片机串口通信

孙韵卓
2013-07-16 0人阅读 举报 0 0 暂无简介

简介:本文档为《51单片机串口通信ppt》,可适用于IT/计算机领域

第章串行接口及串行通信技术第章串行接口及串行通信技术教学目标串行通信基础知识ATC的串行接口ATC串行接口的应用与编程多机通信PC机与单片机间的串行通信实训指导本章小结思考题与习题教学目标教学目标通过本章教学要求达到以下目标:串行通信的基本概念:了解并行串行通信的概念理解串行通信中的异步同步通信的基本概念理解波特率的概念学会计算波特率的方法了解串行通信的三种制式及校验方法。ATC串行口:串行接口结构及其功能理解串行数据缓冲器SBUF的功能和读写方法熟悉SCON的结构、控制作用和设置方法了解电源控制寄存器PCON熟悉SMOD位。串行口的工作方式:理解串行通信种工作方式的特点和区别掌握串行工作方式的应用熟悉串行工作方式、、应用程序的编制方法。多机通信原理:理解多机通信的原理、过程和编制多机通信应用程序的方法。串行通信基础知识串行通信基础知识计算机与外界的信息交换称为通信。通信的基本方式可分为并行通信和串行通信两种。所谓并行通信是指数据的各位同时在多根数据线上发送或接收。串行通信是数据的各位在同一根数据线上依次逐位发送或接收。目前串行通信在单片机双机、多机以及单片机与PC机之间的通信等方面得到了广泛应用。异步通信和同步通信异步通信和同步通信串行通信按同步方式可分为异步通信和同步通信两种基本通信方式。同步通信(SynchronousCommunication)同步通信是一种连续传送数据的通信方式一次通信传送多个字符数据称为一帧信息。数据传输速率较高通常可达bps或更高。其缺点是要求发送时钟和接收时钟保持严格同步。图同步通信数据传送格式异步通信(AsynchronousCommunication)在异步通信中数据通常是以字符或字节为单位组成数据帧进行传送的。收、发端各有一套彼此独立互不同步的通信机构由于收发数据的帧格式相同因此可以相互识别接收到的数据信息。同步通信的数据帧格式如图所示。异步通信信息帧格式如图所示。()起始位:在没有数据传送时通信线上处于逻辑“”状态。当发送端要发送个字符数据时首先发送个逻辑“”信号这个低电平便是帧格式的起始位。其作用是向接收端表示发送端开始发送一帧数据。接收端检测到这个低电平后就准备接收数据信号。()数据位:在起始位之后发送端发出(或接收端接收)的是数据位数据的位数没有严格的限制~位均可。由低位到高位逐位传送。()奇偶校验位:数据位发送完(接收完)之后可发送一位用来检验数据在传送过程中是否出错的奇偶校验位。奇偶校验是收发双方预先约定好的有限差错检验方式之一。有时也可不用奇偶校验。()停止位:字符帧格式的最后部分是停止位逻辑“”电平有效它可占位、位或位。停止位表示传送一帧信息的结束也为发送下一帧信息作好准备。串行通信的波特率串行通信的波特率波特率(BaudRate)是串行通信中一个重要概念它是指传输数据的速率,亦称比特率。波特率的定义是每秒传输二进制数码的位数。如:波特率为bps是指每秒钟能传输位二进制数码。波特率的倒数即为每位数据传输时间。例如:波特率为bps每位的传输时间为:波特率和字符的传输速率不同若采用图的数据帧格式并且数据帧连续传送(无空闲位)则实际的字符传输速率为=帧秒。波特率也不同于发送时钟和接收时钟频率。同步通信的波特率和时钟频率相等而异步通信的波特率通常是可变的。串行通信的制式串行通信的制式单工制式(Simplex)单工制式是指甲乙双方通信只能单向传送数据。单工制式如图所示。在串行通信中数据是在两个站之间传送的。按照数据传送方向串行通信可分为三种制式。半双工制式(Halfduplex)半双工制式是指通信双方都具有发送器和接收器双方既可发送也可接收但接收和发送不能同时进行即发送时就不能接收接收时就不能发送。半双工制式如图所示。全双工制式(Fullduplex)全双工制式是指通信双方均设有发送器和接收器并且将信道划分为发送信道和接收信道两端数据允许同时收发因此通信效率比前两种高。全双工制式如图所示。串行通信的校验串行通信的校验串行通信的目的不只是传送数据信息更重要的是应确保准确无误地传送。因此必须考虑在通信过程中对数据差错进行校验因为差错校验是保证准确无误地通信的关键。常用差错校验方法有奇偶校验、累加和校验以及循环冗余码校验等。奇偶校验奇偶校验奇偶校验的特点是按字符校验即在发送每个字符数据之后都附加一位奇偶校验位(或),当设置为奇校验时数据中的个数与校验位的个数之和应为奇数反之则为偶校验。收、发双方应具有一致的差错检验设置当接收帧字符时对的个数进行检验若奇偶性(收、发双方)一致则说明传输正确。奇偶校验只能检测到那种影响奇偶位数的错误比较低级且速度慢一般只用在异步通信中。累加和校验累加和校验累加和校验是指发送方将所发送的数据块求和并将“校验和”附加到数据块末尾。接收方接收数据时也是先对数据块求和将所得结果与发送方的“校验和”进行比较若两者相同表示传送正确若不同则表示传送出了差错。“校验和”的加法运算可用逻辑加也可用算术加。累加和校验的缺点是无法检验出字节或位序的错误。循环冗余码校验(CRC)循环冗余码校验(CRC)循环冗余码校验的基本原理是将一个数据块看成一个位数很长的二进制数然后用一个特定的数去除它将余数作校验码附在数据块之后一起发送。接收端收到该数据块和校验码后进行同样的运算来校验传送是否出错。目前CRC已广泛用于数据存储和数据通信中并在国际上形成规范市面上已有不少现成的CRC软件算法。ATC的串行接口ATC内部有一个可编程全双工串行通信接口。该部件不仅能同时进行数据的发送和接收也可作为一个同步移位寄存器使用。下面将对其内部结构、工作方式以及波特率进行介绍。串行接口的结构及功能串行接口的结构及功能图ATC串行口结构框图串行数据缓冲器SBUFSBUF是串行口缓冲寄存器包括发送寄存器和接收寄存器以便能以全双工方式进行通信。此外在接收寄存器之前还有移位寄存器从而构成了串行接收的双缓冲结构这样可以避免在数据接收过程中出现帧重叠错误。发送数据时由于CPU是主动的不会发生帧重叠错误因此发送电路不需要双重缓冲结构。在逻辑上SBUF只有一个它既表示发送寄存器又表示接收寄存器具有同一个单元地址H。但在物理结构上则有两个完全独立的SBUF一个是发送缓冲寄存器SBUF另一个是接收缓冲寄存器SBUF。如果CPU写SBUF数据就会被送入发送寄存器准备发送如果CPU读SBUF则读入的数据一定来自接收缓冲器。即CPU对SBUF的读写实际上是分别访问上述两个不同的寄存器。串行控制寄存器SCON串行控制寄存器SCON串行控制寄存器SCON用于设置串行口的工作方式、监视串行口的工作状态、控制发送与接收的状态等。它是一个既可以字节寻址又可以位寻址的位特殊功能寄存器。其格式如图所示。()SMSM:串行口工作方式选择位。其状态组合所对应的工作方式如表所示。表串行口工作方式()SM:多机通信控制器位。在方式中SM必须设成。在方式中当处于接收状态时若SM=则只有接收到有效的停止位“”时RI才能被激活成“”(产生中断请求)。在方式和方式中若SM=串行口以单机发送或接收方式工作TI和RI以正常方式被激活并产生中断请求若SM=RB=时RI被激活并产生中断请求。()TB:方式和方式中要发送的第位数据。该位由软件置位或复位。在方式和方式时TB是发送的第位数据。在多机通信中以TB位的状态表示主机发送的是地址还是数据:TB=表示地址TB=表示数据。TB还可用作奇偶校验位。()REN:串行接受允许控制位。该位由软件置位或复位。当REN=允许接收当REN=禁止接收。()TI:发送中断标志位。TI=表示已结束一帧数据发送可由软件查询TI位标志也可以向CPU申请中断。注意:TI在任何工作方式下都必须由软件清。()RB:接收数据第位。在方式和方式时RB存放接收到的第位数据。RB也可用作奇偶校验位。在方式中若SM=则RB是接收到的停止位。在方式中该位未用。()RI:接收中断标志位。RI=表示一帧数据接收结束。可由软件查询RI位标志也可以向CPU申请中断。注意:RI在任何工作方式下也都必须由软件清。在ATC中串行发送中断TI和接收中断RI的中断入口地址是同是H因此在中断程序中必须由软件查询TI和RI的状态才能确定究竟是接收还是发送中断进而作出相应的处理。单片机复位时SCON所有位均清。电源控制寄存器PCON电源控制寄存器PCON图电源控制寄存器PCON的格式SMOD:串行口波特率倍增位。在工作方式~工作方式时若SMOD=则串行口波特率增加一倍。若SMOD=波特率不加倍。系统复位时SMOD=。串行口工作方式串行口工作方式ATC串行通信共有种工作方式它们分别是方式、方式、方式和方式由串行控制寄存器SCON中的SMSM决定如表所示。工作方式工作方式在方式下串行口作为同步移位寄存器使用。此时SM、RB、TB均应设置为。()发送:TI=时执行“MOVSBUFA”启动发送位数据由低位到高位从RXD引脚送出TXD发送同步脉冲。发送完后由硬件置位TI。()接收:RI=REN=时启动接收数据从RXD输入TXD输出同步脉冲。位数据接收完由硬件置位RI。可通过“MOVASBUF”读取数据。方式的波特率为fosc即一个机器周期发送或接收一位数据。应当指出:方式并非是同步通信方式。它的主要用途是外接同步移位寄存器以扩展并行IO口。工作方式工作方式方式是一帧位的异步串行通信方式包括个起始位()个数据位和一个停止位()其帧格式如下:图方式数据帧格式()数据发送()数据发送当TI=时执行“MOVSBUFA”指令后开始发送由硬件自动加入起始位和停止位构成一帧数据然后由TXD端串行输出。发送完后TXD输出线维持在“”状态下并将SCON中的TI置表示一帧数据发送完毕。()数据接收()数据接收RI=REN=时接收电路以波特率的倍速度采样RXD引脚如出现由“”变“”跳变认为有数据正在发送。在接收到第位数据(即停止位)时必须同时满足以下两个条件:RI=和SM=或接收到的停止位为“”才把接收到的数据存入SBUF中停止位送RB同时置位RI。若上述条件不满足接收到的数据不装入SBUF被舍弃。在方式下SM应设定为。()波特率()波特率波特率=SMOD×(T溢出率)工作方式和方式工作方式和方式工作方式和方式都是位异步收发串行通信方式两者的差异仅在波特率上有所不同。方式:波特率=SMOD·fosc(SMOD=或)()数据发送()数据发送TI=发送数据前先由软件设置TB可使用如下指令完成:SETBTB将TB位置CLRTB将TB位置然后再向SBUF写入位数据并以此来启动串行发送。一帧数据发送完毕后CPU自动将TI置其过程与方式相同。()数据接收()数据接收REN=RI=时启动接收①若SM=接收到的位数据送SBUF第位数据送RB。②若SM=接收到的第位数据为数据不送SBUF接收到的第位数据为数据送SBUF第位送RB。对波特率需要说明的是当串行口工作在方式或方式且要求波特率按规范取、、、…时若采用晶振MHz和MHz,按上述公式算出的T定时初值将不是一个整数因此会产生波特率误差而影响串行通信的同步性能。解决的方法只有调整单片机的晶振频率fosc,为此有一种频率为MHz的晶振这样可使计算出的T初值为整数。表列出了串行方式或方式在不同晶振时的常用波特率和误差。表常用波特率和误差表常用波特率和误差工作方式的应用工作方式的应用串行口工作方式主要用于扩展并行IO接口。扩展成并行输出口时需要外接一片位串行输入并行输出的同步移位寄存器LS或CD。扩展成并行输入口时需要外接一片并行输入串行输出的同步移位寄存器LS或CD。ATC串行接口的应用与编程例利用串行口工作在方式外扩一片LS构成一个位LED动态显示器并将片内RAM显示单元H、H和H单元中的段码输出显示。其硬件电路如图所示。ORGHSTPRT:MOVSCON#H串口工作方式SETBP消去最高显示位SETBP消去次高显示位MOVSBUF,H传送最低显示位JNBTI,$等待发送CLRP最低位显示CLRTI清中断标志位LCALLDSSJ调延时子程序SETBP消去最低显示位MOVSBUF,H传送中间显示位JNBTI,$等待传送结束CLRP显示中间位CLRTI清中断标志位LCALLDSSJ调延时子程序SETBP消去中间显示位MOVSBUF,H传送最高显示位JNBTI,$等待传送结束CLRP显示最高位CLRTI清中断标志位LCALLDSSJSETBPRET点击观看仿真演示工作方式的应用例A、B两台单片机均采用MHz晶振。A机以bps波特率将内部RAM中H至H的个字节及校验和经串行口发送给B机B机正确接收后存入片内RAM的H至H单元并同时显示其中的前位数据。A、B两机的RXD、TXD交叉相连并共地。两机串行口均设置为方式定时器T定时初值为FH两机采用查询控制方式程序如下:工作方式的应用A机发送程序:ORGMOVR,#HR指向数据块首址MOVR,#AH循环次数为次MOVA,#初值为MAIN:MOVR,A设置数据初值为~AINCRINCADJNZR,MAINMOVTMOD,#HT定时方式MOVTL,#FH波特率为bpsMOVTH,#FHSETBTR启动TMOVSCON,#H串口方式MOVR,#HR指向发送数据块首址MOVR,#AH数据块长度为MOVH,#H校验和清DWFP:MOVA,R数据送AMOVSBUF,A启动串口发送ADDA,H求校验和MOVH,AJNBTI,$等待发送完毕CLRTI清发送中断标志INCRR指向下一字节数据DJNZR,DWFP个字节数据发送完?MOVSBUF,A发送校验和JNBTI,$等待发送完毕CLRTI清发送中断标志SJMP$停机ENDB机接收并显示程序ORG******主程序******MOVTMOD,#HT定时方式MOVTL,#FH串口波特率为bpsMOVTH,#FHSETBTR启动TMOVSCON,#H串口方式允许接收MOVR,#HR指存放接收数据首地址MOVR,#AH接收数据块长度为MOVH,#H校验和清DWFP:JNBRI,$等待接收MOVA,SBUF读取接收数据MOVR,A保存至接收数据块单元ADDA,H求校验和MOVH,ACLRRI清接收中断标志INCRR指向下一单元地址DJNZR,DWFP个数据接收完JNBRI,$等待接收校验和MOVA,SBUF读取校验和CLRREN禁止接收数据CJNEA,H,PEND校验和不正确转PENDLOP:LCALLDISP校验和正确则调显示SJMPLOPPEND:SJMP$******显示子程序(分两屏显示)******DISP:MOVR,#HDISP:MOVR,#HMOVR,#HMOVDPTR,#TABLOOP:MOVA,RMOVP,ARLAMOVR,AMOVA,RMOVCA,ADPTRMOVP,AINCRLCALLDELYDJNZR,LOOPRET******延时子程序******DELY:MOVR,#DEL:MOVR,#DJNZR,$DJNZR,DELRETTAB:DBCH,FH,AH,BH,H,H,HDBFH,H,H,H,H,CH,AHDBH,EH,BFH,CH,CH,FFHEND点击观看仿真演示工作方式与工作方式的应用工作方式与工作方式的应用方式与方式都是位异步通信方式这两种方式的区别仅在于波特率不同。方式的波特率只有固定的两种而方式的波特率则可由用户自行设定。例利用串行口方式编制一发送程序将片内RAM中H~FH单元的数据串行发送出去第数据位TB作偶校验位。根据要求将串行口设置为方式、单工发送则SCON控制字为H。波特率选为fosc。采用中断方式发送的主程序和中断程序如下:ORGHAJMPMAIN转主程序ORGH串口中断服务程序INCR发送数据地址增MOVAR取出待发数据MOVCPSW将奇偶位送TBMOVTB,CMOVSBUF,A发送数据DJNZR,SSJS判断数据是否发送完CLRES发送完关中断SSJS:CLRTI清中断标志RETIMAIN:ORGH主程序MOVSP#H置堆栈指针MOVSCON,#H串口设置为方式MOVPCON,#H波特率选为foscMOVR#H数据块首址送RMOVR#H数据块长度送RSETBEA开总中断SETBES开串行口中断MOVAR取出待发数据MOVCPSW将奇偶位送TBMOVTB,CMOVSBUFA发送数据SJMP$等待中断END例试编制串行口在方式下接收数据块的程序。设单片机晶振为MHz波特率为bs接收的数据存在片内RAM的H起始单元的一段区间内数据块长度由发送方先发送过来(不超过允许值),每接收一个数据都核对其奇偶校验位正确则存储数据否则给出出错标志。解:根据要求设置T工作于方式当SMOD=时T计数初值为FH。查询法源程序如下:START:MOVTMOD,#HT定时方式MOVTL,#FH置T计数初值MOVTH,#FHSETBTR启动TMOVSCON,#DH串口方式允许接收MOVPCON,#H设SMOD=MOVR,#H接收数据区首址送RJNBRI$等待接收数据块长度CLRRI接收后清RIMOVASBUF数据块长度存R中MOVRAMAR:JNBRI$等待接收数据CLRRI清RIMOVASBUF将接收字符读入AJBPSWMAR进行奇偶位校验JBRBMARSJMPMARMAR:JNBRBMARMAR:MOVRA校验正确保存数据INCR存储单元地址增CLRPSW设置正确的标志DJNZRMAR未接收完继续SJMP$接收完停机MAR:SETBPSW置校验出错标志SJMP$停机END多机通信多机通信双机通信时两台单片机地位是平等的此时两台单片机的串行口均可工作于方式。多机通信是指一台主机和多台从机之间的通信。而在多机通信中有主机和从机之分多机通信时主机发送的信息可以传送到各个从机而各从机发送的信息只能被主机接收其中的主要问题是怎样识别地址和怎样维持主机与指定从机之间的通信。多机通信连接电路多机通信连接电路在串行方式或方式条件下可实现一台主机和多台从机之间的通信其连接电路如图所示。多机通信原理多机通信原理多机通信时主机向从机发送的信息分为地址帧和数据帧两类以第位可编程TB作区分标志TB=表示数据TB=表示地址。多机通信充分利用了C串行控制寄存器SCON中的多机通信控制位SM的特性。当SM=时CPU接收的前位数据是否送入SBUF取决于接收的第位RB的状态:若RB=将接收到的前位数据送入SBUF,并置位RI产生中断请求若RB=则接收到的前位数据丢弃。即当从机SM=时从机只能接收主机发送的地址帧(RB=)对数据帧(RB=)不予理睬。当从机SM=时从机可接收主机发送的所有信息。通信开始时主机首先发送地址帧。由于各从机的SM=和RB=所以各从机均分别发出串行接收中断请求通过串行中断服务程序来判断主机发送的地址与本从机地址是否相符。如果相符则把自身的SM清以准备接收随后传送来的数据帧。其余从机由于地址不符则仍保持SM=状态因而不能接收主机传送来的数据帧。这就是多机通信中主、从机一对一的通信情况。这种通信只能在主、从机之间进行如果想在两个从机之间进行通信则要通过主机作中介才能实现。多机通信过程多机通信过程主、从机工作于方式或方式主机置SM=REN=从机置SM=REN=。()主机置位TB=向从机发送寻址地址帧各从机因满足接收条件(SM=,RB=)从而接收到主机发来的地址并与本机地址进行比较。()地址一致的从机(被寻址机)将SM清并向主机返回地址供主机核对。地址不一致的从机(未被寻址机)保持SM=。()主机核对返回的地址若与此前发出的地址一致则准备发送数据若不一致则返回()重新发送地址帧。()主机向从机发送数据此时主机的TB=只有被选中的那台从机能接收到该数据。其他从机则舍弃该数据。()本次通信结束后从机重新置SM=等待下次通信。例按照图编写主机向从机发送数据的程序波特率为bps从机的地址为H晶振fosc为MHz。分析:按照波特率的要求主、从机串行口均应工作于方式定时器T工作于方式定时初值为EH。初始化时主机置SM=TB=REN=。从机置SM=REN=。主机发送的数据位于H单元从机接收后存于H区域内。主机程序框图及源程序如下:图例程序框图主程序ORGHLJMPSTARTORGHSTART:MOVTMOD#HT定时方式MOVTH#EH波特率为bpsMOVTL#EHSETBTR启动TMOVSCON#DHSM=,REN=,TB=MOVPCON#H波特率不加倍MOVR#H发送数据单元地址送RMOVR#H从机地址送RACALLTRAN调发送数据子程序……其他功能程序段SJMP$停机发送数据子程序TRAN:MOVAR从机地址送ASETBTBTB置发送地址帧MOVSBUFA启动发送JNBTI$等待发送完CLRTI软件清TIJNBRI$等待接收从机发回确认地址CLRRI软件清RIMOVASBUF读取地址XRLAR核对地址是否相同JZTRA相同转SJMPTRAN地址不同转重发地址TRA:CLRTBTB清发送数据帧MOVAR读取待发送数据MOVSBUFA启动发送JNBTI$等待数据发送完CLRTI软件清发送中断标志RET返回从机源程序如下:主程序ORGHLJMPSTARTORGH串口中断入口地址LJMPSEVTORGHSTART:MOVTMOD#HT定时方式MOVTH#EH波特率为bpsMOVTL#EHSETBTR启动TMOVSCON#FHSM=,REN=,TB=MOVPCON#H波特率不加倍MOVR#HR指向数据存放单元SETBEA开串口中断SETBES……SJMP$停机串口中断服务程序SEVT:JBRI,SEVT是接收中断转SEVTCLRTI是发送中断清TIRETI返回SEVT:CLRRI清RIMOVASBUF读取数据JBRBSEVT是地址帧转SEVTMOVRA数据存于R所指单元SETBSM一次通信完成重置SMRETI返回SEVT:XRLA#H核对是否本机地址JZSEVT是本机地址转SETBSM不是本机地址SM置RETISEVT:CLRSM是本机地址SM清MOVA#H向主机发确认地址MOVSBUFARETI在实际应用中上面介绍的这种多机通信因受单片机功能和通信距离短等的限制很少被采用。在一些较大的测控系统中常将单片机作为从机(下位机)直接用于被控对象的数据采集与控制而把PC机作为主机(上位机)用于数据处理和对从机的管理它们之间的信息交换主要采用串行通信总线结构。PC机与单片机间的串行通信近年来在智能仪器仪表、数据采集、嵌入式自动控制等场合越来越普遍应用单片机作核心控制部件。但当需要处理较复杂数据或要对多个采集的数据进行综合处理以及需要进行集散控制时单片机的算术运算和逻辑运算能力都显得不足这时往往需要借助计算机系统。将单片机采集的数据通过串行口传送给PC机由PC机高级语言或数据库语言对数据进行处理或者实现PC机对远端单片机进行控制。因此实现单片机与PC机之间的远程通信更具有实际意义。单片机中的数据信号电平都是TTL电平这种电平采用正逻辑标准即约定≥V表示逻辑而≤V表示逻辑这种信号只适用于通信距离很短的场合若用于远距离传输必然会使信号衰减和畸变。因此在实现PC机与单片机之间通信或单片机与单片机之间远距离通信时通常采用标准串行总线通信接口比如RSC、RS、RS、RS等。其中RSC原本是美国电子工业协会(ElectronicIndustryAssociation简称EIA)的推荐标准现已在全世界范围内广泛采用RSC是在异步串行通信中应用最广的总线标准它适用于短距离或带调制解调器的通信场合。RSC总线标准RSC总线标准RSC实际上是串行通信的总线标准。该总线标准定义了条信号线使用个引脚的连接器。各信号引脚的定义见表。表RSC引脚信号定义表RSC引脚信号定义除信号定义外RSC标准的其它规定还有:()RSC是一种电压型总线标准它采用负逻辑标准:V~V表示逻辑(space)V~V表示逻辑(mark)。噪声容限为V。()标准数据传送速率有:bits。()采用标准的芯插头座(DB)进行连接因此该插头座也称之为RSC连接器。表RSC标准中许多信号是为通信业务或信息控制而定义的在计算机串行通信中主要使用了如下信号:()数据传送信号:发送数据(TXD)接收数据(RXD)。()调制解调器控制信号:请求发送(RTS)清除发送(CTS)数据通信设备准备就绪(DSR)数据终端准备就绪(DTR)。()定位信号:接收时钟(RXC)发送时钟(TXC)。()信号地GND。图微机针D形串口连接器RSC接口电路RSC接口电路由于RSC信号电平(EIA)与ATC单片机信号电平(TTL)不一致因此必须进行信号电平转换。实现这种电平转换的电路称为RSC接口电路。一般有两种形式:一种是采用运算放大器、晶体管、光电隔离器等器件组成的电路来实现另一种是采用专门集成芯片(如MC、MC、MAX等)来实现。下面介绍由专门集成芯片MAX构成的接口电路。MAX接口电路MAX接口电路MAX芯片是MAXIM公司生产的具有两路接收器和驱动器的IC芯片其内部有一个电源电压变换器可以将输入V的电压变换成RSC输出电平所需的±V电压。所以采用这种芯片来实现接口电路特别方便只需单一的V电源即可。MAX芯片的引脚结构如图所示。其中管脚~(C、V、C、C、C、V)用于电源电压转换只要在外部接入相应的电解电容即可管脚~和管脚~构成两组TTL信号电平与RS信号电平的转换电路对应管脚可直接与单片机串行口的TTL电平引脚和PC机的RS电平引脚相连。具体连线如图所示。图MAX引脚图PC机与C单片机串行通信电路PC机与C单片机串行通信电路用MAX芯片实现PC机与ATC单片机串行通信的典型电路如图所示。图中外接电解电容C、C、C、C用于电源电压变换可提高抗干扰能力它们可取相同容量的电容一般取μFV。电容C的作用是对V电源的噪声干扰进行滤波一般取μF。选用两组中的任意一组电平转换电路实现串行通信如图中选Tlin、Rlout分别与ATC的TXD、RXD相连Tlout、Rlin分别与PC机中R接口的RXD、TXD相连。这种发送与接收的对应关系不能接错否则将不能正常工作。图用MAX实现串行通信接口电路图PC机与多个单片机间的串行通信PC机与多个单片机间的串行通信一台PC机与多个单片机间的串行通信电路如图所示。这种通信系统一般为主从结构PC机为主机单片机为从机。主从机间的信号电平转换由MAX芯片实现。这种小型分布式控制系统充分发挥了单片机体积小、功能强、抗干扰性好、面向被控对象等优点将单片机采集到的数据传送给PC机。同时也利用了PC机数据处理能力强的特点可将多个控制对象的信息加以综合分析、处理然后向各单片机发出控制信息以实现集中管理和最优控制并还能将各种数据信息显示和打印出来。图PC机与多个单片机间的串行通信电路、RS总线接口RS接口标准出现较早难免会有不足之处:()接口的信号电平值较高易损坏接口电路的芯片()传输速率较低在异步传输时波特率最大kbps()接口使用一根信号线和一根信号返回线而构成共地的传输形式这种共地传输容易产生共模干扰()传输距离有限实际最大传输距离m左右。RS接口采用不同的方式:每个信号都采用双绞线传送两条线间的电压差用于表示数字信号。例如把双绞线中的一根标为A(正)另一根标为B(负)当A为正电压(通常为V)B为负电压时(通常为)表示信号反之A为负电压B为正电压时表示信号。RS允许通信距离可达到km实际上可达km采用合适的电压可达到Mbps的传输速率。RS与RS采用相同的通信协议但有所不同。RS通常作为RS通信的扩展它采用两对双绞线数据可以同时双向传送(全双工)。RS则采用一对双绞线输入输出不能同时进行(半双工)。RS串行总线接口标准以差分平衡方式传输信号具有很强的抗共模干扰的能力。逻辑“”以两线间的电压差为V~V表示逻辑“”以两线间的电压差为V~V表示。接口信号电平比RS降低了不容易损坏接口电路芯片。RS总线标准可采用MAX芯片实现电平转换。MAX芯片引脚排列如图所示。MAX输入输出信号不能同时进行(半双工)其发送和接收功能的转换是由芯片的RE和DE端控制的。RE=时允许接收RE=时接收端R高阻。DE=时允许发送DE=时发送端A和B高阻。在单片机系统中常把RE和DE接在一起用单片机的一个IO线控制收发。实训指导实训指导实训目的()掌握串行口工作方式的程序设计掌握单片机通信程序编制方法。()了解实现串行通信的硬环境,数据格式的协议,数据交换的协议()了解双机通信的基本要求实训内容利用单片机串行口,实现双机通信。在号实验仪键盘上键入的数字、字母号实验仪即将其在数码管上显示。实训原理图实训步骤

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/119

51单片机串口通信

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利