📄 trace_light.c
字号:
//追光机器人
#include <io8515v.h>
#include <macros.h>
#include <sl3010.c> //调用sl3010小车的子函数库
#define light_delay 100
unsigned char cds;
void trace_light()
{
port_init(); //PA,PB,PC,PD 初始化
work_status = 0x70; //置对应的工作状态标志
mic_startup(); //等待声控启动
while(1)
{
sw_touch(); //检测轻触开关
cds = PINC & 0x06; //0b0000,0110
if(cds == 0x00) //左右两侧都感测到光
{//直行
forward();
delay_ms(light_delay); //延时
}
if(cds == 0x02) //0b0000,0010___pc2(右侧)感测到光
{//慢速右转
turn_right_s();
delay_ms(light_delay); //延时
}
if(cds == 0x04) //0b0000,0100___pc1(左侧)感测到光
{//慢速左转
turn_left_s();
delay_ms(light_delay); //延时
}
if(cds == 0x06)
{//停止动作
PORTA = 0x55; //延时后停止动作,等待光照重新动作
delay_ms(light_delay*2);
stop();
}
}
}
void main()
{
trace_light();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -