诚毅小家|集美大学生活【集美大学,诚毅学院,水产学院,师范学院,美术学院,财经学院,体育学院,航海学院,集美学村,石鼓路,龙舟池】

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1051|回复: 30

拉票啦!!下午五点,食堂前》》{{智能研发小组}}

  [复制链接]
发表于 2010-5-6 13:29:09 | 显示全部楼层 |阅读模式
学校的自主创新大赛,我的小组叫“智能研发小组”,项目:“基于多传感器的模块化机器人设计”、现在实现的功能是循黑线走的小车。

  现场演示!欢迎投票支持!!

照片:
  

视频:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2010-5-6 13:30:08 | 显示全部楼层
程序:#include <reg52.h>
#include <math.h>
#include <bin.h>   //包含二进制转十六宏定义文件:如#define b0000_0001 0x01

/********************************
  芯片:AT89S52   频率:24.576mhz
  编写:wjd
********************************/

unsigned char VL,VR,tt;  //定义全局变量:VL,VR为左右电机速度,tt为pwm时间

/*定义电机控制端*/
sbit MLP=P2^0;   //左电机使能
sbit MRP=P2^1;  //右电机使能
sbit MLG=P2^2;  //左电机前进
sbit MLB=P2^3;  //左电机后退
sbit MRG=P2^4;  //右电机前进
sbit MRB=P2^5;  //右电机后退
/*定义红外传感器*/
sbit SR2=P3^0;  //
sbit SR1=P3^1;   //左一和右一在黑线上
sbit SL1=P3^2;   //
sbit SL2=P3^3;   //


void M(int l,r)    //电机控制函数
{            //l,r分别为左右电机速度
if(l<0)        //速度范围:“-9~0~+9”整数
{MLG=0;MLB=1;}
else
{
  if(l==0)
  {MLG=1;MLB=1;l=9;}
  else
  {MLG=1;MLB=0;}
}

if(r<0)
  {MRG=0;MRB=1;}
else  
{
  if(r==0)
  {MRG=1;MRB=1;r=9;}
  else
  {MRG=1;MRB=0;}
}
  VL=abs(l);
  VR=abs(r);
}


void init(void)  //初始化变量和端口
{
VL=0;
VR=0;
MLP=1;
MRP=1;
MRG=0;
MLG=0;
MRB=0;
MLB=0;
P3=0xFF;
tt=0;
}


void InitTimer0(void) //定时器0初始化
{
    TMOD = 0x01;
    TH0 = 0x0FF;
    TL0 = 0x0EC;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}


void Timer0Interrupt(void) interrupt 1  //定时器0中断(PWM)
{
    TH0 = 0x0F8;
    TL0 = 0x00;
if(tt==9)
{
   tt=0;
MLP=1;
MRP=1;
}
else
{
if(VL==tt)MLP=0;
if(VR==tt)MRP=0;
}   
tt++;
}

void follow_line(void)    //循线控制函数
{
switch(P3|0xf0)        //“P3|0xf0”低四位代表四个传感器
{
case b1111_1001:M(8,8);break;
case b1111_1111:M(8,8);break;
case b1111_1101:
          {M(8,7);}
          while(SL1&&SR1==1)
          {M(5,0);}break;
case b1111_1011:
                  {M(7,8);}
          while(SL1&&SR1==1)
          {M(0,5);}break;
case b1111_1110:
                  M(4,-4);
                  while(SL1&&SR1==1)
          {}break;
case b1111_0111:
                  M(-4,4);
                  while(SL1&&SR1==1)
          {}break;
default:M(0,0) ;
}
}

void main()   //主函数
{
init();
InitTimer0();
while(1)
{
  follow_line();  //循线
  /*+其它程序*/
}
}

本贴被 wjd40 编辑过,最后修改时间:2010-04-17,18:17:28.

http://www.ourdev.cn/bbs/bbs_con ... d40&bbs_id=9999
发表于 2010-5-6 14:06:47 | 显示全部楼层
哇哇哇!不错呀!:m27 可惜我太懒了……不然就帮你们投票去了
发表于 2010-5-6 14:08:02 | 显示全部楼层
那只小车跑的真像一只小老鼠
发表于 2010-5-6 14:13:10 | 显示全部楼层
LZ我应该见过你...嘿嘿,只是不知道你是哪一个,因为我是那个校企合作小组的.我的小组是第三组π·派。要不要我们互相的小组投票啊。
发表于 2010-5-6 14:13:39 | 显示全部楼层
哇哇哇!不错呀! 可惜我太懒了……不然就帮你们投票去了
听樊 发表于 2010-5-6 14:06



    樊樊...下午就来把 也帮我投投票...:m9
发表于 2010-5-6 14:17:24 | 显示全部楼层
回复 6# 【X.L】


    :m8 我就是懒得~~~
发表于 2010-5-6 14:25:23 | 显示全部楼层
不错呵呵.加油.
 楼主| 发表于 2010-5-6 14:30:34 | 显示全部楼层
LZ我应该见过你...嘿嘿,只是不知道你是哪一个,因为我是那个校企合作小组的.我的小组是第三组π·派。要不 ...
【X.L】 发表于 2010-5-6 14:13



    哈哈,好主意
发表于 2010-5-6 15:18:11 | 显示全部楼层
回复  【X.L】


     我就是懒得~~~
听樊 发表于 2010-5-6 14:17



    :m10 太...懒了。早上云不是打电话给你了...下午还不来啊。
发表于 2010-5-6 16:14:27 | 显示全部楼层
回复 10# 【X.L】


    人家只是一般般懒嘛
发表于 2010-5-6 16:35:21 | 显示全部楼层
回复  【X.L】


    人家只是一般般懒嘛
听樊 发表于 2010-5-6 16:14



    我还想看看你本人呢...
 楼主| 发表于 2010-5-6 19:29:20 | 显示全部楼层
人气不错啊!!!
好像周日就要结项答辩了,
这两天再把喇叭和避障弄好。
发表于 2010-5-6 19:35:40 | 显示全部楼层
回复  【X.L】


    人家只是一般般懒嘛
听樊 发表于 2010-5-6 16:14



    :m41 我很生气。。。。。。樊樊你太坏了。。。。。。
发表于 2010-5-6 19:51:02 | 显示全部楼层
哇 真做出来了啊 不错不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|诚毅小家 ( 小家社区工作室 闽ICP备05007965号 )

GMT+8, 2024-5-5 16:03 , Processed in 0.100749 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表