【新版CH554评测】CH554开发板触摸键模拟步进电机控制
<div class='showpostmsg'>为了进行触摸键对步进电机的运行控制,必须解决2个主要问题,一是触摸键的状态采集及模拟控制,另一个则是步进电机的驱动控制。这里先实现第一个要求,即以触摸键来模拟对电机的测控,其主程序如下:#include ".\Public\CH554.H"#include ".\Public\debug.h"
#include ".\Touch_Key\TouchKey.H"
#include "stdio.h"
UINT16I TouchKeyButton = 0;
char keycode = {'0','1','2','3','4','5','6'};
void main( void )
{
UINT16I k = 0;
UINT8 i;
CfgFsys();
mDelaymS(5);
mInitSTDIO( );
printf( "Start Init TouchKey...\r\n" );
P1_MOD_OC &= 0x0C;
P1_DIR_PU &= 0x0C;
TouchKeyQueryCyl2ms();
GetTouchKeyFree();
for(i=KEY_FIRST;i<(KEY_LAST+1);i++)
{
printf("***Channel %02x base sample %04x\n",(UINT16)i,KeyFree);
}
while(1)
{
TouchKeyChannelQuery();
if(KeyBuf)
{
if(KeyBuf==3) printf("步进电机+ 向\n\r");
if(KeyBuf==4) printf("步进电机- 向\n\r");
if(KeyBuf==5) printf("步进电机停止\n\r");
if(KeyBuf==6) printf("步进电机测试\n\r");
KeyBuf = 0;
mDelaymS(20);
}
mDelaymS(30);
}
}
经编译下载后,其执行效果如图所示,其中K1控制电机正转,K2控制电机反转,K3控制电机停止转动,K4控制电机进行正反转双向检测。注:较为怪异的是本想在输出信息中直接显示电机的正反转状态,但在显示正转一种出现异常,故只好改用+/-来表示正反向了。
查询方式下的HEX测试文件:
USB中断方式下的HEX测试文件:
此内容由EEWORLD论坛网友jinglixixi原创,如需转载或用于商业用途需征得作者同意并注明出处
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> :handshake
页:
[1]