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

立即注冊 登錄
返回首頁

uid:193705的個人空間

日志

以后備用

已有 849 次閱讀2017-4-26 09:15

  1. #include<reg52.h>//聲明頭文件
  2. #define uchar unsigned char//宏定義
  3. #define uint unsigned int//宏定義
  4. #define aa 35//左輪速度調節值
  5. #define bb 35//右輪速度調節值

  6. sbit deng=P2^0;//前車燈
  7. sbit y=P2^1;//右轉向燈
  8. sbit z=P2^2;//左轉向燈
  9. sbit BEEP=P2^3;//蜂鳴器

  10. sbit you1=P0^3;//右輪正轉信號端
  11. sbit you2=P0^2;//右輪倒轉信號端
  12. sbit zuo1=P0^1;//左輪正轉信號端
  13. sbit zuo2=P0^0;//左輪倒轉信號端

  14. uchar a=0;//定義一個變量a,用來讀取串口的數據

  15. void delay(uint z)//一個帶參數的延時程序
  16. {
  17.         int i,j;//定義兩個變量
  18.         for(i=10;i>0;i--)
  19.         for(j=z;j>0;j--);//將參數z賦值給j
  20. }

  21. void init()//初始化子程序
  22. {
  23.         TMOD=0x20;//設置定時器T1為工作方式2
  24.         TH1=0xfd;
  25.         TL1=0xfd;//T1定時器裝初值
  26.         TR1=1;//啟動定時器T1
  27.         REN=1;//允許串口接收
  28.         SM0=0;
  29.         SM1=1;//設置串口工作方式1
  30.         EA=1;//開總中斷
  31.         ES=1;//開串口中斷
  32. }

  33. void go1()//前進子程序
  34. {
  35.         zuo1=1;
  36.         zuo2=0;//左邊輪子正轉
  37.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  38.         zuo2=1;//關閉左邊輪子

  39.         you1=1;
  40.         you2=0;        //右邊輪子正轉
  41.         delay(bb);//pwm有用值,越大右邊的輪子越快
  42.         you2=1;//關閉右邊輪子

  43.         delay(100);//pwm無用值,越大,小車跑的越慢
  44.         z=1;
  45.         y=1;//關閉轉向燈
  46. }

  47. void go2()//前進子程序
  48. {
  49.         zuo1=1;
  50.         zuo2=0;//左邊輪子正轉
  51.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  52.         zuo2=1;//關閉左邊輪子

  53.         you1=1;
  54.         you2=0;        //右邊輪子正轉
  55.         delay(bb);//pwm有用值,越大右邊的輪子越快
  56.         you2=1;//關閉右邊輪子

  57.         delay(80);//pwm無用值,越大,小車跑的越慢
  58.         z=1;
  59.         y=1;//關閉轉向燈
  60. }

  61. void go3()//前進子程序
  62. {
  63.         zuo1=1;
  64.         zuo2=0;//左邊輪子正轉
  65.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  66.         zuo2=1;//關閉左邊輪子

  67.         you1=1;
  68.         you2=0;        //右邊輪子正轉
  69.         delay(bb);//pwm有用值,越大右邊的輪子越快
  70.         you2=1;//關閉右邊輪子

  71.         delay(60);//pwm無用值,越大,小車跑的越慢
  72.         z=1;
  73.         y=1;//關閉轉向燈
  74. }

  75. void go4()//前進子程序
  76. {
  77.         zuo1=1;
  78.         zuo2=0;//左邊輪子正轉
  79.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  80.         zuo2=1;//關閉左邊輪子

  81.         you1=1;
  82.         you2=0;        //右邊輪子正轉
  83.         delay(bb);//pwm有用值,越大右邊的輪子越快
  84.         you2=1;//關閉右邊輪子

  85.         delay(40);//pwm無用值,越大,小車跑的越慢
  86.         z=1;
  87.         y=1;//關閉轉向燈
  88. }

  89. void go5()//前進子程序
  90. {
  91.         zuo1=1;
  92.         zuo2=0;//左邊輪子正轉
  93.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  94.         zuo2=1;//關閉左邊輪子

  95.         you1=1;
  96.         you2=0;        //右邊輪子正轉
  97.         delay(bb);//pwm有用值,越大右邊的輪子越快
  98.         you2=1;//關閉右邊輪子

  99.         delay(20);//pwm無用值,越大,小車跑的越慢
  100.         z=1;
  101.         y=1;//關閉轉向燈
  102. }

  103. void go6()//前進子程序
  104. {
  105.         zuo1=1;
  106.         zuo2=0;//左邊輪子正轉
  107.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  108.         zuo2=1;//關閉左邊輪子

  109.         you1=1;
  110.         you2=0;        //右邊輪子正轉
  111.         delay(bb);//pwm有用值,越大右邊的輪子越快
  112.         you2=1;//關閉右邊輪子

  113.         z=1;
  114.         y=1;//關閉轉向燈
  115. }

  116. void hui1()//小車后退的子程序
  117. {
  118.         zuo1=0;
  119.         zuo2=1;//左邊輪子倒轉
  120.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  121.         zuo1=1;//關閉左邊輪子

  122.         you1=0;
  123.         you2=1;        //右邊輪子倒轉
  124.         delay(bb);//pwm有用值,越大右邊的輪子越快
  125.         you1=1;//關閉右邊輪子

  126.         delay(100);//pwm無用值,越大,小車跑的越慢
  127.         z=1;
  128.         y=1;//關閉轉向燈
  129. }

  130. void hui2()//小車后退的子程序
  131. {
  132.         zuo1=0;
  133.         zuo2=1;//左邊輪子倒轉
  134.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  135.         zuo1=1;//關閉左邊輪子

  136.         you1=0;
  137.         you2=1;        //右邊輪子倒轉
  138.         delay(bb);//pwm有用值,越大右邊的輪子越快
  139.         you1=1;//關閉右邊輪子

  140.         delay(80);//pwm無用值,越大,小車跑的越慢
  141.         z=1;
  142.         y=1;//關閉轉向燈
  143. }

  144. void hui3()//小車后退的子程序
  145. {
  146.         zuo1=0;
  147.         zuo2=1;//左邊輪子倒轉
  148.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  149.         zuo1=1;//關閉左邊輪子

  150.         you1=0;
  151.         you2=1;        //右邊輪子倒轉
  152.         delay(bb);//pwm有用值,越大右邊的輪子越快
  153.         you1=1;//關閉右邊輪子

  154.         delay(60);//pwm無用值,越大,小車跑的越慢
  155.         z=1;
  156.         y=1;//關閉轉向燈
  157. }

  158. void hui4()//小車后退的子程序
  159. {
  160.         zuo1=0;
  161.         zuo2=1;//左邊輪子倒轉
  162.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  163.         zuo1=1;//關閉左邊輪子

  164.         you1=0;
  165.         you2=1;        //右邊輪子倒轉
  166.         delay(bb);//pwm有用值,越大右邊的輪子越快
  167.         you1=1;//關閉右邊輪子

  168.         delay(40);//pwm無用值,越大,小車跑的越慢
  169.         z=1;
  170.         y=1;//關閉轉向燈
  171. }
  172. void hui5()//小車后退的子程序
  173. {
  174.         zuo1=0;
  175.         zuo2=1;//左邊輪子倒轉
  176.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  177.         zuo1=1;//關閉左邊輪子

  178.         you1=0;
  179.         you2=1;        //右邊輪子倒轉
  180.         delay(bb);//pwm有用值,越大右邊的輪子越快
  181.         you1=1;//關閉右邊輪子

  182.         delay(20);//pwm無用值,越大,小車跑的越慢
  183.         z=1;
  184.         y=1;//關閉轉向燈
  185. }
  186. void hui6()//小車后退的子程序
  187. {
  188.         zuo1=0;
  189.         zuo2=1;//左邊輪子倒轉
  190.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  191.         zuo1=1;//關閉左邊輪子

  192.         you1=0;
  193.         you2=1;        //右邊輪子倒轉
  194.         delay(bb);//pwm有用值,越大右邊的輪子越快
  195.         you1=1;//關閉右邊輪子

  196.         z=1;
  197.         y=1;//關閉轉向燈
  198. }

  199. void turnleft()//小車左轉彎子程序
  200. {
  201.         
  202.         z=~z;//左轉向燈打開

  203.         zuo1=1;
  204.         zuo2=1;//左邊輪子停止轉動
  205.         you1=1;
  206.         you2=0;        //右邊輪子正轉
  207.         delay(bb);//pwm有用值,越大右邊的輪子越快
  208.         you2=1;//右邊輪子停止
  209.         delay(50);//pwm無用值,越大,小車跑的越慢
  210.         
  211.         z=1;
  212.         y=1;//關閉轉向燈
  213. }

  214. void turnright()//小車右轉彎子程序
  215. {
  216.         y=~y;//右轉向燈打開

  217.         zuo1=1;
  218.         zuo2=0;//左邊輪子正轉
  219.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  220.         zuo2=1;//左邊輪子停止

  221.         you1=1;
  222.         you2=1;        //右邊輪子停止
  223.         delay(50);//pwm無用值,越大,小車跑的越慢
  224.         z=1;
  225.         y=1;//關閉轉向燈
  226.         
  227. }
  228. void down()//停止子程序
  229. {
  230.         zuo1=1;
  231.         zuo2=1;
  232.         you1=1;
  233.         you2=1;        //左右輪全部停止
  234.         z=1;
  235.         y=1;//關閉轉向燈
  236. }

  237. void main()//主程序
  238. {
  239.         init();//調用初始化子程序
  240.         while(1)//死循環
  241.         {
  242.                     if(a==0x14||a==0x15||a==0x54||a==0x55||a==0x64||a==0x65)//如果是就前進
  243.                         go1();
  244.                         if(a==0x16||a==0x17||a==0x56||a==0x57||a==0x66||a==0x67)//如果是就前進
  245.                         go2();
  246.                         if(a==0x18||a==0x19||a==0x58||a==0x59||a==0x68||a==0x69)//如果是就前進
  247.                         go3();
  248.                         if(a==0x1a||a==0x1b||a==0x5a||a==0x5b||a==0x6a||a==0x6b)//如果是就前進
  249.                         go4();
  250.                         if(a==0x1c||a==0x1d||a==0x5c||a==0x5d||a==0x6c||a==0x6d)//如果是就前進
  251.                         go5();
  252.                         if(a==0x1e||a==0x1f||a==0x5e||a==0x5f||a==0x6e||a==0x6f)//如果是就前進
  253.                         go6();

  254.                     if(a==0x24||a==0x25||a==0x74||a==0x75||a==0x84||a==0x85)//如果是就后退
  255.                         hui1();
  256.                         if(a==0x26||a==0x27||a==0x76||a==0x77||a==0x86||a==0x87)//如果是就后退
  257.                         hui2();
  258.                         if(a==0x28||a==0x29||a==0x78||a==0x79||a==0x88||a==0x89)//如果是就后退
  259.                         hui3();
  260.                         if(a==0x2a||a==0x2b||a==0x7a||a==0x7b||a==0x8a||a==0x8b)//如果是就后退
  261.                         hui4();
  262.                         if(a==0x2c||a==0x2d||a==0x7c||a==0x7d||a==0x8c||a==0x8d)//如果是就后退
  263.                         hui5();
  264.                         if(a==0x2e||a==0x2f||a==0x7e||a==0x7d||a==0x8e||a==0x8f)//如果是就后退
  265.                         hui6();

  266.                         if(a==0x3f)//如果是0x3f就左轉
  267.                         turnleft();
  268.                         if(a==0x4f)//如果是0x4f就右轉
  269.                         turnright();
  270.                         if(a==0x00)//如果是0x00就停止
  271.                         down();
  272.                         if(a==0xa0)//如果是0xa0車燈打開
  273.                         deng=0;
  274.                         if(a==0xb0)//如果是0xb0車燈關閉
  275.                         deng=1;
  276.                         if(a==0xc0)//如果是0xc0蜂鳴器鳴響
  277.                         BEEP=0;                        
  278.                         if(a==0xd0)//如果是0xd0蜂鳴器關
  279.                         BEEP=1;
  280.                         
  281.                         else
  282.                         down();
  283.                 }        
  284. }        

  285. void chuan() interrupt 4//串口中斷服務程序
  286. {
  287.         RI=0;//軟件清除串口響應
  288.         a=SBUF;//讀取單片機串口接受的藍牙模塊發送的數據
  289. }

