用蓝桥杯单片机使用串口通信发送数字与字符串和接收数据

2023-11-03

目录

1.发送与接收数字

   1.基本功能

   2.初始化

3.电脑发送数据功能

  4.代码

2.发送与接收字符串

 1.基本功能

   2.初始化

3.电脑发送数据功能

 4.代码


1.发送与接收数字

   1.基本功能

1)通过串口1发送数据。

2)电脑发送数字给单片机,单片机打开LED灯

   2.初始化

1)关闭蜂鸣器、继电器。

2)单片机发送内容  “  openled  ” 。

3)使用文本界面接收

3.电脑发送数据功能

1)发送1打开LED1。

2)发送2打开LED2.以此类推。

3)发送9关闭LED灯。

4)使用Hex界面发送

 

  4.代码

#include <STC15F2K60S2.H>
#include "uart.h"

void Device(unsigned char p2,unsigned char p0)
{
    P0=p0;
    P2=P2&0x1f|p2;
    P2=P2&0x1f;
}

void system()
{
Device(0x80,0xff);
Device(0xa0,0);
}
void UartInit(void)		//9600bps@11.0592MHz
{
	SCON = 0x50;		//8位数据,可变波特率
	AUXR |= 0x40;		//定时器时钟1T模式
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TL1 = 0xE0;		//设置定时初始值
	TH1 = 0xFE;		//设置定时初始值
	ET1 = 0;		//禁止定时器%d中断
	TR1 = 1;		//定时器1开始计时
    EA=1;            //打开总中断
    ES=1;            //打开串口中断
}
//发送一个字节
//数字界面接收16进制的
//文本界面接收字符
void UART_SendByte(unsigned char Byte)
{
    SBUF=Byte;
	while(TI==0);
	TI=0;

}
unsigned char k[]="openled";

void main()
{
    UartInit();
    system();
    UART_SendByte(k[0]);
    UART_SendByte(k[1]);
    UART_SendByte(k[2]);
    UART_SendByte(k[3]);
    UART_SendByte(k[4]);
    UART_SendByte(k[5]);
    UART_SendByte(k[6]);
while(1)
{

}
}

void uaet1() interrupt 4
{
//hex界面发送用的
    if(RI==1)					//如果接收标志位为1,接收到了数据
	{
        n=SBUF-1;
        if(n<9)
        {
        Device(0x80,~(0x01<<n));			//读取数据,取反后输出到LED
        }
		if(n==9)
        {Device(0x80,0xff);			//读取数据,输出到LED}
		UART_SendByte(SBUF);	//将受到的数据发回串口
		RI=0;					//接收标志位清0
	}

    

2.发送与接收字符串

 1.基本功能

1)通过串口1发送数据。

2)电脑发送数字给单片机,单片机打开LED灯

   2.初始化

1)关闭蜂鸣器、继电器。

2)单片机发送内容  “  想要打开LED灯请输入对应的序号  ” 。

3)使用文本界面接收

3.电脑发送数据功能

1)发送1打开LED1。

2)发送2打开LED2.以此类推。

3)发送9关闭LED灯。

4)使用文本界面接收。

 4.代码

#include <STC15F2K60S2.H>

void Device(unsigned char p2,unsigned char p0)
{
    P0=p0;
    P2=P2&0x1f|p2;
    P2=P2&0x1f;
}

void system()
{
Device(0x80,0xff);
Device(0xa0,0);
}

void UartInit(void)		//9600bps@11.0592MHz
{
	SCON = 0x50;		//8位数据,可变波特率
	AUXR |= 0x40;		//定时器时钟1T模式
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TL1 = 0xE0;		//设置定时初始值
	TH1 = 0xFE;		//设置定时初始值
	ET1 = 0;		//禁止定时器%d中断
	TR1 = 1;		//定时器1开始计时
    EA=1;
    ES=1;
}
//发送一个字节
//数字界面接收16进制的
//文本界面接收字符
void UART_SendByte(unsigned char Byte)
{
    SBUF=Byte;
	while(TI==0);
	TI=0;

}

//发送字符串
void UART_swing( char*a)
{
 unsigned  char i=0;
do
{
UART_SendByte(*(a+i));
    i++;
}while(*(a + i)!='\0');
}


char a;
void main()
{
    UartInit();
    system();
    UART_swing("想要打开LED灯请输入对应的序号\n");

    
while(1)
{


}
}

