51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信。
单片机向电脑发送数据
#include <REGX52.H>
#include "Delay.h"
unsigned char Sec;
/**
* @brief 串口初始化,//通用异步收发器初始化,4800bps@12.000MHz
* @param 无
* @retval 无
*/
void UART_Init()
{
SCON = 0x40;
PCON |= 0x80; //串口部分配置
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x20; //设置定时器模式
TL1 = 0xF4; //设定定时初值
TH1 = 0xF4; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}
/**
* @brief 串口发送一个字节数据
* @param Byte 要发送的一个字节数据
* @retval 无
*/
void UART_SendByte(unsigned char Byte)
{
SBUF = Byte; //SBUF在左边是写入的
while(TI == 0);
TI=0;
}
void main()
{
UART_Init() ;
while(1)
{
UART_SendByte(Sec);
Sec++;
Delay(1000);
}
}