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

单片机学习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)方式1是最常用的方式。设置就是01。

3)起始位和停止位是自动插入的,不需要写入。

4)可变,是软件设置。

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

目前是单个单片机,就设置为0。

REN: 允许串行接收位,由软件置REN=1, 则启动串行口接收数据;若软件置REN=0, 则禁止接收。

说明:只有REN=1, 才能接收到数据。REN就设置为1。

http://www.lryc.cn/news/257217.html

相关文章:

  • Unity 实现单例模式
  • 【Android12】Android Framework系列--AMS启动Activity分析
  • Hive的几种排序方式、区别,使用场景
  • 设计模式-外观模式
  • Kubernetes实战(九)-kubeadm安装k8s集群
  • 【HarmonyOS开发】拖拽动画的实现
  • 提高问卷填写率的策略与方法
  • 软件工程考试复习
  • PHP基础 - 类型比较
  • 张正友相机标定法原理与实现
  • 【LeetCode】2723. 两个 Promise 对象相加
  • 设计模式--命令模式的简单例子
  • 排序算法之六:快速排序(非递归)
  • 【概率方法】重要性采样
  • MyBatis 四大核心组件之 StatementHandler 源码解析
  • 用Guava做本地缓存示例
  • Django多对多ManyToManyField字段
  • docker-centos中基于keepalived+niginx模拟主从热备完整过程
  • 软件科技成果鉴定测试需提供哪些材料?
  • 办公word-从不是第一页添加页码
  • Android笔记(十七):PendingIntent简介
  • 为 Compose MultiPlatform 添加 C/C++ 支持(2):在 jvm 平台使用 jni 实现桌面端与 C/C++ 互操作
  • 【PyTorch】卷积神经网络
  • qt可以详细写的项目或技术
  • 操作系统笔记——储存系统、文件系统(王道408)
  • 基于Html+腾讯云播SDK开发的m3u8播放器
  • uniapp小程序分享为灰色
  • python:五种算法(OOA、WOA、GWO、PSO、GA)求解23个测试函数(python代码)
  • DIP——添加运动模糊与滤波
  • SQL Server查询计划(Query Plan)——SQL处理过程