📄 cny_car.c
字号:
//cny_car 探测白底黑线,沿着黑线运动
#include <io8515v.h>
#include <macros.h>
#include <sl3010.c>
unsigned char cny_in;
#define cny_delayms 50
void cny_car()
{
unsigned char cny_times;
port_init();
start_up:
mic_startup();
while(1)
{
// sw_touch();
cny_in = PINC & 0xe0;
if(cny_in == 0x00 || cny_in == 0x40 || cny_in == 0xa0)
{//前行
forward(); //前行
cny_times = 0x00;
}
if(cny_in == 0x20 || cny_in == 0x60)
{//慢速右转
turn_right_s(); //慢速右转
delay_ms(cny_delayms);
cny_times = 0x00;
}
if(cny_in == 0x80 || cny_in == 0xc0)
{//慢速左转
turn_left_s(); //慢速左转
delay_ms(cny_delayms);
cny_times = 0x00;
}
if(cny_in == 0xe0)
{//前行--探测多次都为 0xe0 ,停止运行
forward();
cny_times++;
delay_ms(10);
if(cny_times == 0x64)
{
stop(); //停止运动//熄灭指示灯
goto start_up;
}
}
}
}
void main()
{
cny_car();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -