51单片机-A2板接收单片机485数据

发布时间 2023-10-09 16:35:18作者: 风中狂笑
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
typedef unsigned char u8;
typedef unsigned int u16;

void delay(u16 ms)
{
    u16 i, j;
    for (i = 0; i < ms; i++)
        for (j = 0; j < 110; j++)
            ;
}

void UART_Init(u8 baud)
{
    TMOD = 0x20; // 设置定时器1为8位自动重装模式
    SCON = 0x50; // 设置串口为8位可变波特率模式
    PCON = 0x00; // 波特率不加倍
    TH1 = baud;     // 设置波特率为9600
    TL1 = baud;     // 设置波特率为9600
    TR1 = 1;     // 启动定时器1
 }

void UART_Send(char dat)
{
    SBUF = dat; // 将数据加载到串口缓冲区
    while (!TI)
        ;    // 等待发送完成
    TI = 0; // 清除发送标志
}

void main()
{
    u8 baud;
    baud = 0xfd;
    UART_Init(baud); // 初始化UART

    while (1)
    {
        UART_Send('1'); // 发送数字1
        UART_Send('2'); // 发送数字2
        UART_Send('3'); // 发送数字3
        UART_Send('4'); // 发送数字4
        UART_Send('5'); // 发送数字5        // 在串口工具中看到的将是字符串"12345"
    }
}