大荫蒂欧美精品另类丨国产在线精品一区二区三区不卡丨日本少妇北岛玲xxxhd丨亚洲黄色三级丨国产精品自产拍在线观看55丨丁香婷婷在线观看丨欧美色图亚洲自拍丨日韩精品一区二区三区中文无码丨av地址在线丨男人av的天堂丨国产又色又爽又黄的视频在线丨国产成人久久丨www.伊人丨久久综合国产伦精品免费丨国产日韩一区丨午夜福利视频250丨国产线播放免费人成视频播放丨成人免费在线播放丨国产精品一级丨久久网页

步進電機

步進驅動器
電話:15002093712
當前位置:首頁>>新聞中心>>行業新聞
新聞中心
產品中心
聯系我們

深圳市東么川伺服控制技術有限公司

電話:13316379101

郵箱:1355229533@qq.com

地址:深圳市龍華區民治街道樟坑社區青創城A棟B502

步進電機控制之二:中斷實現正反轉控制


步進電機控制之二:中斷實現正反轉控制

步進電機控制之二:中斷實現正反轉控制

/*設計思路:采用按鍵對標志位flag1、flag2的

奇偶性判斷不同的鍵值含義;步進電機采用四

相四拍的工作方式;Proteus不支持八拍工作模式,

該程序在Keil5下運行,低版本需修改頭文件為:

#include*/

/*優點:執行效率高,無需鍵盤掃描,無需松手檢測;

缺點:不具備鍵盤消抖功能*/

#include

#define uint unsigned int

#define uchar unsigned char

uchar code num[]={0x01,0x02,0x04,0x08};

bit flag1,flag2;

void init_exint();

void delay_ms(uint z);

void motorzz();

void motorfz();

void motorstop();

void main()

{

init_exint();

while(1)

{

if(flag1==0)

motorstop();

else if(flag2==0)

motorzz();

else

motorfz();

}

}

void init_exint()

{

EA=1;

EX0=1;

EX1=1;

IT0=1;

IT1=1;

}

void delay_ms(uint z)

{

uchar i;

while(z--)

for(i=0;i<120;i++);

}

void motorstop()

{

P0=0X00;

}

void motorzz()

{

uchar i;

for(i=0;i<4;i++)

{

P0=num[i];

delay_ms(20);

}

}

void motorfz()

{

char i;

/*注意:此處定義為有符號字符型,如果定義為

無符號字符型,i=0,i-1=255,i=255,for循

環依舊成立,而num[255]是一個未知數*/

for(i=3;i>=0;i--)

{

P0=num[i];

delay_ms(20);

}

}

/*以上motorfz()函數又等價于

void motorfz()

{

  uchar i;

  for(i=4;i>0;i--)

  {

P0=num[i-1];

delay_ms(20);   

  }

}

*/

void ext0() interrupt 0

{

flag1=~flag1;

}

void ext1() interrupt 2

{

flag2=~flag2;

}

 


    產品推薦:兩相步進電機



    產品推薦:無刷電機



    產品推薦:兩相步進驅動器



    產品推薦:直流無刷驅動器