P2 = table4[i]; delay1(time); } speed_dis(); display(7,count); if(f==0) break; } }
/*------------------------------------------------
转速设置程序:进入设置模式设置转速确认后执行。 ------------------------------------------------*/ voidsetrun() { while (1) { uchari; time=(setnum*1024/900); for(i=0;i<8;i++) { P2 = table4[i]; delay(time); } if(f==0) break; } }
/*------------------------------------------------ 无线电接收解码程序
------------------------------------------------*/ void receive() { if(n==1) { while(trans==0); t=0; EX1=0; //在第一个下降沿关闭外部中断 while(trans==1); if(t>35&&t<45) { t=0; while(trans==0); if(t>35&&t<45)
{ t=0; while(trans==1); if(t>5&&t<15) //数据0 v0=0; if(t>15&&t<25) //数据1 v0=4; while(trans==0); t=0; while(trans==1); if(t>5&&t<15) //数据0 v1=0; if(t>15&&t<25) //数据1 v1=2; while(trans==0); t=0; while(trans==1); if(t>5&&t<15) //数据0 v2=0; if(t>15&&t<25) //数据1 v2=1; while(trans==0); t=0; count1=v0+v1+v2; switch(count1) { case 0:e=0;j=1;k=1;m=1;break; //000 case 1:e=1;j=0;k=1;m=1;break; //001 case 2:e=1;j=1;k=0;m=1;break; //010 case 3:e=1;j=1;k=1;m=0;break; //011 case 4:e=1;j=1;k=1;m=1;p=0;break; //100 } } } } n=0; EX1=1; }
/*------------------------------------------------ 控制小车运行程序(前后左右),运行时显示小车的实时 速度。
------------------------------------------------*/ void run() { if(flag==0&&flag1==0) { if(j==0) { uchari,q; p=1; while(1) { if(n==1) break; for(q=0;q<128;q++) { for(i=0;i<8;i++) { P2 = table4[i]; delay1(time); } } speed_dis(); display(7,count); } } if(m==0) { uchari,q; p=1; while(1) { if(n==1) break; for(q=0;q<128;q++) { for(i=0;i<8;i++) { P2 = table1[i]; delay1(time); } } speed_dis(); display(7,count);
} } if(k==0) { } } { } } } }
uchari,q; p=1; while(1) { if(n==1) break; for(q=0;q<128;q++) { for(i=0;i<8;i++) { P2 = table3[i]; delay1(time); } speed_dis(); display(7,count); } if(e==0) uchari,q; p=1; while(1) { if(n==1) break; for(q=0;q<128;q++) { for(i=0;i<8;i++) { P2 = table2[i]; delay1(time); } speed_dis(); display(7,count); } receive();
/*------------------------------------------------ 正转程序
------------------------------------------------*/ void forward() { uinti,q; for(q=0;q<512;q++) { if(d==1||a==0) break; for(i=0;i<8;i++) { P2 = table4[i]; delay1(time); } speed_dis(); display(7,count); } }
/*------------------------------------------------ 反转程序
------------------------------------------------*/ void reverse() { uinti,q; for(q=0;q<512;q++) { if(d==1||a==1) break; for(i=0;i<8;i++) { P2 = table3[i]; delay1(time); } speed_dis(); display(7,count); } }
/*------------------------------------------------ 小车停止状态下的测试程序 功能:b增加步进机脉冲周期 c减少步进机脉冲周期, d为测试开关, a为反转开关,