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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機滅火小車程序 根據L298n驅動,+風扇進行一路的感應滅火

[復制鏈接]
跳轉到指定樓層
樓主
ID:811102 發表于 2020-12-22 09:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<reg52.h>
  2. #include <intrins.h>

  3. /********IO引腳定義***********************************************************/
  4. sbit SPK=P3^7;                        //蜂鳴器驅動引腳

  5. sbit LED1=P0^0;                        //LED
  6. sbit LED2=P0^1;                        //

  7. sbit gy=P1^2;                        //光敏電阻 右
  8. sbit g0=P1^3;                        //         中
  9. sbit gz=P1^4;                        //         左

  10. sbit d1=P1^0;                        //對管 右  黑線高電平(==1)
  11. sbit d2=P1^1;                        //     左

  12. sbit a1=P2^0;                        //電機驅動
  13. sbit a2=P2^1;
  14. sbit b1=P2^2;
  15. sbit b2=P2^3;

  16. sbit f1=P2^4;                        //風扇驅動
  17. sbit f2=P2^5;                        //

  18. /************************************************
  19.              延時函數
  20. ************************************************/
  21. void DelayMs(unsigned int timer)   //參數 整型timer 大小范圍 0-65536,決定延時時間長短
  22. {
  23.         int x,y;
  24.         for(x=timer;x>0;x--)
  25.                 for(y=120;y>0;y--);
  26. }

  27. /************************************************
  28. 電機轉動函數定義
  29. ************************************************/

  30. /*** 前進 ***/
  31. void QianJin()
  32. {
  33.          a1=0;
  34.          a2=1;
  35.          b1=0;
  36.          b2=1;
  37. }
  38. /*** 后退***/
  39. void HaoDu()
  40. {
  41.          a1=1;
  42.          a2=0;
  43.          b1=1;
  44.          b2=0;
  45. }
  46. /*** 左轉 ***/
  47. void ZuoZhuan()
  48. {         
  49.          a1=1;
  50.          a2=0;
  51.          b1=0;
  52.          b2=1;
  53. }
  54. /*** 右轉 ***/  
  55. void YouZhuan()
  56. {
  57.         a1=0;
  58.         a2=1;
  59.         b1=1;
  60.         b2=0;  
  61. }
  62. /*** 停止 ***/
  63. void Stop()
  64. {  
  65.          a1=1;
  66.          a2=1;
  67.          b1=1;
  68.          b2=1;
  69. }

  70. /************************************************
  71.             風扇函數定義
  72. ************************************************/
  73. void Feng()
  74. {
  75.         f1=1;f2=0;
  76.         DelayMs(3000);//風扇轉3秒
  77.         f1=1;f2=1;
  78.         SPK=0;
  79.         DelayMs(1000);
  80.         SPK=1;
  81. }
  82. /************************************************
  83.            循跡子程序
  84. ************************************************/
  85. void xunjin()
  86. {
  87.                  Stop();
  88.                   LED1=1;LED2=1;
  89.                         while(d1==0&&d2==0)
  90.                         {
  91.                                         LED1=1;LED2=1;
  92.                                   QianJin();
  93.                         }
  94.                         
  95.                   while(d1==1&&d2==0)
  96.                         {   LED1=0;
  97.                                         YouZhuan();DelayMs(200);
  98.                         }
  99.                         
  100.                         while(d1==0&&d2==1)
  101.                         {   LED2=0;
  102.                                         ZuoZhuan();DelayMs(200);
  103.                         }        
  104.                         
  105.                         while(d1==1&&d2==1)
  106.                         {
  107.                                         Stop();LED1=1;LED2=1;
  108.                         }        
  109. }

  110. /*
  111. ******************************************************************************************
  112. ** 函數名稱: main
  113. ** 函數功能: 主函數
  114. ** 入口參數: 無
  115. ** 出口參數: 無
  116. ******************************************************************************************
  117. */
  118. void main()
  119. {        

  120.   while(1)
  121.         {  
  122.                
  123.                   Stop();
  124.                   LED1=1;LED2=1;
  125.                         while(d1==0&&d2==0)//兩個對管檢測到白紙前進
  126.                         {
  127.                                         LED1=1;LED2=1;
  128.                                   QianJin();
  129.                                  
  130.                                          /*如果右邊光敏檢測到光源右轉對準光源則前往光源執行滅火程序 */                                 
  131.                                         if(gy==0){
  132.                                                                                         while(g0==1)YouZhuan();DelayMs(50);
  133.                                                                                         QianJin();DelayMs(2000);//前進距離
  134.                                                                                         Stop();
  135.                                                           Feng();//如果滅燈模擬滅火則用while(g0==0){f1=1;f2=0;}f1=1;f2=1;SPK=0;DelayMs(1000);SPK=1;
  136.                                                                                         while(d1==0&&d2==0)HaoDu();
  137.                                                                                         QianJin();DelayMs(500);
  138.                                                                                         while(d1==0)ZuoZhuan();
  139.                                                                 while(1)xunjin();
  140.                                                                                  }
  141.                                          /*如果左邊光敏檢測到光源右轉對準光源則前往光源執行滅火程序 */                                 
  142.                                         if(gz==0){
  143.                                                                                         while(g0==1)ZuoZhuan();DelayMs(50);
  144.                                                                                         QianJin();DelayMs(2000);//前進距離
  145.                                                                                         Stop();
  146.                                                           Feng();//如果滅燈模擬滅火則用while(g0==0){f1=1;f2=0;}f1=1;f2=1;SPK=0;DelayMs(1000);SPK=1;
  147.                                                                                         while(d1==0&&d2==0)HaoDu();
  148.                                                                                         QianJin();DelayMs(500);
  149.                                                                                         while(d2==0)YouZhuan();
  150.                                                                 while(1)xunjin();
  151.                                                                                  }                                         
  152.                                                 
  153.                                                                                                          
  154.                         }
  155.                         
  156.                   while(d1==1&&d2==0)//右對管檢測到黑線右轉
  157.                         {   LED1=0;
  158.                                         YouZhuan();DelayMs(200);
  159.                         
  160.                         }
  161.                         
  162.                         while(d1==0&&d2==1)//左對管檢測到黑線左轉
  163.                         {                LED2=0;
  164.                                         ZuoZhuan();DelayMs(200);
  165.                         }        
  166.                         
  167.                         while(d1==1&&d2==1)//兩個對管檢測到黑線停止
  168.                         {
  169.                                         Stop();LED1=1;LED2=1;
  170.                         }        
  171.                         
  172.          }

  173.         
  174. }

