单片机的串行通信技术

上传人:平*** 文档编号:47572272 上传时间:2018-07-03 格式:PPT 页数:56 大小:3.66MB
返回 下载 相关 举报
单片机的串行通信技术_第1页
第1页 / 共56页
单片机的串行通信技术_第2页
第2页 / 共56页
单片机的串行通信技术_第3页
第3页 / 共56页
单片机的串行通信技术_第4页
第4页 / 共56页
单片机的串行通信技术_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《单片机的串行通信技术》由会员分享,可在线阅读,更多相关《单片机的串行通信技术(56页珍藏版)》请在金锄头文库上搜索。

1、第7章 单片机的串行通信技术7.1 串行通信概述 7.2 串行口的结构组成及控制寄存器 7.3 串行通信工作方式及应用举例 7.4 串行通信设计应用举例 7.1 串行通信概述7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率的概念和串行通信的传输方向 7.2 串行口的结构组成及控制寄存器7.3 串行通信工作方式及应用举例7.4 串行通信设计应用举例7.1 串行通信概述常用的数据通信包括两种形式:并行通信和串行通信。并行通信(1)并行方式数据的各位同时发送或同时接收。传送速度快,但因需要多根传输线,故一般只在近距离通信中使用。7.1.1 数据通信串行通信(2)串行方式数据的各位

2、依次逐位发送或接收。传输速度慢,但因只需较少传输线,故适合于远距离通信。7.1 串行通信概述7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率的概念和串行通信的传输方向 7.2 串行口的结构组成及控制寄存器7.3 串行通信工作方式及应用举例7.4 串行通信设计应用举例7.1 串行通信概述7.1.2 异步通信和同步通信在串行数据通信中,有同步通信和异步通信两种方式。一帧数据由起始位、数据位、可编程位和停止位构成特点收发双方不同步时,能够依靠在每帧开始时的不断 对齐,自行纠正偏差,故对收发双方的时钟精度要求较低, 但因每个字节都要建立一次同步,所以工作速度较低。1. 异步通信以字

3、符为单位组成字符帧进行的数据传送2. 同步通信同步通讯数据格式数据以块为单位连续传送。在发一组数据时,只在开始用若干个同步字符作为双方的 号令,然后连续发送整组数据。特点数据是以数据块为单位连续传送的,结构紧凑, 传输效率高,但要求双方有准确的时钟,对硬件要求高。7.1 串行通信概述7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率的概念和串行通信的传输方向 7.2 串行口的结构组成及控制寄存器7.3 串行通信工作方式及应用举例7.4 串行通信设计应用举例7.1 串行通信概述7.1.3 波特率的概念和串行通信的传输方向波特率为每秒钟发送二进制数码的位数,即b/S (位/秒)。

4、在串行通信中,数据传输速率的快慢,通过波特率来衡量。 例如,在异步通信中传输速度为360字符/秒,每个字符又包含 10位,则波特率为:360字符/秒 * 10位/字符 3600波特标准波特率:110、300、600、1200、2400、4800、9600、 19200、38400波特等。三种传输形式:单工、半双工、全双工在串行通信中,按照传输数据的流向,可分成三种传输形式:单工通信 半双工通信 全双工通信 Simplex Half Duplex Full Duplex80C51 内部设有一个全双工串行接口收发双方角色 固定不能互换收发双方角色 可换但需切换收发双方互不 影响双向通信RXDRec

5、eive Data接收数据 TXDTransmit Data发送数据 7.1 串行通信概述7.2 串行口的结构组成及控制寄存器7.2.1串行口的结构组成7.2.2串行口控制寄存器7.3 串行通信工作方式及应用举例7.4 串行通信设计应用举例7.2 串行口的结构组成及控制寄存器7.1 串行口的结构组成 若干寄存器: 两个数据缓冲器SBUF(99H)+串行控制寄存器 SCON(98H) +移位寄存器+. 。CPU 两个引脚:数据接收RXD(P3.0) 和数据发送TXD(P3.1)。内部数据并行写入SBUF发数据串行送出中断标志位TI 硬件置1CPU响应中断TI软件清零,写入下一数据CPU(1) 发