路過

雞蛋

鮮花

握手

雷人

全部作者的其他最新日志

評論 (0 個評論)

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

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 羞羞在线视频 | 国产伦精品一区二区三区精品视频 | 国产一区二区三区高清 | 亚洲午夜精品一区二区三区他趣 | 国产精品久久久久免费 | 综合久久一区 | 91久久国产综合久久 | 久久久久久免费精品一区二区三区 | 亚洲一区二区三区在线播放 | 亚洲综合大片69999 | 国产美女一区二区 | 亚洲精品乱码 | 狠狠色狠狠色综合系列 | 亚洲精品一区二区三区蜜桃久 | 亚洲精品一区二区三区在线观看 | 色婷婷综合在线观看 | 在线观看免费av网站 | 中文在线一区二区 | 美女一区 | 欧美性乱| 日本免费在线 | 国产伦精品一区二区三区四区视频 | 国产午夜av片 | 激情婷婷| 国产精品国产a级 | 国产精品色综合 | 999re5这里只有精品 | 国产99精品 | 日韩在线高清 | 国产91在线 | 亚洲 | 精品日韩一区 | 久久久久久高潮国产精品视 | 亚洲日本欧美 | 欧美视频二区 | 亚洲精视频 | 亚洲三级在线 | 天天干人人 | 美女网站视频免费黄 | 亚洲高清视频一区二区 | 欧美影院 | 日韩精品一区二区三区中文在线 |