生成一个51单片机通过电脑向串口发送数据的代码
时间: 2024-04-08 19:33:21 浏览: 42
我明白了,下面是一个51单片机通过电脑向串口发送数据的简单示例代码:
```c
#include <reg51.h>
void UART_Init()
{
TMOD = 0x20; // 设置定时器1为8位自动重装模式
TH1 = 0xFD; // 波特率9600bps,对应定时器初值
SCON = 0x50; // 设置串口为工作模式1
TR1 = 1; // 启动定时器1
}
void UART_SendByte(unsigned char byte)
{
SBUF = byte; // 将数据放入发送缓冲区
while (!TI); // 等待发送完成
TI = 0; // 清除发送完成标志
}
void UART_SendString(char* str)
{
while (*str)
{
UART_SendByte(*str); // 逐个发送字符串中的字符
str++;
}
}
void main()
{
UART_Init(); // 初始化串口
while (1)
{
UART_SendString("Hello, World!\r\n"); // 发送字符串
// 延时一段时间
for (int i = 0; i < 30000; i++)
{
for (int j = 0; j < 1000; j++);
}
}
}
```
这个示例代码使用了51单片机的UART串口通信功能。`UART_Init()`函数用于初始化串口,`UART_SendByte()`函数用于发送单个字节数据,`UART_SendString()`函数用于发送字符串。在`main()`函数中,我们循环发送一个字符串,并在发送之间添加了一段延时。
请注意,波特率和串口参数的设置可能需要根据你的实际硬件和需求进行调整。