PWM、通信、串口通信、UART、TTL、51单片机串口通信、定时器初值的计算公式

我要成为嵌入式高手之4月8日51单片机第三天!!
————————————————————————————

PWM

        脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

有源蜂鸣器:有震荡源

无源蜂鸣器:没有震荡源

通信

概念

主机:

参与通信的设备(无论哪种主机都是数字电路)

单工模式:

(Simplex Communication)主机间通信时如果一方固定为发送端另外一方固定为接收端,通过一根总线实现数据通信,只能单向传递信息。

串行通信:

指将数据拆分成一个个比特,按照先后次序在一根总线上进行发送,串行通信有着系统占用资源少,结构简单等优点,是主机间通信的常用方式

并行通信:

指多个比特同时通过并行线进行传输,这种方式的传输速率较高,但会占用大量的芯片资源

全双工通信:

(Full-Duplex Communication)是一种通信方式,其中数据传输可以同时在两个方向进行,允许通信双方同时发送和接收数据,实现双向通信。

半双工通信:

(Half-Duplex Communication)是一种通信方式,其中数据传输可以在两个方向之间交替进行,但不能同时进行。(通信双方既可以发送数据又可以接收数据,但是不能同时发送数据或者接收数据)半双工通信常用于对话式交流和一些简单的通信场景中

串口通信

①属于串行通信的异步方式之一

②收发双方波特率必须事先约好,否则数据传输就会出现混乱

异步通信:

为了保证每个比特占用数据线的时间,发送放和接收放需要按照各自的系统计时且双方之间的误差不能太大(不能超过6%)。这种双方各自“计时”的方式称为异步(打字速度因人而异,没有规定打字时间要等多久,只要保证接收端能够正确识别并解析即可)

同步通信:

同步通信设备之间除了有数据线以外还有一条时钟线(SDA 和 SCL)其中SCL就是时钟线(serial clock)发送方负责控制时钟线的变化,每发送一个比特,都需要将始终线按规则进行改变。(例如合唱团的人员都遵从指挥员的指挥节奏)这种通信方式就称为同步通信,譬如IIC SPI等。

串口通信在不同主机间的数据格式:

UART:

统一的异步的接收器和发送器,为了将数据间通信的0 1落实到硬件上

TTL(Transistion-Transistion Logic)

通常指芯片引脚产生的电压,这个电压值跟选择的芯片有关,在51单片机系统下是5V;在2440下是3.3V等等。5V TTL通信距离通常被限制在10~20米之间(距离太短,怎么边长?)

IEEE(Institute of Electrical and Electronics Engineers)为了解决传输距离短的问题,颁布了两个标准:

RS232标准:

逻辑低(0):-3V ~ -15V

逻辑高(1):+3V ~ +15V

收、发主机之间有三根线,分别是收、发和地,因此RS232是全双工的。

理论上能够传输20~30米

RS485标准:

使用两根信号线(A和B)来传输数据,通过比较A和B之间的电压差来识别信息,这种差分信号传输方式提高了抗干扰能力。由于采用的是压差,RS485在传输数据的某一时刻,两根线都要用到,所以他是半双工的。

使得通信距离到达1200米

注:RS232 RS485是通过TTL变换的

51单片机串口通信

两个缓冲器统称为串行通信特殊功能寄存器SBUF

通信方式有四种

对应的硬件管脚是P3.0/RxD(收) 和 P3.1/TxD(发)



在此用方式1

SM2:多机控制,在此用不到,清0;

REN:允许接收,置1;

TB8:发送时第9位数据为奇偶校验位,在此没有,清0;

RB8:收到时第9位数据为奇偶校验位,在此没有,清0;

TI、RI:发送中断请求标志位,是用来查询的(必须用软件复位)

SMOD:波特率是否翻倍,置1翻倍

定时器初值的计算公式

2^8-2^smod * focs / 32 / bps / 12(2^8说明是8位自动重装定时器)

其中smod表示PCON的B7,根据实际情况带入,不是0就是1;

focs晶振频率,我们这是12M;

bps目标波特率我们这是1200

28 这里的8来自定时器的工作方式,因为我们使用的是8位自动重装方式,所以是8

按照我们的要求1200bps,smod=1时,该公式计算结果为:203.99。有小数表明有误差,取整得203。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/807235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

护眼台灯怎么选看哪些指标?兼顾性能与性价比护眼灯十大品牌推荐

对于长时间面对电子屏幕的上班族和学业负担重的学生族来说,他们的眼睛承受着巨大压力。加之不良的用眼习惯,导致近视人数不断增加。然而,良好的光线对眼睛健康至关重要。适宜的照明可以提供舒适的环境,减轻眼睛的负担。因此&#…

锂电池升降压转换利器:PW2224转换器,实现3.3V高效持续输出

描述: PW2224是一款专为锂电池供电设备设计的高效单电感降压-升压转换器。这款转换器能够在3V至4.2V的锂电池输入电压范围内工作,实现升降压模式自动切换,稳定输出3.3V电压,并持续提供高达1A的负载电流。此外,PW2224的…

栈的弹出压入弹出顺序

栈的压入弹出顺序 题目算法原理代码实现 题目 栈的压入弹出顺序 给定一个栈的压入顺序,然后再给定一个栈的弹出顺序,问这个两个顺序是否匹配 算法原理 定义一个栈s,我们先把栈的压入顺序数组的元素压入栈中,直到栈顶元素等于弹…

