一、头颈运动
预备姿势:立正,双手插腰
1拍,头前屈。2拍,头还原。3拍,头后屈首雹。4拍,还原。5拍,头向左侧屈。6拍还原。7拍,头向右侧屈,8拍还原。
2*8拍动作相同方向相反,如图所示:
二、上肢运动
预备姿 势:立正
1拍,两 臂前举,掌心向下。2拍两臂上举,掌心相对,3拍两臂侧举。4拍还原成立正。5拍,同3拍。6拍同2拍。7拍同1拍。8拍立正。
2*8拍动作相同,方向相反。如图所示:
三、体侧运动
预备姿 势:立正
1拍,左脚侧出成开悉闷立,两臂经前上举掌心向前。2拍左小臂弯曲,左手拉右肘。3拍,上体向左侧屈。4拍同2拍。5—6拍,上体左侧屈,两臂以侧还原成立正
2*8拍同1*8拍,动作相同方向相反,如图所示:睁芹弯
四、体转运动
预备姿 势:立正
1拍,左肢侧出开立,两臂侧平举。2、上体左转90度,击掌。3拍同1拍。4拍,还原成立正。5、6、7、8拍同前,动作相同,方向相反。
2*8拍同1*8拍。如图所示:
五、腹背运动
预备姿 势:立正
1-2拍,两臂上举,掌心向前,上估后屈。3-4拍,上体前屈,指尖触地。5-6拍,抬上体,并立半蹲,两臂前平举,掌心向下。7-8拍,还原成立正。
2*8拍动作同1*8拍。如图所示:
六、踢腿运动
预备姿 势:并立、双手插腰。
1拍,左腿屈膝前抬。2拍,还原成并立。3拍,左腿前踢。4拍,同2拍。5-8拍动作相同,方向相反。
2*8拍同1*8拍。如图所示:
七、跳跃运动
预备姿 势:立正
1拍,跳开立,两臂前举。2拍,跳还原成并立、两臂下垂。3拍,跳开立,两臂侧举。4拍,跳并立,两臂下垂。5-8拍同1-4拍
2*8拍同1*8拍。动作相同。如图所示:
八、整理运动
预备姿 势:立正
1-3拍,双手插腰左走3步。4拍,左腿屈膝,右腿屈膝足尖点于左脚旁。5-8拍,方向相反。
2*8拍同1*8拍,动作相同。如图所示:
你不说你单片机的型号不好做的,因为电路都不一样,接口岁禅也不一样,喊拍我给你一个我的,你照着看看吧#include"Reg52.H" /* 调用MCS51寄存器头文件 */
typedefunsigned char UINT8/* 类型定义 */
typedef unsigned int UINT16
/* 参数:PM35永磁电机,步进角为7.5度。
* 单双八拍工作方式:
* A-AB-B-BC-C-CD-D-DA (一个郑雀羡脉冲,转3.75度) */
UINT8 FORWARD_DATA_BUF[ 8 ] = { 0x01, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x09 }/* 全速正转 */
UINT8 REVERSE_DATA_BUF[ 8 ] = { 0x09, 0x08, 0x0C, 0x04, 0x06, 0x02, 0x03, 0x01 }/* 全速反转 */
void DelayMs( UINT16 Ms )//延时程序
{
UINT8 i
while ( Ms-- )
{
for ( i = 0i <114i )/* 11.0592M,1Ms延时 */
}
}
void MOTOR_FORWARD( void )
{
UINT8 i
UINT8 j
for( i = 0i <12 i ) /* 正转一圈360度 */
{
for( j = 0j <8j ) /* 8次转30度 */
{
P2 = FORWARD_DATA_BUF[ j ]
DelayMs( 3 )/* 调整转速 */
}
}
P2 = 0/* 停止转动 */
}
void MOTOR_REVERSE( void )
{
UINT8 i
UINT8 j
for( i = 0i <12 i ) /* 反转一圈360度 */
{
for( j = 0j <8j ) /* 8次转30度 */
{
P2 = REVERSE_DATA_BUF[ j ]DelayMs( 3 )/* 调整转速 */
}
}
P2 = 0/* 停止转动 */
}
void main( void )
{
UINT8 i
P2 = 0
while( 1 )
{
MOTOR_FORWARD()/* 正转一圈 */
DelayMs( 1000 )
MOTOR_REVERSE()
DelayMs( 1000 )/* 反转一圈 */
}
}
#include <reg51.h> //51芯片管脚定义头文件#include <intrins.h> //内部包含延时埋型函数 _nop_()
#define uchar unsigned char
#define uint unsigned int
uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09} //四相八拍正转编码
uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01} ////四相八拍反转编码
sbit K1 = P3^2 //正转
sbit K2 = P3^3 //反转
sbit K3 = P3^4 //停止
sbit BEEP = P3^6 //蜂鸣器
/********************************************************/
/陵哪*
/* 延时t毫秒
/* 11.0592MHz时钟,延时约1ms
/*
/********************************************************/
void delay(uint t)
{
uint k
while(t--)
{
for(k=0k<125k++)
{ }
}
}
/**********************************************************/
void delayB(uchar x)//x*0.14MS
{
uchar i
while(x--)
{
for (i=0i<13i++)
{ }
}
}
/**********************************************************/
void beep()
{
uchar i
for (i=0i<100i++)
{
delayB(4)
BEEP=!BEEP//BEEP取反
}
BEEP=1 //关闭蜂鸣器
}
/********************************************************/
/*
/*步进电机正转
/*
/********************************************************/
void motor_ffw()
{
uchar i
uint j
for (j=0j<8j++) //转1*n圈
{
if(K3==0)
{break}//退出此循环程序弯汪猜
for (i=0i<8i++) //一个周期转45度
{
P1 = FFW[i] //取数据
delay(2) //调节转速
}
}
}
/********************************************************/
/*
/*步进电机反转
/*
/********************************************************/
void motor_rev()
{
uchar i
uint j
for (j=0j<8j++) //转1×n圈
{
if(K3==0)
{break} //退出此循环程序
for (i=0i<8i++) //一个周期转45度
{
P1 = REV[i] //取数据
delay(2) //调节转速
}
}
}
/********************************************************
*
* 主程序
*
*********************************************************/
main()
{
uchar r,N=64//N 步进电机运转圈数
while(1)
{
if(K1==0)
{
beep()
for(r=0r<Nr++)
{
motor_ffw() //电机正转
if(K3==0)
{beep()break}//退出此循环程序
}
}
else if(K2==0)
{
beep()
for(r=0r<Nr++)
{
motor_rev() //电机反转
if(K3==0)
{beep()break}//退出此循环程序
}
}
else
P1 = 0xf0
}
}
/********************************************************/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)