51单片机串口通信(UART)

2023-10-27

项目描述:
1.串口工作方式为1(8位UART,波特率可变),无校验位;
2.通信数据格式为:1位起始位 + 8位数据位 + 1位停止位;
3.上电后MCU给上位机发送问候语,之后等待上位机的信息;MCU和上位机的通信为收发交替进行。MCU接收到的信息会实时的显示在LCD上。上位机接收到的信息会在串口助手上显示。
C语言程序如下:

/*-----------------------
FileName: UART.h
Function: 头文件
Author: Zhang Kaizhou
Date: 2019-6-10 11:33:35
------------------------*/
#include "reg52.h"
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
#define FOSC 11059200L // 系统晶振频率为11.0592MHz
#define BAUD 9600 // 波特率位9600bps
#define MAXSIZE 8

/*LCD1602显示模块端口定义*/
sbit lcdrs = P1^0;
sbit lcdrw = P1^1;
sbit lcden = P2^5;

/*主模块函数声明*/
void timer1Init();
void sendChar(uchar dat);
void sendString(char * str);

/*LCD1602模块函数声明*/
void writeCommand(uchar command);
void writeData(uchar dat);
void delay(uchar xms);
void LCDInit();
void display(uchar * str);

/*
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机串口通信(UART) 的相关文章

  • c++实现串口通讯踩坑(argument of type “char *“ is incompatible with parameter of type “LPCWSTR“)

    在C下 可以使用outportb和inportb进行串口通讯 C 没有这两个函数 那就使用createfile吧 通过网上搜到读取打开串口的例子 如下 include
  • 用虚拟串口进行串口调试

    由于现在的笔记本电脑一般不带有串口 再进行串口调试时 可以用虚拟串口代替 虚拟串口下载链接 虚拟串口 Win7 下载 串口调试助手下载链接 串口调试助手 VS2010串口程序 使用的unicode库 纯API 不利用Mscomm控件 下载链
  • Android 蓝牙串口通信Demo

    目录 一 前言 二 效果图 三 源码 带注释 1 布局代码 2 Java代码 3 权限声明 四 注意 五 项目源码下载 一 前言 在学校和机电的同学组队准备做一个智能小车去参加比赛 需要我开发一个小车的控制app 所以我开始学习蓝牙串口通信
  • CSerialPort教程4.3.x (1) - CSerialPort项目简介

    CSerialPort教程4 3 x 1 CSerialPort项目简介 前言 CSerialPort项目是一个基于C C 的轻量级开源跨平台串口类库 可以轻松实现跨平台多操作系统的串口读写 同时还支持C Java Python Node
  • C#串口通讯中 16进制与字符串、字节数组之间的转换

    1 c 中如何将十进制数的字符串转化成十六进制数的字符串 十进制转二进制 Console WriteLine 十进制166的二进制表示 Convert ToString 166 2 十进制转八进制 Console WriteLine 十进制
  • 51单片机播放音乐(二):DA转换播放任意波形

    51单片机播放音乐 二 DA转换播放任意波形 原理 DA转换器 仿真电路图 音频文件转成C语言数组代码 单片机代码 仿真输出波形 本文完整源码 用数字信号带动蜂鸣器同一时间只能发出一种频率的声音 也没有和弦 会比较难听 而我们听到的音乐可以
  • 关于STM32串口接收中断中只能接收一个字节()

    最近调试STM32的串口接收时发现例程中只能接收一个字节 例程如下 1 初始化串口1 2 void uart init u32 bound 3 GPIO端口设置 4 GPIO InitTypeDef GPIO InitStructure 5
  • QT开发之串口通信(四)

    VS2015 QtPackage版本1 3 11插件 QT5 13 1 最近使用串口遇到一些问题 1 问题 在上述编译环境下发生数据会出现发送一次数据后无法重复发送数据 返回值也没有问题 查询得知 QByteArray SendBytes
  • C#串口通信三步走

    第一步 实例化串口通讯类 SerialPort sp new SerialPort 第二步 设置串口信息并打开串口 串口设置 public void SetSP string PortName string BaudRate string
  • 串口接收数据分包问题处理(QT上位机/单片机等)

    串口数据出现分包如何正确完整接收 提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 设计思路 二 代码参考 总结 前言 串口通信在QT上位机以及单片机或者安卓串口等使用情况下 经常容易出现一包数据分成几包
  • 单片机原理及应用复习

    关于这个复习的资源 或者网址 点击 第一章 单片机的基础知识 1 什么是单片机 特点 将通用微型计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统 嵌入式系统 用于解决小型被控对象的智能化问题 SCM或MCU 组成 特点 体积小
  • 九.ARM裸机学习之串口通信详解1(串口通信接口及原理框图详解)

    一 串口通信的基本概念及原理理解 2017 11 12 22 52 1 同步通信和异步通信 异步通信 指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程 为使双方的收发协调 要求发送和接收设备的时钟尽可能一致 即发送方和接收方没有
  • 奇偶校验位

    在串行通信中 奇偶校验位通常是由UART这样的接口硬件生成 校验的 在接收方 通过接口硬件中的寄存器的状态位传给 CPU 以及操作系统 错误数据的恢复通常是通过重新发送数据 这个过程通常由如操作系统输入输出程序这样的软件处理的
  • 【C51自学笔记】数码管(静态与动态显示)+74HC138+点阵的动态显示

    数码管 数码管由7个发光二极管组成一个日字形 如果需要显示小数点 那么就再加一个点 就是8段数码管 数码管显示亮度高 响应速度快 分共阴和共阳两种形式 常用的有单个的和 联的 还有两联的和专门用来显示时间的 分类 共阴 共阳 编码问题 必须
  • OUT指令时,就进入了I/O端口读写周期

    1 译码电路的输入信号 每当CPU执行IN或者OUT指令时 就进入了I O端口读写周期 此时首先是端口地址有效 然后是I O读写控制信号 IOR和 IOW有效 把对端口地址译码而产生的译码信号同 IOR和 IOW结合起来一同控制对I O端口
  • 使用ROS通过串口获取遥控器信号(二)

    使用ROS通过串口获取遥控器信号 二 十 编写串口通信节点 sudo gedit catkin ws src uart communication src commu cpp 加入以下代码 根据实际情况修改自己的代码 注意serial的AP
  • 【Python】PyCharm中调用另一个文件的函数或类

    欢迎来到Python专栏 PyCharm中调用另一个文件的函数或类 o o 嗨 我是小夏与酒 博客主页 小夏与酒的博客 该系列文章专栏 Python学习专栏 文章作者技术和水平有限 如果文中出现错误 希望大家能指正 欢迎大家关注 目录 Py
  • c51简单delay函数i的值跟延时的时间呈线性关系

    c51简单delay函数i的值跟延时的时间呈线性关系 一 简单delay函数 晶振频率 11 0592 MHZ define uchar unsigned char void Delay uchar i while i 二 证明 1 调试计
  • 启用 DMA 的 UART Tx 模式

    我已经为 UART 在传输模式下编写了一个简单的设备驱动程序 并启用了 DMA 和中断 我使用的硬件是 omap 4460 pandaboard 其中加载了 Linux 3 4 下面我分享一下相关部分的代码 在开放阶段 dma map io
  • 如何将 microbit 与 BLE 连接并监听按钮按下事件?

    2021 年 11 月 28 日编辑 如果您需要使用蓝牙低功耗将 microbit 连接到计算机 并在单击按钮时执行操作 直接跳并跟随 ukBaz https stackoverflow com users 7721752 ukbaz的回答

随机推荐

  • 使用Implement.js在JavaScript中实现接口

    在这篇博客文章中 我将介绍接口的概念以及它们在动态语言中的用法 我还将使用库Implement js将概念引入JavaScript 并向您展示如何从接口中获取一些额外的实用程序 什么是接口 Google将界面定义为 两个系统 主题 组织等相
  • c ++中的Sort函数

    简介 c 标准库里的Sort 函数是 c 自带的一种排序函数 可替换以前的冒泡排序和选择排序 1 Sort函数包含在头文件 include
  • mybatis 项目配置 xml文件时 报错提示(The reference to entity "useSSL" must end with the ';'

    最近在配置mybatis项目的xml配置文件的时候 出现错误提示 The reference to entity useSSL must end with the delimiter 报错行为
  • 使用pandas从mysql中导出数据

    import pandas as pd import MySQLdb handle MySQLdb connect host xxx xxx xxx xxx user root port xxxx passwd xxxxxx db xxxx
  • 区块链技术与应用实验报告(实验七)

    文章目录 区块链技术与应用实验报告 实验七 关于作者 作者介绍 一 实验目的及要求 二 实验原理简介 三 实验环境 四 实验步骤 1 运行Goland界面 2 编译Go的Hello World程序 3 实现区块的结构 4 区块组成链式结构
  • 世上最全Spring全家桶学习笔记,Spring永远的神

    前言 Spring 框架自诞生以来一直备受开发者青睐 还有人亲切的称之为 Spring 全家桶 毋庸置疑 Spring 早已成为 Java 后端开发的行业标准 许多公司选择 Spring 作为基础的开发框架 大部分Java 后端程序员在日常
  • 中国光刻机行业供需前景与十四五发展态势研究报告2022版

    中国光刻机行业供需前景与十四五发展态势研究报告2022版 HS HS HS HS HS HS HS HS HS HS HS HS 修订日期 2021年11月 搜索鸿晟信合研究院查看官网更多内容 第一章 光刻机行业相关概述 1 1 光刻机的基
  • 手写promise加载图片

    div div
  • 如何开发高质量的软件 - 通过测试集中型的软件开发方法来提高软件质量

    构建技术系统所要做的工作是非常繁重的 同时还需要专业知识 语言和协议 编码与调试 测试与重构 James Garrett 概述 每年各个企业都在努力实现企业的主要目标 通常 这都是通过实现基于度量指标的性能目标 可能包括质量目标 以及利用最
  • 八字精批API接口

    接口平台 https api yuanfenju com 开发文档 https doc yuanfenju com 支持格式 JSON 请求方式 HTTP POST
  • 【QT开发笔记-基础篇】

    本节对应的视频讲解 B 站 视 频 https www bilibili com video BV11G411x7hN Qt 中的单选按钮类是 QRadioButton 它是一个可以切换选中 checked 或未选中 unchecked 状
  • Docker基础(八)—容器卷

    什么是数据卷 数据卷 Data Volumes 是一个可供容器使用的特殊目录 它将主机操作系统目录直接映射进容器 类似于 Linux 中的 mount 行为 数据卷可以提供很多有用的特性 数据卷可以在容器之间共事和重用 容器间传递数据将变得
  • 简单版的数组实现哈希表

    package com wei mybatisflex import java util ArrayList import java util List 用数组实现哈希表 public class ArrayToHash 键值对定义 cla
  • [C++]观察者模式

    当对象间存在一对多关系时 则使用观察者模式 Observer Pattern 比如 当一个对象被修改时 则会自动通知它的依赖对象 观察者模式属于行为型模式 C 代码如下 此文件包含 main 函数 程序执行将在此处开始并结束 参考大话设计模
  • 【Xilinx】如何自动格式化Verilog代码

    开发环境Vivado VSCode Xilinx 自动格式化Verilog代码 前言 一 安装VSCode并修改Vivado的默认编辑器 二 安装Verilog插件 1 语法插件 2 格式化插件 三 演示 如何代码格式化 1 插件演示 2
  • 基于SSM框架的教务管理系统

    前言 教务管理系统是一种基于计算机技术的信息管理系统 主要用于学校 教育机构等管理教务事务 其功能包括但不限于 主要分为三类角色 管理员 教师和学生 系统管理 包括用户管理 角色管理 权限管理 通知管理等 信息管理 包括学生信息 教师信息
  • 2019秋招:460道Java后端面试高频题答案版【模块五:计算机网络】

    点击上方蓝字关注我吧 写在前面 计算机网络 计算机操作系统这两个 兄弟 是所有开发岗位都需要 结拜 的 不管你是 Java C 还是测试 对于后端开发的童鞋来说 计算机网络
  • 12-数据结构-数组、矩阵、广义表

    数组 矩阵 广义表 目录 数组 矩阵 广义表 一 数组 二 矩阵 三 广义表 一 数组 这一章节理解基本概念即可 数组要看清其实下标是多少 并且二维数组 存取数据 要先看清楚是按照行存还是按列存 按行则是正常一行一行的去读写 按列则是 从左
  • LA@相似对角化判定定理和计算方法

    文章目录 方阵相似对角化 引言 相似对角化变换矩阵的性质 构造对角化变换矩阵 方阵可对角化判定定理 推论 无重根特征值的方阵可以对角化 含重根特征值的方阵的对角化判定定理 总结 综合 对角化步骤归纳 例 特征值计算 构造相似变换阵 下结论
  • 51单片机串口通信(UART)

    项目描述 1 串口工作方式为1 8位UART 波特率可变 无校验位 2 通信数据格式为 1位起始位 8位数据位 1位停止位 3 上电后MCU给上位机发送问候语 之后等待上位机的信息 MCU和上位机的通信为收发交替进行 MCU接收到的信息会实