当前位置: 首页 > article >正文

单片机学习13——串口通信

单片机的通信功能:

实现单片机和单片机的信息交换,实现单片机和计算机的信息交换。

计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。

通信有并行通信和串行通信两种方式。

在多微机系统以及现在测控系统中信息的交换多采用串行通信方式。

并行通信通常是将数据字节的各位用多条数据线同时进行传送。

 

并行通信特点:控制简单、传输速度快;但传输线较多,长距离传送时成本高接收方的各位同时接收存在困难。

串行通信是将数字字节分成一位一位的形式在一条传输线上逐个进行传输。

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行复杂。

串行的通信方式:

单工、半双工、全双工。

串行通信分两大类:

异步通信和同步通信。

异步通信是指通信的发送和接收设备使用各自的时钟控制数据的发送和接收,为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。

异步通信是以字符为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一个字符的各位之间的距离均为“位间隔”的整数倍。

异步通信的数据格式:

 说明:

1)起始位是一个低电平。

2)数据位只有七位,传输的时候是从低位开始。

3)校验位的作用:传输数据的时候出错的时候的检验。如果出错,告诉发送设备重新发送数据。

4)停止位:一个位宽电平来告诉。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2-3位用于起止位,各帧之间还有间隔,因此传输效率不高

串行通信的接口标准:

1、RS-232C接口:

25针接口和9针接口。 

8051串行口的结构:

SBUF为两个物理上独立的接收、发送缓冲器,它们有相同的名字和地址空间,共同地址99H,但不会发生冲突;因为接收器只能CPU读出数据;发送缓冲区只能被CPU写入数据,不会产生重叠错误。

控制器:

T1 定时器T1。

T1溢出率决定了控制器的工作速率。

SMOD:PCON的最高位,当为0,T1溢出率为32分频,当为1的时候,T1溢出率为16分频。

但溢出的时候,最高位给CPU一个中断申请。

8051串行口的控制寄存器

SCON是一个特殊的功能寄存器,用以设定串行口的工作方式、接收、发送控制以及设置状态标志。

说明:

1)fosc是单片机的晶振频率。

2)方式一是最常用的方式。

SM2,多机通信控制位,主要用于方式2和方式3。


http://www.kler.cn/news/161449.html

相关文章:

  • 在 Windows 桌面的redis中远程连接到 VMware 中运行的 Linux 上的 Redis
  • simulinkDFIG风电场风机并网渗透率系统稳定性小信号特征值分析,特征根轨迹分析。四机两区域模型系统
  • 基于B/S架构的医院一体化电子病历编辑器源码
  • Docker的数据卷
  • 使用ApexSQLLog工具恢复数据库
  • 【C语言快速学习基础篇】之一基础类型、进制转换、数据位宽
  • uni-app 微信小程序之好看的ui登录页面(二)
  • idea报错:Error:java: 不允许在使用 -release 时从系统模块 java.xml 导出程序包?
  • 数据收集与处理(爬虫技术)
  • 【QML】QML与cpp交互(一)—— QML直接调用cpp函数
  • 蛋白质序列总特征提取流程
  • 黛姿秘语,匠心之作,严谨工艺铸就完美肌肤
  • 测试新手百科:Postman简介、安装、入门使用方法详细攻略!
  • 多表操作、其他字段和字段参数、django与ajax(回顾)
  • Python入门07循环及常见的数据结构
  • unity 2d 入门 飞翔小鸟 下坠功能且碰到地面要停止 刚体 胶囊碰撞器 (四)
  • 业务场景中Hive解析Json常用案例
  • Ribbon-IRule 修改负载均衡的规则
  • 用AI批量生成文章的工具有哪些?免费AI生成工具
  • 如何在 PyQt 中实现异步数据库请求
  • Python查看文件列表
  • 宝塔+docker+jenkins部署vue项目----笔记版
  • SSM项目实战-前端-添加分页控件-调正页面布局
  • Java异常机制入门详解(上)
  • 虎牙C++技术面经
  • UE蓝图 里的函数,编辑模式在Sequence里执行
  • 基于单片机的电子密码锁设计
  • 代码随想录算法训练营第四十二天| 416 分割等和子集
  • 如何使用HadSky搭配内网穿透工具搭建个人论坛并发布至公网随时随地可访问
  • Windows + docker + python + vscode : 使用容器docker搭建python开发环境,无需本地安装python开发组件