串口通信以及波特率计算方法

23 篇文章 27 订阅
订阅专栏

串口通信

51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信

RS-232 也称标准串口,最常用的一种串行通讯接口,比如我们的电脑主机的9针串口 ,最高速率为20kb/s

RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其传送距离最大为约15米。所以RS-232适合本地设备之间的通信

硬件电路

简单双向串口通信有两根通信线(发送端TXD和接收端RXD)

TXD与RXD要交叉连接

当只需单向的数据传输时,可以直接一根通信线

当电平标准不一致时,需要加电平转换芯片

在这里插入图片描述

电平标准

电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

TTL电平:+5V表示1,0V表示0

RS232电平:-3 ~ -15V表示1,+3 ~ +15V表示0

RS485电平:两线压差+2 ~ +6V表示1,-2 ~ -6V表示0(差分信号)

常见通信接口比较

名称引脚定义通信方式特点
UARTTXD、RXD全双工、异步点对点通信
I2CSCL、SDA半双工、同步可挂载多个设备
SPISCLK、MOSI、MISO、CS全双工、同步可挂载多个设备
1-WireDQ半双工、异步可挂载多个设备

此外还有CAN、USB等

通信方式

全双工:通信双方可以在同一时刻互相传输数据

半双工:通信双方可以互相传输数据,但必须分时复用一根数据线

单工:通信只能有一方发送到另一方,不能反向传输

异步:通信双方各自约定通信速率

同步:通信双方靠一根时钟线来约定通信速率

总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)

51串口通信工作模式

STC89C52有1个UART

STC89C52的UART有四种工作模式:

​ 模式0:同步移位寄存器

​ 模式1:8位UART,波特率可变(常用)

​ 模式2:9位UART,波特率固定

​ 模式3:9位UART,波特率可变

串口参数及时序图

波特率:串口通信的速率(发送和接收各数据位的间隔时间)

​ 在数字通信中常常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为**(二进制)码元**

波特率可以被理解为一个设备在单位时间内发送(或接收)了多少码元(二进制)的数据,它是对符号传输速率的一种度量,表示单位时间内传输符号的个数(传符号率)

比特率又称“二进制位速率”,俗称“码率”。表示单位时间内传送比特的数目。用于衡量数字信息的传送速度,常写作bit/sec。根据每帧图像存储时所占的比特数和传输比特率,可以计算数字图像信息传输的速度

检验位:用于数据验证

停止位:用于数据帧间隔

在这里插入图片描述

串口模式图

SBUF:串口数据缓存寄存器,物理上是两个独立的寄存器,但占用相同的地址。写操作时,写入的是发送寄存器,读操作时,读出的是接收寄存器

在这里插入图片描述

由图可知需要用到T1定时器,使用定时器设置波特率,也需要开启中断

串口使用定时器1,模式选择8位自动重装载

数据显示模式

在串口助手中与单片机收发数据时有两种数据形式:

HEX模式/十六进制模式/二进制模式:以原始数据的形式显示

文本模式/字符模式:以原始数据编码后的形式显示,该编码依据ASCII码表,是十六进制的对应字符显示

波特率计算

在这里插入图片描述

SMOD:波特率选择位。当用软件置位SMOD,即SMOD=1,则使串行通信方式1、2、3的波特率加倍;SMOD=0,则各工作方式的波特率不加倍。复位时SMOD=0。

一般选择不加倍,所以SMOD为0,SYSclk是单片机时钟,也就是晶振的频率,11.0592MHz,运算时要转化为基本单位Hz,即11059200Hz

定时器工作模式是8位自动重装载,TH1和TL1赋的初值一样

9600:

12T模式定时器1溢出率:11059200Hz/12/(256-TH1) = 11059200Hz/12*(256-TH1) = 921600/(256-TH1)

9600 = 2^SMOD/32*(921600/(256-TH1)) = 1/32 * (921600/(256-TH1)) = 28800/(256-TH1)

