1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境
软件
通过按钮控制电机顺时针或逆时针旋转相关代码及资源 https://github.com/duganlx/DSP 操作小记 步进电机介绍代码编写 引入库文件 #include #include #include #include #include 宏定义 #define INT8U unsigned char #define INT16U unsigned int 全局变量 ***it FFW_KEY=P3^0; ***it REV_KEY=P3^1; ***it STOP_KEY=P3^2; //0000_0001 A->AB->B->BC->C->CD->D->AD INT8U code FFW_ARR[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09}; //0000_1001 AD->D->CD->C->BC->B->AB->A INT8U code REV_ARR[]={0x09,0x08,0x0C,0x04,0x06,0x02,0x03,0x01}; 说明 延时函数 /** *延时 * *@param x 延时时间 *@return */ void delay_ms(INT16U x) { INT8U t=120; while(x--) while(t--); } 顺时针旋转函数 /** *顺时针旋转 * *@param n 旋转圈数 *@return */ void STEP_FFW(INT8U n) { INT8U i,j; for(i=0; i<5*n; i++) { for(j=0; j<8; j++) //8*9=72 { P1=FFW_ARR[j]; delay_ms(60); if(STOP_KEY==0) return; } } } 逆时针旋转函数 /** *逆时间旋转 * *@param n 旋转圈数 *@return */ void STEP_REV(INT8U n) { INT8U i,j; for(i=0; i<5*n; i++) { for(j=0; j<8; j++) { P1=REV_ARR[j]; delay_ms(60); if(STOP_KEY==0) return; } } } 主函数 void main() { INT8U n = 1; while(1) { if(FFW_KEY==0) { P0=0xFE; // 1111_1110 STEP_FFW(n); } else if(REV_KEY==0) { P0=0xFD; // 1111_1101 STEP_REV(n); } else { P0=0xFB; // 1111_1011 } } } 说明 |
|
|
|
只有小组成员才能发言,加入小组>>
2439 浏览 0 评论
9119 浏览 4 评论
36802 浏览 19 评论
5031 浏览 0 评论
24780 浏览 34 评论
1540浏览 2评论
1760浏览 1评论
2207浏览 1评论
1565浏览 0评论
536浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 22:39 , Processed in 1.177376 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号