6、送数据过程(中断法)外界数据串行送入移位寄存器数据并行送入SBUF收标志 位RI硬件置1CPU响应中断RI软件清零,读走数据CPU(2) 接收数据的过程(中断法)D0D1D2D3D4D5D6D7传送数据同步时钟数据传送将串行数据按一定节拍(同步时钟脉 冲)输出到传输线上,或从传输线上读入。同步时钟信号可由系统时钟或定时器产生发送数据时,发送时钟的下降沿将数据串行移位输出;接收数据时,接收时钟的上升沿开始对数据位采样。7.1 串行通信概述7.2 串行口的结构组成及控制寄存器7.2.1串行口的结构组成7.2.2串行口控制寄存器7.3 串行通信工作方式及应用举例7.4 串行通信设计应用举例7.2 串

7、行口的结构组成及控制寄存器在物理上有两个SBUF:一个用于发送,另一个用于接收。 在逻辑上只有一个SBUF(99H)。 可根据用法区分功能:uchar counter; 待发送存放变量 SBUF = counter; 完成一次数据发送 counter = SBUF; 完成一次数据接收CPU7.2.2 串行口控制寄存器(1) 串行数据缓冲器,SBUFSM2、TB8、RB8主要用于多机通讯(略)(2) 串口控制寄存器,SCON(98H)由定时器产生的同步时钟(3) 电源控制寄存器,PCON(87H)通过SM0和SM1不同的取值,可选择串行通信中的四种工作方式。SM0 SM1工作方式说说明波特率0

8、0方式0同步移位寄存器fosc/120 1方式110位异步收发发由定时时器控制1 0方式211位异步收发发fosc/32或fosc/641 1方式311位异步收发发由定时时器控制7.1 串行通信概述7.2 串行口的结构组成及控制寄存器7.3 串行通信工作方式7.3.1 方式0(八位同步移位寄存器方式)7.3.2 方式1(十位异步收发通信模式) 7.3.3 方式2、方式3数据帧格式及应用举例 7.4 串行通信设计应用举例 7.3 串行通信工作方式及应用举例7.3.1 方式0:八位同步移位寄存器方式数据传输波特率固定为fosc/12 由RXD引脚输入或输出数据(低位在前,高位在后) 由TXD引脚输

9、出同步时钟信号扩展输出口扩展输入口用于扩展并行I/O接口实实例1 利用74LS164扩扩展并行输输出口,并实现发实现发 光二极管循环环 控制功能能将串行输入数据转为并行输出引脚功能描述A、B串行数据输输入引脚QAQG并行数据输输出引脚CLOCK移位脉冲输输入端CLEAR移位寄存器清零端工作原理: 1)CLEAR端若为低电平,输出端QAQG都为0; 2)CLEAR端若为高电平,且CLOCK端出现上升沿脉冲,则输出端锁存输入端的电平74LS164为8位串并转换移位寄存器数据发送端A(B)RXD ; 同步时钟端CLKTXD; 数据清除端CLRP1.0接线原理#include sbit MR=P10;

