C51串行口及串行通信技术.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C51串行口及串行通信技术.ppt》由会员分享,可在线阅读,更多相关《C51串行口及串行通信技术.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理与接口技术电子教案单片机原理与接口技术电子教案第第 章章成都大学工业制造学院 程 跃789C5189C51串行口及串行通信技术串行口及串行通信技术本讲主要内容:本讲主要内容:7-1.串行通信基础知识串行通信基础知识7-2.串行口及应用串行口及应用7-3.89C51单片机之间点对点通信单片机之间点对点通信7-4.89C51与与PC机之间的通信机之间的通信 27.1 串行通信基础知识串行通信基础知识7.1.1数据通信的概念 并行通信和串行通信 并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。其优点是传递速度快;缺点是数据有多少位,就需要多少根传送线。并行通信在位数多、传送距离
2、又远时就不太适宜。串行通信指数据是一位一位按顺序传送的通信方式,它的突出优点是只需一对传送线(利用电话线就可作为传送线),这样就大大降低了传送成本,特别适用于远距离通信。其缺点是传送速度较低。37.1.2.7.1.2.串行通讯的传输方式串行通讯的传输方式传输方式传输方式 单单 工工全双工全双工 半双工半双工(l)(l)单工方式单工方式 信息只能沿一个方向传输,而不能沿相反方向传输。信息只能沿一个方向传输,而不能沿相反方向传输。(2)(2)半双工方式半双工方式 信信息息可可以以沿沿着着两两个个方方向向传传输输,但但在在指指定定时时刻刻,信信息息只只能能沿一个方向传输。沿一个方向传输。(3)(3)
3、全双工方式全双工方式 信息可以同时沿着两个方向传输。信息可以同时沿着两个方向传输。457.1.3 7.1.3 异步通信与同步通信异步通信与同步通信(1)异步通信 异步通信用起始位0表示字符的开始,然后从低位到高位逐位传送数据,最后用停止位1表示字符结束,如后图所示。一个字符又称一帧信息。图4-18a中,一帧信息包括1位起始位、8位数据位和1位停止位,图418b中,数据位增加到9位。在C8051F单片机系统中,第9位数据D8可以用作奇偶校验位,也可以用作地址数据帧的标识位,D81表示该帧信息传送的是地址,D80表示传送的是数据。两帧信息之间可以无间隔,也可以有间隔,且间隔时间可任意改变,间隔用空
4、闲位“1”来填充。6异步通信异步通信 图 异步通信数据格式 7奇偶校验奇偶校验 是一种校验代码传输正确性的方法。根据被传输是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中的一组二进制代码的数位中“1”“1”的个数是奇数或偶的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中门设置一个奇偶校验位,用它使这组代码中“1”“1”的的个数为奇数或偶数。若用奇校验,则当接收端收到个数为奇数或偶数。若用奇校验,则
5、当接收端收到这组代码时,校验这组代码时,校验“1”“1”的个数是否为奇数,从而确的个数是否为奇数,从而确定传输代码的正确性。定传输代码的正确性。8异步通信的优缺点异步通信的优缺点通常,异步通信的波特率为509600bit/s。异步通信的优点是不需要传送同步时钟,字符帧长度不受限制,故设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速率。9(2 2)同步通信)同步通信 在同步通信中,每一数据块开头时发送一个或两个同步字符,使发送与接收双方取得同步。数据块的各个字符间取消了起始位和停止位,所以通信速度得以提高,如图4-19所示。同步通信时,如果发送的数据块之间有间隔时间,则发送同
6、步字符填充。同步通信的数据同步通信的数据传输传输速率速率较较高,通常可达高,通常可达56Kb/s或更高,其或更高,其缺点是要求缺点是要求发发送送时钟时钟和接收和接收时钟时钟必必须须保持保持严严格同步格同步。10同步串口与异步串口同步串口与异步串口同步串口 具有至少一根时钟线、1-2根数据线的串行通讯方式,利用时钟沿对齐数据,所以此种通讯较为可靠,可以实现很高的通讯速率(1Mbps以上,可达Gbps级别)。SPI、IIC、IIS都属于同步串口异步串口 无专门的时钟线,只有1-2根数据线,收发双方依据实现约定好的位速率确定各个数据位的时间位置,可靠性相对较差,速率在1Mbps以下。异步串口最常见的
7、是UART,以及衍生出来的RS232、RS485等。MAXIM公司的1-WIRE总线属于只有一根线的异步串口,如温度传感器DS18B20。11(3 3)波特率)波特率波特率(Baud rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号 比特率:比特率:每秒钟传送的二进制位数,用每秒钟传送的二进制位数,用 b/s b/s 表示表示(b b表示表示bitbit)波特率是指数据信号对载波的调制速率,它用单位时间内波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示,其单位是波
8、特(载波调制状态改变的次数来表示,其单位是波特(BaudBaud)。)。波特率与比特率的关系是比特率波特率与比特率的关系是比特率=波特率波特率X X单个调制状态对单个调制状态对应的二进制位数。应的二进制位数。127.1.4 7.1.4 串行通信的过程及通信协议串行通信的过程及通信协议串并转换发送时的并转串(1)串并转换与设备同步13接收时的串转并14设备同步进行串行通信的两台设备必须同步工作才能有效地检测通进行串行通信的两台设备必须同步工作才能有效地检测通信线路上的信号变化,从而采样传送数据脉冲。信线路上的信号变化,从而采样传送数据脉冲。设备同步对通信双方有两个共同要求:设备同步对通信双方有两
9、个共同要求:一是通信双方必须采用统一的编码方法;一是通信双方必须采用统一的编码方法;二是通信双方必须能产生相同的传送速率。二是通信双方必须能产生相同的传送速率。15(2 2)串行通信协议)串行通信协议通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。协议主要由以下三个要素组成:语法:“如何讲”,数据的格式、编码和信号等级(电平的高低)。语义:“讲什么”,数据内容、含义以及控制信息。定时:速率匹配和排序。1
10、6(2 2)串行通信协议)串行通信协议起始位数据位奇偶校验位停止位波特率设置握手信号约定177.2 7.2 串行口及应用串行口及应用串行接口电路的种类和型号很多。能够完成异步通信的硬件电路称为UART,即通用异步接收器/发送器;能够完成同步通信的硬件电路称为USRT;既能够完成异步又能同步通信的硬件电路称为USART。从本质上说,所有的串行接口电路都是以并行数据形式与CPU连接,以串行数据形式与外部逻辑设备连接。它们的基本功能是从外部逻辑设备接收串行数据,转换成并行数据后传送给CPU,或从CPU接收并行数据,转换成串行数据后输出到外部逻辑设备。1889C51具有一个全双工串行通信接口。作用:作
11、为UART使用。作为同步移位寄存器用。功能:实现单片机系统之间的点对点单机通讯。通过计算机串口实现与PC机的单机或多机通讯。197.2.1 89C517.2.1 89C51串行口串行口(1 1)结构)结构 有两个物理上独立的接收、发送缓冲器有两个物理上独立的接收、发送缓冲器SBUFSBUF,它们占,它们占用同一地址用同一地址99H 99H;接收器是双缓冲结构;接收器是双缓冲结构 ;发送缓冲器,因;发送缓冲器,因为发送时为发送时CPUCPU是主动的,不会产生重叠错误。是主动的,不会产生重叠错误。20引脚RXD(P3.0)串行数据接收端。引脚TXD(P3.1)串行数据发送端。89C51用T1作为串
12、行通信的波特率发生器。21 SCON SCON 是一个特殊功能寄存器,用以设定串行口的工是一个特殊功能寄存器,用以设定串行口的工作方式、接收作方式、接收/发送控制以及设置状态标志:发送控制以及设置状态标志:(2 2)串行口控制字及控制寄存器串行口控制字及控制寄存器 SM0SM0和和SM1SM1为工作方式选择位,可选择四种工作方式:为工作方式选择位,可选择四种工作方式:SCON22SM2SM2,多机通信控制位,多机通信控制位,主要用于方式,主要用于方式2 2和方式和方式3 3。当。当接收机的接收机的SM2=1SM2=1时可以利用收到的时可以利用收到的RB8RB8来控制是否激活来控制是否激活RIR
13、I(RB8RB80 0时不激时不激活活RIRI,收到的信息丢弃;,收到的信息丢弃;RB8RB81 1时收到的数据进入时收到的数据进入SBUFSBUF,并激,并激活活RIRI,进而在中断服务中将数据从,进而在中断服务中将数据从SBUFSBUF读走)。读走)。当当SM2=0SM2=0时,不时,不论收到的论收到的RB8RB8为为0 0和和1 1,均可以使收到的数据进入,均可以使收到的数据进入SBUFSBUF,并激活,并激活RIRI(即此时(即此时RB8RB8不具有控制不具有控制RIRI激活的功能)。通过控制激活的功能)。通过控制SM2SM2,可,可以实现多机通信。以实现多机通信。在方式在方式0 0时
14、,时,SM2SM2必须是必须是0 0。在方式。在方式1 1时,若时,若SM2=1SM2=1,则只有接收到,则只有接收到有效停止位时,有效停止位时,RIRI才置才置1 1。RENREN,允许串行接收位,允许串行接收位。由软件置。由软件置REN=1REN=1,则启动串行口接收,则启动串行口接收数据;若软件置数据;若软件置REN=0REN=0,则禁止接收。,则禁止接收。23TB8TB8,在方式,在方式2 2或方式或方式3 3中,是发送数据的第九位中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧位,或在多机通
15、信中,作为地址帧/数据帧的标志数据帧的标志位。位。在方式在方式0 0和方式和方式1 1中,该位未用。中,该位未用。RB8RB8,在方式,在方式2 2或方式或方式3 3中,是接收到数据的第九中,是接收到数据的第九位位,作为奇偶校验位或地址帧,作为奇偶校验位或地址帧/数据帧的标志位。数据帧的标志位。在方式在方式1 1时,若时,若SM2=0SM2=0,则,则RB8RB8是接收到的停止位。是接收到的停止位。24TITI,发送中断标志位,发送中断标志位。在方式。在方式0 0时,当串行发送时,当串行发送第第8 8位数据结束时,或在其它方式,串行发送停止位数据结束时,或在其它方式,串行发送停止位的开始时,由
16、内部硬件使位的开始时,由内部硬件使TITI置置1 1,向,向CPUCPU发中断申发中断申请。在中断服务程序中,请。在中断服务程序中,必须用软件将其清必须用软件将其清0 0,取,取消此中断申请。消此中断申请。RIRI,接收中断标志位,接收中断标志位。在方式。在方式0 0时,当串行接收时,当串行接收第第8 8位数据结束时,或在其它方式,串行接收停止位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使位的中间时,由内部硬件使RIRI置置1 1,向,向CPUCPU发中断申发中断申请。也请。也必须在中断服务程序中,用软件将其清必须在中断服务程序中,用软件将其清0 0,取消此中断申请。取消此中
17、断申请。25PCONPCON中只有一位中只有一位SMODSMOD与串行口工作有关与串行口工作有关:SMOD SMOD(PCON.7PCON.7)波特率倍增位。在串行口波特率倍增位。在串行口方式方式1 1、方式、方式2 2、方式、方式3 3时,波特率与时,波特率与SMODSMOD有关,当有关,当SMOD=1SMOD=1时,波特率提高一倍。复位时,时,波特率提高一倍。复位时,SMOD=0SMOD=0。PCON(87H)26(3)(3)串行通信工作方式串行通信工作方式SM0SM1方式功 能 说 明000同步方式(扩展移位寄存器方式,用于I/O口扩展),波特率固定(fosc12)0118位UART,波
18、特率可变(由T1或T2溢出率决定)1029位UART,波特率固定(fosc64或fosc32)1139位UART,波特率可变(由T1或T2溢出率决定)27 (3 3)串行通信工作方式)串行通信工作方式 方式方式0 0时,串行口为同步移位寄存器的输入输出方式。时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由主要用于扩展并行输入或输出口。数据由RXDRXD(P3.0P3.0)引脚)引脚输入或输出,同步移位脉冲由输入或输出,同步移位脉冲由TXDTXD(P3.1P3.1)引脚输出。发送)引脚输出。发送和接收均为和接收均为8 8位数据,低位在先,高位在后。波特率固定为位数据
19、,低位在先,高位在后。波特率固定为fosc/12fosc/12。方式方式028 方式方式0 0输入输入 方式方式0 0接收和发送电路接收和发送电路29串口外接74HCl64串入并出移位寄存器的接口逻辑见课本图7-11所示。TXD输出移位脉冲,RXD输出数据移入74LSl64。CPU写发送SBUF,启动串行口从低位开始发送,经过8个发送周期,发送SBUF的内容移入74LSl64,并置位TI,完成一字节输出。若fosc=12MHz,则串行输出一位的时间是1s,传输一个字节需8s。从低位开始串行输出,数据的低位在右高位在左,在具体应用中应加以注意。方式0输出时,可以串接多个移位寄存器。30例题(例例
20、题(例7-27-2)串行数据转换为并行数据(串转并)串行数据转换为并行数据(串转并)说明 本例的功能为单片机发出串行数据经串并转换芯片74HC164转换为并行数据,并将转换的数据通过8只LED显示出来。本例串口工作于模式0,移位寄存器I/O模式,串行数据由RXD发送给74HC164,TXD用于输出移位时钟脉冲。31电路图电路图32主程序主程序 void main()uchar c=0 x80;SCON=0 x00;/串口模式0,即移位寄存器输入/输出方式while(1)c=_crol_(c,1);/将c循环左移动一位SBUF=c;while(TI=0);/等待发送结束TI=0;/TI软件置位d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 串行口 串行 通信 技术
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内