久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3344|回復: 0
打印 上一主題 下一主題
收起左側

用光碟做的藍牙控制小車下位機程序里面有紅外避障加舵機

[復制鏈接]
跳轉到指定樓層
樓主
ID:79544 發表于 2016-1-8 15:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. /************************************************
  2. //藍牙控制小車 加舵機 加避障 可以調速 正確的程序
  3.         單片機: STC12C5608AD
  4. //        晶振  :           11.0592M晶振
  5.         作者  :蘇義江
  6.         時間  :2016-1-8
  7. ***************************************************/
  8. #include <reg52.h>
  9. #include<intrins.h>
  10. #define uint unsigned int
  11. #define uchar unsigned char
  12. //sfr  T2MOD=0xc9;
  13. sbit in1  =P1^0; //電機1端口
  14. sbit in2  =P1^1;
  15. sbit ina  =P1^2;  //電機PWM-A

  16. sbit in3  =P1^3;//電機2端口
  17. sbit in4  =P1^4;
  18. sbit inb  =P1^5;//電機PWM-B

  19. sbit bz_l =P2^0;  //避障左
  20. sbit bz_r =P2^1;  //避障右

  21. sbit moto_pwm =P3^4;//PWM輸出腳控制舵機
  22. sbit yan      =P3^5;//頭燈光

  23. sbit landeng =P3^2;//藍前大燈
  24. sbit hondeng =P3^3;//紅前大燈
  25. sbit yinyue  =P3^7;//音樂端口

  26. sbit wela    =P1^6;//位碼
  27. sbit dula    =P1^7;//段碼
  28. uchar code table[] ={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,
  29.                                                 0x82,0xF8,0x80,0x90,0xBF,0xff};
  30. uchar code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  31. //uchar disbuff[4] ={ 0,0,0,0,};//數碼管全顯示 0
  32. uint tt = 0;//變量定義
  33. uint num=0;//變量定義

  34. uchar pwm_lefr=0;//定義 定時器自加1變量
  35. //uchar pwm_lefr1=0;//定義 定時器自加1變量
  36. uchar duojiguizhong=14;//舵機歸中1.5ms
  37. uchar duojiguizhong1=14;//舵機歸中1.5ms
  38. uchar tmp,w,sudu;

  39. void init() ;
  40. void delay1(uint z)//延時函數
  41. {
  42.         uint x,y;
  43.         for(x=z;x>0;x--)
  44.                 for(y=120;y>1;y--);
  45. }
  46. void delay(uint z)
  47. {
  48.         uint x,y;
  49.         for(x=0;x<z;x++)
  50.         for(y=0;y<1000;y++);
  51.         
  52. }

  53. /*void xianshi(uchar num)//顯示
  54. {  
  55.   uchar gw,sw,bw,qianw;
  56.         qianw=num/1000%100;
  57.    bw=num%1000/100;   
  58.    sw=num%100/10;   
  59.    gw=num%10;
  60.             
  61.    P2=0xfe;   
  62.    wela=1;     
  63.    _nop_();_nop_();   
  64.    wela=0;     
  65.    P2=table[qianw];
  66.     dula=1;     
  67.    _nop_();_nop_();   
  68.    dula=0;   
  69.    delay1(2);

  70.    P2=0xfd;
  71.    wela=1;     
  72.    _nop_();
  73.    _nop_();   
  74.    wela=0;     
  75.    P2=table[bw];
  76.     dula=1;     
  77.    _nop_();
  78.    _nop_();   
  79.    dula=0;   
  80.    delay1(2);

  81.         P2=0xfb;   
  82.    wela=1;     
  83.    _nop_();_nop_();   
  84.      wela=0;     
  85.    P2=table[sw];   
  86.    dula=1;     
  87.    _nop_();_nop_();   
  88.    dula=0;
  89.    delay1(2);
  90.                 P2=0xf7;   
  91.    wela=1;     
  92.    _nop_();_nop_();   
  93.      wela=0;     
  94.    P2=table[gw];   
  95.    dula=1;     
  96.    _nop_();_nop_();   
  97.    dula=0;
  98.    delay1(2); //顯示個 十 百 千

  99. }  */

  100. void pwmmaic()//產生PWM
  101. {
  102.         if(pwm_lefr<=duojiguizhong)        
  103.                 moto_pwm=1;
  104.                 else
  105.                 moto_pwm=0;
  106.                 if(pwm_lefr>=200)
  107.                 pwm_lefr=0;               
  108. }

  109. void duoji_kz()//舵機控制
  110. {
  111.         yan=0;
  112.         duojiguizhong=9;
  113.         
  114.         delay(800);
  115.         yan=0;
  116.         duojiguizhong=16;
  117.         
  118.         delay(800);
  119.         yan=0;
  120.         duojiguizhong=24;
  121.         
  122.         delay(800);
  123.         yan=0;
  124.         duojiguizhong=16;
  125.         
  126.         delay(800);
  127.         yan=0;
  128.         delay(1500);
  129.         yan=1;        
  130. }
  131. void lankong()        //藍色LED
  132. {
  133.         landeng=0;
  134.         delay1(80);
  135.         landeng=1;
  136.         delay1(80);
  137. }
  138. void hongkong()        //紅色LED
  139. {
  140.         hondeng=0;
  141.         delay1(80);
  142.         hondeng=1;
  143.         delay1(80);
  144. }
  145. void qianjin()
  146. {
  147.         in1=1;in2=0;in3=0;in4=1;
  148.         yan=0;landeng=0;hondeng=0;yinyue=0;        
  149. }   
  150. void houtui()
  151. {
  152.         in1=0;in2=1;in3=1;in4=0;
  153.         yan=1;hondeng=0;yinyue=0;        
  154. }  
  155. void zuozhuan()
  156. {
  157.         in1=1;in2=0;in3=1;in4=0;
  158.         lankong();yinyue=1;
  159. }
  160. void youzhuan()
  161. {
  162.         in1=0;in2=1;in3=0;in4=1;
  163.         hongkong();yinyue=1;
  164. }  
  165. void tingzhi()
  166. {
  167.         in1=0;in2=0;in3=0 ;in4=0;
  168.         hongkong();lankong();yinyue=1;
  169. }
  170. void bizhang()        //避障
  171. {
  172.     if(bz_l==1&&bz_r==1)
  173.          qianjin();
  174.         if(bz_l==0&&bz_r==1)
  175.          zuozhuan();
  176.          if(bz_l==1&&bz_r==0)
  177.          youzhuan();
  178.          if(bz_l==0&&bz_r==0)
  179.          {        
  180.                  tingzhi();
  181.                 delay(100);
  182.                 houtui();
  183.                 delay(500);
  184.                 zuozhuan();
  185.                 delay(200);
  186.                 qianjin();
  187.          }
  188. }
  189. void init()   //串口初始化
  190. {                                                                       //關中斷
  191.     SCON =0x50; //串口模式1,允許接收                  
  192.     TMOD =0x20;//定時器1為模式2 8-bit自動裝載方式用于產生波特率
  193.     PCON=0x00;//波特率不倍增
  194.         TH1=0xfd;//波特率9600  11.0592M
  195.         TL1=0xfd;
  196.         TH0=0xfd;
  197.         TH0=0xae;
  198.         EA=1;
  199.         ES=1;
  200.         ET0=1; //        T0中斷允許
  201.         TR0=1; //        啟動T0定時器
  202.         TR1=1; //        啟動T1定時器
  203.         duojiguizhong=16;
  204.         duojiguizhong1=16;
  205. }
  206. void ctrl() //接收處理函數
  207. {
  208.    switch(tmp)
  209.    {         
  210.             case 1:qianjin(); break;                                                     
  211.      case 2: houtui();break;                                                                             
  212.      case 3:zuozhuan(); break;
  213.      case 4:youzhuan();break;  
  214.          case 0:tingzhi(); break;
  215.          case 7:duoji_kz();break;        //舵機         C
  216.          case 8: bizhang(); break;        //避障        D
  217.          
  218.    /*case 1:duoji_kz();qianjin(); break;                                                     
  219.      case 2:duoji_kz(); houtui();break;                                                                             
  220.      case 3:zuozhuan(); break;
  221.      case 4:youzhuan();break;  
  222.          case 0:tingzhi(); break;  */
  223.    }
  224. }
  225. void tiaosu () //調速
  226. {
  227.         switch(sudu)
  228.         {
  229.                 case 5: w=40;        break;         //A
  230.                 case 6: w=75; break;         //B               
  231.         }
  232. }
  233. void main()
  234. {
  235.    init();         
  236.    while(1)
  237.    {
  238. //        xianshi( num ); //顯示函數  
  239.         ctrl();
  240.         tiaosu();  
  241.    }
  242. }
  243. void time0() interrupt 1
  244. {  
  245.     TH0=0xfd;
  246.     TL0=0xae;
  247.          tt++;
  248.         pwm_lefr++;
  249. //        pwm_lefr1++;
  250.         pwmmaic();
  251.         if(tt<w)
  252.         {
  253.                 ina=1;
  254.                 inb=1;
  255.         }
  256.         else
  257.         {
  258.                 ina=0;
  259.                 inb=0;
  260.         }
  261.         if(tt==100)
  262.         {tt=0;
  263.         
  264.         num++;
  265.         if(num==9999)num=0;        
  266.         }
  267. }
  268. void ckzd() interrupt 4
  269. {
  270.         ES=0;
  271.         RI=0;
  272.         tmp=SBUF;
  273.         sudu=SBUF;
  274.         ES=1;
  275. }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线精品一区二区三区 | 日韩一区二区三区视频 | 久久婷婷国产麻豆91 | 一区二区国产精品 | 久久精品久久久久久 | 日韩精品免费看 | 亚洲一区黄色 | 国产 亚洲 网红 主播 | 国产欧美一级二级三级在线视频 | 99精品国产一区二区三区 | 久久九精品 | 日韩成年人视频在线 | 波多野结衣先锋影音 | 成年男女免费视频网站 | 日韩一区二区三区视频 | 国产成人精品在线 | 九九综合| 成人一级黄色毛片 | 97国产在线视频 | 欧美国产日本一区 | 东方伊人免费在线观看 | 先锋资源站 | 91传媒在线观看 | 9久9久9久女女女九九九一九 | 欧美精品一区三区 | 一区二区三区成人 | 欧美xxxx黑人又粗又长 | 婷婷色国产偷v国产偷v小说 | 欧美一区二区三区四区视频 | 日日摸夜夜爽人人添av | 精品福利在线 | 日韩国产中文字幕 | 亚洲一区播放 | 国产精品不卡一区 | 伊人久操 | 91麻豆精品国产91久久久资源速度 | 天天综合天天 | 亚洲性视频在线 | 中文字幕亚洲视频 | 国产成人免费视频网站高清观看视频 | 日本黄视频在线观看 |