单片机及接口技术10(第五章)课件

上传人:风*** 文档编号:242008590 上传时间:2024-08-09 格式:PPT 页数:48 大小:291.01KB
返回 下载 相关 举报
单片机及接口技术10(第五章)课件_第1页
第1页 / 共48页
单片机及接口技术10(第五章)课件_第2页
第2页 / 共48页
单片机及接口技术10(第五章)课件_第3页
第3页 / 共48页
点击查看更多>>
资源描述
,Yu Naigong,School of Information and Control,Beijing Polytechnic University,Beijing,P.R.China,北京工业大学人工智能与机器人研究所,一、串行通信的基本概念,*,二、单片机中的串行口,*,三、,USART,串行通信接口芯片,8251A,*,第五章 串行通信,一、串行通信的基本概念*第五章 串行通信,两种基本形式,同步与异步,传输速率,比特率与波特率,单工与双工方式,调制与解调,串行通信中的校验方式,串行通信的接口标准,RS232C,,,422,,,423,485,一、串行通信的基本概念,两种基本形式同步与异步一、串行通信的基本概念,同步传输:,连续串行传送数据的通信方式,一次通信只传送一帧信息;,发送方与接收方使用同一时钟。,同步通信信息帧格式:,同步字符用于确认数据字符的开始,起起始同步的作用;,校验字符有,1-2,个,用于校验接受数据字符的正确性,1,、同步与异步,同步字符,数 据 流,校验,同步传输:1、同步与异步同步字符数 据 流校验,异步传输:,发送方与接受方不使用同一时钟,其时钟源彼此独立;,通过字符帧格式协调数据的发送和接收。,异步通信字符帧格式:,P,1 1,0,5 8,位,起始位,数据,校验位,停止位,1,、同步与异步,(低位在前),异步传输:P1 105 8 位起始位数据校验位停止,2,、传输速率与波特率,传输速率:,每秒钟传送二进制数码的位数,用于表征数据传输的速度。(单位是,b/s,),波特率(比特率):,每秒钟传送离散信号的数目,也称调制信号的传输率,和调制方式有关。,调幅、调频情况下,波特率和传输速率相同;调相情况下,波特率与传输率有区别。,异步通信的波特率在,509600b/s,之间,常为时钟频率的,1/16,或,1/64,。,2、传输速率与波特率传输速率:,3,、串行通信的制式,全双工,有两个独立的通信回路,需三条信号线。,半双工,只有一个通信回路,需两条信号线。,单工,只能单方向传输信号。,3、串行通信的制式全双工,4,、调制与解调,调制:,数字信号转换成模拟信号进行传输的技术。,调制的几种形式:,ASK,(调幅),:,用幅值大小区分,0,、,1,信号;,FSK,(调频):用频率变化区分,0,、,1,信号;,PSK,(调相):用相位变化区分,0,、,1,信号。,解调:,将数字信号从接收到的调制模拟信号中检出的技术。,信号传输形式:,原信号传输,基带传输(数字信号传输),模拟信号传输,宽带传输(数字信号转换为模拟信号进行传输,一条信号线上可同时传送多组数字信号),4、调制与解调调制:,奇偶校验方式,(异步通信中使用),发送的数据和校验位中“,1”,的个数为奇数(奇校验)或偶数(偶校验)。,校验和方式,发送数据求和,保留低,8,位或,16,位做校验。,CRC,码校验方式,(,Cyclic Redundancy Check,循环冗余校验),发送数据被生成多项式除,用余式做校验。,5,、校验方式,奇偶校验方式(异步通信中使用)5、校验方式,RS232C,标准接口,是美国电子工业协会(,EIA,)与,Bell,等公司在,1969,年开发并公布的一种按位进行通信的总线标准,适用于同步和异步方式。,是一种,DTE,(,Data Terminal Equipment),和,DCE,(Data Communication Equipment),之间的信号传输线。,6,、串行通信接口标准,RS232C标准接口6、串行通信接口标准,6,、串行通信接口标准,(1)RS232C,标准接口电气性能:,电平:采用负逻辑,15V,逻辑,1,:,-3V-15V,逻辑,0,:,+3V+15V,接收器输入阻抗:,3 7K,驱动器转换速率:,30V/s,信号线上最大负载电容:,2500pf,最大电缆长度为,30m,最高传输速率:,20KB/S,6、串行通信接口标准(1)RS232C标准接口电气性能:,(2),信号线分配及定义,标准,25pinD,型插座,1.,GND,机架地(保护地),2.,TxD,发送数据端,3.,RxD,接收数据端,4.,RTS,请求发送,Request-To-Send,5.,CTS,清除发送,Clear-To-Send,6.,DSR,数据设备准备好,Data-Set-Ready,7.,SGND,信号地,8.,DCD,载波检测,Data-Carrier-Detect,20.,DTR,数据终端准备好,Data-Terminal-Ready,22.,RI,振铃指示,(2)信号线分配及定义标准25pinD型插座,(3)RS-232C,的接线形式,2.,TxD,TxD,3.,RxD,RxD,4.,RTS,RTS,5.,CTS CTS,6.,DSR,DSR,7.,SGND,SGND,8.,DCD,DCD,20.,DTR DTR,(3)RS-232C的接线形式,(3)RS-232C,的接线形式,2.,TxD,TxD,3.,RxD,RxD,4.,RTS,RTS,5.,CTS CTS,6.,DSR,DSR,7.,SGND,SGND,8.,DCD,DCD,20.,DTR DTR,(3)RS-232C的接线形式,RS422A,接口,平衡式差分传送,RS423,接口,非平衡式差分传送,RS485,接口,是,RS-422A,的变形,区别是:,RS-422A,为全双工,采用两对平衡差分信号线;,RS-485,为半双工,采用一对差分信号线,对于多站互连十分方便。,6,、串行通信接口标准,RS422A接口6、串行通信接口标准,二、单片机中的串行口,结构原理,T1,发送中断,TXD,串行输出,(,P3.1),内部总线,移位时钟,RXD,串行输入,(,P3.0,),RI,接收中断,发送,SBUF,接收,SBUF,输入移位寄存器,输出移位寄存器,二、单片机中的串行口结构原理,1,、,串行口控制寄存器,SCON,的格式,SM0 SM1 SM2 REN TB8 RB8 TI RI,功能,SM0,和,SM1,:串行口方式控制位,决定工作方式。,SM 0 SM1,方式 具 体 功 能 波特率,0 0,方式,0 8,位移位寄存器,FOSC,的,/12,0 1,方式,1 10,位异步收发,可调,1 0,方式,2 11,位异步收发,FOSC,的,1/64,或,1/32,1 1,方式,3 11,位异步收发,可调,1、串行口控制寄存器SCON的格式,SM2:,允许方式,2,和方式,3,进行多机通信控制位。,在方式,2,或方式,3,下:,如,SM2=0,串行口以单机发送或接收方式工作,,TI,和,RI,以正常方式被激活,但不会引起中断请求(只能采用查询法进行数据传送);,若,SM2=1,且,RB8=1,时,,RI,不仅被激活而且可以向,CPU,请求中断;若接收到的第,9,位数据,(RB8),为,0,不激活,RI,。,在方式,1,时,,SM2,应设置为,0,,此时只有收到有效停止位时才会激活,RI,,若没有接收到停止位,则,RI,清,0,。,在方式,0,中,,SM2,不用,应设置为,0,。,SM2:允许方式2和方式3进行多机通信控制位。,REN,:,允许串行接收控制位。,软件置,1,允许接收,若为,0,则禁止接收。,TB8,:,用于在方式,2,和方式,3,时存放发送的第,9,位数据。,(,1,或,0,)由软件置位或复位。,RB8,:,用于在方式,2,和方式,3,时存放接收到的第,9,位数据;在方式,1,下,若,SM2=0,,则,RB8,用于存放接收到的停止位。在方式,0,下,不使用,RB8,。,TI,:,发送中断标志位。发送前必须由软件清,0,。,RI,:,接收中断标志位。必须由软件清,0,REN:允许串行接收控制位。,2,、串行口工作方式,(1),方式,0,:,SM0=0,,,SM1=0,,,SM2=0,移位寄存器方式,:,RXD,输入,/,输出,,TXD,输出同步移位脉冲。,波特率,=,f,osc,/12,(固定)。,数据格式,:,8,位,低位在先。,波形图,:(,方式,0,发送,),写入,SBUF,SEND,SHIFT,RXD(,OUT,),D0 D1 D2 D3 D4 D5 D6 D7,TXD,TI,同步脉冲,2、串行口工作方式(1)方式0:SM0=0,SM1=0,,方式,0,接收,(,REN=1,,,RI=0,),清,SCON,中的,RI,位,RI,RECEIVE,SHIFT,RXD(IN),D0 D1 D2 D3 D4 D5 D6 D7,TXD,(2),方式,1,:,SM0=0,,,SM1=1,8,位异步通信口,:,RXD,接收数据,,TXD,发送数据。,波特率可变,由定时器控制。,数据格式,:每帧,10,位,,1,位起始位,,8,位数据,,1,位停止位。,数据位低位在先。,同步脉冲,方式0接收 (REN=1,RI=0)同步脉冲,方式,1,发送,TXCLK,写入,SBUF,SEND,SHIFT,TXD,起始位,D0 D1 D2 D3 D4 D5 D6 D7,停止位,TI,方式,1,接收,(,RI=0,,,SM2=0,或接收到停止位,1,数据有效),RXCLK,RXD,起始位,D0 D1 D2 D3 D4 D5 D6 D7,停止位,SHIFT,RI,单片机及接口技术10(第五章)课件,(3),方式,2,SM0=1,,,SM1=0,9,位异步通信口。,数据格式,:每帧,11,位,,1,位起始位,,8,位数据,,1,位可编程位,,1,位停止位。数据位低位在先。,发送时可编程位(,TB8,)送出,0,或,1,,接收时可编程位送入,SCON,中的,RB8,。,(3)方式2 SM0=1,SM1=0,(3),方式,2,SM0=1,,,SM1=0,发送:,TXD,输出。,CPU,执行写,SBUF,指令后开始发送,送完一帧后,,TI,置,1,,在发送下一帧之前,,TI,必须清零(由中断服务程序或查询程序)。,接收:,当,REN=1,时,允许接收数据。检测到,RXD,端有负跳变并确认起始位后,开始接收数据。当收到第,9,位数据后,若,(1)RI=0,;(,2)SM2=0,或第,9,位数据,=1,,则接收数据有效,,8,位数据送入,SBUF,,第,9,位数据送入,RB8,,并使,RI=1,。否则接收数据丢失。,(4),方式,3,SM0=1,,,SM1=1,同方式,2,,只是通信波特率不同。,(3)方式2 SM0=1,SM1=0,方式,0,:,波特率是固定的,其值为,f,osc,/12,。,方式,2,:,波特率,=2,smod,.f,osc,/64,方式,3:,(,同方式,1),波特率由定时器,T1,或,T0,的溢出率决定,是可变的。,波特率,=,2,smod,.T1,溢出率,/32,T1,溢出率,=,f,osc1/(2,k,-,初值,)/12;k,为定时器,T1,的位数。,注:,定时器,T1,或,T0,通常工作于方式,2,。,4,、波特率的计算与设置,方式0:4、波特率的计算与设置,串行口常用波特率及,T1,初值,(方式,1,和方式,3,时),常用波特率,时钟频率,F,OSC,SMOD,计,/,定方式,计,/,定初值,19.2K,9.6K,4.8K,2.4K,1.2K,600,110,11.0592MHz,11.0592MHz,11.0592MHz,11.0592MHz,11.0592MHz,11.0592MHz,6 MHz,1,0,0,0,0,0,0,2,2,2,2,2,2,2,FDH,FDH,FAH,F4H,E8H,D0H,72H,串行口常用波特率及T1初值(方式1和方式3时)常用波特率时钟,(,三,),串行口的应用,串行口在方式,0,下的应用,在方式,0,下,串行口可被设置成,并入串出的输出口,(需外接一片,8,位串行输入并行输出的同步移位寄存器),或,串入并出的输入口,(需外接一片,8,位并行输入串行输出的同步移位寄存器),。,串行口在其他方式下的应用,方式,1,为,10,位异步通信,有,8,位数据位,不可用于多机通信。,方式,2,和,方式,3,为,11,位异步通信,有,9,位数据位,可在多机方式下通信(,SM2=1,)。,(三)串行口的应用串行口在方式0下的应用,8031,RXD,TXD,P1.0,DATA,CD4090,CLK STB,例题:,根据下图的线路连接,编写发光二极管自左至 右以一定速度轮流显示的程序。设发光二极管为共阴极接法。,CD40498,位串行输入并行输出的同步移位寄存器,STB,为控制端(,0,串行输入数据且并行输出端关闭,,1,并行输出数据且串行输入端关闭)。,8031DATA CD4090例题:根据下图的线路,解,:,ORG 2000H,MOV SCON,,,#00H ;,令串行口为方式,0,MOV IE,,,#90H ;,开串行口中断,CLR P1.0 ;,禁止,CD4094,并行输出,MOV A,,,#80H,;,起始显示码送,A,MOV SBUF,,,A ;,8031,串行输出,LOOP,:,SJMP LOOP ;,等待串行口输出完,ORG 0023H,AJMP SBV ;,转,SBV,ORG 0100H,SBV,:,SETB P1.0 ;,点亮发光管,ACALL DELAY ;,点亮一段时间,CLR TI ;,清发送中断标志,RR A ;,准备点亮下一位,CLR P1.0 ;,灭显示,MOV SBUF,,,A ;,串行口输出,RETI,DELAY,:,;,延时程序,:,END,解:ORG 2000HDELAY:,例题:,根据下图的线路连接,编写串行输入开关量并存入,20H,单元的程序。要求:控制开关,K,C,断开(,K,C,=1,)时,8031,处于等待状态,,K,C,合上时,8031,开始输入并进行模拟。,K,C,8031,RXD,TXD,P1.1,P1.0,Q8,CD4014,CLK P/S,CD4014,并行输入串行输出的同步移位寄存器,P/S,为控制端(,0,串行输出且并行输入端关闭,,1,并行输入数据且串行输出端关闭)。,例题:根据下图的线路连接,编写串行输入开关量并存入20H单元,解,:,ORG 2000H,START,:,JB P1.0,$;,若,K,C,断开,则等待,SETB P1.1 ;,令,CD4014,并行输入开关量,CLR P1.1 ;CD4014,开始串行输出,MOV SCON,,,#10H;,令串行口为方式,0,,启动接收,JNB RI,$;,等待接收,CLR RI ;,若接收已完,则请,RI,MOV A,,,SBUF ;,开关量送累加器,A,MOV 20H,,,A ;,存入内存,ACALL OTHPRO ;,转其他程序,SJMP START ;,准备下次开关量输入,END,解:ORG 2000H,例题:,请用中断法编出串行口在方式,1,下的发送程序。设单片机主频为,6MHz,,定时器,T1,用作波特率发生器,波特率为,2400b/s,,发送字符块在内部,RAM,的起始地址为,TBLOCK,,字符块长度为,LEN,。要求奇校验位在数据第,8,位发送。字符块长度,LEN,率先发送。,例题:请用中断法编出串行口在方式1下的发送程序。设单片机主频,开始,定时器,T1,初始化,(波特率设置并启动,T1,),串行口为方式,1,字符块起始地址送,R0,字符块长度字节送,R2,发送字符块长度字节,开,CPU,中断,开串行口中断,主程序流程图,发送中断服务程序流程图,关串行口中断,发送字符送,A,形成奇校验位添加到,第,8,数据位,启动串行口发送,所有字符发完?,字符块指针加,1,中断返回,停止发送,Y,N,开始定时器T1初始化串行口为方式1字符块起始地址送R0发送字,例题:,请用查询法编出串行口在方式,3,下的接收程序。设单片机主频为,6MHz,,波特率为,2400b/s,,接收数据区起始地址为,RBLOCK,(内部,RAM,),接收数据块长度字节由始发端发送来。要求采用累加和校验。,例题:请用查询法编出串行口在方式3下的接收程序。设单片机主频,主程序流程图,开始,定时器,T1,方式,2,设置时间常数初值,启动,T1,串行口为方式,3,SMOD=1,接收数据区,起始地址送,R0,累加和寄存器,R3,清零,调用接收子程序,停机,主程序流程图开始定时器T1方式2串行口为方式3接收数据区起始,接收子程序流程图,返回,清除,RI,比较两个累加和,Y,N,清楚,RI,清,RI,数据块长度字节存,R2,求累加和并送,R3,数据块长度字节接收完,?,清,RI,收到字符存入内存,求累加和并送入,R3,接收数据区指针加,1,一个字符帧接收完,?,N,全部字符收完,?,N,Y,Y,累加和字节收完,?,N,相等,?,Y,ERROR,Y,N,接收子程序流程图返回清除RIYN清楚RI清RI数据块长度字节,(,四,),串行通讯中的多机通讯,硬件连接,Tx,D,Rx,D,8051,(主),Tx,D,Rx,D,8051,(从,0,),Tx,D,Rx,D,8051,(从,n,),(四)串行通讯中的多机通讯硬件连接TxD TxD,工作流程,方式,2,或,3,,主机,SM2=0,,,TB8=1,传送地址信息,TB8=0,传送数据信息。,从机,SM2=1,从机只接收地址帧。,从机,SM2=0,既接收地址帧又接收数,据帧。,工作流程,SM2=0,,对于地址信息和数据信息都接收。,全部从机将,SM2,设为,1,,处于只接收地址帧状态。,主机首先发送地址信息,并置,TB8=1,。,从机收到地址帧后,和自己本机地址比较。若相等,则为被寻址机,将自己的,SM2,清零,准备接受下面的数据。若地址不等,维持,SM2=1,,对后面的数据不理睬。,主机在地址发完后,发送数据帧,并使,TB8=0,。,改变从机时,主机再发送地址帧(,TB8=1,),原来的从机使自己的,SM2=1,,结束接收数据,。,SM2=0,对于地址信息和数据信息都接收。,UART(,异步通用收发器,),基本结构,:,发送器,:TDR+TSR,控制器,:,命令与状态,接收器,:RDR+RSR,接收过程,:(,设,K=16),发送器,接收器,控制器,缓 冲 器,三、,UART,和,USART,UART(异步通用收发器)发送器接收器控制器缓 冲 器三,1,、,USART,串行通信接口芯片,8251A,结构框图,发送缓冲器,发送控制器,接收缓冲器,接收控制器,数据总线缓冲器,读,/,写控制逻辑,调制解调控制器,RESET,CLK,C/D,RD,WR,CS,DSR,CTS,DTR,RTS,TxD,TxRDY,TxEMPTY,TxC,RxD,RxRDY,RxC,SYNDET/BD,1、USART串行通信接口芯片8251A结构框图发送缓冲器发,8251A,的引脚,CS C/D RD WR,操 作,0 0 0 1,接收数据寄存器,DB,0 0 1 0 DB,发送数据寄存器,0 1 0 1,状态寄存器,DB,0 1 1 0DB,命令寄存器或控制寄存器,1 X X X 8251A,的,DB,为三态,0 1 1 X8251A,的,DB,为三态,TxRDY,:发送器准备好,RxRDY,:接收器准备好,SYNDET,:同步检测信号,DTR,:数据终端准备好,DSR,:数据设备准备好,RTS,:请求发送信号,CTS,:清除请求发送信号,8251A的引脚 CS C/D RD WR,2,、初始化编程,方式寄存器,S2 S1 EP PEN L2 L1 B2 B1,波特率系数,00,:同步方式,01,:异步,K=1,10,:,K=16,11,:,K=64,字符长度,0 0,:,5,位,0 1,:,6,位,1 0,:,7,位,1 1,:,8,位,校验,x0,:无校验,01,:奇校验,11,:偶校验,同步控制,x0:,内同步,x1:,外同步,0 x:,双同步,1x:,单同步,帧控制,00:,不确定,01:1,位停止位,10:3/2,位停止位,11:2,位停止位,N,同步,Y,2、初始化编程方式寄存器 S2 S1,控制寄存器,1:,发送允许,1:,使,DTR,输出为,0,1:,接收允许,1:,内部复位,送中止符,1,使,TxD,输,出为,0,1,使出错标,志复位,(PE,OE,FE),搜索方式,1:,进行同,步符搜索,EH IR RTS ER SBRK RxE DTR TxEN,请求发送,1:,使,RTS,输出为,0,控制寄存器送中止符1使出错标搜索方式 EH,状态字,FE=1,帧错,OE=1,脱码错,PE=1,奇偶错,DSR,,,SYNDET,,,TxE,,,RxRDY,,,TxRDY,同引脚定义,DSR SYNDET FE OE PE TxE RxRDY TxRDY,状态字 DSR SYNDET FE O,编程框图,同步方式,输入控制字,IR=1,传送结束,输入方式字,N,Y,数据传送,N,N,Y,输入第二同步符,输入第一同步符,双同步,Y,N,Y,编程框图同步方式输入控制字IR=1传送结束输入方式字NY数据,3,、,Xon/Xoff,规约,发送方流程,初始化,接收字符,发送完,11H,N,发送一字符,Y,有可接收字符,N,结束,Y,停止发送,Y,N,N,13H,Y,3、Xon/Xoff规约发送方流程初始化接收字符发送完11H,接收完,初始化,准备好接收,发送,11H,接收一字符,需要暂停接收,发送,13H,结束,Y,N,N,Y,N,Y,接收程序流程,接收完初始化准备好接收发送11H接收一字符需要暂停接收发送1,谢谢大家!,谢谢大家!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!