发新帖我要提问
12
返回列表
打印

从电脑发送一个数据,单片机就不停的发送数据到电脑上

[复制链接]
楼主: wyjie
手机看帖
扫描二维码
随时随地手机跟帖
21
oldzhang| | 2014-2-12 11:42 | 只看该作者 回帖奖励 |倒序浏览

试试这个接收一个字节,发送一个字节的程序

本帖最后由 oldzhang 于 2014-2-12 12:00 编辑

#include <reg52.h>
unsigned char    sbuf_value;
bit      flag_receive;
bit      flag_send;

void init_uart(void)
{   EA=1;
    TMOD=0X20;
    TH1=252;TL1=252;
    TR1=1;
    SCON=0X50;
    ES=1;
    flag_receive=0;
    flag_send=0;   
}

void main(void)
{   init_uart();
    while(1)
    {
        if ( (flag_receive==1 )  &&  ( flag_send==0) );
        {  SBUF = sbuf_value;
            flag_receive = 0;
            flag_send =1;
        }
    }
}

void  int_uart(void) interrupt 4
{  if(RI)
    {   sbuf_value=SBUF;
        flag_receive=1;
        RI=0;
    }
    else
    {  TI=0;
        flag_send=0;
    }
}

使用特权

评论回复
22
ningling_21| | 2014-2-12 17:20 | 只看该作者
哪里这么麻烦?

主程序除了初始化只要
while(1);

中断只要
void int_uart(void) interrupt 4
{
   if(RI)
   {
     RI=0;
     SBUF=SBUF;
   }
   if(TI)
   {
     TI=0;
   }
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则