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

📄 trace_light.c

📁 单片机开发资料光盘-双龙-686M.zip
💻 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 + -