- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;第5章 单片机的串口通信;;1. 并口通信和串口通信(数据通信的两种常用形式);;计算机串行接口;按照传输数据流向,串行通信具有3种传输形式:;在半双工制式下,系统由一个TXD和一个RXD组成,但不能同时在两个方向上传送,收发开关由软件方式切换。 ;在全双工制式下,通信系统每端都有TXD和RXD,可以同时发送和接收,即数据可以在两个方向上同时传送。
实际应用中,尽管多数串行通信接口电路具有全双工功能,但仍以半双工为主(简单实用)。;2. 同步通信; ——以字符为单位组成字符帧进行的数据传送。;起始位:位于数据帧开头,占1位,始终为低电平,用于向接收设备表示发送端开始发送1帧数据。
数据位:要传输的数据信息,可以是字符或数据,一般为5~8位,由低位到高位依次传送。
可编程位:位于数据位之后,占1位,用于发送数据的校验,或传送多机串行通信的???络信息。
停止位:位于数据位末尾,占1位,始终为高电平,用于向接收端表示1帧数据已发送完毕。 ;异步通信特点:
对收发双方的时钟精度要求较低(收发双方不同步时,能依靠在每帧开始时的不断对齐,自行纠正偏差);
传送速度较低(每个字节都要建立一次同步)。;波特率:每秒发送二进制数码的位数,即bps(bit per second) (位/秒);5.串行数据缓冲器,SBUF;(1) 串口控制寄存器,SCON(98H);SM0和SM1:串行工作方式定义位。 通过SM0和SM1不同的取值,可定义4种串行通信工作方式。;(2) 电源控制寄存器,PCON(87H);(3)波特率的计算
在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。
串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。
方式0的波特率 = fosc/12
方式2的波特率 =(2SMOD/64)· fosc
方式1的波特率 =(2SMOD/32)·(T1溢出率)
方式3的波特率 =(2SMOD/32)·(T1溢出率);; 串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:
确定T1的工作方式(编程TMOD寄存器);
计算T1的初值,装载TH1、TL1;
启动T1(编程TCON中的TR1位);
确定串行口控制(编程SCON寄存器);
串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。;; 单片机与单片机之间交换信息,常称为双机通信。对于双机通信常采用查询方式和中断方式设计应用程序。中断方式实现接收数据提高了单片机的工作效率。;动手做——画出硬件电路图 ; 单片机A的P1口的P1.0和P1.7连接按键开关K1和K2,按键开关控制了P1口的输入数据,该数据通过串行口送到B单片机的P1口,控制了D1和D2二个红色LED灯的亮暗。
同样,单片机B的P2口的P2.0和P2.3连接按键开关K3和K4,按键开关控制了P2口的输入数据,该数据通过串行口送到B单片机的P2口,控制了D3和D4二个红色LED灯的亮暗。;单片机与单片机的串口通信项目可以采用查询方式和中断方式二种。
1. 查询方式串口程序设计
单片机A的程序设计如下。
#include reg51.h
/*************主程序***************/
void main()
{
TMOD=0x20; //定时器1 工作方式2
TL1=0xfd; TH1=0xfd; //初值,波特率9600
SCON=0xd0; PCON=0x00; //串口方式3,接收允许,发送数据
TR1=1; //开定时器1
while(1)
{
SBUF=P1; //将单片机A按键形成的P1口数据送串口
while(!TI); //等待数据送完
TI=0; //数据送完,软件清零
while(!RI); //等待接收单片机B的数据
RI=0; //数据接收完,软件清零
P2=SBUF;
您可能关注的文档
- 教学课件第3章 处理网页图片.pptx
- 教学课件第3章 大数据存储与计算.pptx
- 教学课件第3章 工程项目招投标及合同管理 改.pptx
- 教学课件第3章 静态网页开发基础.pptx
- 教学课件第3章 可编程逻辑器件.ppt
- 教学课件第3章 快速成型材料及设备.pptx
- 教学课件第3章 输入输出流.pptx
- 教学课件第3章 无线电技术基础.ppt
- 教学课件第3章数据分析的基础.pptx
- 教学课件第4章 单片机AD与DA转换接口技术.ppt
- 计及电动汽车移动储能动态电价的微电网优化调度研究及解决方案.pdf
- 浅谈电动汽车充电桩绝缘智能化自检装置的设计与应用 .pdf
- 浅谈电动汽车公共充电桩布局方案评价方法.pdf
- 浅谈基于弹性响应的电动汽车快充电价定价策略 汽车充电桩有序充电.pdf
- 浅谈光储充一体化社区的有序充电策略及解决方案.pdf
- 晚期肾透明细胞癌系统性治疗中国专家共识(2024版).pptx
- 中国膀胱癌保膀胱治疗多学科诊治协作共识(2022版).pptx
- 成人心血管外科手术体外循环患者血液管理指南.pptx
- 下尿路修复重建移植物应用规范中国专家共识.pptx
- 中国儿童急性非静脉曲张性上消化道出血诊治指南(2024).pptx
文档评论(0)