您好,欢迎访问三七文档
下一页返回首页上一页返回新课第10讲串行接口学习新课巩固练习复习旧课下课课间休息返回上一级下一页返回首页上一页返回新课再见返回上一级下一页返回首页上一页返回新课课间休息返回上一级下一页返回首页上一页返回新课复习旧课重点1:掌握定时/计数系统的结构图重点2:掌握定时/计数器初始化(工作模式、工作方式、装载初值、启动关闭)重点3:掌握定时/计数器的典型应用返回上一级下一页返回首页上一页返回新课巩固练习练习1:课堂上的例题。练习2:教材上的例题。练习3:教材上的习题。返回上一级下一页返回首页上一页返回新课学习新课6.1串行通信概念6.3串行口的应用6.2串行口的结构、控制、工作方式第10讲串行接口返回上一级下一页返回首页上一页返回新课1、串行通信与并行通信返回上一级2、信息传输的通路—总线3、串行通信同步通信和异步通信串行通信的传输方向串行通信的错误校验串行通信的传输速率串行通信的串行I/O数据的实现6.1串行通信概念下一页返回首页上一页返回新课返回上一级串行通信是将数据字节按位顺序(低位在前,高位在后)在一条传输线上逐个地传送。特点是传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。并行通信串行通信并行通信通常是将数据字节的各位用多条数据线同时进行传送。特点是各数据位同时传输,传输速度快,效率高,但需要多根数据线,成本高。1、串行通信与并行通信下一页返回首页上一页返回新课是一种可以代替板级总线和局部总线的新型单片机串行总线,主要作为总线型特别是非总线型单片机扩展外围器件之用。采用此总线,可以使应用系统的软硬件设计标准化、模块化和简单化。串行外围扩展总线主要有Philips公司的I2C(InterIntegratedCircuit,集成电路间)总线,Motorola公司的SPI(SeralPeripheralinterface,串行外围接口)总线。板级总线和局部总线串行外围扩展总线局部总线是元件级总线,是芯片和芯片之间的互联线。板级总线是系统级总线,是系统内各插件间的互联线。板级总线和局部总线是并行总线。2、信息传输的通路—总线返回上一级下一页返回首页上一页返回新课通信总线通信总线是系统与系统间的互联线,用于系统与系统间进行串行或并行通信。近程远程有线RS-232;RS-422;RS-485;CAN、PROFIBUS等现场总线。卫星、光纤、微波等专用线路;工业以太网;固定电话线;电力线载波。无线红外线;无线射频;蓝牙GSM等2、信息传输的通路—总线返回上一级下一页返回首页上一页返回新课同步通信同步通信是连续串行传送数据的通信方式,一次通信只传送一帧信息。一帧信息由同步字符、数据字符(多个字符构成的数据)、校验字符。特点:效率高但发送和接收时钟严格保持同步。异步通信异步通信以字符为单位组成字符帧进行数据传输,字符帧也称数据帧,由起始位、数据位、校验位、停止位构成。特点:不需同步脉冲,设备简单,但效率较低。3、串行通信-------同步通信和异步通信返回上一级下一页返回首页上一页返回新课接收发送时间1时间2发送接收发送接收发送接收发送接收1、单工方式(Simplex)单工是指数据传输仅能沿一个方向,不能实现反向传输。2、半双工方式(Half-duplex)半双工是指数据传输可以沿两个方向,但需要分时进行。3、全双工方式(Full-duplex)全双工是指数据可以同时进行双向传输。3、串行通信-------串行通信的传输方向返回上一级下一页返回首页上一页返回新课1、奇偶校验奇偶校验码是一种最简单的检错码。在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。奇偶校验码能检测出一个码字内的奇数个错误,但不能发现偶数个错误,也不能纠正错误。2、代码和校验代码和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。3、串行通信-------串行通信的错误校验返回上一级下一页返回首页上一页返回新课波特率:波特率表示每秒钟传输的有效数据的位数,单位为位/秒。只有当通信双方采用相同的波特率时,通信才不会混乱。RS-232标准中已有规定,如波特率为600,1200、2400、4800、9600、19200位/秒等。3、串行通信-------串行通信的传输速率返回上一级下一页返回首页上一页返回新课串行通信中的数据是逐位依次传送,而计算机系统的数据是并行传送的。因此,必须进行数据的并串(或串并)变换,方法有:1、软件实现(通常不被人们采用)2、硬件实现并串变换通常采用UART芯片实现。UART(UniversalAsynchronousReceiver/Transmitter,通用异步接收/发送器)的工作原理:3、串行通信-------串行通信的串行I/O数据的实现返回上一级下一页返回首页上一页返回新课串行发送时,CPU可以通过数据总线把8位并行数据送到“发送数据缓冲器”,然后并行送给“发送移位寄存器”,并在发送时钟和发送控制电路控制下通过TXD线逐位发送出去。起始位和停止位是由UART在发送时自动添加上去的。UART发送完一帧后产生中断请求,CPU响应中断后可以把下一个字符送到发送数据缓冲器,以重复上述过程。串行接收时,UART监视RXD线,在检测到RXD线上有一个低电平(起始位)时就开始一个新的字符接收过程。UART每接收到一位二进制数据位后则使“接收移位寄存器”左移一次,连续接收到一个字符后则并行传送到“接收数据缓冲器”,并通过中断促使CPU从中取走所接收的字符。3、串行通信-------串行通信的串行I/O数据的实现返回上一级下一页返回首页上一页返回新课返回上一级6.2串行口的结构、控制、工作方式51单片机具有一个采用通用异步接收/发送器UART工作方式的全双工串行通信接口,可以同时发送和接收数据。利用这个接口单片机可以方便地与其他计算机或带串行通信接口的外围设备(如串行打印机、CRT终端等)实现双机、多机通信。下一页返回首页上一页返回新课返回上一级6.2串行口的结构、控制、工作方式一、SCONSM0、SM1:串行口的工作方式SM2:SM2=0,双机通信SM2=1,多机通信REN:REN=0,禁止接收REN=1,允许接收TB8:发送数据第9位RB8:接收数据第9位TI、RI:发送、接收中断标志位下一页返回首页上一页返回新课返回上一级6.2串行口的结构、控制、工作方式方式SM0=0SM1=0(方式0)8位移位寄存器I/O方式SM0=0SM1=1(方式1)10位异步通信方式SM0=1SM1=0(方式2)10位异步通信方式SM1=0SM1=1(方式3)10位异步通信方式一帧数据格式8位数据1个起始位“0”8个数据位1个停止位“1”1个起始位“0”,9个数据位,1个停止位“1”,发送第9位由SCON的TB8提供,接收第9位由SCON的RB8提供,第9位为校验位,也可作为多机通信的地址/数据特征位。波特率引脚功能TXD输出fosc/12频率的同步脉冲RXD作为数据的输入输出端TXD数据输出端RXD数据输入端TXD数据输出端RXD数据输入端TXD数据输出端RXD数据输入端应用常用于扩展I/O口双机通信多用于多机通信多用于多机通信12oscf溢出率1322SMODToscf642SMOD溢出率1322SMODTXfosc8SMOD212322Xfosc8SMOD212322溢出率=1/定时时间下一页返回首页上一页返回新课返回上一级6.2串行口的结构、控制、工作方式由于定时器T1的初始值只能为整数,这样就不可避免要产生波特率误差。为了降低误差,一般采用的晶振频率为11.0592MHz的晶振。下一页返回首页上一页返回新课返回上一级6.2串行口的结构、控制、工作方式二、PCONPCON中只有一位SMOD与串行口工作有关。SMOD:波特率倍增位。SMOD=1时,波特率提高一倍。复位时,SMOD=0。波特率加倍,则用MOVPCON,#80H。下一页返回首页上一页返回新课返回上一级6.3串行口的应用应用1:串行口工作方式0的I/O扩展应用应用2:双机通信应用3:主从式多机通信应用4:分布式多机通信下一页返回首页上一页返回新课返回上一级应用1:串行口工作方式0的I/O扩展应用1、并入串出用74LS165(CD4014)扩展并行输入口下一页返回首页上一页返回新课返回上一级应用1:串行口工作方式0的I/O扩展应用从16位扩展口读入5组数据(每组二个字节),并把它们转存到内部RAM20H开始的单元中。MOVR7,#05H;设置读入组数MOVR0,#20H;设置内部RAM数据区首址START:CLRP1.0;并行置入数据,S/L*=0SETBP1.0;允许串行移位,S/L*=1MOVR1,#02H;设置每组字节数,即外扩;74LS165的个数RXDAT:MOVSCON,#10H;设串口方式0,允许接收,启动WAIT:JNBRI,WAIT;未接收完一帧,循环等待CLRRI;清RI标志,准备下次接收下一页返回首页上一页返回新课返回上一级应用1:串行口工作方式0的I/O扩展应用MOVA,SBUF;读入数据MOV@R0,A;送至RAM缓冲区INCR0;指向下一个地址DJNZR1,RXDAT;未读完一组数据,继续DJNZR7,START;5组数据未读完重新并行置入……;对数据进行处理下一页返回首页上一页返回新课返回上一级应用1:串行口工作方式0的I/O扩展应用2、用串入并出74LS164(CD4094)扩展并行输出口下一页返回首页上一页返回新课返回上一级应用1:串行口工作方式0的I/O扩展应用编写将内部RAM单元30H、31H的内容经串行口由74LS164并行输出子程序。START:MOVR7,#02H;设置要发送的字节个数MOVR0,#30H;设置地址指针MOVSCON,#00H;设置串行口为方式0SEND:MOVA,@R0MOVSBUF,A;启动串行口发送过程WAIT:JNBTI,WAIT;1帧数据未发完,循环等待CLRTIINCR0;取下一个数DJNZR7,SEND;未完,发完从子程序返回RET下一页返回首页上一页返回新课应用1:串行口工作方式0的I/O扩展应用3、用串入并出74LS164显示“2008”返回上一级下一页返回首页上一页返回新课应用1:串行口工作方式0的I/O扩展应用ORG1000HSTART:MOVSP,#60HMOV40H,#02H;显示“2008”MOV41H,#00HMOV42H,#00HMOV43H,#08HMOVR1,#00010000B;R1指向最右边的一位MOVR0,#40HLOOP1:MOVP1,R1;送扫描位选信号MOVA,@R0LCALLTAB;查显示字符的八段代码MOVSCON,#00HMOVSBUF,A;输出显示码返回上一级下一页返回首页上一页返回新课应用1:串行口工作方式0的I/O扩展应用MOVR6,#02H;延时DELAY1:MOVR7,#0FFHDELAY2:DJNZR7,DELAY2DJNZR6,DELAY1INCR0;指向下一个显示缓冲单元MOVA,R1;指向下一位数RLAMOVR1,AJNBACC.0,LOOP1;所有位都显示完了吗?SJMPSTARTTAB:INCAMOVCA,@A+PCRETDB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,80HDB090H,088H,083H,0C6H,0A1H,86H,8EH,0BFH,89H,8CHEND返回上一级下一页返回首页上一页返回新课应用2:双机通信R2INT2OUTTX
本文标题:第10讲 串行通信
链接地址:https://www.777doc.com/doc-4058548 .html