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

立即注冊 登錄
返回首頁

uid:234961的個人空間

日志

誰能看的懂啊

已有 830 次閱讀2017-9-22 19:58 | 誰會遙控飛機啊

  1. #include<AT89x51.H>

  2.         //HL-1小車驅動接線定義
  3.     #define Left_moto_go      {P1_2=0,P1_3=1;}    //左邊電機向前走
  4.         #define Left_moto_back    {P1_2=1,P1_3=0;}    //左邊電機向后轉
  5.         #define Left_moto_Stop    {P1_2=0,P1_3=0;}    //左邊電機停轉                     
  6.         #define Right_moto_go     {P1_6=1,P1_7=0;}        //右邊電機向前走
  7.         #define Right_moto_back   {P1_6=0,P1_7=1;}        //右邊電機向后走
  8.         #define Right_moto_Stop   {P1_6=0,P1_7=0;}        //右邊電機停轉   

  9.         #define left     'C'
  10.     #define right    'D'
  11.         #define up       'A'
  12.     #define down     'B'
  13.         #define stop     'F'

  14.         char code str[] =  "收到指令,向前!\n";
  15.         char code str1[] = "收到指令,向后!\n";
  16.         char code str2[] = "收到指令,向左!\n";
  17.         char code str3[] = "收到指令,向右!\n";
  18.         char code str4[] = "收到指令,停止!\n";

  19.         bit  flag_REC=0; 
  20.         bit  flag    =0;  
  21.         

  22.         unsigned char  i=0;
  23.         unsigned char  dat=0;
  24.     unsigned char  buff[5]=0; //接收緩沖字節


  25.    
  26. /************************************************************************/        
  27. //延時函數        
  28.    void delay(unsigned int k)
  29. {    
  30.      unsigned int x,y;
  31.          for(x=0;x<k;x++) 
  32.            for(y=0;y<2000;y++);
  33. }

  34. /************************************************************************/
  35. //字符串發送函數
  36.           void send_str( )
  37.                    // 傳送字串
  38.     {
  39.             unsigned char i = 0;
  40.             while(str[i] != '\0')
  41.            {
  42.                 SBUF = str[i];
  43.                 while(!TI);                                // 等特數據傳送
  44.                 TI = 0;                                        // 清除數據傳送標志
  45.                 i++;                                        // 下一個字符
  46.            }        
  47.     }
  48.         
  49.                   void send_str1( )
  50.                    // 傳送字串
  51.     {
  52.             unsigned char i = 0;
  53.             while(str1[i] != '\0')
  54.            {
  55.                 SBUF = str1[i];
  56.                 while(!TI);                                // 等特數據傳送
  57.                 TI = 0;                                        // 清除數據傳送標志
  58.                 i++;                                        // 下一個字符
  59.            }        
  60.     }        

  61.                           void send_str2( )
  62.                    // 傳送字串
  63.     {
  64.             unsigned char i = 0;
  65.             while(str2[i] != '\0')
  66.            {
  67.                 SBUF = str2[i];
  68.                 while(!TI);                                // 等特數據傳送
  69.                 TI = 0;                                        // 清除數據傳送標志
  70.                 i++;                                        // 下一個字符
  71.            }        
  72.     }        
  73.                     
  74.                           void send_str3()
  75.                    // 傳送字串
  76.     {
  77.             unsigned char i = 0;
  78.             while(str3[i] != '\0')
  79.            {
  80.                 SBUF = str3[i];
  81.                 while(!TI);                                // 等特數據傳送
  82.                 TI = 0;                                        // 清除數據傳送標志
  83.                 i++;                                        // 下一個字符
  84.            }        
  85.     }        

  86.               void send_str4()
  87.                    // 傳送字串
  88.     {
  89.             unsigned char i = 0;
  90.             while(str4[i] != '\0')
  91.            {
  92.                 SBUF = str4[i];
  93.                 while(!TI);                                // 等特數據傳送
  94.                 TI = 0;                                        // 清除數據傳送標志
  95.                 i++;                                        // 下一個字符
  96.            }        
  97.     }        
  98.                     
  99.                     
  100. /************************************************************************/
  101. //前速前進
  102.      void  run(void)
  103. {
  104.     
  105.          Left_moto_go ;   //左電機往前走
  106.          Right_moto_go ;  //右電機往前走
  107. }

  108. //前速后退
  109.      void  backrun(void)
  110. {
  111.     
  112.          Left_moto_back ;   //左電機往前走
  113.          Right_moto_back ;  //右電機往前走
  114. }

  115. //左轉
  116.      void  leftrun(void)
  117. {
  118.     
  119.          Left_moto_back ;   //左電機往前走
  120.          Right_moto_go ;  //右電機往前走
  121. }

  122. //右轉
  123.      void  rightrun(void)
  124. {
  125.     
  126.          Left_moto_go ;   //左電機往前走
  127.          Right_moto_back ;  //右電機往前走
  128. }
  129. //STOP
  130.      void  stoprun(void)
  131. {
  132.     
  133.          Left_moto_Stop ;   //左電機往前走
  134.          Right_moto_Stop ;  //右電機往前走
  135. }
  136. /************************************************************************/
  137. void sint() interrupt 4          //中斷接收3個字節


  138.     if(RI)                         //是否接收中斷
  139.     {
  140.        RI=0;
  141.        dat=SBUF;
  142.        if(dat=='O'&&(i==0)) //接收數據第一幀
  143.          {
  144.             buff[i]=dat;
  145.             flag=1;        //開始接收數據
  146.          }
  147.        else
  148.       if(flag==1)
  149.      {
  150.       i++;
  151.       buff[i]=dat;
  152.       if(i>=2)
  153.       {i=0;flag=0;flag_REC=1 ;}  // 停止接收
  154.      }
  155.          }
  156. }
  157. /*********************************************************************/                 
  158. /*--主函數--*/
  159.         void main(void)
  160. {
  161.         TMOD=0x20;  
  162.     TH1=0xFd;                     //11.0592M晶振,9600波特率
  163.     TL1=0xFd;
  164.     SCON=0x50;  
  165.     PCON=0x00; 
  166.     TR1=1;
  167.         ES=1;   
  168.     EA=1;   
  169.           
  170.         while(1)                                                        /*無限循環*/
  171.         { 
  172.           if(flag_REC==1)                                    //
  173.            {
  174.                 flag_REC=0;
  175.                 if(buff[0]=='O'&&buff[1]=='N')        //第一個字節為O,第二個字節為N,第三個字節為控制碼
  176.                 switch(buff[2])
  177.              {
  178.                       case up :                                                    // 前進
  179.                           send_str( );
  180.                           run();
  181.                           break;
  182.                       case down:                                                // 后退
  183.                            send_str1( );
  184.                           backrun();
  185.                           break;
  186.                       case left:                                                // 左轉
  187.                            send_str3( );
  188.                           leftrun();
  189.                           break;
  190.                       case right:                                                // 右轉
  191.                           send_str2( );
  192.                           rightrun();
  193.                           break;
  194.                       case stop:                                                // 停止
  195.                            

路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

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

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 成人三级在线播放 | 91视频在线| 日韩成人精品一区二区三区 | 国产一区二区三区四区 | 国产成人精品一区二区三区四区 | 国产成人精品免高潮在线观看 | 精品成人佐山爱一区二区 | 亚洲欧洲精品一区 | 久久精品一二三影院 | 欧美二区乱c黑人 | 亚洲综合视频 | 色姑娘综合网 | 日本不卡免费新一二三区 | 国产日韩欧美一区 | 成人久久18免费网站麻豆 | 日本淫视频 | 日韩在线免费视频 | www.youjizz.com日韩 | 一本色道精品久久一区二区三区 | 国产精品久久久久久久久久久久久 | 一区二区三区欧美 | 成人午夜av| 欧美日韩国产一区二区 | 国产激情偷乱视频一区二区三区 | 免费网站在线 | 中文一区 | 高清国产一区二区 | 亚洲欧美日韩在线 | 超碰在线亚洲 | 国产精品日韩欧美一区二区三区 | 国产不卡一区在线观看 | 亚洲成人免费视频在线观看 | 91极品尤物在线播放国产 | 在线看91| 国产精品久久久久久久久免费丝袜 | 亚洲一区二区三区视频在线 | 欧美性生交大片免费 | 久久久精品网站 | 91香蕉嫩草 | 中文字幕日韩一区 | 日本在线综合 |