汽车倒车防撞报警器毕业设计 - 图文 下载本文

乐山师范学院毕业设计(论文)

void delay(void) //误差 0us {

unsigned char a,b,c; for(c=10;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--); }

//按键扫描 void Key_() {

//+ if(S1==0) { } //-

else if(S2==0) {

delay(); while(S2==0) {

P1=P1|0x0f; delay(); while(S1==0) { }

BJS++; P1=P1|0x0f;

if(BJS==151) { }

BJS=0;

乐山师范学院毕业设计(论文)

}

}

}

BJS--;

if(BJS==0) { }

BJS=150;

//功能 else if(S3==0) { }

delay(); while(S3==0) { }

Mode++; P1=P1|0x0f;

if(Mode==2) { }

Mode=0;

/**********************************************************************************************************/

//扫描数码管 void Display(void) {

//正常显示 if(Mode==0) {

if(posit==0)//数码管的米标志

乐山师范学院毕业设计(论文)

{ } else { }

P1=positon[posit]; if(++posit>=3)

posit=0;

P0=discode[disbuff[posit]]; P0=(discode[disbuff[posit]])|0x80;

P1=positon[4]; }

//报警显示 else {

if(posit==0)//数码管的米标志 { }

else if(posit==3) { } else { }

P0=discode[disbuff_BJ[posit]]; P0=0x76;

P0=(discode[disbuff_BJ[posit]])|0x80; P0=0x77;

P1=positon[posit]; if(++posit>=4)

posit=0;

乐山师范学院毕业设计(论文)

}

}

/**********************************************************************************************************/

//计算

void Conut(void) {

if(Mode==0) {

if((S>=700)||flag==1) //超出测量范围显示“-” { } else {

//距离大于报警距 if(S<=BJS) { } else {

Feng=1;

Feng=0; Feng=0; flag=0;

disbuff[0]=10; //“-” disbuff[1]=10; //“-” disbuff[2]=10; //“-”

time=TH0*256+TL0; TH0=0; TL0=0;

S=(time*1.7)/100; //算出来是CM

乐山师范学院毕业设计(论文)

}

} else { }

}

}

disbuff[0]=S00/100; disbuff[1]=S000/10; disbuff[2]=S00 ;

Feng=1;

disbuff_BJ[0]=BJS00/100; disbuff_BJ[1]=BJS000/10; disbuff_BJ[2]=BJS00 ;

/**********************************************************************************************************/

//定时器0

void zd0() interrupt 1 { }

/**********************************************************************************************************/

//定时器1

void zd3() interrupt 3 {

TH1=0xf8; TL1=0x30; Key_(); Display(); timer++; if(timer>=400) {

//T1中断用来扫描数码管和计800MS启动模块

flag=1;

//中断溢出标志

//T0中断用来计数器溢出,超过测距范围