赤外線障害物回避車のコード記述

最初の2つのブログでは、赤外線障害物回避車を組み立て、今回はそのコードを作成しました。

#include <REG52.H>
sbit ENA=P0^0;
sbit IN1=P0^1;
sbit IN2=P0^2;
sbit ENB=P2^0;
sbit IN3=P2^1;
sbit IN4=P2^2;
sbit A1=P1^0;
sbit B2=P1^1;
void delay(int z) {
    
    
	int x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}
void go() {
    
    
	ENA=1;
	IN1=1;
	IN2=0;
	ENB=1;
	IN3=1;
	IN4=0;
}
void back() {
    
    
	ENA=1;
	IN1=0;
	IN2=1;
	ENB=1;
	IN3=0;
	IN4=1;
}
void right() {
    
    
	ENA=1;
	IN1=0;
	IN2=1;
	ENB=1;
	IN3=1;
	IN4=0;
}
void left()
{
    
    
	ENA=1;
	IN1=0;
	IN2=1;
	ENB=1;
	IN3=1;
	IN4=0;
}
void main() {
    
    
	while(1) {
    
    
		go();
		if(B2==0) {
    
    
			back();
			delay(500);
			left();
			delay(700);
		}
		if(A1==0) {
    
    
			back();
			delay(500);
			right();
			delay(700);
		}
	}
}

その中で、遅延、左折、右折、前進、後退の機能がそれぞれ定義されており、後でメイン機能で直接呼び出すことができます。
テスト後、パワーバンクを取り付けた後、車は正常に動作します。次のブログでは、簡単に操作できるようにバッテリーボックスをデバイスに接続します。
ご不明な点やエラーがございましたら、お気軽にお問い合わせください。

おすすめ

転載: blog.csdn.net/qq_52556690/article/details/109960798