标题: 干扰的问题 [打印本页]

作者: iceteacqx    时间: 2010-3-14 19:16
标题: 干扰的问题

 

#include<reg52.h>
char key1=0x80;
char key0=0xd8;
char pri=0x3f;
char  bbbb=1;
void main (void)
{


    SCON  = 0x50;          /* SCON: 模式 1, 8-bit UART, 使能接收         */
    TMOD |= 0x20;               /* TMOD: timer 1, mode 2, 8-bit reload        */
    TH1   = 0xFD;               /* TH1:  reload value for 9600 baud @ 11.0592MHz   */
    TR1   = 1;                  /* TR1:  timer 1 run                          */
    EA    = 1;                  /*打开总中断*/
    ES    = 1;                  /*打开串口中断*/

while (1)                        {  
 P0=pri;
 P2=bbbb;
    }
}
/******************************************************************/
/*                  串口中断程序                                  */
/******************************************************************/
void UART_SER (void) interrupt 4 //串行中断服务程序
{
    unsigned char Temp;          //定义临时变量
  
   if(RI)                        //判断是接收中断产生
     {
   RI=0;                      //标志位清零
   Temp=SBUF;                 //读入缓冲区的值
   if (Temp==key1){
  bbbb++;
  pri=0x3f;
  SBUF=Temp; 
  }
   else if(Temp==key0){
  bbbb=3;
   pri=0x01;
  SBUF=Temp;  }
  if(bbbb>7){bbbb=0;}
                                      } 
   
   if(TI)                        //如果是发送标志位,清零
     TI=0;
}

但是我发送0X80收到的却是0xdc

请高手们指点下


作者: admin    时间: 2010-3-14 22:29

这不是干扰的问题吧,是不是波特率没设置好


作者: iceteacqx    时间: 2010-3-15 14:19

问题找出来,但是现在还有一个更烦麻的问题是我发送80过去然后收到的也是80但是单片机那没有操做~~

if (Temp==key1){
  bbbb++;
  pri=0x3f;
  SBUF=Temp; 
  }
就是这里面的东西没有运行到~~






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1