欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > 每隔一秒单片机向电脑发送一个16进制递增数据

每隔一秒单片机向电脑发送一个16进制递增数据

2025/4/19 20:04:37 来源:https://blog.csdn.net/2401_87674908/article/details/144312460  浏览:    关键词:每隔一秒单片机向电脑发送一个16进制递增数据

SCON=0x50  SM0=0 SM1=1(工作方式为方式一) REN=1允许单片机从电脑接收数据 

TB8 RB8 SM2是方式2和方式3直接配置为0 TI为发送中断请求标志位 由硬件配置为1 必须由

软件复位为0,RI为接收中断请求标志位,同理TI

 UART.c

#include <REGX52.H>
/*** @brief 串口初始化* @param  无* @retval 无*///STC-ISP中的波特率计算器进行计算
void UART_Init()  //4800bps@11.0592MHz
{PCON &= 0x7F;		//波特率不倍速SCON = 0x50;		//8位数据,可变波特率TMOD &= 0x0F;		//清除定时器1模式位TMOD |= 0x20;		//设定定时器1为8位自动重装方式TL1 = 0xFA;		//设定定时初值TH1 = 0xFA;		//设定定时器重装值ET1 = 0;		//禁止定时器1中断TR1 = 1;		//启动定时器1
}
/*** @brief 串口发送一个字节数据* @param  Byte 要发送的一个字节数据 * @retval 无*/
void UART_SendByte(unsigned char Byte)
{SBUF=Byte;while(TI==0);//(TI发送完成标志位)检测是否出错TI=0;//TI等于1时才会跳出循环,将TI赋为0用于下一次检测
}

 

 SBUF(接收发送缓存) 将单片机要发送给电脑的数据放在SBUF中SBUF就会把数据发给电脑

 mian.c

#include <REGX52.H>
#include "Delay.h"
#include "UART.h"unsigned char Sec;void main()
{	UART_Init();//初始化(Init)while(1){UART_SendByte(Sec);//向电脑发送SecSec++;Delay(1000);//每隔1s单片机向电脑发送16进制递增数据}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词