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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

步進電機不能反轉?附單片機程序電路

查看數: 2405 | 評論數: 6 | 收藏 2
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-11-23 11:18

正文摘要:

用Proteus仿真沒提示有問題,但步進電機只能順時針旋轉,請教各位了謝謝。仿真接線圖如下: 完整代碼如下: #include<reg52.h> sbit A1=P2^1; sbit B1=P2^2; sbit C1=P2^3; sbit D1=P2^4; #d ...

回復

ID:678280 發表于 2021-11-24 17:29
我笨,兩天了也沒弄明白。
ID:678280 發表于 2021-11-23 22:30
天ノ憶 發表于 2021-11-23 18:00
為什么不定義個數組用循環,一條一條寫不覺得很麻煩嗎

好主意,謝謝啦
ID:983939 發表于 2021-11-23 19:32
B B BC C CD D DA,而反向是A AD D DC C CB B BA,程序中未定義反向的相序
ID:139866 發表于 2021-11-23 18:00
為什么不定義個數組用循環,一條一條寫不覺得很麻煩嗎
  1. char A[] = {1, 1, 0, 0, 0, 0, 0, 1, 0};
  2. char B[] = {0, 1, 1, 1, 0, 0, 0, 0, 0};
  3. char C[] = {0, 0, 0, 1, 1, 1, 0, 0, 0};
  4. char D[] = {0, 0, 0, 0, 0, 1, 1, 1, 0};

  5. for(char i = 0; i < 8; i++){
  6.     A1=A[i];
  7.     B1=B[i];
  8.     C1=C[i];
  9.     D1=D[i];
  10.     delayms(speed);
  11. }
復制代碼
ID:678280 發表于 2021-11-23 16:39
csmyldl 發表于 2021-11-23 13:55
正向相序是A AB B BC C CD D DA,而反向是A AD D DC C CB B BA,程序中未定義反向的相序

按你說的我修改了,應該是還有錯誤,仿真時仍舊只看到順時針旋轉。

#include<reg52.h>
sbit A1=P2^0;
sbit B1=P2^1;
sbit C1=P2^2;
sbit D1=P2^3;

#define C_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通電,其他相斷電。
#define C_AD1 {A1=1;B1=0;C1=0;D1=1;}//AD相通電,其他相斷電。
#define C_BA1 {A1=1;B1=1;C1=0;D1=0;}//BA相通電,其他相斷電。
#define C_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通電,其他相斷電。
#define C_CB1 {A1=0;B1=1;C1=1;D1=0;}//CB相通電,其他相斷電。
#define C_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通電,其他相斷電。
#define C_DA1 {A1=1;B1=0;C1=0;D1=1;}//DA相通電,其他相斷電。
#define C_DC1 {A1=0;B1=0;C1=1;D1=1;}//DC相通電,其他相斷電。

#define C_A1  {A1=1;B1=0;C1=0;D1=0;}//A相通電,其他相斷電。
#define C_B1  {A1=0;B1=1;C1=0;D1=0;}//B相通電,其他相斷電。
#define C_C1  {A1=0;B1=0;C1=1;D1=0;}//C相通電,其他相斷電。
#define C_D1  {A1=0;B1=0;C1=0;D1=1;}//D相通電,其他相斷電。
#define C_OFF {A1=0;B1=0;C1=0;D1=0;}//全部斷電。

unsigned char speed;
bit Flag;

void delayus(unsigned char t)
{  while(--t); }

void delayms(unsigned char t)
{
  while(t--)
  {
    delayus(245);
    delayus(245);  }}

main()
{
  unsigned int i=512; //旋轉一周時間。
  EA=1;
  EX0=1;
  IT0=1;
  speed=10;
  while(i--)
  {
    C_OFF
    while((i--)&&Flag) //正向。
    {
      C_A1
      delayms(speed);
      C_AB1
      delayms(speed);
      C_B1
      delayms(speed);
      C_BC1
      delayms(speed);
      C_C1
      delayms(speed);
      C_CD1
      delayms(speed);
      C_D1
      delayms(speed);
      C_DA1
      delayms(speed);
    }
    C_OFF
    i=512;
    while((i--)&&(!Flag)) //反向。
    {
      C_A1
      delayms(speed);
      C_AD1
      delayms(speed);
      C_D1
      delayms(speed);
      C_DC1
      delayms(speed);
      C_C1
      delayms(speed);
      C_CB1
      delayms(speed);
      C_B1
      delayms(speed);
      C_BA1
      delayms(speed);
    }
  }
}

void zhang0(void)interrupt 0
{
  if(!INT0)
  {
    delayms(10); //延時防抖。
    if(!INT0)
    {  Flag=!Flag; }
  }
}
ID:235200 發表于 2021-11-23 13:55
正向相序是A AB B BC C CD D DA,而反向是A AD D DC C CB B BA,程序中未定義反向的相序

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品黄色 | 国产97在线 | 日韩 | 久久久久久久久99精品 | 日韩毛片在线免费观看 | 国产精品久久久一区二区三区 | 国产乱精品一区二区三区 | 在线视频99 | 伊人一区 | 欧美日韩在线一区二区 | 成人影院一区二区三区 | 欧美中文字幕一区 | 欧美综合在线视频 | 国产精品久久久久久吹潮 | 天堂一区二区三区四区 | 高清国产午夜精品久久久久久 | 日本一区二区影视 | 精品自拍视频在线观看 | 人人玩人人添人人澡欧美 | 欧美一级黑人aaaaaaa做受 | 国产精品无码专区在线观看 | 天天干天天爽 | 亚洲啊v在线 | 午夜精品一区二区三区在线观看 | 欧美伊人影院 | 日韩免费三级 | 成人av网站在线观看 | 美女露尿口视频 | 欧洲一区二区三区 | 亚洲成人福利视频 | 国产乱码精品一品二品 | 国产精品一区二区av | 亚洲九九 | 天天射影院 | 久久久久久www | 一区二区在线看 | av成人在线观看 | 欧洲视频一区二区 | 国产一区二区精品在线观看 | 国产欧美在线 | 欧美三级成人理伦 | 四虎午夜剧场 |