单片机控制步进电机系统可用于电梯开发文档格式.docx

上传人:b****5 文档编号:15684105 上传时间:2022-11-15 格式:DOCX 页数:14 大小:320.35KB
下载 相关 举报
单片机控制步进电机系统可用于电梯开发文档格式.docx_第1页
第1页 / 共14页
单片机控制步进电机系统可用于电梯开发文档格式.docx_第2页
第2页 / 共14页
单片机控制步进电机系统可用于电梯开发文档格式.docx_第3页
第3页 / 共14页
单片机控制步进电机系统可用于电梯开发文档格式.docx_第4页
第4页 / 共14页
单片机控制步进电机系统可用于电梯开发文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机控制步进电机系统可用于电梯开发文档格式.docx

《单片机控制步进电机系统可用于电梯开发文档格式.docx》由会员分享,可在线阅读,更多相关《单片机控制步进电机系统可用于电梯开发文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

单片机控制步进电机系统可用于电梯开发文档格式.docx

),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。

),八拍(A-AB-B-BC-C-CD-D-DA-A。

)。

注意:

这款电机的减速比是1:

64,也就是说电机每次的步进角度为5.625/64度,步进角度很小,也使得电机转速很精准,非常适合细微控制。

通过控制单片机P1.0-P1.3来操作步进电机了,我们为了快速操作IO口,直接对P1进行赋值,而不是每位单独赋值。

参看上面的电机驱动表格,我们列出电机操作方法:

橙(P1.0)

黄(P1.1)

粉(P1.2)

蓝(P1.3)

十六制(P1口)

1

0xF1

0xF3

0xF2

0xF6

0xF4

0xFC

0xF8

0xF9

实验代码:

#include<

reg51.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitMC0=P3^0;

sbitMC1=P3^1;

sbitMC2=P3^2;

sbitMC3=P3^3;

sbitKeyIn1=P2^4;

sbitKeyIn2=P2^5;

sbitKeyIn3=P2^6;

sbitKeyIn4=P2^7;

sbitKeyOut1=P2^3;

sbitKeyOut2=P2^2;

sbitKeyOut3=P2^1;

sbitKeyOut4=P2^0;

sbitADDR0=P1^0;

sbitADDR1=P1^1;

sbitADDR2=P1^2;

sbitADDR3=P1^3;

sbitENLED=P1^4;

sbitENLCD=P1^5;

sbitBUZZ=P1^6;

ucharcodeCCW[8]={0xF9,0xF8,0xFc,0xF4,0xF6,0xF2,0xF3,0xF1};

//顺时钟旋转相序表

ucharcodeCW[8]={0xF1,0xF3,0xF2,0xF6,0xF4,0xFc,0xF8,0xF9};

//逆时钟旋转相序表

ucharQ[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,0x86};

uintLed_n=0;

voiddelaynms(uintaa)

{

ucharbb;

while(aa--)

for(bb=0;

bb<

115;

bb++)//1ms基准延时程序

;

}

voidmotor_ccw(uintx)

uchari,j;

for(j=0;

j<

8;

j++)//电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周

for(i=0;

i<

i++)//旋转45度

P3=CCW[i];

delaynms(x);

//调节转速

voidmotor_cw(uinty)

j++)

P3=CW[i];

delaynms(y);

n(uinta,uintb)

ucharr;

for(r=0;

r<

(22*a);

r++)

{

motor_cw(b);

//电机逆转a/3圈以b速度,因为减速比为1/64,64/3=22

}

s(uinta,uintb)

{

for(r=0;

motor_ccw(b);

//电机顺转a/3圈以b速度

}

voidmain(void)//假设8层楼,现在这系统装在四楼的电梯,电梯转一圈就升或降一层楼

uintz=1000;

ENLED=0;

ADDR0=0;

ADDR1=0;

ADDR2=0;

ADDR3=1;

P0=Q[4];

while

(1)

{KeyOut1=1;

KeyOut2=1;

KeyOut3=1;

KeyOut4=0;

if(KeyIn1==1)

KeyOut1=0;

KeyOut4=1;

if(KeyIn1==0)

{

delaynms(5);

if(KeyIn1==0)

{P0=Q[4];

s(1,6);

s(1,3);

s(1,1);

P0=Q[3];

s(3,1);

P0=Q[2];

}//按1楼,9/3=3圈,即下降3层

P0=Q[1];

while(z--)

{BUZZ=0;

delaynms

(1);

BUZZ=1;

z=1000;

}

if(KeyIn2==0)

if(KeyIn2==0)

};

//按2楼,6/3=2圈,下降2层

P0=Q[2];

while(z--)

if(KeyIn3==0)

if(KeyIn3==0)

s(1,4);

}//按3楼,3/3=1圈,下降1层

P0=Q[3];

if(KeyIn4==0)

if(KeyIn4==0)//按4楼,电梯不动,蜂鸣器报警

{

}

while((KeyIn1==0)||(KeyIn2==0)||

(KeyIn3==0)||(KeyIn4==0));

KeyOut1=1;

KeyOut2=0;

n(1,4);

n(1,1);

}//按5楼,3/3=1圈,上升1层

P0=Q[5];

n(1,6);

n(1,3);

P0=Q[5];

//按6楼,6/3=2圈,上升2层

P0=Q[6];

n(3,1);

P0=Q[6];

}//按7楼,9/3=3圈,上升3层

P0=Q[7];

}

if(KeyIn4==0)

P0=Q[7];

}//按8楼,12/3=4圈,上升4层

P0=Q[8];

if(KeyIn1==0)

delaynms(5);

if(KeyIn1==0)

{P0=Q[1];

}

{P0=Q[2];

s(6,1);

}

{P0=Q[3];

s(9,1);

while((KeyIn

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1