找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4656|回复: 2
收起左侧

干扰的问题

[复制链接]
ID:22237 发表于 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

请高手们指点下

回复

使用道具 举报

ID:1 发表于 2010-3-14 22:29 | 显示全部楼层

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

回复

使用道具 举报

ID:22237 发表于 2010-3-15 14:19 | 显示全部楼层

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

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

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表