4个回答
展开全部
#include<reg52.h>
#include"delay.h"
/*------------------------------------------------
函数声明
------------------------------------------------*/
void SendStr(unsigned char *s);
/*------------------------------------------------
串口初始化
------------------------------------------------*/
void InitUART (void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装
TH1 = 0xFD; // TH1: 重装值 9600 波特率 晶振 11.0592MHz
TR1 = 1; // TR1: timer 1 打开
}
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
InitUART();
while (1)
{
SendStr("UART test,thank you!");
DelayMs(240);//延时循环发送
DelayMs(240);
}
}
/*------------------------------------------------
发送一个字节
------------------------------------------------*/
void SendByte(unsigned char dat)
{
SBUF = dat;
while(!TI);
TI = 0;
}
/*------------------------------------------------
发送一个字符串
------------------------------------------------*/
void SendStr(unsigned char *s)
{
while(*s!='\0')// \0 表示字符串结束标志,
//通过检测是否字符串末尾
{
SendByte(*s);
s++;
}
}
追问
如果两个定时器同时用,怎么写
追答
再添一个啊,又不会相互干扰
展开全部
通过UART串口,可以把数据发送到电脑的上位机
追问
我只会通过电脑上的串口助手软件向单片机发送命令,将单片机的数据上传,怎么做?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
配置好 波特率什么的 就可以啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机串口,发送数据。具体看看单片机串口知识。
追问
我会通过串口助手向单片机发送命令,不明白数据怎么上传啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询