单排机循迹小车的最终代码
2016-11-07 22:36
162 查看
<pre name="code" class="cpp">#include <reg52.h> sbit IN1 = P1^4; //ÓÒÂÖÇý¶¯ sbit IN2 = P1^3; sbit IN3 = P1^2; //×óÂÖÇý¶¯ sbit IN4 = P1^1; void run() { IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 1; } void turn_left_min() //С×óתÍä(×óÂÖÇ°½ø£¬ÓÒÂÖÇ°½ø) { IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 1; } void turn_left_max() //´ó×óתÍä(×óÂÖºóÍË£¬ÓÒÂÖÇ°½ø£© { IN1 = 0; IN2 = 1; IN3 = 1; IN4 = 0; } void turn_right_min() //СÓÒתÍ䣨×óÂÖÇ°½ø£¬ÓÒÂÖÇ°½ø£© { IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 1; } void turn_right_max() //´óÓÒתÍ䣨×óÂÖÇ°½ø£¬ÓÒÂÖºóÍË£© { IN1 = 1; IN2 = 0; IN3 = 0; IN4 = 1; } void stop() { IN1 = 0; IN2 = 0; IN3 = 0; IN4 = 0; }#include <reg52.h>#include "./turn/turn.h"#define uint unsigned int #define uchar unsigned charsbit ENA = P1^5;//右驱动sbit ENB = P1^0; //左驱动sbit xj_l2 = P3^0;//左1循迹口sbit xj_l1 = P3^1;//左2循迹口sbit xj_r1 = P3^2;//右1循迹口sbit xj_r2 = P3^3;//右2循迹口uchar ZKB_L = 0; //左轮占空比ucharZKB_R = 0; //右轮占空比uchar pwm;uchar num = 0;//对中断次数计数void timer0_init(){TMOD |= 0x01;EA = 1;TH0 = (65536 - 500) / 256;TL0 = (65536 - 500) % 256;ET0 = 1;TR0 = 1;}void timer0_isr() interrupt 1{TR0 = 0;TH0 = (65536 - 500) / 256;TL0 = (65536 - 500) % 256;num++;if(num> 32){num = 0;}if(num <= ZKB_L) {ENA = 1;}else{ENA = 0;}if(num <= ZKB_R){ENB = 1;}else{ENB = 0;}TR0 = 1;}void xunji() //循迹函数{if((xj_l2 == 0)&(xj_l1 == 0)&(xj_r1 == 0)&(xj_r2 == 0)){run();ZKB_L = 10;ZKB_R = 10;}if((xj_l2 == 0)&(xj_l1 == 1)&(xj_r1 == 0)&(xj_r2== 0)){turn_right_min(); ZKB_L = 10;ZKB_R = 7;}if((xj_l2 == 0)&(xj_l1 == 0)&(xj_r1 == 1)&(xj_r2 == 0)){turn_left_min();ZKB_L = 7;ZKB_R = 10;}if((xj_l2 == 1)&(xj_l1 == 0)&(xj_r1 == 0)&(xj_r2 == 0)){turn_left_max();ZKB_L = 5;ZKB_R = 10;}if((xj_l2 == 0)&(xj_l1== 0)&(xj_r1 == 0)&(xj_r2 == 1)){turn_right_max();ZKB_L = 10;ZKB_R = 5;}if((xj_l2 == 1)&(xj_l1 == 1)&(xj_r1 == 1)&(xj_r2 == 1)){stop();} }void main(){timer0_init();while(1){xunji();}}
相关文章推荐
- 循迹小车代码v1.0测试版本
- GreenBrowser群组转成书签的Python代码(最终修订版)
- 用来检测寻迹小车电路的代码
- 关于camera:基于S12单片机的循迹小车视觉系统设计与优化
- Javascript做模糊查询-数组无双(三)-最终代码
- 智能小车代码
- Javascript做模糊查询-数组无双(三)-最终代码
- 智能小车循迹避障程序
- 循迹小车的直流电机响应
- 使用django创建项目最终代码
- 如何让Ruby代码更简练?!(原文最终修订于 2006-08-18 下午02:42:25)
- 基于AT89S52单片机的循迹小车开发(一)硬件模块的框架搭建
- 循迹小车 。。。。2 为什么步进电机小车很少见呢
- 循迹小车设计(转载)
- 软件开发者面试百问-----描述一下实现一段代码的过程,从需求到最终交付
- 让软件走近“恐怖地带”的元凶--未经测试的代码 (原文最终修订于 2006-09-05 晚上10:33:27)
- LCC编译器的源程序分析(55)最终代码的生成
- [原创]最终在linux上调试出来性能折中的内存池代码
- 黑马程序员_第九篇:socket学习最终代码(服务端)
- 修改iconv源代码,使其支持【JIS X0208保留领域13区】的转码---最终代码