有请大侠帮帮忙

[复制链接]
2566|5
 楼主| senzh01 发表于 2007-10-10 10:31 | 显示全部楼层 |阅读模式
我写了个单片机接受的测试程序如下:
#include<AT89X051.H>
#define uchar unsigned char
#define uint unsigned int
void main(void)
{  uchar a;
    uint i; 
 TMOD=0X20;        //方式2自动重装
 TL1=0Xfd;TH1=0Xfd;     /*9600bps,11.0592MHz*/
 SCON=0Xd8;PCON=0X00;
 TR1=1;
 while(1)
      {while(RI==0);
       RI=0;
       a=SBUF;
        P1=a;
       for(i=0;i<300;i++)
       {;;}
       
       SBUF=a;
       while(TI==0);
       TI=0;
       for(i=0;i<300;i++)
       {;;}
 }
 }

用调试程序发现单片机没反映,会是那方面的问题?谢谢谢谢!!!
huntington 发表于 2007-10-10 10:36 | 显示全部楼层

IE未设置

hab2000 发表于 2007-10-10 10:53 | 显示全部楼层

ES=1;ES=1;

 楼主| senzh01 发表于 2007-10-10 11:03 | 显示全部楼层

谢谢!

谢谢指点!!
 楼主| senzh01 发表于 2007-10-10 11:40 | 显示全部楼层

怎么还不行?

void main(void)
{  uchar a;
    uint i; 
 TMOD=0X20;                //方式2自动重装
 TL1=0Xfd;TH1=0Xfd;     /*9600bps,11.0592MHz*/
 SCON=0Xd8;PCON=0X00;
 TR1=1;
 EA=1;
 ES=1;
 while(1)
      {while(RI==0);
        RI=0;
       a=SBUF;
        P1=a;
       for(i=0;i<30000;i++)
       {;;}
       
       SBUF=a;
       while(TI==0);
       TI=0;
       for(i=0;i<300;i++)
       {;;}
 }
 }
hab2000 发表于 2007-10-10 15:54 | 显示全部楼层

建议采取中断的办法,即使波特率不准至少可以判断是否进

您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

557

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部
0