单片机:串口通信(内含硬件解析+软件编程)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 单片机:串口通信(内含硬件解析+软件编程)

46f3f1e9bc3748e08142fe68d054fafa.png

58d8986f7e284ff4abfebb756e4b8c4b.png

84dee3467ec843a6917ea5b534582f11.png

de4e00a38c094100b295230c7109b1e6.png

8ab6e9a12dec4287a8ed3429938b7fd1.png

cbd0d8368b1b4edc97354827fde64906.png

a2e17da1e06645028195038fd2b9a959.png

be6c421652ad40a08842f8a3773ef55c.png

通信速率:又称比特率。美标传输多少个二进制位数。如每秒传输240个字符,一个字符有1个起始位,1个终止位,8个数据位,无校验位。即1个字符10位

波特率,:每秒传输多少个码元。等价于比特率

7391e17c1f4848f0bebaa768bb9f9c48.png

一般有RS-232 RS232C(DB25------25帧的连接器) RS-422A RS-485

左下方(母头)右下角(公头)。。。公头母头管脚顺序相反

33f3b0dfdd66475e98545c92dd4dabff.png


注:插针序列中带括号的是DB9,不带括号的是DB25,一般使用都是DB9

信号通信中,应用最多的是:

TXD---发送数据,串行输出


a725c75e8eeb44dd8fb5f234db1a1689.png


96表示波特率为9600bps,每秒9600位二进制。。(发送方接收方要一样)

N表示校验位

8表示传输数据位

1表示停止位


c399e2a4925342da873d1593948453af.png


TXD----P3.1管脚 RXD---P3.0管脚

SBUF--特殊功能寄存器的数据缓存器。。最重要部分

SMOD--倍频,不倍频,开关打到0,倍频,开关打到1

当RI或TI某一个为1时,就会发出中断请求


490f743c9728452dbd73192259f90527.png


SM2:硬件实现多机通信


SM2=1时,多机通信,此时设主机连接连两个分机,控制RB8分别为0和1,则0的分级,忽略收到的信息,1的分机,接受收到的信息,(使用SBUF)


SM2=0时,均可以使用SBUF


REN--为1时,允许接收位。。。。为0时,不接受


TB8,RB8---只有为方式2或3时才使用到,是数据的第九位


TI---中断发送标志位,为1时,发送中断,用软件清0


RI---中断接收标志位,为1时,接收中断,用软件清0


一般情况下,寄存器SCON为


SM0=0,SM1=1(方式1)SM2=0(不需要多机通信),REN=1(允许接收),TR8=0,TB8=0(一般不使用,默认0),TI,RI无须操作


1647edcd8bcc4179ada309cf3610ab90.png


SMOD:设置波特率是否是倍频(可参考串口内部结构图)


21e790de4e644c18806c55074150af56.png


TXD是发送引脚 RXD是接收引脚


e6d68601d2e745388617f6783686a86f.png


方式0,方式2的波特率固定

方式1的波特率=2的SMOD次方/64*(T1的溢出率)

注:也可用开发工具里的"51波特率计算"


038c3da2208740f58d3316a7f4ba706e.png

使用11.0592Mhz晶振时,误差为0,否则会出现乱码

586e2dbf89e445ea986ba0115fb1a918.png


c4e5839ac76e4e33aaa738b5b7549e53.png

A2-A4版


72488c1caa9244eb8fbbc3069573ad59.png

将USB(UD+和UD-)和232(TXD和RXD)互转,,,下载程序过程就是串口通讯过程,所以,板子上的P5的RXD-U和RXD,TXD-U和TXD短接,,,连接USB线,打开电源

A5-A7版

878d9beefcb54b5bae62f6af190a9e78.png

若想使用右侧下载程序或实现串口通信,需要将J39 J44的3 4连接,与RS232芯片的TXD-R RXD-R默认绑定


若想使用左侧下载程序或实现串口通信,需要将J39 J44的2 3连接,与CH340芯片的TXD-U RXD-U默认绑定


注:右侧图COMD的2脚3脚与MAX232已实现交叉连接

06477326920d41bd94c7dd30efa7e9fd.png

单片机通过TXD,RXD,GND给CH340连接,CH340通过USB连接PC电脑的串口助手

注:双向通信


d3d012f2ea6a4f8db9d598d515f0370e.png







相关文章
|
2月前
|
网络协议 数据格式
【通信协议讲解】单片机基础重点通信协议解析与总结之ModBus(五)
【通信协议讲解】单片机基础重点通信协议解析与总结之ModBus(五)
|
2月前
|
IDE 开发工具
【通信协议讲解】单片机基础重点通信协议解析与总结之CAN(四)
【通信协议讲解】单片机基础重点通信协议解析与总结之CAN(四)
|
2月前
【通信协议讲解】单片机基础重点通信协议解析与总结之串口通信(三)
【通信协议讲解】单片机基础重点通信协议解析与总结之串口通信(三)
|
2月前
【通信协议讲解】单片机基础重点通信协议解析与总结之SPI(二)
【通信协议讲解】单片机基础重点通信协议解析与总结之SPI(二)
|
2月前
【通信协议讲解】单片机基础重点通信协议解析与总结之IIC(一)
【通信协议讲解】单片机基础重点通信协议解析与总结之IIC(一)
|
6月前
单片机IO口模拟串口实现原理
单片机IO口模拟串口实现原理
105 5
|
7月前
|
算法 定位技术 C语言
51单片机实现俄罗斯方块游戏编程
设计了一款基于AT89C51单片机的俄罗斯方块游戏机,使用LCD12864液晶显示,按键控制方块移动与变形。游戏中,7种不同形状的方块随机下落,填满一行得分,满屏则游戏结束。包含电源、单片机最小系统、LCD和按键模块的硬件电路通过Proteus进行了仿真,展示了游戏运行、得分和计时等。代码部分展示了检查碰撞和更新地图的函数。
153 1
【51单片机】烧写教程:将代码下载到单片机中(图示&解析)
【51单片机】烧写教程:将代码下载到单片机中(图示&解析)
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
76 0

推荐镜像

更多
下一篇
DataWorks