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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

帶霍爾傳感器的直流電機(jī)的c1和c2接51單片機(jī)開發(fā)板那幾個接口

查看數(shù): 2461 | 評論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2022-10-25 13:00

正文摘要:

用什么程序控制,求教大佬說一下

回復(fù)

ID:94031 發(fā)表于 2022-10-26 15:29
高級單片機(jī)有直接讀編碼器信號硬件,直接能讀出電機(jī)轉(zhuǎn)向及轉(zhuǎn)速,51只能通過中斷口數(shù)脈沖測轉(zhuǎn)速,C1或C2接51單片機(jī)中斷口P32或P33.
ID:384109 發(fā)表于 2022-10-26 15:03
代碼里沒有使用編碼器的輸出
ID:844772 發(fā)表于 2022-10-26 14:55
程序不是給這種電機(jī)用的吧
ID:123289 發(fā)表于 2022-10-26 10:12
建議先讀通設(shè)備手冊,了解清除控制的邏輯關(guān)系。
ID:401564 發(fā)表于 2022-10-25 20:38
bouligand 發(fā)表于 2022-10-25 14:42
在程序中,怎么看啊,小白一個

小白做不了這個,先把自己變成小黑再做這個,實在不行就改行吧
你代碼的8-11行,就那么幾個端口,如果是我,我每個都試一下,這不就有結(jié)果了嗎?
如果代碼中并沒有這個功能,你覺得這是我一兩句話就能解決得了嗎?
ID:25310 發(fā)表于 2022-10-25 15:11
一般接兩個中斷口;或一個中斷口,一個普通IO口。高級用法是A ,B 接到編碼器引腳。
ID:1045221 發(fā)表于 2022-10-25 14:42
Y_G_G 發(fā)表于 2022-10-25 14:37
這就是相當(dāng)于EC11編碼器
接哪里取決于你程序的AB兩相讀取端口設(shè)置在哪個端口

