- void motor_ffw()
- {
- unsigned char i;
-
- for (i=0; i<8; i++) //一个周期转30度
- {
- P1 = FFW[i]&0x1f; //取数据
- //FFW为步进码
- delay(); //调节转速
- }
- }
-
-
-
- void delay()
- {
- unsigned int k,t;
- t=rate; //转速定义
- while(t--)
- {
- for(k=0; k<150; k++)
- { }
- }
- }
- void motor_turn()
- {
- unsigned char x;
- rate=0x0a;
- x=0x40;
- do
- {
- mote_ffw();
- rate--; //每进一步时间越来越短
- }while(rate!=0x01);//处于加速过程
- do
- {
- motor_ffw();
- x--; //每减一,进一步,匀速过程
- //此处同样可以设延时函数
- } while(x!=0x01);
- do
- {
- motor_ffw();
- rate++; //每进一步时间越来越长
-
- } while(rate!=0x0a);//处于减速过程
- }
|