内容正文:
第六章 单片机定时器/计数器及串行通信
6.2 单片机串行通信(2)
《单片机技术与应用》 高教版 第二版 魏寿明
CONTENTS
目录
01
学习目标
02
新课引入
03
新课教学
04
师生互动
05
课堂练习
06
课堂小结
学习目标
CATALOGUE
一
了解串行通信协议及接口标准
掌握单片机串行通信基本概念
学会单片机串行通信编程方法
学习目标
新课引入
CATALOGUE
二
串行口控制寄存器:
串行口控制寄存器SCON
电源控制寄存器 PCON
串行通信的分类:
异步通信
同步通信
单片机通信的基本方式:
并行通信
串行通信
串行通信的工作方式:
单工方式
半双工方式
全双工方式
串行口的工作方式
复习上节课知识点
01
03
02
04
05
新课教学
CATALOGUE
三
波特率是衡量数据传输速率的参数,单位是bps。
例如:每秒传送10帧数据,每1帧数据有11位,则波特率为10×11bps=110 bps。
定义
波特率
在串行通信中,收发双方的数据传输速率需要有一定的约定。
在 MCS-51 系列单片机串 行口的4种工作方式中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是由 T1的计数值控制。
波特率的选择
03
方式1和方式3
在方式1和方式3下,定时器T1作为波特率发生器
01
方式0
方式0的波特率固定为晶振频率的1/12,即波特率=fm/12。
02
方式2
方式2的波特率由 PCON 中的选择位SMOD 决定
波特率的选择
波特率的选择
波特率/bps 19200 9600 4800 2400 1200
TH1初值 FDH FDH FAH F4H E8H
SMOD 1 0 0 0 0
在实际应用中,波特率要选择标称值,又由于TH1 的初值是整数,为了减小波特率的计 算误差,晶振频率要选择为11.0592MHz。所以,方式1和方式3波特率与TH1 初值的对应关 系是基本确定的,见表
普通的PC 至少有一个标准的RS-232C 串行接口,用于与具有标准RS-232 串行接口的 外围设备通信,此时单片机的引脚电平必须用电平转换器转换成 RS-232C 电平,并用9针的 标准连接器引出。MAX232 是典型电平转换器,采用单+5V 电源就可以完成 TTL与 RS-232 电平的转换。进行通信时,该芯片需要配套4个1~22μF 的电解电容器,与单片机的连接如图所示。
硬件连接
普通的PC 至少有一个标准的RS-232C 串行接口,用于与具有标准RS-232 串行接口的 外围设备通信,此时单片机的引脚电平必须用电平转换器转换成 RS-232C 电平,并用9针的 标准连接器引出。MAX232 是典型电平转换器,采用单+5V 电源就可以完成 TTL与 RS-232 电平的转换。进行通信时,该芯片需要配套4个1~22μF 的电解电容器,与 PC的连接如图所示。
硬件连接
采用方式1进行通信,每帧数据为10位,波特率为1200bps,T¹ 工作方式2,晶振频率为 11.0592MHz, 可以得到TH1=THO=OE8H, 且PCON 寄存器的SMOD位为0。
首先PC向单片机发送 “E1” 命令,请求单片机传输数据。单片机正确地收到 “E1” 命 令后,将数据缓冲区的内容传送至PC。 预传送的数据共16字节,起始地址为40H。 下一次再 传输数据时,PC要再次发送 “E1” 命令。
通信协议
程序设计
单 片 机 端 程 序 流 程 如 图
中断是指在单片机执行程序过程中,由于内部或外部事件触发,暂停当前任务,转而执行特定的中断服务程序,处理完毕后返回原任务继续执行的过程。
中断概念
在串行通信中,中断可以用于接收和发送数据。当单片机接收到外部数据时,可以触发中断,单片机暂停当前任务,转而执行接收数据的中断服务程序;同样地,当单片机需要发送数据时,也可以触发中断,执行发送数据的中断服务程序。
中断在串行通信中作用
中断概念及其在串行通信中作用
定时器/计数器概念
定时器/计数器是单片机内部的一个功能模块,可以用于计时、计数和产生定时中断等操作。
定时器/计数器在串行通信中应用
在串行通信中,定时器/计数器可以用于产生精确的波特率,控制数据的传输速率。通过设置定时器/计数器的计数初值和计数模式,可以产生与串行通信波特率相匹配的定时中断,从而实现数据的准确传输。
定时器/计数器在串行通信中应用
中断和定时器结合方式
通过将中断和定时器结合起来使用,可以实现更高效的数据传输。例如,在接收数据时,可以利用定时器产生精确的定时中断,确保每个数据位之间的时间间隔相等;同时,在接收到数据时触发中断,及时处理接收到的数据,避免数据丢失或处理不及时的问题。