一.对串口进行了解
二.相应代码
1.URAT.c
#include <REGX52.H>
/**
* @brief 串口初始化,4800bps@12.000MHz 波特率计算
* @param 无
* @retval 无
*/
void UART_Init()
{
//stc软件波特率计算自带代码
SCON=0x40; //0100 0000
PCON |= 0x80;
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x20; //设置定时器模式
TL1 = 0xF3; //设定定时初值
TH1 = 0xF3; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}
/**
* @brief 串口发送一个字节数据
* @param Byte 要发送的一个字节数据
* @retval 无
*/
void UART_SendByte(unsigned char Byte)
{
SBUF=Byte; //SUBF在等号左边为发送信号
while(TI==0); //判断是否不断发送 等于0会一直循环 等于1会跳出循环
TI=0; //跳出循环后TI等于0 即得用软件进行复位
}
2.URAT.h
#ifndef __UART_H__
#define __UART_H__
void UART_Init();
void UART_SendByte(unsigned char Byte);
#endif
3.main.c
#include <REGX52.H>
#include "Delay.h"
#include "UART.h"
unsigned char Sec;
void main()
{
UART_Init(); //串口初始化
while(1)
{
UART_SendByte(Sec); //串口发送一个字节
Sec++; //Sec自增
Delay(1000); //延时1秒
}
}