要个计算机与单片机的串口通信上位机C语言程序 100

要求是将51单片机中数字温度计采集到的温度数据传送到计算机上就行,C程序只要完成通过串口通信传送数据的功能就行。... 要求是将51单片机中数字温度计采集到的温度数据传送到计算机上就行,C程序只要完成通过串口通信传送数据的功能就行。 展开
 我来答
我叫志明李
2012-04-24
知道答主
回答量:14
采纳率:0%
帮助的人:2.2万
展开全部
兄弟,下面是我自己写的,希望给你帮助,把数据用Send_One_Uart()这个函数直接发送到串口就行了!最后求采纳,哈哈!

//-----头文件
#include<reg52.h>

//-----定义全局变量
unsigned char Temp;

/***************************************************
** 函数名称: UART_Init
** 功能描述: 串口初始化函数
** 输 入:无
** 输 出: 无
** 说 明: 无
****************************************************/
void UART_Init(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 打开
ES = 1; //-----打开串口中断
EA = 1; //-----打开总中断
}

/***************************************************
** 函数名称: SendByte
** 功能描述: 发送字节函数
** 输 入:无
** 输 出: 无
** 说 明: 无
****************************************************/
void SendByte(unsigned char dat)
{
SBUF = dat;
while(!TI);
TI = 0;
}

/***************************************************
** 函数名称: SendStr
** 功能描述: 发送字符串函数
** 输 入:无
** 输 出: 无
** 说 明: 无
****************************************************/

void SendStr(unsigned char *s)
{
while(*s!='\0')
{
SendByte(*s);
s++;
}
}

/***************************************************
** 函数名称: main
** 功能描述: 主函数
** 输 入:无
** 输 出: 无
** 说 明: 无
****************************************************/
void main (void)
{
UART_Init(); //-----串口初始化

while(1)
{
if(Temp=='H'&&'i')
{
Temp=0;
SendStr("hello");
}
}
}

/***************************************************
** 函数名称: UART_SER
** 功能描述: 串口中断服务子函数
** 输 入:无
** 输 出: 无
** 说 明: 无
****************************************************/
void UART_SER (void) interrupt 4 //-----串行中断服务程序
{
if(RI) //-----判断是接收中断产生
{
RI=0; //-----标志位清零
Temp=SBUF; //-----读入缓冲区的值
}
}
追问
你这段程序发送和接受各是什么方式
追答
八位数据,一个停止位
小海果E
2012-04-24 · 超过31用户采纳过TA的回答
知道答主
回答量:140
采纳率:0%
帮助的人:85.4万
展开全部
//向串口发送一个字符
void send_uart( char a_s)
{ // TI= 0 ;

while (TI!=1){;}
SBUF=a_s;
TI= 0 ;

}
注意串口的初始化设置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-24
展开全部
建议 去 我的领地 5d6d 的 proteus 论坛看看

那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式