欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 基于51單片機的控制四線步進電機仿真設計 [打印本頁]

作者: times_love    時間: 2022-1-16 23:00
標題: 基于51單片機的控制四線步進電機仿真設計
一、硬件設計
硬件使用了51單片機,L297和L298。

CW/CWW是控制電機方向,高電平正轉,低電平反轉。

CLOCK是時鐘信號,給一個脈沖,便會有一個步進。

HALF/FULL是選擇一次半步進還是全步進。假如電機步進一次90°,那么半步進就是45°。



二、軟件設計
使用定時器來進行精確的定時,然后在定時器中斷中改變步進電機狀態。
  1. #include <reg52.h>
  2. #include "main.h"

  3. sbit DIR1 = P1^0;
  4. sbit CLK1 = P1^1;

  5. #define CW   0
  6. #define CCW  1
  7. #define STOP 2

  8. u8 motorState = 0;

  9. void Timer0Init(void)                //5毫秒@12.000MHz
  10. {        
  11.         TMOD = 0x01;                //設置定時器模式
  12.         TL0  = 0x78;                //設置定時初始值
  13.         TH0  = 0xEC;                //設置定時初始值
  14.         TF0  = 0;                    //清除TF0標志
  15.         TR0  = 1;                    //定時器0開始計時
  16.         ET0  = 1;
  17.         EA   = 1;
  18. }

  19. void main()
  20. {
  21.         Timer0Init();
  22.         motorState = CCW;        
  23.         while(1)
  24.         {
  25.         }
  26. }

  27. void Timer0() interrupt 1
  28. {
  29.         static int counts = 0;
  30.         TL0 = 0x78;                    //設置定時初始值
  31.         TH0 = 0xEC;                    //設置定時初始值
  32.         counts++;
  33.         if(counts>10)//每隔10*5*2ms電機轉動一個步距
  34.         {
  35.                 if(motorState == CW)
  36.                 {
  37.                         DIR1 = 1;
  38.                         CLK1 = !CLK1;
  39.                 }else if(motorState == CCW)
  40.                 {
  41.                         DIR1 = 0;
  42.                         CLK1 = !CLK1;
  43.                 }else
  44.                 {
  45.                         CLK1=0;
  46.                 }
  47.                 counts=0;
  48.         }
  49. }
復制代碼

若有收獲,就點個贊吧



作者: 96311    時間: 2022-1-22 20:52
有創意,我就要這種資料
作者: 3花木城    時間: 2022-2-26 09:50
你好,我的步進電機也是4線,不知道能不能也按你的方案
作者: IdeaMing    時間: 2022-2-26 10:04
怎么研究細分




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1