找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6430|回复: 6
打印 上一主题 下一主题
收起左侧

智能小车程序分享,有红外遥控,蓝牙 避障 寻迹 12864显示 多个功能组合

  [复制链接]
跳转到指定楼层
楼主
智能小车程序分享,有红外遥控,蓝牙  避障  寻迹  12864显示 多个功能组合  欢迎大家参考


单片机源程序:
  1. #include<AT89x52.H>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit p33=P3^3;
  6. uchar temp=0;
  7. uint temp1=0;                                                           //时间变量
  8. uchar wei1=8,wei=0;                                                //功能标志位
  9. bit wei3=0;                                                                //启动与关闭

  10. unsigned long ss=0;                                                //计算出超声波距离值
  11. unsigned long s1=0;                                                //超声波距离值
  12. unsigned long s2=0;                                                //超声波距离值

  13. bit wei8;
  14. long int sss=0;               //距离变量
  15. uchar count;
  16. uchar push_duoji;                                                //舵机PWM固定变量
  17. uchar pwm_duoji;                                                //舵机PWM变量
  18. uint temp3;                                                                //延迟变量
  19. uchar juli[2];                                                        //显示数组
  20. bit ok=1;                                                                //舵机开关PWM标志位
  21. uchar daima[1];                                                        //蓝牙用到的变量
  22. bit fala;                                                                //蓝牙接收标志位
  23. #include "yanchi.h"                                                //【延迟】头文件
  24. #include "9012.h"                                                //【远红外遥控】头文件
  25. #include "dianji.h"                                                //【驱动电机】头文件
  26. #include "led.h"                                                //【LED灯】头文件
  27. #include "xunji.h"                                                //【寻迹】头文件
  28. #include "zimo.h"                                                //【图片字膜】头文件
  29. #include "12864.h"                                                //【12864液晶】头文件
  30. #include "bizhang.h"                                        //【超声波与避障】头文件
  31. #include "lanya.h"                                                //【蓝牙驱动与设置】头文件
  32. #include "aduoji.h"                                                //【舵机】头文件
  33. #include "maina.h"                                                //【主函数 】头文件

  34. void timeroinit1(void)                                                //定时器初始化 1
  35. {
  36.    EA=1;
  37.    ET1=1;
  38.    TMOD|=0X20;
  39.    TH1=0x9c;                                                                // 初值
  40.    TL1=0x9c;                                                                //重装值   计算就是100us
  41.    TR1=1;
  42. }
  43. void timer1() interrupt 3                                        //定时器1
  44. {
  45.         kes();                                                                          //按键函数
  46.         temp++;
  47.         temp3++;                                                          
  48.         if(temp3>8010)
  49.         temp3=0;
  50.          if(temp==10)                                                        //检测10次(1ms)下面的pwm累加
  51.          {
  52.                  pwm_val++;                                                                 //轮子PWM++
  53.             temp=0;
  54.                 if(pwm_val>=10)
  55.                   pwm_val=0;
  56.          }
  57.          pwm_val_duoji();                                                   //舵机转动角度PWM
  58.          pwm_out_right_moto();                                        //轮PWM调子函数
  59.          led_shezhi1();                                                        //LED灯执行函数
  60. }

  61. void main()
  62. {
  63.         xianshi12864();                                                          //12864初始化显示的函数
  64.           timeroinit();                                                        //定时1初始化
  65.           intoinit();                                                         //中断0
  66.           timeroinit1();                                                        //定时2初始化       
  67.         T2int();                                                                //T2定时器初始化
  68.         duojichu();                                                         //舵机居中初始化
  69.           while(1)
  70.           {
  71.                

  72. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

下载:
【6】遥控 速度 LED功能 寻迹 12864 超声波避障 蓝牙.zip (107.38 KB, 下载次数: 167)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩1
回复

使用道具 举报

沙发
ID:274836 发表于 2018-1-17 21:51 | 只看该作者
有没有接线图
回复

使用道具 举报

板凳
ID:97438 发表于 2018-1-20 01:52 | 只看该作者
粗看了一下这个程序,或许能实现功能,但做的不够好。举个例子,

I:\【6】遥控+速度+LED功能+寻迹 +12864 +超声波避障+蓝牙\9012.h(10) : uchar heng;
I:\【6】遥控+速度+LED功能+寻迹 +12864 +超声波避障+蓝牙\9012.h(44) :            if(heng)                                                       
I:\【6】遥控+速度+LED功能+寻迹 +12864 +超声波避障+蓝牙\9012.h(61) :           heng=1;                


uchar heng;这个变量是个多余的变量。它的值从来没有变为过0,即运行第一次过后,这个值恒为1的,无存在的必要。                               

建议大家写程序时考虑一下这个问题,不要定义一些没有必要存在的变量,这样会浪费单片机的性能。

评分

参与人数 1黑币 +60 收起 理由
admin + 60 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:254856 发表于 2018-1-27 15:17 | 只看该作者
谢谢楼主
回复

使用道具 举报

5#
ID:311410 发表于 2018-4-19 11:20 | 只看该作者
我为什么打不开
回复

使用道具 举报

6#
ID:632112 发表于 2020-5-20 17:18 | 只看该作者
好资料,51黑有你更精彩,谢谢楼主
回复

使用道具 举报

7#
ID:913468 发表于 2021-5-10 19:35 | 只看该作者
压缩包里是综合总程序吗
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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