第1819次课第7章串行通信

上传人:迷**** 文档编号:143880355 上传时间:2020-09-02 格式:PPT 页数:43 大小:719.50KB
返回 下载 相关 举报
第1819次课第7章串行通信_第1页
第1页 / 共43页
第1819次课第7章串行通信_第2页
第2页 / 共43页
第1819次课第7章串行通信_第3页
第3页 / 共43页
第1819次课第7章串行通信_第4页
第4页 / 共43页
第1819次课第7章串行通信_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《第1819次课第7章串行通信》由会员分享,可在线阅读,更多相关《第1819次课第7章串行通信(43页珍藏版)》请在金锄头文库上搜索。

1、第18次课主要内容: 通信类型 串行通信方式 异步串行通信帧格式,第7章 单片机的串行通信,7.1 串行通信概述,1、通信类型,1)并行通信: 多根信号线、一个时钟周期传输多个Bit数据;,2)串行通信: 一根信号线、一个时钟周期传输一个Bit数据。,思考: 二进制数据传输时,为什么要有时钟信号?,同步串行:通过1、2个同步字符(8Bit)或外部时钟信 号保持时间同步; 特点:收/发双方时钟信号严格同步、传输速率快。,异步串行: 通过起始位、停止位、波特率保持时间同步; 特点:收/发电路简单、传输速率低。,时间同步,(接收端/发送端时钟信号的周期和相位相同),2、波特率(概念、记住),波特率:

2、 每秒传送的2进制数的个数,单位:bit/s。,异步串行通信的收/发双方必须具有相同的波特率。,常用的标准值为1200、2400、4800、9600和19200波特。,思考: 波特率的作用?,波特率 = 时钟周期,3、串行通信方式(概念、记住),单工方式: 只允许在一个方向上传送数据。,半双工方式 双方均具备发送、接收能力,但同一时刻只能进行 一个方向的传送。,全双工方式 收发双方可同时进行双向的数据传送。,4、异步串行通信 帧 格式(概念、记住),空 闲 位,1)空闲位为1、起始位为0、停止位为1。,3)奇偶校验位:检查传输数据是否出错。 奇校验:保证数据位和校验位的1的个数为奇数; 偶校验

3、:保证数据位和校验位的1的个数为偶数。,2)低有效位(LSB)在前、高有效位(MSB)位在后。,帧格式说明:,0 1 0 1 0 0 01,1 1 0 1 0 0 01,奇校验位,偶校验位,思考: 假设串行通信的波特率为1bps,数据位8位,无奇偶校验位,则下列波形传输的数据是多少?,7.2 串行口的结构及其工作方式(P187),接收缓冲器和发送缓冲器SBUF相互独立,收、发数据;,定时器T1控制传输速率;,发送端,接收端,串行口控制寄存器SCON控制数据收、发。,发送端,接收端,1、串行口控制寄存器SCON(字节地址98H) (P187),SM0、SM1串行口4种工作方式的选择位,串行口的

4、4 种工作方式 SM0 SM1 方式 功 能 说 明 0 0 0 同步移位寄存器方式,波特率为fosc/12 (用于扩展I/O口) 0 1 1 8位异步收发,波特率可变(由定时器控制) 1 0 2 9位异步收发,波特率为fosc/64 或fosc/32 1 1 3 9位异步收发,波特率可变(由定时器控制),SM2 多机通信控制位(用于方式2、3)(了解),1)SM2=1:,当接收到的第9位数据(RB8)为“1”时, 才将接收到的前8位数据送入SBUF, 并置“1” RI,产生中断请求;,当接收到的第9位数据(RB8)为“0”时, 将接收到的前8位数据丢弃。,不论第9位数据RB8是“1”还是“0

5、”,都将前8位数据送入SBUF中,并置“1” RI,产生中断请求。,2)SM2=0:,REN允许串行接收位 (由软件置“1”或清“0”) 1:允许接收; 0:禁止接收。,TB8发送的第9位数据(在方式2和3) 双机通信,TB8作为发送的第9位数据,作为奇偶校验位;多机通信,TB8作为地址帧或数据帧的标志位。 1:地址帧 0:数据帧,RB8接收的第9位数据(在方式2和3) RB8存放接收到的第9位数据。,TI发送中断标志位 1:一帧数据发送结束,硬件把中断标志位 置1; 0:一帧数据发送未结束。 一帧数据发送结束后,再向SBUF写入的下一帧数据时, TI必须先由软件清0。,RI接收中断标志位 1

6、:一帧数据接收完成,硬件把中断标志位 置1; 0:一帧数据接收未结束。 一帧数据接收完成后,SBUF再接收下一帧数据时, RI必须先由软件清0。,2、特殊功能寄存器PCON(字节地址87H),SMOD波特率选择位,方式1或者3波特率 =(2SMOD/32)定时器T1的溢出率,3、波特率的计算,1)方式0 的波特率,波特率=1/12 fosc,2)方式2 的波特率,3)方式1或3的波特率,X定时器T1方式2的TH1、TL1的初值。,(P193),定时器T1,方式2(M1/M0=10)为8位的定时器/计数器,计数器TL1溢出后,TH1自动装入TL1。,TLx作为 定时器/计数器, 当TLx溢出时,

7、溢出标志TFx置“1”; 自动的将THx中的初值送至TLx,使TLx重新开始计数。,省去用户软件中重装初值的程序,来精确定时。,若单片机的时钟振荡频率为11.0592MHz,选用T1的方式2 定时器作为波特率发生器。波特率为2400bps时, 求TL1,TH1的初值。(SMOD=0),2400 =,32,2,6,12(256X),11.0592, 10,0,X=0 xF4,TH1=0 xF4,TL1=0 xF4,4、4种工作方式,1)方式0(SM1、SM0=00),方式0以8位数据为1帧,RXD为收发数据、TXD为输出时钟。,2)方式1(SM1、SM0=01),方式1以10位数据为1帧。,方式

8、2、3以11位数据为1帧。,3)方式2、3(SM1、SM0=10或11),TB8 或者 RB8,第19次课主要内容: 串行接口标准 两个单片机之间串行通信编程 单片机与PC机之间串行通信,7.3 串行通信的应用,1、串行接口标准,1)TTL电平通信接口 TTL电平 输出高电平 2.4V,输出低电平 =2.0V,输入低电平=0.8V。 传输距离1.5m之内。,TXD,RXD,2)RS232通信接口 RS232电平 15V 3V 代表逻辑1, 3V 15V 代表逻辑0。 传输距离1.5m 15m。全双工。,3)RS422、RS485通信接口 RS485电平 发送端AB间的电压差 2 6V为1,2

9、6V为0。 接收端AB间的电压差 大于200 mv为1,小于200 mv为0。 最大传输距离1200m。半双工。,A,B,2、两个单片机之间串行通信,例题,甲检测按键信息发射,乙接收信息点亮LED显示, 晶振频率11.0592MHz,波特率9600bps。要求编程。,例8-4,P202,有用,串行通信编程方法 (1)根据波特率,设置TH1、TL1值。 (2)设置定时器寄存器TMOD的工作方式。 (3)设置串行口寄存器SCON的工作方式。 (4)发射、接收数据放入SBUF。 (5)当TI、RI位为1时,发射完、接收完收据,并清零 。,晶振频率11.0592MHz,波特率9600bps。,9600

10、 =,32,2,6,12(256X),11.0592, 10,0,X=0 xfd,TH1=0 xfd; TL1=0 xfd;,选择定时器T1,方式2,仅由TR1控制定时器运行,产生波特率。,TMOD = 0 x20,8位异步发送,方式1,SCON = 0 x40,定时器T1,方式2,8位异步发送,方式1,思考:,#include main( ) char temp=0; TMOD=0 x20; TH1=0 xfd; TL1=0 xfd; SCON=0 x40; PCON=0 x00; TR1=1; P1=0 xff; /(未完),发送端程序,/设置定时器T1方式2 / 波特率9600,/串口方

11、式1,不接收,/ SMOD=0,/ 启动T1,while(1) while ( TI= =0 ); TI=0; temp=P1; SBUF=temp; ,难点,/如果TI=0,未发送完,等待循环,/已发送完,把TI清零,/读入P1口开关状态数据,/数据送串行口发送,8位异步接收,SCON = 0 x50,接收端程序,#include main( ) char temp=0; TMOD=0 x20; TH1=0 xfd; TL1=0 xfd; SCON=0 x50; PCON=0 x00; TR1=1; while(1) while (RI= =0); RI=0; temp=SBUF; P1=t

12、emp; ,/串口方式1,接收,REN=1,/如果RI=0,未接收到数据,/接收数据,把RI清零,/送P1口控制8个LED,/数据存入temp中,练习题,晶振频率11.0592MHz,波特率4800bps,发送 8个数据,0,1,2,3,4,5,6,7。要求编程。,#include main( ) char t=0; TMOD=0 x20; TH1=0 xfd; TL1=0 xfd; SCON=0 x40; PCON=0 x00; TR1=1; while(1) if(P1=0 xFE) t=t+1; SBUF=t; while (TI= =0); TI=0; ,例题2、阅读程序,3、单片机与PC机之间串行通信,1)PC接口是“D”型9针的RS232标准接口。,2接收数据RXD3发送数据TXD5信号地 GND,2)单片机与PC机接口电路。,3)通信接收、发射程序与两台单片机通信相同。,PC机发射、接收调试软件,串口调试工具,4、PC机与多台单片机之间串行通信(P220) (了解),多机通信实际工程应用较多,但较复杂。,作业: P221 一、1、2、4、7、8、9、10 二、1、2 三、5、6 四、1、2,Vcc,R2,P2.0,K1,补充、K1接P2.0,按下K1,串口发送数据0 xA9。,

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

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

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