初级会员
- 积分
- 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'
目标未创建的系统提示
为啥呢 咋改呀
|
|