復制代碼


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

使用道具 舉報

沙發
ID:1 發表于 2020-12-22 15:04 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人在线网站 | 成人午夜网站 | 日韩成人| 波多野结衣一区二区 | 日本a∨视频 | 国产一级视频在线 | 亚洲一区二区在线视频 | 国产成人一区二区三区久久久 | 日本人爽p大片免费看 | 一级在线免费观看 | 狠狠艹 | 婷婷色在线 | 高清欧美性猛交 | 欧美激情一区 | www国产成人 | 视频一二三区 | 国产精品揄拍一区二区 | 日韩视频一区在线观看 | 成人免费xxxxx在线视频 | 国产a区| 欧美 日韩 国产 一区 | 精品免费国产视频 | 超碰人人人 | 国偷自产av一区二区三区 | 91亚洲国产成人久久精品网站 | 有码一区 | 亚洲高清免费视频 | 国产在线一区二区三区 | 亚洲国产精久久久久久久 | 亚洲精品国产电影 | 午夜视频在线免费观看 | 亚洲精品免费看 | 中文字幕在线视频一区二区三区 | 91精品国产自产精品男人的天堂 | 久久激情视频 | 久草网在线视频 | 久久亚洲国产 | 亚洲一区欧美一区 | 日韩五月天 | 亚洲精品一级 | 一级黄色片免费在线观看 |