void uaet1() interrupt 4
{

    if(RI==1)
    {
    a=SBUF;
    switch(a)
    {
        case '1': Device(0x80,~0x01);break;
        case '2': Device(0x80,~0x02);break;
        case '3': Device(0x80,~0x04);break;
        case '4': Device(0x80,~0x08);break;
        case '5': Device(0x80,~0x10);break;
        case '6': Device(0x80,~0x20);break;
        case '7': Device(0x80,~0x40);break;
        case '8': Device(0x80,~0x80);break;
        case '9': Device(0x80, 0xff);break;
    
    }
    UART_SendByte(SBUF);	//将受到的数据发回串口
		RI=0;					//接收标志位清0
    }
    
}

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

用蓝桥杯单片机使用串口通信发送数字与字符串和接收数据 的相关文章

  • 【论文学习】YOLOv3:An Incremental Improvement

    论文 YOLOv3 源代码 pjreddie com yolo 视频 https youtu be MPU2HistivI 1 Abstract 作者对YOLO进行了进一步的更新 做了一些小设计更改让其表现更好 YOLOv3比YOLOv2相
  • 【OS】IO系统——设备管理

    操作系统的设备管理 IO系统 一 啥是IO系统 操作系统是一种特殊的管理系统 管理与计算机相关的各种资源 往大了说 包括硬件资源和软件资源 细化了说 包括计算资源 内存资源 文件资源 设备资源 本文主要讲解设备管理的相关内容 1 OS管理的
  • 一分钟总结Spring的IOC和DI

    IOC Inverse of control 控制反转 IoC 控制反转 就是将程序中原来 new 对象 交给spring创建 从spring工厂获取对象 使用spring来负责控制对象的生命周期和对象间的关系 Spring所倡导的开发方式
  • 数据库视图的基本概念及作用

    一 视图简介 视图是从一个或几个基本表 或视图 中导出的虚拟的表 在系统的数据字典中仅存放了视图的定义 不存放视图对应的数据 视图是原始数据库数据的一种变换 是查看表中数据的另外一种方式 可以将视图看成是一个移动的窗口 通过它可以看到感兴趣
  • vcruntime140.dll丢失的解决方法

    vcruntime140 dll是vc运行库中的链接库文件 一般它会出现的状况就是系统提示dll丢失 这样的情况一般出现在游戏应用或者软件程序中 且会导致程序无法正常运行 只要下载此补丁 根据下面的步骤进行操作即可解决问题若你的电脑不小心丢
  • 前端常用js加密方法

    这里罗列前端常用的js加密方法 base64加密
  • 计算机网络知识点(网络层)

    文章目录 重要内容 4 1 网络层提供的两种服务 4 2 网际协议IP 4 2 1 虚拟互联网络 4 2 2 分类的IP地址 4 2 3 IP地址与硬件地址 4 2 4 地址解析协议ARP 4 2 5 IP数据报的格式 4 2 6 IP层转
  • 关于Android证书MD5获取

    Android打包证书获取MD5值 最近在学习Android开发 在打包成apk时发现需要一个证书文件 于是就随手生成了一个证书文件 在后期使用百度人脸识别SDK时发现需要用到证书文件的MD5值 按照百度说明文档以及网上大多数查看证书文件的

