| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 关于51单片机串口通信的相关知识(一) -> 正文阅读 |
|
[嵌入式]关于51单片机串口通信的相关知识(一) |
一、与通信有关的常见概念? ? ? ? 1、什么是通信? ? ? ? ? ? ? ? 人与人之间的通信:说话、写字、狼烟、手势等 ? ? ? ? ? ? ? ? 人与计算机之间的通信:按键、显示器、鼠标、触摸屏等 ? ? ? ? ? ? ? ? 计算机与计算机之间的通信:无线、有线、WIFI、蓝牙等 ? ? ? ? ?2、通信的关键? ? ? ? ? ? ? ? ①:事先约定:格式、时间、速率等(相当于人与人之间的在哪见面、什么时候见面) ? ? ? ? ? ? ? ? ②:基本信息单元:人与人之间---一个字 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 计算机与计算机之间:一bit或者一个字节 ? ? ? ? ? ? ? ? ③:有效信息编码、传输与解码---数据的传输是有一个或多个转换的过程 ????????比如人与人之间的信息交流:大脑思维--嘴--发声器官的震动--声音通过空气传播--到达另一个人的耳朵--到达另一个人的大脑 ? ? ? ? 计算机与计算机之间的通信也如此:计算机是无法传递最原始的信息的,要想传递信息就要把想要传输的字符串编码成对应的ASCII值,转换成为二进制数,然后再进行一bit一bit 的传输。 ? ? ? ? 3、通信的专业性的概念? ? ? ? ? ? ? ? ①:同步通信与异步通信 ? ? ? ? ? ? ? ? ? ? 同步通信:两个人出去旅游,约好时间和地点一起去; ? ? ? ? ? ? ? ? ? ? 异步通信:两个人出去旅游,但是没有规定具体的时间,两个人不用同一个同步信号; ? ? ? ? ? ? ? ? ?②:单工、半双工与全双工 ? ? ? ? ? ? ? ? ? ? ?单工:纯单向,你说我听;例:广播 ? ? ? ? ? ? ? ? ? ? ?半双工:同一时间只能有一个方向;例:对讲机 ? ? ? ? ? ? ? ? ? ? ?全双工:同时可以全方向;例:手机 ? ? ? ? ? ? ? ? ③:并行与串行通信方式 ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ?并行通信:一次可以通信多个基本单元;应用:老式打印机 ? ? ? ?串行通信:一次只能接收一个基本单元;适用于计算机与计算机、计算机与外设之间的远距离通信。 ? ? ? ? 并行通信传输速度快,但成本较高;而串行通信长距离传输时成本较低,用的范围广; ? ? ? ? ? ? ? ? ④:电平信号与差分信号 ? ? ? ? ? ? ? ? ? ? ?电平信号:只有0和1(即高低电平),容易被干扰,不适合远距离传输 ? ? ? ? ? ? ? ? ? ? ?差分信号:两条信号线的差值,不容易被干扰,适合远距离传输--RS485; 二、51单片机串口通信????????1、串口通信? ? ? ? ? ? ? ? ? ①:名称:串口通信、串行通信、USART、UART ? ? ? ? ? ? ? ? ? ②:采用的是异步、串行、全双工通信; ? ? ? ?? 2、串行通信的主要用途? ? ? ? ? ? ? ? ①:计算机与计算机之间的短距离通信 ? ? ? ? ? ? ? ? ②:CPU之间近距离通信 ? ? ? ? ? ? ? ? ③:调试信息的输入输出 ? ? ? ? 3、串行通信的工作方式? ? ? ? ? ? ? ? ①:三根工作线:GND,TXD、RXD--连线方式如下图所示: ????????????????注意:一个CPU上的TXD与另一块CPU上的RXD相连 ???????????????? ? ? ? ? ? ? ? ? 串口连接线还有9根线的连接方式,但是那种现在已经不是很常见了,只是在需要更高级的串口通信的时候才使用;下图就是9根线的串口线DB9; ?????????????????????????????????????????????????????????????? ? ????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ②:在串口的发送方有发送移位寄存器,接收方有接收移位寄存器 ? ? ? ? ? ? ? ? ? ? ? ? i:数据在发送方和接收方的CPU中都以字节为单位整字节处理 ? ? ? ? ? ? ? ? ? ? ? ? ii:数据在通信线上以位为单位逐个传输 ? ? ? ? 4、串行通信的主要概念? ? ? ? ? ? ? ? 起始位:开始之前要发的一个起始位--CPU的设计人员已经规定好,不需要在代码中做更改 ? ? ? ? ? ? ? ? 数据位:八个二进制的数(一般情况下); ? ? ? ? ? ? ? ? 奇偶校验位 ? ? ? ? ? ? ? ? 停止位:结束标志 ? ? ? ? ? ? ? ? 以上被称为一帧数据,也就是一整套数据 ? ? ? ? ? ? ? ? 波特率:串行通信的速度--1S中之内有多少位,发送方和接收方的波特率必须设置为一样; ? ? ? ?????????????? ? ? ???????????????????????? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:38:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |