標(biāo)題: 智能小車程序分享,有紅外遙控,藍牙 避障 尋跡 12864顯示 多個功能組合 [打印本頁]

作者: heng88    時間: 2017-4-18 14:23
標(biāo)題: 智能小車程序分享,有紅外遙控,藍牙 避障 尋跡 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;                                                //功能標(biāo)志位
  9. bit wei3=0;                                                                //啟動與關(guān)閉

  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];                                                        //顯示數(shù)組
  20. bit ok=1;                                                                //舵機開關(guān)PWM標(biāo)志位
  21. uchar daima[1];                                                        //藍牙用到的變量
  22. bit fala;                                                                //藍牙接收標(biāo)志位
  23. #include "yanchi.h"                                                //【延遲】頭文件
  24. #include "9012.h"                                                //【遠紅外遙控】頭文件
  25. #include "dianji.h"                                                //【驅(qū)動電機】頭文件
  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"                                                //【藍牙驅(qū)動與設(shè)置】頭文件
  32. #include "aduoji.h"                                                //【舵機】頭文件
  33. #include "maina.h"                                                //【主函數(shù) 】頭文件

  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();                                                                          //按鍵函數(shù)
  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();                                                   //舵機轉(zhuǎn)動角度PWM
  58.          pwm_out_right_moto();                                        //輪PWM調(diào)子函數(shù)
  59.          led_shezhi1();                                                        //LED燈執(zhí)行函數(shù)
  60. }

  61. void main()
  62. {
  63.         xianshi12864();                                                          //12864初始化顯示的函數(shù)
  64.           timeroinit();                                                        //定時1初始化
  65.           intoinit();                                                         //中斷0
  66.           timeroinit1();                                                        //定時2初始化       
  67.         T2int();                                                                //T2定時器初始化
  68.         duojichu();                                                         //舵機居中初始化
  69.           while(1)
  70.           {
  71.                

  72. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

下載:
【6】遙控 速度 LED功能 尋跡 12864 超聲波避障 藍牙.zip (107.38 KB, 下載次數(shù): 167)


作者: mazhaou000    時間: 2018-1-17 21:51
有沒有接線圖
作者: luoluoluo136    時間: 2018-1-20 01:52
粗看了一下這個程序,或許能實現(xiàn)功能,但做的不夠好。舉個例子,

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;這個變量是個多余的變量。它的值從來沒有變?yōu)檫^0,即運行第一次過后,這個值恒為1的,無存在的必要。                               

建議大家寫程序時考慮一下這個問題,不要定義一些沒有必要存在的變量,這樣會浪費單片機的性能。
作者: 大椿面    時間: 2018-1-27 15:17
謝謝樓主
作者: 金達    時間: 2018-4-19 11:20
我為什么打不開
作者: ycs89554171    時間: 2020-5-20 17:18
好資料,51黑有你更精彩,謝謝樓主
作者: kuaal    時間: 2021-5-10 19:35
壓縮包里是綜合總程序嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1