UE5、CesiumForUnreal实现加载建筑轮廓GeoJson数据生成白模功能

1.实现目标 在UE5.3中,通过加载本地建筑边界轮廓面GeoJson数据,获取底面轮廓和楼高数据,拉伸生成白模,并支持点选高亮。为防止阻塞Game线程,使用了异步任务进行优化,GIF动图如下所示: 其中建筑数量:128871,顶点索引数量:6695748,三角面数量:2231916,顶点数量:165…

计算机网络-OSPF路由汇总

一、路由汇总 路由汇总又被称为路由聚合,即是将一组前缀相同的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的,我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合…

高速开箱机在现代生产线中的角色与价值

在快节奏的现代工业生产中,高速开箱机已成为不可或缺的重要设备。它不仅大幅提升了生产线的效率,更在确保产品质量、降低成本、增强市场竞争力等方面发挥着重要作用。星派将详细探讨高速开箱机在现代生产线中的角色与价值。 一、高速开箱机的功能特点 高…

为什么学生很难真正学好嵌入式?

10几年前,我是读电气工程专业,学了很多东西,结构,电机、绘图,plc等等.. 其实,都没什么鸟用,出来还是像个废物。 后面我自学转了单片机开发,说句难听点,自己买个开发板都比…

实用工具系列-ADB使用方式

作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来&#xff0…

睿尔曼超轻量仿人机械臂之在ROS里引用正逆解函数库

一、机械臂运动学正逆解说明 机械臂运动学就是根据未端执行器与所选参考坐标系之间的几何关系,确定末端执行器的空间位置和姿态与各关节变量之间的数学关系。包括正运动学 (Forward Kinematics)和逆运动学 (Inverse Kinematics)两部分。 机械臂运动分为关节空间运…

Unity 中画线

前言: 在Unity项目中,调试和可视化是开发过程中不可或缺的部分。其中,绘制线条是一种常见的手段,可以用于在Scene场景和Game视图中进行调试和展示。本篇博客将为你介绍多种不同的绘制线条方法,帮助你轻松应对各种调试…

数据可视化-ECharts Html项目实战(11)

在之前的文章中,我们学习了如何在ECharts中特殊图表的双y图以及自定义形状词云图。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 数据可视化-ECh…

Java数据结构二叉树

概念 一棵二叉树是结点的一个有限集合,该集合: 1. 或者为空 2. 或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。 从上图可以看出: 1. 二叉树不存在度大于2的结点 2. 二叉树的子树有左右之分,次序不能颠倒&#x…

医疗器械FDA | 常见的网络安全材料发补问题都有哪些?

FDA网络安全资料发补咨询点此​​获取https://work.weixin.qq.com/ca/cawcde5ee29d239046 ————————--- 01 安全文档编写问题 FDA网络安全文档编写格式、内容、可读性等未满足官方要求,则将可能被要求发补整改编写后的文档。 02 安全管理问题 a. 网络安…

【机器学习】K-means聚类算法:原理、应用与优化

一、引言 1、简述聚类分析的重要性及其在机器学习中的应用 聚类分析,作为机器学习领域中的一种无监督学习方法,在数据探索与知识发现过程中扮演着举足轻重的角色。它能够在没有先验知识或标签信息的情况下,通过挖掘数据中的内在结构和规律&a…

深度学习学习日记4.7

1.梯度下降 w 新 w旧 - 学习率梯度 训练的目的就是让 loss 减小 2.前向传播进行预测, 反向传播进行训练(每一个参数通过梯度下降进行更新参数),(1前向传播 2求 loss 3反向传播 4梯度更新) 能够让损失下降的参数,就是更好的参数。 损失…

数据分析-数据清洗8大类方法|数据采集|电商数据API接口

数据分析首先我们需要坐数据采集 jd API 接入说明 API地址: 调用示例: 参数说明 通用参数说明 url说明 ……/平台/API类型/ 平台:淘宝,京东等, API类型:[item_search,item_get,item_search_shop等]version:API版本key:调用key,…

阿里云微调chatglm3-6b---只有一个python解释器但gradio要求版本不兼容怎么办

安装LLAMA参考博文http://t.csdnimg.cn/6yYwG 在用LLAMA微调大模型的时候总是出现connected error out并且出现这样的界面 这是由于LLMA所要求的gradio版本>4.0.0,<4.2.0&#xff0c;然而chatglm3-6b要求的gradio版本需要gradio3.39.0才能显示出web_demo_gradio.py渲染…

C++反向迭代器的实现

一、反向迭代器的定义 在容器中从尾元素向首元素反向移动的迭代器 对于反向迭代器&#xff0c;递增和递减的含义会颠倒过来 递增一个反向迭代器会移动到前一个元素 递减一个迭代器会移动到下一个元素 二、反向迭代器的实现 // 适配器 -- 复用 template<class Iterator,…

Weblogic任意文件上传漏洞(CVE-2018-2894)漏洞复现(基于vulhub)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

数据库安全(二),3天拿到网易网络安全岗offer

数据脱敏厂家 国外&#xff1a;Informatica国内&#xff1a;比特信安、美创、安华、神州数码 由于敏感数据的重要性以及特殊性&#xff0c;一般不建议使用国外产品。 数据库漏扫 又叫数据库安全评估系统 漏扫对象 DBMS脆弱点&#xff1a;已知的DBMS自身存在的漏洞弱口令缺…