模块通电后没有反应 程序应该怎么改动呢

模块通电后没有反应
用代码块功能插入代码,请勿粘贴截
#include
#include "uart.h"
#include"config.h"
#include "delay.h"

#define uint unsigned int
#define uchar unsigned char

sbit beep=P2^0;//定义喇叭端口

sbit tx=P2^3;//超声波发送
sbit rx=P2^4;//超声波接收

sbit zhendong=P1^1;//震动模块

sbit led=P1^4;//报警指示灯

sbit guangmin=P3^7;//光敏电阻端口
sbit LED1=P1^0;    //LED灯端口
sbit relay=P1^7;//继电器输出端口

int t;
long int juli;


u8 code XUNHUAN[]={0x33,0x00};            //循环播放
u8 code start[]={0x7E,0x02,0x01,0xEF};            //播放
u8 code stop[]={0x7E,0x02,0x0E,0xEF};            //停止

void baojing();


void delay(uint z)//延时z ms
{
  uint x,y;
  for(x=z;x>0;x--)
    for(y=110;y>0;y--);
}


void init_timer0()//初始化定时器0
{
    TH0=(65536-5)/256;
    TL0=(65536-5)%256;//计时
    EA=1;//开总中断
    ET0=1;//(enable)允许定时器0工作           
}

void timer0() interrupt 1 //定时器0计数过程
{                     
    TH0=(65536-5)/256;      
    TL0=(65536-5)%256;
    t++;
}

void tx_25us(void)//发射25us超声波
{
    t=0;//把定时器记的时间清零,方便下一次发送,超声波是不断的发送            
    TR0=1;//打开定时器0,开始工作
    tx=1;//发送方波
    while(t<5);//等待发送完毕25us,当t=5时,就是25us了,t=6时,就跳出循环
    

    tx=0;//关闭发送(方波)
    TR0=0;//关闭定时器0
    t=0;
}

void jieshou()//接收,返回RX高电平时间t    
{
    t=0;
    while(rx==0);//等待接收返回的方波
    TR0=1;//启动定时器0开始计数
            
    while(rx==1);//一直接收方波,直到接收完毕
    
    TR0=0;//关闭定时器,此时t=从接收到方波—接收方波完毕

//    rx=0;            
}

long distance()//计算距离
{
    int s;
    s=((2*5*t*340.0)/10000.0);//单位厘米
    return s;//返回距离    
}


void diaoyong(int j)
{
   beep=!beep;
   while(j--)
   {
    
   }

}
void baojing()//蜂鸣器报警
{
    if(juli<=10)
       beep=0;
  else    if(juli>10&&juli<50)
      diaoyong(1);
  else    if(juli>=50&&juli<100)
       diaoyong(10);
   else     if(juli>=100&&juli<150)
      diaoyong(30);
    else  if(juli>=150&&juli<200)
       diaoyong(50);
    else  if(juli>=200)
        beep=1;
     
}

void jiance()//led灯自动亮
{
    if(guangmin==1) {
    relay=0;
    LED1=0;
  } else {
       LED1=1;
    relay=1;
  }
}

void baojing1()//晚上灯闪烁报警
{
  uint i=1;
  if(guangmin==1&&juli<=300)
  {
      led=!led;
      while(i--)
      {
      
      }
      
  }
}

void baojing2()//距离障碍物一米震动提醒
{
  if(juli<=50)
  {
   zhendong=0;
  }
  else
  {
   zhendong=1;
  }
}

void main()
{
    unsigned char flag = 0;    //

  TMOD=0x01;//设置定时器0,1工作方式
  init_timer0();

      Uart1Init();
    UART1_SendString(XUNHUAN,2);
    delay_ms(200);         //加延时可以存取稳定
    UART1_SendString(stop,4);
  while(1)
  {
      jiance();
      juli=distance();
      if(juli <= 50)
      {
          if(flag == 0)
        {
            flag = 1;
            UART1_SendString(start,4);
        }
      }
      else
      {
          if(flag)
        {
              UART1_SendString(stop,4);
              flag = 0;
        }
      }
      tx_25us();//放射
      jieshou();//接收
      distance();
      baojing();
      baojing1();
      baojing2();
   }
  
} 

```c

#ifndef        __CONFIG_H
#define        __CONFIG_H
#define MAIN_Fosc        11059200L    //定义主时钟

//sfr AUXR = 0X8E;
//#include    "reg52.h"
//sfr AUXR = 0X8E;
typedef   unsigned char  u8;
typedef   unsigned int   u16;
typedef   unsigned long  u32;


#endif



```c
//延时函数
#include    "delay.h"
 #include "intrins.h" 
void Delay1ms()        //@11.0592MHz
{
    unsigned char i, j;

    _nop_();
    i = 2;
    j = 199;
    do
    {
        while (--j);
    } while (--i);
}

void delay_ms(u16 ms)
{
    u16 i;
    for(i=0;iDelay1ms();
}



#ifndef    __DELAY_H
#define    __DELAY_H

#include    "config.h"

void  delay_ms(u16 ms);

#endif


#include "uart.h"
#include
#include"config.h"


u16 USART1_RX_STA=0;  

xdata u8 USART1_RX_BUF[USART1_MAX_RECV_LEN];                 //

void Uart1Init(void)        //9600bps@11.05926MHz
{
    SCON=0x50;//SM01=01;REN=1
    PCON|=0x00;
    RCAP2H=0xFF;
    RCAP2L=0xDC;//设置波特率为9600 
    T2CON=0x34;//将定时器2设置为波特率发生器(接收和发送都用Timer2)  
//    ES=1;  
    EA=1;
    TR2 = 1;
}
/*----------------------------
UART1 发送串口数据
-----------------------------*/
void UART1_SendData(u8 dat)
{
//    ES=0;                    //关串口中断
    SBUF=dat;            
    while(TI!=1);    //等待发送成功
    TI=0;                    //清除发送中断标志
//    ES=1;                    //开串口中断
}
/*----------------------------
UART1 发送字符串
-----------------------------*/
void UART1_SendString(unsigned char *s,unsigned int len)
{
    unsigned int i=0;
    for(i=0;iUART1_SendData(s[i]);//发送当前字符
    }

}

/*******************************************************************************
* 函数名 : Uart1 
* 描述   : 串口1中断服务入口函数
* 输入   : 
* 输出   : 
* 返回   : 
* 注意   : 
******************************/
void Uart1_INTER() interrupt 8
{
    if (RI)
    {
      RI=0;  

    }
    if (TI)
    {
      TI=0;         //清除S2TI位
    }
}




#ifndef __UART_H__
#define __UART_H__


extern unsigned int USART1_RX_STA;
void Uart1Init(void);

void UART1_SendData(unsigned char dat);
//void UART1_SendString(char *s);
void UART1_SendString(unsigned char *s,unsigned int len);

#define USART1_MAX_RECV_LEN        50                //

extern xdata unsigned char  USART1_RX_BUF[USART1_MAX_RECV_LEN];     
extern unsigned int USART1_RX_STA; 
#endif

你的意思是例程不能用?建议一个一个模块去调试,然后线接的对不对。