随机推荐

  • Centos7安装配置nginx

    1 前言 在进行nginx安装前 考虑到本博客针对很多新手朋友我决定还是先介绍一些nginx知识 这样更加有利于各位读者朋友对nginx的理解 对后续学习也有很大帮助 介绍 Nginx engine x 是一个高性能的HTTP和反向代理we
  • Android jni报错No implementation found

    2022 04 18 20 25 52 738 28123 28123 com example insectdetector E AndroidRuntime FATAL EXCEPTION main Process com example
  • JS数组和方法【一】

    冒泡排序 数组排序 冒泡排序 冒泡排序 是一种算法 把一系列的数据按照一定的顺序进行排列显示 从小到大或从大到小 var arr 2 3 4 1 2 for var i 0 i lt arr length i 外层循环管趟数 for var
  • IDEA 无法显示 Services,Run Dashboard 的解决方法

    IDEA 无法显示 Run Dashboard 的解决方法 步骤 1 新版的 idea 把 dashboard 已经整合到 service 里面了 但是操作步骤依然是不变的 步骤 2 如果你连 services 都看不到 双击一下 shif
  • ssh框架基于java的爱心捐助平台源码+论文第三稿+查重报告+代码讲解视频(包安装,已降重)

    项目名称 ssh框架基于java的爱心捐助平台源码 效果视频 ssh框架基于java的爱心捐助平台源码 系统说明 功能模块设计 1 系统登录 主要分为管理员和普通用户 由数据库判断输入的账户信息是那种角色 在判断验证的账号和密码匹配后方可正
  • 孔明六曜星图生图总结

    图生图功能 1 图生图 就是文生图加张参考图 2 绘图 就是图生图加上手绘 3 局部重绘 就是只画图生图中的一部分功能 4 局部重绘 手涂蒙版 就是图生图的一部分功能加上绘图 5 上传蒙版 就是局部重绘加上PS的蒙版处理 规定边界 6 批量
  • mybatis工作原理

    1 基本原理 首先看一段JDBC代码 Class forName com mysql jdbc Driver String url jdbc mysql localhost 3306 localdb Connection con Drive
  • 从停产到宣布倒闭,Kuri 见证了一段家庭机器人兴衰史

    转自 https new qq com omn 20180824 20180824A1RPR5 html 曾经勾勒的美好蓝图说没就没了 shenzhenware 上个月 家庭机器人制造商 Mayfield Robotics 曾宣布 因母公司
  • 高可用集群软件Heartbeat介绍

    一 Heartbeat的定义 Heartbeat 项目是 Linux HA 工程的一个组成部分 也是目前开源HA项目中最成功的一个例子 Linux HA的全称是High Availability Linux 这个开源项目的目标是 通过社区开
  • 【微信小程序】background-image设置背景图片不显示的解决办法

    相关代码如下
  • 芯片科技科普2芯片分类

    02芯片分类 这么多芯片 有没有什么系统的分类方式呢 其实芯片的分类方式有很多种 按照处理信号方式可以分成 模拟芯片 数字芯片 信号分为模拟信号和数字信号 数字芯片就是处理数字信号的 比如CPU 逻辑电路等 模拟芯片是处理模拟信号的 比如运
  • 探索Python异常:让程序不再崩溃!

    文章目录 前言 什么是异常 捕获异常 基本语法 捕获指定类型异常 捕获多个指定类型的异常 捕获异常描述信息 捕获所有异常 else finally 异常的嵌套 自定义异常 结语 前言 在编程的世界中 我们常常会面对各种各样的错误和异常情况
  • 【2022年10月最新】人体姿态估计coco test-dev 官网在线测试关键点检测结果

    之前的coco test dev已被弃用 根据它的信息 我们进入新的地址 https codalab lisn upsaclay fr 然后我们点击Search Competitions 然后输入 COCO Keypoint Challen
  • SolidWorks机械制图

    SolidWoks主要包括 草图 零件图 装配图 工程图 我决定还是写在csdn上面 这样我能够每天看到自己的学习进度 也可以更好的提升自己 目录 草图绘制 直线 矩形 圆 槽 默认直槽口 圆弧 圆角 草图几何关系 裁剪实体 等距实体 默认
  • win10系统如何连接宽带连接服务器,win10怎么连宽带_win10系统如何连接宽带

    现如今很多朋友都在使用win10系统 但是很多朋友还不太熟悉win10系统中的一些操作 win10系统的宽带连接功能应该怎么设置呢 相信还有很多人不明白win10怎么连宽带 也不知道windows10宽带连接在哪设置 别着急 小编这就为大家
  • 看书标记【R语言数据分析项目精解:理论、方法、实战 2】

    看书标记 关于R语言 chapter 2 R语言基础 2 1 安装R语言 2 2 R语言基本对象 2 2 2 向量 R语言数据分析项目精解 理论 方法 实战 chapter 2 R语言基础 R语言用高深的理论作为支撑 用简捷的语法作为工具
  • 矩阵内积运算

    设有矩阵A a1 a2 a3 a4 和矩阵 B b1 b2 b3 b4 那么矩阵A与B的内积为 内积 a1 x b1 a2 x b2 a3 x b3 a4 x b4
  • sql表中增加一列_产品经理学SQL(五)

    我们上一篇文章产品经理学SQL 四 说到了数据库定义语言 它们包含数据库的相关操作 创建数据库 删除数据库 数据库的命名规范 和数据表的相关操作 创建数据表 删除数据表 数据表的命名规范 这一篇文章我们接着分享 数据库定义语言 1 查看数据
  • three.js 物体的简单拖拽功能

    1 准备 DragControls js
  • 用蓝桥杯单片机使用串口通信发送数字与字符串和接收数据

    目录 1 发送与接收数字 1 基本功能 2 初始化 3 电脑发送数据功能 4 代码 2 发送与接收字符串 1 基本功能 2 初始化 3 电脑发送数据功能 4 代码 1 发送与接收数字 1 基本功能 1 通过串口1发送数据 2 电脑发送数字给