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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機的4個引腳輸入控制的電機驅動板測試源程序

[復制鏈接]
跳轉到指定樓層
樓主
,需要的參考一下


所有資料51hei提供下載:

L298N(NEW).rar (5.11 MB, 下載次數: 12)



單片機源程序如下:
  1. #include<reg52.h>
  2. unsigned int i=0;
  3. sbit P36=P3^6;

  4. sbit P10=P1^0;         //循跡口,單片機P10口接循跡板的Q0
  5. sbit P11=P1^1;   //單片機P11口接循跡板的Q1
  6. sbit P12=P1^2;   //單片機P12口接循跡板的Q2

  7. sbit P14=P1^4;         //單片機控制電機口,單片機P14口接右側B57692那邊的A1
  8. sbit P15=P1^5;   //單片機P15口接右側B57692那邊的A2
  9. sbit P16=P1^6;        //單片機P16口接右側B57692那邊的B1          
  10. sbit P17=P1^7; //單片機P17口接右側B57692那邊的B2
  11.                //ENA和ENB短路冒不用拔它,如果想用單片機某個口去控制它也可以換成單片機控制,那才要拔掉,可以作為急停控制。
  12. unsigned char j,time;
  13. unsigned int kop,dr;
  14. unsigned char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  15. unsigned char c[4]={0xff,0xff,0xff,0xff},d[4];

  16. void delay(unsigned char z)          //延時子程序
  17. {
  18. unsigned char j;
  19. while(z--)
  20. for(j=123;j>0;j--);
  21. }

  22.    void main()
  23.   {       
  24.     TMOD=0x15;              // 打開定時器和計數器
  25.         TH0=0x00;
  26.         TL0=0x00;
  27.                    
  28.           TH1=0XFc;               //1ms
  29.         TL1=0X18;
  30.         EA = 1;
  31.     ET0=1;
  32.         ET1=1;
  33.     TR1 = 1;
  34.         TR0 = 1;

  35.    while(1)
  36.       {  
  37.               if(P10==0&&P11==0&&P12==0)
  38.              {
  39.                   TR0=0;                                  //顯示時間          停
  40.               P0=d[0];                  
  41.               P2=0XFE;
  42.               delay(1);
  43.               P0=d[3];                  
  44.               P2=0XFB;
  45.               delay(3);

  46.              P0=d[2];                                 //顯示測速                   停
  47.              P2=0XFD;
  48.              delay(3);
  49.              P0=d[3];               
  50.              P2=0XF7;
  51.              delay(3);
  52.              P14=1;P15=1;P16=1; P17=1;
  53.         }
  54.       }
  55.   }
  56.    void timer1() interrupt 3    //中斷 服務程序
  57. {
  58.    unsigned int qq=0,ww=0;
  59.    TH1=0XFc;
  60.    TL1=0X18;//1ms
  61.    i++;
  62.     switch(i%4)
  63.     {                       
  64.     case 0:P0=c[0],P2=0XFE;d[0]=c[0];break;
  65.     case 1:P0=c[1],P2=0XFD;d[1]=c[1];break;
  66.     case 2:P0=c[2],P2=0XFB;d[2]=c[2]; break;
  67.     case 3:P0=c[3],P2=0XF7;d[3]=c[3]; break;
  68.     default:break;
  69.     }                  
  70.     P14=1;P15=1;P16=1; P17=1;
  71.        
  72.         if(P10==0&&P11==0&&P12==0)                //全測到
  73.         dr=0;
  74.         if(P10==1&&P11==0&&P12==1)                //中間測到
  75.         dr=1;
  76.         if(P10==0&&P11==1&&P12==1)                 //左邊測到
  77.         dr=2;
  78.     if(P10==1&&P11==1&&P12==0)                 //右邊測到
  79.         dr=3;
  80.         if(P10==0&&P11==0&&P12==1)                 //左兩測到
  81.         dr=4;
  82.         if(P10==1&&P11==0&&P12==0)                 //右兩測到       
  83.         dr=5;
  84.    
  85.         switch(dr)
  86.          {
  87.      case 0:P14=1,P15=1,P16=1,P17=1,TR1=0;break;              //全測到     停
  88.           
  89.      case 1:P14=0,P15=1,P16=0,P17=1;break;              //直走
  90.          
  91.          case 2:P14=1,P15=1,P16=0,P17=1,ww=1;break;    //左拐
  92.           
  93.          case 3:P14=0,P15=1,P16=1,P17=1,qq=1;break;           //右拐
  94.           
  95.          case 4:P14=1,P15=0,P16=0,P17=1,ww=1;break;           //左兩測到   左拐

  96.          case 5:P14=0,P15=1,P16=1,P17=0,qq=1;break;           //右兩測到   右拐
  97.          }
  98.          /*跑出跑道外記憶 回到跑道內 */
  99.          if(dr==2&&ww==1||dr==4&&ww==1)                          //單邊或雙邊 測到跑出去
  100.             {
  101.                         qq=0;
  102.                          P14=1;P15=1;P16=0;P17=1;
  103.                 }
  104.           if(dr==3&&qq==1||dr==5&&qq==1)
  105.                 {
  106.                      ww=0;
  107.                   P14=0;P15=1;P16=1;P17=1;
  108.             }

  109.            if(i==1000) //1s
  110. ……………………

  111. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼



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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99久久久久久 | 91av视频| 久久久久久成人 | 天天爱天天操 | 日韩中文字幕视频 | 国产在线一区二区三区 | 99色在线视频 | 亚洲一二三在线 | 户外露出一区二区三区 | 欧美二区三区 | av中文字幕在线播放 | 97高清国语自产拍 | 羞羞的视频免费看 | 亚洲 自拍 另类 欧美 丝袜 | 久久亚洲一区二区三区四区 | 天堂久久久久久久 | 天堂色| 91一区二区三区 | 亚洲一区二区三区在线 | 伊人网综合在线观看 | 伊人影院99| 久久国产亚洲 | 国产精品呻吟久久av凹凸 | 欧美精品在线一区 | 日韩中文字幕一区二区三区 | 视频在线观看一区 | 亚洲精品久久 | 精品视频一区二区 | 国产日韩久久 | 成人区精品一区二区婷婷 | 亚洲一区精品在线 | av在线天堂网| 国产欧美一区二区三区久久人妖 | av在线免费不卡 | 久久精片 | 粉嫩av在线 | 四虎在线观看 | 精品视频 免费 | 精品国产一区二区三区性色av | 亚洲欧美日本国产 | 国产精品视频久久久久 |