10、 void delay() /延时unsigned int i;for (i=0; in#define uchar unsigned charn#define uint unsigned int nvoid main()nn uchar i=0x55;uint j=0;n TMOD=0X20;/设置定时器1工作在模式2n TL1=0xf4;/根据传输的波特率设置定时器1初值n TH1=0xf4;n PCON=0x00;/电源控制寄存器最高位为0,波特率不加倍n SCON=0x50;/选择工作方式1,使能收发功能n TR1=1;/启动定时器1n while(1)n n SBUF=i;/发送数据n

11、dowhile(!RI);/等待发送数据返回nRI=0;TI=0;/软件将标志位RI和TI清0ni=SBUF;/读取数据nP1=i;/送入P1口显示ni=i;/将发送数据取反nfor(j=0;j #define uchar unsigned char #define uint unsigned int void delay(unsigned int time)uint j=0;for(;time0;time-)for(j=0;j15)counter=0;/修正计数器值delay(500); /延时 实例2乙机参考程序#include #define uchar unsigned char vo

12、id main(void)uchar receiv; /定义接收缓冲TMOD=0x20;/T1定时方式2TH1=0xf4;/2400b/STL1=0xf4;PCON=0x00;/SMOD0,波特率不加倍TR1=1;/启动T1SCON=0x50;/串行方式1,TI和RI清零,允许接收 while(1)while(RI=1) /等待接收完成RI=0;/清RI标志receiv=SBUF;/取得接收值SBUF=receiv;/结果返回主机while(TI=0);/等待发送完成TI=0;/清TI标志P2=receiv;/显示接收 实例2运行效果7.1 串行通信概述7.2 串行口的结构组成及控制寄存器7.

13、3 串行通信工作方式7.3.1 方式0(八位同步移位寄存器方式)7.3.2 方式1(十位异步收发通信模式) 7.3.3 方式2、方式3数据帧格式及应用举例 7.4 串行通信设计应用举例 7.2 串行口的结构组成及控制寄存器因此:串行口工作于模式 2 和模式 3 时, 被定义为 9 位异步 通信接口。 其每帧数据结构是 11 位的: 首先是起始位(0), 其后是 8 位数据位D0D7(低位在先), 第 10 位是可编程 位D8, 最后一位是停止位(1)。7.2.3 方式2、方式3数据帧格式及应用举例方式2和方式3的数据帧都是11位用于多机通信格式为:可编程位可用作奇偶校验位,但在多机通信时,往往

14、用作地 址和数据的区别通讯标识。一个起始位,8个数据位,一个可编程位和一个停止位方式2与方式3的区别:n方式 2 和方式3 工作原理相似, 唯一的差别是方式2 的波特 率是固定的, 即为 fOSC/ 32或 fOSC / 64; 而方式 3的波特 率是可变的, 与定时器 T1的溢出率有关。n方式2的波特率=2SMOD(fosc/64)n方式3的波特率=2SMOD(T1的溢出率)/32 (与方式1同) 注: 可编程位可以由软件置1或清0; 发送时在TB8中,连同八位数据通过串口发出。 收到数据后,数据存入接收SBUF内,可编程位存入RB8中。发送过程:第9位数据-TB8其它8位-SBUF 进行一

15、次发送。当第9位数据(TB8)输出后,置位TI。 接收过程:在REN=1时,在第9位数据收到后,若下列条件同时 满足: RI=0; SM2 =0 或接收到的第 9 位数据为“1”。 则将已接收到的数据装入SBUF和RB8,并置位RI。若不满足则 接收无效。可见,方式2和方式3的接收与方式1接收不同:其RB8装入的 是第9位数据而方式1 RB8装入的是停止位。所接收的停止位的 值与SBUF、 RB8 和 RI都没有关系, 利用这一特点可用于多机通 信中。 方式2和方式3的发送和接收过程方式2的波特率为固数值:方式3的波特率和方式1相同,是可变的:(与方式1同)波特率计算公式串行口控制寄存器SCON中的SM2为多机通信接口控制位。串行 口以方式2或3接收时,若SM2为1,则仅当接收到的第9位数据 RB8为1时,数据才装入SBUF,置位RI,请求CPU对数据进行 处理;当SM2为0时,则接收到一个数据后,不管第9位数据RB8 是0还是1,都将数据装入接收缓冲器SBUF并置位中断标志RI, 请求CPU处理。多机

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

当前位置:首页 > 中学教育 > 教学课件

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