中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

单片机论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 单片机论坛 → 浏览主题: 关于AVR单片机的问题3
发表新帖 回复该主题
回帖:0个,阅读:356 [上一页] [1] [下一页]
* 帖子主题:

关于AVR单片机的问题3

分享到
970
wangxd5429
文章数:41
年度积分:50
历史总积分:970
注册时间:2005/1/19
发站内信
发表于:2014/9/16 10:14:08
#0楼
各位高手,小弟正在基于AVR单片机开发一款智能小车,正在开发超声波测距兼避障功能,测试发现测距的数据超出有效范围。调试发现如果屏蔽掉避障操作,只是保留超声波测距功能,则距离数据可以正确显示。同时,调试发现:计算距离是通过外部中断2实现的,用定时器计数,数值过大。请教其中的原因。主函数部分代码如下:
void main(void)
{
MCUCSR |= BIT(7);
       MCUCSR |= BIT(7);
 
       init_devices();    
 
       while(1)
       {
           LCD_write_string(0,0,"CCFROBOT");
           LCD_write_string(12,0,"CSB");
           LCD_write_string(0,1,"SPACE:");
           CSB_data=CSB_data*1.72*8/100;  

           if (CSB_data>400)
           {
             LCD_write_string(7,1,"Err!");
           }
           else
           {
               change(CSB_data,Data);  
               LCD_write_string(7,1,Data);
               LCD_write_string(12,1,"CM");
           }

           start_SB();      
 
         if ((L_BZ!=0)&&(CSB_data>=20)&&(R_BZ!=0))
       {
           pwm(250,250);
           forward;
       }
       else if ((L_BZ!=0)&&(CSB_data<=20)&&(R_BZ!=0))
       {
           pwm(220,250);
           back;
           delay_nms(5);
       }
       else if((L_BZ==0)&&(CSB_data<=20)&&(R_BZ==0))
       {
           pwm(220,250);
           back;
           delay_nms(5);
       }
       else if((L_BZ==0)&&(CSB_data<=20)&&(R_BZ!=0))
       {
           pwm(250,250);
           right;
           delay_nms(5);
       }
       else if((L_BZ==0)&&(CSB_data>=20)&&(R_BZ!=0))
       {
           pwm(250,250);
           right;
           delay_nms(5);
       }
       else if((L_BZ==0)&&(CSB_data<=20)&&(R_BZ!=0))
       {
           pwm(250,250);
           right;
           delay_nms(5);
       }
       else if((L_BZ!=0)&&(CSB_data>=20)&&(R_BZ==0))
       {
           pwm(250,250);
           left;
           delay_nms(5);
       }
       else if((L_BZ!=0)&&(CSB_data<=20)&&(R_BZ==0))
       {
           pwm(250,250);
           left;
           delay_nms(5);
       }

   delay_nms(150);
   }
}
5分悬赏
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002