发布时间 : 星期一 文章基于单片机的汽车防撞报警系统设计 - 图文更新完毕开始阅读
LED=buffer[1]; LED2=0; delay(200); LED2=1;
LED=buffer[2]; LED1=0; delay(200);
LED1=1; }
void timeToBuffer() //转换段码功能模块 {
xm0=s/100; xm1=(s-100*xm0)/10;
xm2=s-100*xm0-10*xm1;
buffer[2]=convert[xm2]; buffer[1]=convert[xm1]; buffer[0]=convert[xm0]; }
void delay(i) {
while(--i); }
void timer1int (void) interrupt 3 using 2 {
TH1=0x9E; TL1=0x57; csbds++; if(csbds>=40) {
csbds=0; cl=1; } }
void csbcj() {
if(cl==1)
{
TR1=0; TH0=0x00; TL0=0x00; i=csbs; while(i--) {
29
csbout=!csbout; }
TR0=1;
i=mqs; //盲区 while(i--) { } i=0; while(csbint)
{
i++;
if(i>=4000) csbint=0; }
TR0=0; TH1=0x9E; TL1=0x57; t=TH0; t=t*256+TL0;
t=t-29; s=t*csbc/2; TR1=1; cl=0; csbint=1;
////////////////////////////////////////////////////////////////// if(s<=80)bj=0; if(s>80)bj=1;
///////////////////////////////////////////////////////////////// if(s { if(csbs>6) { csbs=csbs-2; sj1=40; } sj1=sj1+2; k4cl(); } else if(s>=sj3) { if(csbs<32) { csbs=csbs+2; sj1=sj1+10; k4cl(); 30 //上限值 } } } } void keyscan() //健盘处理函数 { xx=0; if(k1!=1) // 判断开关是否按下 { delay(100); //延时去抖动 if(k1!=1) { while(!k1) { delay(25); xx++; } if(xx>1000) { jpjs++; if(jpjs>3) { k4cl(); jpjs=0; } } xx=0; switch(jpjs) { case 1: k1cl();break; case 2: k2cl();break; case 3: k3cl();break; } } } } void k1cl() { sj1=sj1+1; if(sj1>100) sj1=50; s=sj1; } void k2cl() { 31 // 判断开关是否按下 sj2=sj2+5; if(sj2>500) sj2=40; s=sj2; } void k3cl() { sj3=sj3+10; if(sj3>600) sj3=600; s=sj3; } void k4cl() { sx1=sj1-1; sx1=sx1/csbc; mqs=sx1/4.5; } void offmsd() { if (buffer[0] == 0xC0) buffer[0] = 0xFF; } //小时数十位为0判断模块 //如果值为零时小数十位不显示 32