# 简单的寻迹小车 **Repository Path**: cciteie/simple-tracking-car ## Basic Information - **Project Name**: 简单的寻迹小车 - **Description**: 使用 STC12C5A60S2 单片机的简单的寻迹小车程序。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STC12C5A60S2 循迹小车 - 使用说明 ## 一、硬件适配要求 ### 1. 核心硬件 - 主控:**STC12C5A60S2 单片机**(更换型号需修改头文件) - 电机驱动:L298N/TB6612 等常规电机驱动模块 - 循迹模块:**4路红外循迹传感器**(左外、左内、右内、右外) ### 2. 引脚接线定义 | 单片机引脚 | 对应硬件功能 | |------------|--------------| | P0^0 | 左电机使能 ENA | | P0^1 | 右电机使能 ENB | | P1^0 | 左电机方向 IN1 | | P1^1 | 左电机方向 IN2 | | P1^2 | 右电机方向 IN3 | | P1^3 | 右电机方向 IN4 | | P2^3 | 左外侧循迹传感器 | | P2^4 | 左内侧循迹传感器 | | P2^5 | 右内侧循迹传感器 | | P2^6 | 右外侧循迹传感器 | ### 3. 传感器电平规则 - **低电平有效**:检测到黑线 = 输出 0,未检测到 = 输出 1 - 若传感器电平相反,需修改代码判断逻辑 --- ## 二、代码功能说明 ### 1. 基础动作函数 | 函数名 | 功能 | |--------|------| | Forward() | 小车直线前进 | | Stop() | 小车立即停止 | | LeftTurnHigh() | 小角度左转(右轮前进,左轮停止) | | RightTurnHigh() | 小角度右转(左轮前进,右轮停止) | | LeftTurnLow() | 大角度/原地左转 | | RightTurnLow() | 大角度/原地右转 | ### 2. 循迹逻辑 - 循环读取4路循迹传感器状态 - 根据传感器检测到黑线的位置,自动调整行驶方向 - 支持**小角度修正**+**大角度纠偏**,防止脱轨 --- ## 三、烧录与运行步骤 1. **编译代码**:使用 Keil C51 编译,生成 `.hex` 文件 2. **烧录程序**: - 软件:STC-ISP - 选择单片机型号:STC12C5A60S2 - 选择串口 → 加载 hex 文件 → 下载 3. **上电运行**: - 先给单片机供电,再给电机驱动供电 - 小车放置在黑色轨道上,自动开始循迹 --- ## 四、常见问题调试 ### 1. 电机不转 - 检查 ENA/ENB 使能引脚接线 - 检查电机驱动电源是否正常 - 检查 IN1~IN4 方向引脚接线 ### 2. 转向相反 - 互换对应电机的方向引脚电平(如 IN1=0、IN2=1) ### 3. 循迹跑偏/脱轨 - 调整传感器高度(2~3mm 最佳) - 检查传感器接线顺序是否错乱 - 可适当增加延时防抖 --- ## 五、扩展优化建议 1. **速度调节**:使用定时器 PWM 控制 ENA/ENB 占空比 2. **防抖处理**:传感器判断前增加 5~10ms 延时 3. **功能扩展**:可添加遥控、避障、测速等模块