在程序中,怎么看啊,小白一個
ID:1045221 發(fā)表于 2022-10-25 14:41
Y_G_G 發(fā)表于 2022-10-25 14:37
這就是相當(dāng)于EC11編碼器
接哪里取決于你程序的AB兩相讀取端口設(shè)置在哪個端口
  1. #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
  2. #include<stdio.h>
  3. #include"delay.h"
  4. #include"LCD1602.h"


  5. sbit DCOUT = P1^2;//定義電機(jī)信號輸出端口
  6. sbit key1=P3^5;           //正轉(zhuǎn)
  7. sbit key2=P3^4;           //反轉(zhuǎn)
  8. sbit key3=P3^3;           //加速
  9. sbit key4=P3^2;           //減速
  10. sbit m=P1^0;
  11. sbit n=P1^1;
  12. /*------------------------------------------------
  13.                   全局變量
  14. ------------------------------------------------*/
  15. unsigned char PWM_ON,S;   //定義速度等級
  16. #define CYCLE 12        //周期


  17. /*------------------------------------------------
  18.                   函數(shù)聲明
  19. ------------------------------------------------*/

  20. void Init_Timer0(void);//定時器初始化

  21. /*------------------------------------------------
  22.                     主函數(shù)
  23. ------------------------------------------------*/
  24. void main (void)
  25. {  
  26. int S=0;
  27. char displaytemp[16];//定義顯示區(qū)域臨時存儲數(shù)組               
  28. PWM_ON=0;
  29. LCD_Init();         //初始化液晶屏
  30. Init_Timer0();    //初始化定時器0
  31. LCD_Write_String(2,1,"V:");           //正轉(zhuǎn)

  32. while (1)         //主循環(huán)
  33.   {

  34.    if(key3==0)//第三個按鍵,速度等級增加
  35.       {
  36.           DelayMs(10);
  37.           if(key3==0)
  38.             {
  39.                if(PWM_ON<CYCLE)
  40.                  PWM_ON++;
  41.                          S++;
  42.                          if(S>=12)S=12;
  43.             }
  44.                 while(!key3);
  45.           }       
  46.    else if(key4==0)//第四個按鍵,速度等級減小
  47.           {
  48.                  DelayMs(10);
  49.                  if(key4==0)
  50.                    {
  51.                      if(PWM_ON>0)
  52.                         PWM_ON--;
  53.                                         S--;
  54.                                         if(S<=0)S=0;
  55.                    }
  56.                         while(!key4);
  57.               }
  58.         if(key1==0)//第一個按鍵,正轉(zhuǎn)
  59.       {
  60.           DelayMs(10);
  61.           if(key1==0)
  62.             {
  63.                m=1;n=0;
  64.                    LCD_Write_String(0,0,"T");           //正轉(zhuǎn)
  65.             }
  66.                 while(!key1);
  67.           }       
  68.    else if(key2==0)//第二個按鍵,反轉(zhuǎn)
  69.           {
  70.                  DelayMs(10);
  71.                  if(key2==0)
  72.                    {
  73.                      m=0;n=1;
  74.                                  LCD_Write_String(0,0,"N");           //正轉(zhuǎn)
  75.                    }
  76.                         while(!key2);
  77.               }                 
  78.         sprintf(displaytemp,"%3d",S);
  79.     LCD_Write_String(4,1,displaytemp);//顯示第二行       

  80.   }
  81. }

  82. /*------------------------------------------------
  83.                     定時器初始化子程序
  84. ------------------------------------------------*/
  85. void Init_Timer0(void)
  86. {
  87. TMOD |= 0x01;          //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響                     
  88. //TH0=0x00;              //給定初值
  89. //TL0=0x00;
  90. EA=1;            //總中斷打開
  91. ET0=1;           //定時器中斷打開
  92. TR0=1;           //定時器開關(guān)打開
  93. }
  94. /*------------------------------------------------
  95.                  定時器中斷子程序
  96. ------------------------------------------------*/
  97. void Timer0_isr(void) interrupt 1
  98. {
  99. static unsigned char count;
  100. TH0=(65536-2000)/256;                  //重新賦值 2ms
  101. TL0=(65536-2000)%256;

  102. if (count==PWM_ON)
  103.     {
  104.      DCOUT = 0;               //如果定時等于on的時間,
  105.                          //說明作用時間結(jié)束,輸出低電平
  106.     }
  107.   count++;
  108. if(count == CYCLE)       //反之低電平時間結(jié)束后返回高電平
  109.     {
  110.     count=0;
  111.         if(PWM_ON!=0)    //如果開啟時間是0 保持原來狀態(tài)
  112.            DCOUT = 1;      
  113.     }
  114. }
復(fù)制代碼
ID:401564 發(fā)表于 2022-10-25 14:37
這就是相當(dāng)于EC11編碼器
接哪里取決于你程序的AB兩相讀取端口設(shè)置在哪個端口

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线播放 | 国产99热精品 | 高清黄色毛片 | 久久久久久久久久久久91 | 99精品欧美一区二区三区综合在线 | 婷婷国产一区 | 99国内精品久久久久久久 | 欧美黄色免费网站 | a免费观看| 免费小视频在线观看 | 在线国产一区二区 | 久久久久国产 | 国产xxxx岁13xxxxhd | 欧美日韩高清一区 | 亚洲永久| 亚洲欧美一区二区三区国产精品 | 午夜影晥 | 黄色一级大片在线免费看产 | 日韩欧美亚洲 | 亚洲激情视频在线 | 99精品国自产在线 | 人人草人人干 | 美女一区二区在线观看 | 久久久毛片 | 欧美在线一区二区三区 | 在线观看中文字幕亚洲 | 欧美激情亚洲 | 欧美国产日韩在线 | 免费高清成人 | 欧美综合久久久 | www.47久久青青 | 亚洲三区在线观看 | 在线免费黄色 | 久久久国产精品 | 欧美一区二区三区在线观看视频 | 国产免费色 | 一区二区三区中文字幕 | 欧美激情a∨在线视频播放 成人免费共享视频 | 9191成人精品久久 | 亚洲成人蜜桃 | 久久久久久久久久久久久9999 |