#include"reg52.h"
#include<intrins.h>
sfr AUXR=0x8e;//不认识AUXR,报错需要声明
void UartInit(void) //9600bps@11.0592MHz
{
SCON=0x40;//配置串口工作方式1,ren不使能接收01000000
TMOD&=0x0F;
TMOD|=0x20;//定时器1的工作方式8位自动重装配置
TH1=0xFD;
TL1=0xFD;//9600波特率的初值
TR1=1;//启动定时器
}
void Delay1000ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 8;
j = 1;
k = 243;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
/*
void Delay10ms() //@11.0592MHz
{
unsigned char i, j;
i = 18;
j = 235;
do
{
while (--j);
} while (--i);
}
*/
void senddata(char a)
{
SBUF=a;//往缓冲区SBUF中存入数据
// Delay10ms();
// while(TI==0);//等待,不往下执行,发送中断请求标志位,发送完之后系统自动置1
while(!TI);
TI=0;
}
void sendstring(char*a)
{
while(*a!='\0'){
senddata(*a);
a++;
}
}
void main()
{
char data_mes[]="yang ze rui nx\r\n";//换行\r\n
UartInit();//配置c51波特率数据,需要删除括号中的void
while(1){
Delay1000ms();//软件延时1s,发送一次数据
sendstring(data_mes);
}
}
C51——通过串口发送字符串到pc串口助手
最新推荐文章于 2024-06-09 01:14:12 发布