初级会员 
  
	- 积分
 - 140
 
        - 金钱
 - 140 
 
       - 注册时间
 - 2016-5-3
 
      - 在线时间
 - 14 小时
 
 
 
 | 
 
#include <AT89x51.H>                 
#include <intrins.h> 
#define  RX  P2_0 
#define  TX  P2_1 
 
 
 
 
 
 
 
 
 
unsigned int  time=0; 
unsigned long S=0; 
bit  flag =0; 
 
 
 
 
 
 
 
 
    void Conut(void)                        //超声波距离计算函数 
        { 
         time=TH0*256+TL0; 
         TH0=0; 
         TL0=0; 
         
         S=(time*1.7)/10+10;     //算出来是MM 
           
     void zd0() interrupt 1          //T0中断用来计数器溢出,超过测距范围 
  { 
    flag=1;                         //中断溢出标志 
        RX=0; 
  } 
 
     void  StartModule()                   //启动模块 
  { 
          TX=1;                                             //启动一次模块 
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_(); 
          _nop_();  
          _nop_();  
          _nop_();  
          _nop_(); 
          TX=0; 
  } 
} 
void Timer_Count(void)                           //超声波高电平脉冲宽度计算函数 
{ 
                 TR0=1;                            //开启计数 
             while(RX);                        //当RX为1计数并等待 
             TR0=0;                                //关闭计数 
         Conut();                        //计算 
 
} 
 
void main(void) 
{ 
    unsigned int valA; 
        Delay400Ms();  
         
 
        Delay5Ms(); //延时片刻 
 
 
    TMOD=0x01;//设T0为方式1,GATE=1; 
    EA=1;                    //开启总中断         
    TH0=0; 
    TL0=0;           
    ET0=1;             //允许T0中断 
                                                   
         while(1) 
          { 
                RX=1; 
            StartModule();                 //启动模块 
        for(valA=7510;valA>0;valA--) 
            { 
                    
               if(RX==1) 
                   { 
           Timer_Count();                 //超声波高电平脉冲宽度计算函数 
                   } 
             } 
          } 
} 
 
 用keil软件烧写的时候出现Build target '目标 1' 
compiling CJ3.c... 
CJ3.C(33): error C141: syntax error near 'void' 
目标未创建的系统提示 
为啥呢 咋改呀 
 
 
 
 |   
 
 
 
 |