當前位置:編程學習大全網 - 編程語言 - 振動編程

振動編程

#包含“reg52.h”

//電機

sbit a = p2^0;//定義管腳

sbit b = p2^1;

sbit c = p2^2;

sbit d = p2^3;

///////////////////////////////////////

//步進電機驅動

無符號字符MotorStep = 0;

無符號int motor timer = 0;

無符號int MotorDelay,Speed=1,TIM,CT;

#定義速度8 //不要把速度值設得太低,會引起震動。

/*****************************************************

*初始化電機*

******************************************************/

void InitMotor()

{

a = 1;

b = 1;

c = 1;

d = 1;

}

void SetMotor()

{

// if(Speed == 0)返回;

電機延遲=速度;//調整速度

開關(電機步進)

{

案例0:

if(TIM) // A

{

a = 0;//0xf1

b = 1;

c = 1;

d = 1;

motor step = 1;

TIM = 0;

}

打破;

案例1://AB

如果(添)

{

a = 0;//0xf3

b = 0;

c = 1;

d = 1;

motor step = 2;

TIM = 0;

}

打破;

情況2://B

如果(添)

{

a = 1;

b = 0;//0xf2

c = 1;

d = 1;

motor step = 3;

TIM = 0;

}

打破;

案例3://BC

如果(添)

{

a = 1;

b = 0;//0xf6

c = 0;

d = 1;

motor step = 4;

TIM = 0;

}

打破;

案例4://C

如果(添)

{

a = 1;

b = 1;//0xf4

c = 0;

d = 1;

motor step = 5;

TIM = 0;

}

打破;

案例5://CD

如果(添)

{

a = 1;

b = 1;//0xfc

c = 0;

d = 0;

motor step = 6;

TIM = 0;

}

打破;

案例6://D

如果(添)

{

a = 1;

b = 1;//0xf8

c = 1;

d = 0;

motor step = 7;

TIM = 0;

}

打破;

案例7://DA

如果(添)

{

a = 0;

b = 1;//0xf9

c = 1;

d = 0;

motor step = 0;

TIM = 0;

}

打破;

}

}

void system_Ini()

{

TMOD | = 0x 11;

TH0 = 0xDC//11.0592M

TL0 = 0x00

IE = 0x8A

TR0 = 1;

}

主()

{ system _ Ini();

init motor();

while(1)

{

set motor();

}

}

/************************************************

* *

*定時中斷延遲*

************************************************/

無效Tzd(無效)中斷1

{

TH0 = 0xfe//11.0592

TL0 = 0x33

if(ct++ = =速度)

{ TIM = 1;

CT = 0;

}

}

  • 上一篇:月夜憶舍弟
  • 下一篇:手繪海報模板-社區招聘海報
  • copyright 2024編程學習大全網