Code C mã nguồn:
#define DC P2
sbit Stop_start = P3^0;
sbit Left_right = P3^1;
sbit One_Loop = P3^2;
sbit H_Loop = P3^3;
sbit One_Step = P3^4;
sbit Up_Speed = P3^5;
sbit DW_Speed = P3^6;
int speed=4,i;
char j=0,status=0,LR =0; //max 50
unsigned char code Thuan[4] = {0x06,0x03,0x09,0x0c};
void delay(long us)
{
while(us--);
}
void keypad()
{
if(Stop_start == 0)
{
delay(1000);
while(Stop_start ==0);
delay(1000);
if(status != 0) status = 0; else status =1;
}
else if(Left_right == 0)
{
delay(1000);
while(Left_right ==0);
delay(1000);
if(LR != 0) LR = 0; else LR =1;
}
else if(One_Loop == 0)
{
delay(1000);
while(One_Loop ==0);
delay(1000);
status = 3; // chay 1 vong
}
else if(One_Step == 0)
{
delay(1000);
while(One_Step ==0);
delay(1000);
status = 4; // chay 1 buoc
}
else if(H_Loop == 0)
{
delay(1000);
while(H_Loop ==0);
delay(1000);
status = 2; // chay nua vong
}
else if(Up_Speed == 0)
{
delay(1000);
while(Up_Speed ==0);
delay(1000);
speed-=2; // Tang toc
if(speed<4) speed=4;
}
else if(DW_Speed == 0)
{
delay(1000);
while(DW_Speed ==0);
delay(1000);
speed+=2; // Giam toc
if(speed>200) speed=200;
}
}
void main()
{
while(1)
{
keypad();
if(status == 1 ) // 0: dung, 1: chay
{
DC=Thuan[j];
delay(speed*10);
if(LR == 0)
{
j++;
if(j==4)j =0;
}
else
{
j--;
if(j<0)j =3;
}
}
else if(status == 4) // chay 1 buoc
{
for(i=0;i<4;i++)
{
DC=Thuan[j];
delay(speed*10);
if(LR == 0)
{
j++;
if(j==4)j =0;
}
else
{
j--;
if(j<0)j =3;
}
status =0;
}
}
else if(status == 2) // chay nua vong
{
for(i=0;i<100;i++)
{
DC=Thuan[j];
delay(speed*10);
if(LR == 0)
{
j++;
if(j==4)j =0;
}
else
{
j--;
if(j<0)j =3;
}
}
status =0;
}
else if(status == 3) // chay nua vong
{
for(i=0;i<200;i++)
{
DC=Thuan[j];
delay(speed*10);
if(LR == 0)
{
j++;
if(j==4)j =0;
}
else
{
j--;
if(j<0)j =3;
}
}
status =0;
}
else DC=0x00;
}
}

Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút

Theo FB Hoi Quan Dien Tu
eChipKool.Com - Chia sẻ kiến thức - Kết nối đam mê điện tử