标题: 单片机智能小车程序 含红外循迹、避障、超声波避障 [打印本页]

作者: tzleaves    时间: 2017-9-30 21:40
标题: 单片机智能小车程序 含红外循迹、避障、超声波避障
含红外循迹、避障、超声波避障、蓝牙等程序
有单独分开的和整合的

所有资料51hei提供下载:
小车程序.zip (242.8 KB, 下载次数: 321)



部分单片机源程序如下:
  1. /****************************************************************************
  2. 硬件连接
  3. P1_6 接驱动模块ENA        使能端,输入PWM信号调节速度
  4. P1_7 接驱动模块ENB        使能端,输入PWM信号调节速度
  5. ****************************************************************************/
  6. #include<reg52.h>
  7. sbit Left_moto_pwm= P2^6;
  8. sbit Right_moto_pwm=P2^7;

  9. unsigned char pwm_val_left  =0;//变量定义
  10. unsigned char pwm_val_right =0;

  11. unsigned char push_val_left =0;// 左电机占空比N/10
  12. unsigned char push_val_right=0;// 右电机占空比N/10


  13. /************************************************************************/

  14. /************************************************************************/
  15. /*                      PWM调制电机转速                                 */
  16. /************************************************************************/
  17. /*                    左电机调速                                        */
  18. /*调节push_val_left的值改变电机转速,占空比            */
  19. void pwm_out_left_moto(void)
  20. {  
  21.                 if(pwm_val_left<=push_val_left)
  22.                         Left_moto_pwm=1;
  23.                 else
  24.                         Left_moto_pwm=0;
  25.                 if(pwm_val_left==10)
  26.                         pwm_val_left=0;
  27. }
  28. /******************************************************************/
  29. /*                    右电机调速                                  */  
  30. void pwm_out_right_moto(void)
  31. {
  32.                 if(pwm_val_right<=push_val_right)                          
  33.                         Right_moto_pwm=1;
  34.                 else
  35.                         Right_moto_pwm=0;
  36.                 if(pwm_val_right==10)
  37.                         pwm_val_right=0;
  38. }
  39. /***************************************************/
  40. ///*TIMER0中断服务子函数产生PWM信号*/
  41. void timer0()interrupt 1   
  42. {
  43.      TH0=(65536-400)/256;          //400us定时
  44.          TL0=(65536-400)%256;

  45.          pwm_val_left++;
  46.          pwm_val_right++;

  47.          pwm_out_left_moto();
  48.          pwm_out_right_moto();
  49. }       
  50. /**************************************************
  51.                                         主函数
  52. **************************************************/
  53. void main()
  54. {
  55.         TMOD=0X01;
  56.         TH0=(65536-100)/256;
  57.         TL0=(66536-100)%256;
  58.         EA=1;
  59.         ET0=1;
  60.         TR0=1;       
  61.     push_val_left  =6;   //PWM 调节参数1-10   1为最慢,10是最快  改这个值可以改变其速度
  62.         push_val_right =6;         //PWM 调节参数1-10   1为最慢,10是最快         改这个值可以改变其速度
  63.         while(1);
  64. }
复制代码





作者: LGX123    时间: 2018-5-7 23:02
这个程序适用于L9110电机驱动模块吗?
作者: LGX123    时间: 2018-5-7 23:03
这个适用于L9110电机驱动模块吗
作者: songyuan    时间: 2018-6-14 10:18
下载看看
作者: 艾草梅花樱花    时间: 2018-8-6 23:03
你这资料下不了的,出错误的
作者: 北极光线    时间: 2018-11-22 16:37
单片机智能小车程序 含红外循迹、避障、超声波避障
http://www.51hei.com/bbs/dpj-95364-1.html
(出处: 单片机论坛)

作者: 北极光线    时间: 2018-11-23 09:42
单片机智能小车程序 含红外循迹、避障、超声波避障
http://www.51hei.com/bbs/dpj-95364-1.html
(出处: 单片机论坛)

作者: 北极光线    时间: 2018-11-23 09:47
#在这里快速回复#单片机智能小车程序 含红外循迹、避障、超声波避障 http://www.51hei.com/bbs/dpj-95364-1.html (出处: 单片机论坛)
作者: 胡96    时间: 2019-4-11 16:04
分成几部分的程序,可以依次烧录到单片机芯片里吗?还是必须整个程序合在一起才能烧录

作者: tigerzq    时间: 2019-4-11 22:02
电路原理图和散件购买指导也发一下呀!比葫芦画瓢弄一个试试
作者: 黑色大秦    时间: 2020-4-19 21:46
赞,楼主。
作者: a1208082536    时间: 2020-4-20 22:22
这个是可以对4路电机分别控制吗

作者: 5d8gfgdfg    时间: 2020-12-2 14:58
胡96 发表于 2019-4-11 16:04
分成几部分的程序,可以依次烧录到单片机芯片里吗?还是必须整个程序合在一起才能烧录

必须合成到一起
作者: CHH614897377    时间: 2020-12-22 10:20
L298的能用吗?
作者: laoying    时间: 2020-12-23 20:53
有原理图吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1