| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 51单片机——串口通信详解(STC89C51为例) -> 正文阅读 |
|
[嵌入式]51单片机——串口通信详解(STC89C51为例) |
目录 一、什么是通信:1、以信件为例进行理解:? ? ? ?试想在古代,我们怎么依靠信件来传递信息:写信-->传信-->读信,这个是我们表面理解的步骤,如果我们看的深层一点,可以理解为: (假设写信人想让收信人去将XX屋子的椅子移动一厘米) ? ? ? ?写信人将“将XX屋子的椅子移动一厘米”用双方规定好意思的象形字即汉字表示,并记录在纸张载体上——》通过鸽子或者别人骑马把纸张载体送给收信人——》收信人把信中的象形字翻译成“将XX屋子的椅子移动一厘米”,并按照指示将XX屋子的椅子移动一厘米 2、推广到电子通信:? ? 发送方用一种编码方式对信息进行编码——》通过一种传输介质发送编码信息——》接收方接受编码信息并进——》 接收方按照这一种编码方式进行解码,得到有效信息 3、具体到串口通信:(1)发送字符帧的基本格式:(编码方式)
(2)发送信息:通常是单片机直接一位一位发送出去,不过为了提高效率等原因,会存放在硬件电路中经过处理后再发送。 (3)传输介质:可以用蓝牙、WiFi、无线电等方式,这里使用的是用数据线和电脑直接连接进行简单测试,其他方式同理。
(4)接受信息:因为减轻单片机的负担,不需要每时每刻检测对方是否发送信息,通常会用到中断。 二、具体到单片机STC89C51与电脑沟通(方式1):1.总体思路:有以上分析可以,我们本次实验的步骤:了解51单片机串口硬件电路——》编写程序控制单片机发送信息给硬件电路,硬件电路按照字符帧格式发送信息——》通过USB转TTL模块发送给电脑(有下载功能的开发板都有)———》电脑收到后,我们通过串口调试助手(网上现成的软件)将收到的二进制信息转换成十进制数、字母等或者16进制数 2、了解51单片机串口硬件电路:(建议有数电基础的人了解)?????????????? ???????
?3、波特率的计算:? (1)波特率:串口通信每秒能发送或接收多少位,也就是上面第五点指的频率 ? (2)为什么要计算波特率:其实就像高铁帮信息一样,无论是乘客还是司机都要在相同的时间到达才能完成运输,而由于我们使用的是异步通信,没有使用时钟线,我们就要在接收和发送双方都规定好一个特定的频率,防止错过信息 ? (3)计算方法:由上面的第五点可和由下面的电源控制寄存器PCON可知51单片机串口收发频率由TH1、TL1和SMOD位决定,所以我们要找到TH1,TL1,SMOD与波特率之间的关系: 计算过程较为复杂,初学者可使用该工具 4、编写程序:?(1)需要配置的寄存器: ????????(a)串口控制寄存器SCON(可位寻址——即直接操作某一位,如SM0=1)
? ? ? ? (b)电源控制寄存器PCON(不可位寻址)
? ? ? ? ?(c)中断允许寄存器IE(可位寻址)
(2)STC89C51参考代码: ? ? ? ? ? ? ? ? 实现功能:接收电脑发来的信息后,再发送给回给电脑?
(3) 串口调试助手的使用: (a)下载:? ? ? ?? (b)步骤:选择相应的串口——》选择相应的波特率——》打开串口——》发送信息 ——》——》 ——》 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
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 16:41:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |