0$房天下问答|解释程序【单片机类的C】(来自成都左右小区)$https://m.fang.com/ask/ask_515226.html$https://static.soufunimg.com/common_m/m_public/201511/images/asksharedefault.png
packc/pages/ask/detail/detail?askid=515226
共1个回答
-
-
-
雄霸私服
丨Lv 1
其他具体函数不明白的再发出来#include <reg52.h> //52库声明#include "car.h" //自定义库声明void sensor_init(void) //传感器初始化{ }int main(void) //主函数{ car_init(); //小车控制参数初始化 sensor_init(); //传感器初始化 car_ahead(); // 小车启动 while(1) { car_follow(); //小车行车路线 }}void car_follow(void){ unsigned int temp; //判定变量 temp = P0&0x07; //取P0.0-P0.2三个口的数据,这三个端口连接传感器 switch(temp) //temp有八种可能 000~111 { case 0x00: // 全部压线,原转 car_right(); //小车原地右转 while((P0&0x07) != 0x05); car_ahead(); //小车前行,后面依此类推 break; case 0x01: // 右中压线,右转 car_right(); while((P0&0x07) != 0x05); car_ahead(); break; case 0x02: // 左右压线,直走// car_ahead(); break; case 0x03: // 右压线, 右转 car_right(); while((P0&0x07) != 0x05); car_ahead(); break; case 0x04: // 左中压线,左转 car_left(); while((P0&0x07) != 0x05); car_ahead(); break; case 0x05: // 中间压线,直行// car_ahead(); break; case 0x06: // 左压线, 左转 car_left(); while((P0&0x07) != 0x05); car_ahead(); break; case 0x07: // 全不压线,直行// car_ahead(); break; }}
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关注成功