256-TH1 = 28800/9600 = 3,TH1 = 256-3 = 253,253转为十六进制就是FD,所以TH1 = TL1 = FD

在这里插入图片描述

4800:

12T模式定时器1溢出率:11059200Hz/12/(256-TH1) = 11059200Hz/12*(256-TH1) = 921600/(256-TH1)

4800= 2^SMOD/32*(921600/(256-TH1)) = 1/32 * (921600/(256-TH1)) = 28800/(256-TH1)

256-TH1 = 28800/4800 = 6,TH1 = 256 - 6 = 250,253转为十六进制就是FA,所以TH1 = TL1 = FA

在这里插入图片描述

串口波特率计算
12-08
串口波特率计算是关于c51的,很不错的软件,希望大家能用得到
串口波特率等概念
热门推荐
谁de如花的博客
03-31 7万+
篇一 : 串口波特率等概念 1:比特率:9600bps 就是每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份。 如此,那么每1bit的时间就是1/9600秒=104.16666666666666666666666666667us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。也不管是啥起始bit,数据bit,奇偶bit,停止b
计算机的串口波特率,什么是波特率_波特率9600是什么意思_串口通信为什么要设置波特率?...
weixin_42099151的博客
07-27 1万+
描述波特率(Baud Rate) 单位 bps -- 每秒传送的字节数 Byte Per Second.。(BaudRate) 模拟线路信号的速率,也称调制速率,以波形每秒的振荡数来衡量。如果数据不压缩,波特率等于每秒钟传输的数据位数,如果数据进行了压缩,那么每秒钟传输的数据位数通常大于调制速率,使得交换使用波特和比特/秒偶尔会产生错误。 波特率是指数据信号对载波的调制速率,它用单位时间内载波调制...
51单片机串口波特率计算
qq_61688416的博客
09-03 1624
本文简单的讲解了51单片机串口通信波特率和它的计算方法
51单片机串口通信的基本原理
最新发布
2301_76720162的博客
11-07 295
即数据传输只在一个方向上传输,方向是固定的,不能实现双向通信。半双工传输方向可以切换,允许数据在两个方向上传输。但是某个时刻,只允许数据在一个方向上传输,可以基本双向通信。允许数据同时在两个方向传输,发送和接收完全独立,在发送的同时可以接收信号,或者在接收的同时可以发送。它要求发送和接收设备都要有独立的发送和接收能力。:串口每秒钟传输的位数。比如波特率为9600,每秒传输9600位,传输的单位是以数据帧。
串口通信波特率
luoai_2666的博客
05-25 2万+
波特率的定义 波特率表示每秒钟传送的码元(符号)的个数,单位是波特(Baud,symbol/s)。 与比特率的关系 通过不同的调制方式,可以在一个码元符号上负载多个bit位信息。 其中I为传信率,S为波特率,N为每个符号承载的信息量。比特率=波特率*单个调制状态对应的二进制位数。 但是在串口通信中,传输码元(符号)就是比特(bit),即波特率=比特率。 串口通信按照字节传输,1Byte到底有几位? 串口模式下,若波特率是9600,1秒种只能传送9600/10=960Byte数据,而不是9600/8=12.
通讯协议汇总
weixin_45713077的博客
09-04 1742
介绍嵌入式中常用的通讯协议,即相关基本概念。
串口通信波特率计算
weixin_45388202的博客
05-06 1万+
串口通信波特率计算 在信息传输通道中,携带数据信息的信号单元叫作码元(因为串口是1bit进行传输的,所以其码元就代表一个二进制数),每秒通过信号传输的码元数称为码元的传输速率,简称“波特率”,常用符号“Baud”表示,其单位为“波特每秒”(Bps)。串口常见的波特率有4800、9600、115 200等,此处我们选用9600的波特率进行讲解。 通信信道每秒传输的信息量称为位传输速率,简称“比特率”,其单位为“每秒比特数”(bps)。比特率可由波特率计算得出,公式为 比特率=波特率×单个调制状态对应的二进制
串口通信波特率
STN6554的博客
03-11 6574
简单分析一下串口通信波特率
串口通信(UART)及串口中断,波特率计算(五)
weixin_73901182的博客
07-24 2103
串口的认知,UART的相关寄存器配置,波特率计算
嵌入式Linux系统中设置串口波特率
08-22
嵌入式Linux系统中,应用程序设置串口波特率代码示例,有需要的可以参考。
51单片机串口波特率计算器v1.0_51单片机波特率计算器_
09-30
利用此计算器,很容易计算51单片机波特率的定时器的初值,方便编程使用
stm32中如何计算波特率
07-14
本文介绍了stm32单片机串口通信波特率计算方法以及原理。
STC单片机波特率自适应方法
01-20
同时又保证串口稳定可靠通信,采用的一种波特率自适应方法,该方法充分利用STC单片机运行速度快、拥有片内振荡器、片内资源丰富的特点,在串行通信程序中,利用单片机I/O口和定时器,对主机发送的固定字符进行测量、...
基础电子中的STC单片机波特率自适应方法
10-20
同时又保证串口稳定可靠通信,采用的一种波特率自适应方法,该方法充分利用STC单片机运行速度快、拥有片内振荡器、片内资源丰富的特点,在串行通信程序中,利用单片机I/O口和定时器,对主机发送的固定字符进行测量、...
通信与网络中的串行通信波特率的自动识别
11-20
摘要 对串行通信波特率自动识别的方法进行深入的研究和分析;创新性地提出在码元宽度捕捉的基础上,用求最大公约数的方法进行波特率的自动识别,实现了不对待测系统发送的数据进行特殊要求即实现其串行通信数据的...
通信与网络中的基于未知上位机串行通信波特率检测
11-09
随着计算机应用的日益普及,与计算机进行信息交互的终端也越来越多,其中串行通信是终端与计算机之间的主要通信方式。通常情况下,接收方必须知道发送方的发送速率,帧结构,并采用相同的速率及帧结构进行接收,才能...
定时器计数器工作波特率发生器的串口通信设定的基本计算方法
10-24
定时器计数器工作波特率发生器的串口通信设定的基本计算方法
串行通信波特率自动检测方法的实现
01-14
在分析单片机串行口及定时器特性的基础上,提出两种单片机与PC机之间波特率自动检测的 设计方案,即查表法和计算法。这两种方案简单、易行、可靠,尤其计算法不受系统主频的影响,在工程 实际中具有较高的实用价值
UART串行通信技术和同步串行外设接口总线通信区别
05-05
UART串行通信技术和同步串行外设接口总线通信有以下几个区别: 1. 通信方式不同:UART串行通信技术使用异步通信方式,而同步串行外设接口总线通信使用同步通信方式。 2. 时钟信号不同:UART串行通信技术使用的是一个基于波特率的时钟信号,而同步串行外设接口总线通信则使用一个外部时钟信号。 3. 传输速率不同:UART串行通信技术的传输速率比较低,通常在几十Mbps以下,而同步串行外设接口总线通信的传输速率可以达到几百Mbps或者更高。 4. 数据传输方式不同:UART串行通信技术是一种点对点的通信方式,即一对发送器和接收器之间的通信。而同步串行外设接口总线通信则是一种多点通信方式,即多个设备之间共享同一个总线进行通信。 5. 数据传输协议不同:UART串行通信技术的数据传输协议比较简单,只需要考虑数据位、停止位和校验位等基本参数。而同步串行外设接口总线通信则需要更为复杂的数据传输协议,如SPI、I2C、USB等,以满足各种不同的应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 继电器介绍及接线说明 60122
  • RS-485接口协议详解 49939
  • STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility) 44305
  • 循迹模式——红外循迹模块使用介绍 37321
  • 蜂鸣器介绍 28061

分类专栏

  • 电子元器件基础 7篇
  • STC15项目 28篇
  • STM32物联网项目 30篇
  • Git
  • MQTT 9篇
  • 嵌入式常见传输协议 5篇
  • 阿里云 5篇
  • TFT-LCD 8篇
  • LVGL 3篇
  • STM32 35篇
  • 51单片机项目
  • 遥控报警器 4篇
  • 智能桌面收纳桶 4篇
  • DHT11温湿度检测系统 3篇
  • 蓝牙模块 3篇
  • OLED屏 5篇
  • ESP8266 7篇
  • 智能小车 19篇
  • 51单片机 23篇
  • C语言 58篇
  • 数据库 3篇

最新评论

  • ESP-01S通过AT指令上报数据到阿里云物模型

    Joseph Wen: 我看博主是分别发送三个值,请问如何同时发三个值呢

  • C51数据的存储类型

    CSDN-Ada助手: 多亏了你这篇博客, 解决了问题: https://ask.csdn.net/questions/8084679, 请多输出高质量博客, 帮助更多的人

  • 51单片机定时器扫描按键

    cryyds666: key_return函数里面的key_keynumber=0应该去掉吧,不然返回一直是0

  • 使用舵机和超声波模块实现小车自动避障

    单片机!雷碧: if(KeyNum==5) { SgLeft();//180度,左扭头 } if(KeyNum==6) { SgMiddle(); //90度,往前 } if(KeyNum==7) { SgRight(); //0度,右扭头 } if(KeyNum==8) { SgMiddle(); //90度,往前 } 这是主函数调用的

  • 使用舵机和超声波模块实现小车自动避障

    单片机!雷碧: 作者,我用这个代码舵机不转,请问啥问题? #include <REGX52.H> sbit Sg90_com = P3^0; unsigned char count,compare; /** * @brief 定时器0初始化函数,舵机PWM控制 * @param 无 * @retval无 */ void Timer0Init(void) //500微秒@11.0592MHz { TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //设置定时器模式 TL0 = 0x33; //设置定时初值 TH0 = 0xFE; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 ET0 = 1; EA = 1; } //180度 void SgLeft() { compare = 5; count = 0; } //135度 void SgLeft135() { compare = 4; count = 0; } //90度 void SgMiddle() { compare = 3; count = 0; } //45度 void SgRight45() { compare = 2; count = 0; } //0度 void SgRight() { compare = 1; count = 0; } //中断处理函数 void Timer0_Rountine() interrupt 1 //每次定时器溢出时是0.5ms { TL0 = 0x33; TH0 = 0xFE; count++; //PWM控制 if(count < compare) //通过比较值控制高电平占据周期的时间,也就是占空比大小 { Sg90_com = 1; } else { Sg90_com = 0; } if(count == 40) //每一个0.5mscount都会++,加了40次就20ms,是舵机控制的一个周期 { count = 0; Sg90_com = 1; } } 我用主函数调用的

最新文章

  • 安规电容定义和应用
  • 稳压二极管仿真实验
  • 二极管分类及用途
2024年7篇
2023年17篇
2022年233篇
2021年3篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源传统节日的古诗男孩起名字带金的名字都市男女小说悲剧的诞生中国著名起名专家属猴人的起名宜什么宝宝起名大全五行名扬天下 起名大全学院公司起名字富国天博dota6.81d起名字女孩2020免费赵寓意好的成语可起名字好茶叶公司起名推荐瑞字起名名字男孩工作交接表车轮驾考通美版死亡笔记给女孩起名字大全宝宝公司起名康字辈起名大全沙发管家养猪场起名字必须带猪字吗洁白无瑕起名字男孩2020免费八字起名快穿之完成你的执念棋牌室起什么名字的好路易十五女性向avdongjingre淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化