⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 car.c

📁 小车车灯循环显示程序 VC源码 123213213
💻 C
字号:
#include <reg52.h>

#define uchar unsigned char
#define uint  unsigned char

sbit col1 =P1^0;
sbit col2 =P1^1;
sbit col3 =P1^2;
sbit col4 =P1^3;

sbit l_f =P1^4;
sbit l_b =P1^5;
sbit r_f =P1^6;
sbit r_b =P1^7;


void front()
{
l_f =1;
l_b =0;
r_f =1;
r_b =0;
P0=0x8E; // F	
}

void back()
{
l_f =0;
l_b =1;
r_f =0;
r_b =1;
P0=0x3E; // b
}

void left()
{
l_f =0;
l_b =1;
r_f =1;
r_b =0;
P0=0x1C;  // L
}

void left_T()
{
l_f =0;
l_b =0;
r_f =1;
r_b =0;
P0=0x1C; // L turn
}

void right()
{
l_f =1;
l_b =0;
r_f =0;
r_b =1;
P0=0x0E;  // r
}

void right_T()
{
l_f =1;
l_b =0;
r_f =0;
r_b =0;
P0=0x0E;  // r  turn
}

void stop()
{
l_f =0;
l_b =0;
r_f =0;
r_b =0;
P0=0x02;  
}

void delay()
{
uchar i;
   for(i=0;i<255;i++);

}


void go()
{
	uchar i=0,j=0;

		if(i >= 255)
			{i = 0; j = j+1;}
		else
			{i = i+1;  delay();}


		    if(j <= 50)
			   left_T();
			
			if(j > 50 && j <= 100)
			   right_T();
			

			if(j > 100 && j <= 180)
			   front();
			 

			 if(j > 180 && j <= 200)
			   right();
			
            if(j > 200 && j <= 220)
			   left();
		
			if(j > 220 && j <= 254)
			    back();
		
			if(j > 254)
			   stop();
}
		

void main()
{
    P1=0x00;
	P0=0x00;
	while(1)
	{
	    if(col1 ==0 && col2 ==0 && col3 ==0 && col4 ==0)
        stop();

		else if(col1 ==1 && col2 ==1 && col3 ==1 && col4 ==1)
		go();
	
        else if(col1 ==1 && col2 ==0 && col3 ==0 && col4 ==0)
		front();

		else if(col1 ==0 && col2 ==1 && col3 ==0 && col4 ==0)
		 back();

		else if(col1 ==0 && col2 ==0 && col3 ==1 && col4 ==0)
		left();

		else if(col1 ==0 && col2 ==0 && col3 ==0 && col4 ==1)
	    right();

		else if(col1 ==0 && col2 ==1 && col3 ==0 && col4 ==1)
		left_T();

		else if(col1 ==1 && col2 ==0 && col3 ==1 && col4 ==0)
		right_T();

		else stop();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -