找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1806|回復(fù): 0
收起左側(cè)

89c52單片機(jī)超聲波紅外避障程序 兩輪加萬向輪小車

[復(fù)制鏈接]
ID:612798 發(fā)表于 2019-10-30 10:33 | 顯示全部樓層 |閱讀模式
兩輪加萬向輪小車 超聲波避障,紅外尋跡

單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include<intrins.h>

  3. sbit INFRARED_RAY_RIGHT = P1^2;
  4. sbit INFRARED_RAY_LEFT = P1^3;
  5. sbit TRIG = P1^0;
  6. sbit ECHO = P1^1;

  7. unsigned char HighRH = 0;
  8. unsigned char HighRL = 0;
  9. unsigned char LowRH = 0;
  10. unsigned char LowRL = 0;

  11. void SupersonicWave();

  12. void main(){

  13.         unsigned int Time;
  14.         double Distance;
  15.         TRIG = 0;
  16.         ECHO = 0;
  17.         EA = 1;
  18.         TMOD = 0x11;
  19.         P0=0x05;
  20.         while( 1 ){               
  21. //                SupersonicWave();
  22. //                Time = TH1 * 256 + TL1;                       
  23. //                Distance = Time * 0.017;                //????,???CM
  24. //                if( Distance < 20 ){
  25. //                        P0 = 0x00;
  26. //                }else{
  27.                         if( INFRARED_RAY_LEFT ==0&& INFRARED_RAY_RIGHT==1 ){                        //???????,??????,????
  28.                                 P0 = 0x01;                                                                                                   
  29.                         }else if( INFRARED_RAY_LEFT==1 && INFRARED_RAY_RIGHT==0 ){        //???????,??????,????
  30.                                 P0 = 0x04;
  31.                         }else{                                                                                                        //??????????????,?????
  32.                                 P0 = 0x05;
  33.                         }
  34.                         
  35. //                }                 
  36.         }        
  37. }



  38. void SupersonicWave(){
  39.         
  40.         TH1 = 0x00;
  41.         TL1 = 0x00;
  42.         ET1 = 0;                                                                                //?????1??

  43.     TRIG = 1;
  44.     _nop_();_nop_();_nop_();_nop_();_nop_();                  //??10us
  45.         _nop_();_nop_();_nop_();_nop_();_nop_();
  46.         TRIG = 0;
  47.         while ( ECHO == 0 );                                                           //??EHCO?????

  48.         TR1 = 1;                                                                                //??T1

  49.         while ( ECHO == 1 );
  50.         TR1 = 0;                                                        //??T1
  51. }
復(fù)制代碼

所有資料51hei提供下載:
紅外超聲波.zip (100 KB, 下載次數(shù): 18)


回復(fù)

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表