当前位置: 首页 > article >正文

19、串口向电脑发送数据电脑通过串口控制LED

串口向电脑发送数据

在这里插入图片描述

main.c

#include <REGX52.H>
#include "Delay.h"
#include "UART.h"

unsigned char Sec;

void main()
{
	//串口初始化
	UART_Init();			
	while(1)
	{
		//串口发送1个字节
		UART_SendByte(Sec);	
		Sec++;				
		Delay(1000);		
	}
}

UART.c

#include <REGX52.H>

/**
  * @brief  
  * @param  
  * @retval 
  */
void UART_Init()
{
	SCON = 0x40;
	PCON |= 0x80;
	TMOD &= 0x0F;		
	TMOD |= 0x20;		
	TL1 = 0xF3;		
	TH1 = 0xF3;		
	ET1 = 0;		
	TR1 = 1;		
}

/**
  * @brief  
  * @param  
  * @retval 
  */
void UART_SendByte(unsigned char Byte)
{
	SBUF=Byte;
	while(TI==0);
	TI=0;
}

电脑通过串口控制LED

main.c

#include <REGX52.H>
#include "Delay.h"
#include "UART.h"

void main()
{
	UART_Init();		//串口初始化
	while(1)
	{
		
	}
}
//中断
void UART_Routine() interrupt 4
{
	if(RI==1)					//如果接收标志位为1,接收到了数据
	{
		P2=~SBUF;				//读取数据,取反后输出到LED
		UART_SendByte(SBUF);	//将受到的数据发回串口
		RI=0;					//接收标志位清0
	}
}

UART.c

#include <REGX52.H>

/**
  * @brief  串口初始化,4800bps@12.000MHz
  * @param  无
  * @retval 无
  */
void UART_Init()
{
	SCON=0x50;
	PCON |= 0x80;
	TMOD &= 0x0F;		//设置定时器模式
	TMOD |= 0x20;		//设置定时器模式
	TL1 = 0xF3;		//设定定时初值
	TH1 = 0xF3;		//设定定时器重装值
	ET1 = 0;		//禁止定时器1中断
	TR1 = 1;		//启动定时器1
	EA=1;
	ES=1;
}

/**
  * @brief  串口发送一个字节数据
  * @param  Byte 要发送的一个字节数据
  * @retval 无
  */
void UART_SendByte(unsigned char Byte)
{
	SBUF=Byte;
	while(TI==0);
	TI=0;
}

/*串口中断函数模板
void UART_Routine() interrupt 4
{
	if(RI==1)
	{
		
		RI=0;
	}
}
*/

UART.h

#ifndef __UART_H__
#define __UART_H__

void UART_Init();
void UART_SendByte(unsigned char Byte);

#endif


http://www.kler.cn/a/152407.html

相关文章:

  • 【数据结构】—AVL树(C++实现)
  • codeblocks debug
  • 亚马逊云与生成式 AI 的融合——生成式AI的应用领域
  • 彻底删除VsCode配置和安装过的插件与缓存
  • docker 安装nginx
  • 基于社区电商的Redis缓存架构-用户分享内容的分页列表缓存延迟构建以及异步通知缓存重建
  • 【代码随想录】算法训练计划37
  • centos 显卡驱动安装(chatglm2大模型安装步骤一)
  • 通过亚马逊云科技云存储服务探索云原生应用的威力
  • TCP解帧解码、并发送有效数据到FPGA
  • 百马百担c语言编程
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】YOLOV5
  • Axios.post 请求报错: 403 Forbidden missing csrf token 和 invalid csrf token
  • aspose-words 跳过证书验证jar
  • 【opencv】计算机视觉基础知识
  • 2023年亚太杯APMCM数学建模大赛A题水果采摘机器人的图像识别
  • 【Android】使用intent.putExtra()方法在启动Activity时传递数据
  • KaiwuDB 亮相中国 5G + 工业互联网大会,助力新型工业化
  • word模板导出word文件
  • git 如果只保存在本地没有保存到远程仓库