《单片机原理及接口技术》第七章89C51串行口及串行通信技术

上传人:n**** 文档编号:50895128 上传时间:2018-08-11 格式:PPT 页数:73 大小:1.39MB
返回 下载 相关 举报
《单片机原理及接口技术》第七章89C51串行口及串行通信技术_第1页
第1页 / 共73页
《单片机原理及接口技术》第七章89C51串行口及串行通信技术_第2页
第2页 / 共73页
《单片机原理及接口技术》第七章89C51串行口及串行通信技术_第3页
第3页 / 共73页
《单片机原理及接口技术》第七章89C51串行口及串行通信技术_第4页
第4页 / 共73页
《单片机原理及接口技术》第七章89C51串行口及串行通信技术_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《《单片机原理及接口技术》第七章89C51串行口及串行通信技术》由会员分享,可在线阅读,更多相关《《单片机原理及接口技术》第七章89C51串行口及串行通信技术(73页珍藏版)》请在金锄头文库上搜索。

1、第7章串行口及串行通信技术串行通信基本知识89C51串口及其应用两个单片机之间的通信单片机与PC机之间的通信什么是串行通信?vv串行通信和并行通信串行通信和并行通信计算机1GND计算机2GND并行通信计算机1GND计算机2GND发送接收串行通信并行通信:数据的各位并行通信:数据的各位同时同时传送;传送;串行通信:数据串行通信:数据一位一位一位一位顺序传送。顺序传送。v快、多(数据线)、近慢、少、远串行通信制式:串行通信制式:单工单工(a)(a)、半双工半双工(b)(b)和和全双工全双工(c)(c)(simplex half duplex full (simplex half duplex fu

2、ll duplex)duplex)发送器A站接收器B站单工通信(a)发收 A站发收 B站发收 A站发收B站(b)(c)v 异步通信,ASYNC ASYNC (Asynchronous (Asynchronous Data Data Communication)Communication):帧格式传送:帧格式传送, ,信息量不大信息量不大vv1 1个起始位,个起始位,0 0vv5 58 8个数据位个数据位vv奇偶校验位奇偶校验位vv1 12 2个停止位,个停止位,0 0串行通信的分类:串行通信的分类:异步异步(Asynchronous Communication)(Asynchronous Co

3、mmunication)同步同步(Synchronous Communication)(Synchronous Communication)v 同步通信,SYNC(SynchronousSYNC(Synchronous Data Data Communication)Communication):严格同步:严格同步, ,发送同步字符发送同步字符, ,数据数据 连续连续, ,信息量大信息量大, ,速度较高速度较高vv按数据块传送按数据块传送把要传送的字符顺序连接起来把要传送的字符顺序连接起来数据块前有同步字符,后有检验字符数据块前有同步字符,后有检验字符同步字符可由 通信双方约定 ,也可采用 A

4、SCII码中规 定的SYNC代 码,即16H。 数据数据数据数据数据同步字符同步字符 1同步字符 2同步传送时,要求用时钟来实现发送端与接收端之间的同步。波特率(Band rate)vv数据传送速率:每秒传送的二进制代码的位数。数据传送速率:每秒传送的二进制代码的位数。vv波特率反映了串行通信的速率,也反映了对于传波特率反映了串行通信的速率,也反映了对于传 输通道的要求。波特率越高,要求传输通道的频输通道的要求。波特率越高,要求传输通道的频 率越宽,一般异步通信的波特率在率越宽,一般异步通信的波特率在50b/s19200b/s50b/s19200b/s 之间。之间。vv相互通信的甲乙双方必须具

5、有相同的波特率,否相互通信的甲乙双方必须具有相同的波特率,否 则无法成功地完成串行数据通信。则无法成功地完成串行数据通信。通信线上传送的所有位信号都保持一致的信号持续时间通信线上传送的所有位信号都保持一致的信号持续时间 ,每一位的信号持续时间都由数据传送速度确定,每一位的信号持续时间都由数据传送速度确定。举例vv假如在假如在1 1秒内,秒内,89C5189C51串口把串口把100100个个FFHFFH的数据发送的数据发送 出去,问波特率是多少?假若每个字符是包含一出去,问波特率是多少?假若每个字符是包含一 个起始位、一个终止位和个起始位、一个终止位和8 8个数据位。个数据位。根据串行通信的格式

6、及约定(如:同步方式、通 讯速率、数据块格式、信号电平等)不同, 形成了多种串行通信的协议与接口标准。常见的有: 通用异步收发器(UART)本课程介绍的串口 通用串行总线(USB) I2C总线 CAN总线 SPI总线 RS-485,RS-232C,RS422A标准等等串行通信的基本特征是数据逐位顺序进行传送。串行口及串行通信技术串行通信基本知识89C51串口及其应用两个单片机之间的通信单片机与PC机之间的通信vv概述概述有一个可编程全双工异步串行通信接口(有一个可编程全双工异步串行通信接口(UART) UART) (Universal Asynchronous Receiver/Transmi

7、tter(Universal Asynchronous Receiver/Transmitter ) )管脚:管脚:TXDTXD(P3.1P3.1)、)、RXDRXD(P3.0P3.0)可同时发送、接收数据可同时发送、接收数据( (Transmit/Receive)Transmit/Receive)有四种工作方式,帧格式有有四种工作方式,帧格式有8 8、1010、1111位。位。波特率波特率(Baud rate)(Baud rate)可设置可设置波特率:每秒钟传送二进制数码的位数,也叫比 特数,单位为b/s,即位/秒。89C51的串行接口图7-7return串行口结构引脚RXD (P3.0串行

8、数据接收端)引脚TXD (P3.1串行数据发送端)MOV SBUF, A :发送数据到串口引脚MOV A , SBUF :接收数据RI :从串口上接收数据到SBUF RI=1TI :数据从SBUF向外发送完 TI=1MCS-51串行接口寄存器SBUFSBUF串行口数据缓冲器串行口数据缓冲器SCONSCON串行口控制寄存器串行口控制寄存器PCONPCON电源及波特率选择寄存器电源及波特率选择寄存器控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式选择多机通信控制位允许串行接收位接收数据的第9位发送数据的第9位接收中断标志发送中断标志9FH9EH9DH9CH9BH9AH99H9

