智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6701|回复: 21
打印 上一主题 下一主题

贴出你的主程序,大家相互学习吧,我开个头!

  [复制链接]

127

主题

841

帖子

1

精华

跨届大侠

老三届

Rank: 10Rank: 10Rank: 10

积分
8526

优秀会员奖章活跃会员奖章论坛骨干奖章资源大师奖章优秀版主奖章在线王奖章

QQ
威望
3143
贡献
4359
兑换币
763
注册时间
2008-3-31
在线时间
512 小时
跳转到指定楼层
1#
发表于 2010-8-28 10:15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摄像头组:

#include "smartcar.h"
void main(void)
{
                 
  ready_go();
  setspeed();
  setfun() ;
  for(;;)
  {  
   
      //angle_test();
      if(flag_bmp);
      {  
          bin_pic();
          search_image();
          calc_parameter();  
          calc_center();
          check_start();
          get_angle();
          flag_bmp=0;
      }
      get_speed();
  }                     
}

127

主题

841

帖子

1

精华

跨届大侠

老三届

Rank: 10Rank: 10Rank: 10

积分
8526

优秀会员奖章活跃会员奖章论坛骨干奖章资源大师奖章优秀版主奖章在线王奖章

QQ
威望
3143
贡献
4359
兑换币
763
注册时间
2008-3-31
在线时间
512 小时
2#
 楼主| 发表于 2010-8-28 10:16:33 | 只看该作者
光电:
#include "shake_head.h"
void main(void)
{
  init();
  for(;;)
  {     
     light_led();
     if(check_start&&key1)   start();                           
     getposition();
     head();  
     direction();
     speedpid();
  }
}
回复 支持 反对

使用道具 举报

127

主题

841

帖子

1

精华

跨届大侠

老三届

Rank: 10Rank: 10Rank: 10

积分
8526

优秀会员奖章活跃会员奖章论坛骨干奖章资源大师奖章优秀版主奖章在线王奖章

QQ
威望
3143
贡献
4359
兑换币
763
注册时间
2008-3-31
在线时间
512 小时
3#
 楼主| 发表于 2010-8-28 10:18:27 | 只看该作者
电磁:

#include "Cpu.h"
#include "Events.h"


//================================================================================================

void main(void)
{

  unsigned long aa=800000;
  while(aa--);
  get_set_speed();
  PE_low_level_init();
  LCD_Initial();

  DDRB_DDRB3=1;       //设置B3口作为输出  测试周期
  return_ok=AD_Start();
   for(;;)
        {   
        get_line_data();
        calcu_position();
        calcu_angle_speed();
        control_angle_speed();
        PORTB_PB3=  ~PORTB_PB3;
        }
        
}
回复 支持 反对

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
4#
发表于 2010-8-28 22:35:46 | 只看该作者
不错,很简洁,模块化设计,顺序执行,逻辑清晰,功夫就在函数里,呵呵
回复 支持 反对

使用道具 举报

1

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
威望
335
贡献
81
兑换币
42
注册时间
2009-6-20
在线时间
39 小时
5#
发表于 2010-10-5 10:49:53 | 只看该作者
void main(void)
{

  Set_BusCLK();
  Init_PWM();  
  PORT_Init();
  PIT_Init();
        EnableInterrupts;
       
  while(Scf_State){  //检测完成标志位
    //舵机控制
    Scf_State=0;
  }
  while(Speed_State){ //速度获取完成标志位
    //电机控制
    Speed_State=0;
  }

  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
这样的设计合理吗??
回复 支持 反对

使用道具 举报

1

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
威望
335
贡献
81
兑换币
42
注册时间
2009-6-20
在线时间
39 小时
6#
发表于 2010-10-5 12:35:28 | 只看该作者
光电的 用的是中断采样
回复 支持 反对

使用道具 举报

1

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
威望
335
贡献
81
兑换币
42
注册时间
2009-6-20
在线时间
39 小时
7#
发表于 2010-10-5 12:36:23 | 只看该作者
虚心求教
回复 支持 反对

使用道具 举报

2

主题

102

帖子

0

精华

高级会员

Rank: 4

积分
984
QQ
威望
511
贡献
209
兑换币
20
注册时间
2010-9-2
在线时间
132 小时
8#
发表于 2010-10-7 22:36:03 | 只看该作者
学习---
回复 支持 反对

使用道具 举报

127

主题

841

帖子

1

精华

跨届大侠

老三届

Rank: 10Rank: 10Rank: 10

积分
8526

优秀会员奖章活跃会员奖章论坛骨干奖章资源大师奖章优秀版主奖章在线王奖章

QQ
威望
3143
贡献
4359
兑换币
763
注册时间
2008-3-31
在线时间
512 小时
9#
 楼主| 发表于 2010-10-10 16:16:09 | 只看该作者
回复 5# 段鹏飞


    个人觉得用中断方式更好一些,更能精确控制好 采样周期和控制周期。
回复 支持 反对

使用道具 举报

1

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
威望
335
贡献
81
兑换币
42
注册时间
2009-6-20
在线时间
39 小时
10#
发表于 2010-10-10 18:00:36 | 只看该作者
回复 9# zzy2099


    哦  中断 来检测采样 同样的用中断来给舵机PWM值 ,这样能避免给舵机的PWM值 不一定就在一个周期内或者超过一个周期
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-5 14:19 , Processed in 0.236926 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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