9、8HvSM2置1,多机通信,用于方式2和方式3D81,地址帧D80,数据帧vSM2置0,不属于多机通信SM0 SM1工作方式功能波特率0 0方式08位同步移位寄存器fosc/120 1方式110位UART可变1 0方式211位UARTfosc/64或 fosc/321 1方式311位UART可变串行方式的定义例:设串行口工作在方式例:设串行口工作在方式1 1,允许接收,则指令为:,允许接收,则指令为:MOV SCON,#01010000BMOV SCON,#01010000B串行通信只用该位,为串行通信只用该位,为1 1时,波特率时,波特率22;为;为0 0时不变。时不变。电源及波特率选择寄存

10、器PCONSMOD GF1 GF0PDIDL87H串行口四种工作方式应用比较vv方式的选择由方式的选择由SM1SM1、SM0SM0实现。实现。工作方式功能说明波特率方式08位同步移位 寄存器常用于扩展 I/O口fosc/12方式110位UART8位数据、起始 位、结束位可变(取决于定 时器1溢出率) 方式211位UART8位数据、起始 位0、结束位1 和奇偶校验位fosc/64或 fosc/32方式311位UART数据、起始、校 验、结束位可变(取决于定 时器1溢出率)波特率的设定可参 见表7.2,实际无 需计算。表方式0在方式在方式0 0下,串行口作同步移位寄存器用,其波特率固下,串行口作同

11、步移位寄存器用,其波特率固 定为定为f foscosc/12/12。串行数据从串行数据从RXD(P3.0)RXD(P3.0)端输入或输出,同步移端输入或输出,同步移 位脉冲由位脉冲由TXD(P3.1)TXD(P3.1)送出。这种方式常用于扩展送出。这种方式常用于扩展I/OI/O口。口。方式0用于扩展I/O口输出方式0用于扩展I/O口输入方式110位的帧格式串行口为波特率可调的10位通用异步接口UART。每发送 或接收的一帧信息中,包括1位起始位0,8位数据位和1位停 止位1。方式2串行口为串行口为1111位位UARTUART,传送波特率与传送波特率与SMODSMOD有关。发送或接有关。发送或接

12、 收的一帧数据中包括收的一帧数据中包括1 1位起始位位起始位0 0,8 8位数据位,位数据位,1 1位可编程位位可编程位( ( 用于奇偶校验用于奇偶校验) )和和1 1位停止位位停止位1 1。11位的帧格式方式3方式方式3 3为波特率可变的为波特率可变的1111位位UARTUART通信方式,除了波通信方式,除了波 特率以外,方式特率以外,方式3 3和方式和方式2 2完全相同。完全相同。MCS-51串行口的波特率1.1.方式方式0 0和方式和方式2 2的波特率是固定的的波特率是固定的 在方式2中,波特率取决于PCON中的SMOD值:当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特

13、率为fosc/32.即波特率 = 。oscSMOD f642 在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变图2. 2. 方式方式1 1和方式和方式3 3的波特率可变,由定时器的波特率可变,由定时器1 1的溢出率决定的溢出率决定波特率/(b/s)fosc/MHzSMOD定时器1C/模式初始值方式0:1 M 方式2:375 k 方式1、3:62.5 k 19.2 k 9.6 k 4.8 k 2.4 k 1.2 k 137.5 k 110 11012 12 12 11.059 11.059 11.059 11.059 11.059 11.986 6 12 1 1 1 0 0 0

14、 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 1 FFH FDH FDH FAH F4H E8H 1DH 72H FEEBHT波特率=returnRETURN解决的方法只有调整单片机的时钟频 率fosc,通常采用11.0592MHz晶振。常用波特率及其产生条件常用波特率通常按规范取1200、2400、4800、 9600、,若采用晶振12MHz和6MHz,则计算得出 的T1定时初值将不是一个整数,产生波特率误差 而影响串行通信的同步性能。四种工作方式应用举例串行口的应用v编程注意事项l设置串行口工作方式l设置波特率(SMOD,若是方式1、3,设置TI初值

15、 )l若串行口接收数据,REN必须赋值为1lTI和RI标志,须由软件清0l第9位串行口工作方式0用于扩展I/O口,外接74HC164(串入并出)或165( 并入串出)。RXD作为数据输入/输出端,TXD作为同步 时钟信号,接至时钟端。8位数据为1帧,由低位到高位,无起始位和停止位。波特率: fosc/12例v用89C51串行口外接CD4049或164串入-并出 移位寄存器扩展8位并行口;8位并行口的每 位都接一个发光二极管,要求发光二极管从左 到右以一定延迟轮流显示,并不断循环。设发 光二极管为共阴极接法。如图所示。89C51RXDTXDP1.0DATA CD4049CLK STB v解:设数据串行发送采用中断方式,显示延迟通过延迟 程序DELAY来实现。v程序清单: ORG 0000HLJMP MAIN ORG0023H AJMPSBR ORG2000H MAIN: MOVSCON, #00H ;串行口方式0初始化 MOVA, #80H ;最左一位发光二极管先亮 CLRP1.0 ;关闭并行输出 MOVSBUF, A ;开始串行输出 LOOP: SJMP$ ;等待中断 SBR: SETBP1.0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号