【新版CH554评测】CH554开发板实现触摸键的参数设置与执行
<div class='showpostmsg'> 本帖最后由 jinglixixi 于 2018-5-6 10:15 编辑在控制电机转动时,需要对电机的转动方向和转动的圈数进行设置。在OLED屏的配合下,其执行效果如图所示。相应的参数设置与执行的关键程序如下:d=0;
while(f)
{
TouchKeyChannelQuery();
if(KeyBuf)
{
if(KeyBuf==3)
{
OLED_ShowChar(88,2,'+',6);
d=0;
}
if(KeyBuf==4)
{
OLED_ShowChar(88,2,'-',6);
d=1;
}
if(KeyBuf==6)
{
OLED_ShowNum(0,6,0,3,6);
f=0;
}
}
}
mDelaymS(200);
f=1;
i=0;
k=0;
while(1)
{
TouchKeyChannelQuery();
if(KeyBuf)
{
if(KeyBuf==3)
{
if(i<9) i++;
}
if(KeyBuf==4)
{
if(i>1) i--;
}
if(KeyBuf==5)
{
if(k<1000)
{
k=(k+i)*10;
i=0;
}
mDelaymS(20);
}
OLED_ShowNum(0,6,k+i,4,6);
if(KeyBuf==6)
{
k=k+i;
f=0;
i=0;
}
KeyBuf = 0;
mDelaymS(100);
}
//按指定的方向和圈数执行运转
if(d==0)
{
while(k>0)
{
//正向转动1周
for(X=0;X<96;X++)
{
for(Y=0;Y<8;Y++)
{
MD=0;
MA=1; //A
mDelaymS(1);
MB=1; //AB
mDelaymS(1);
MA=0; //B
mDelaymS(1);
MC=1; //BC
mDelaymS(1);
MB=0; //C
mDelaymS(1);
MD=1; //CD
mDelaymS(1);
MC=0; //D
mDelaymS(1);
MA=1; //DA
mDelaymS(1);
} //y
} // x
K--;
} // k
} //d
else
{
MA=0;
MB=0;
MC=0;
MD=0;
while(k>0)
{
//反向转动 1周
for(X=0;X<96;X++)
{
for(Y=0;Y<8;Y++)
{
MD=1;
MA=1; //DA
mDelaymS(1);
MA=0; //D
mDelaymS(1);
MC=1; //CD
mDelaymS(1);
MD=0; //C
mDelaymS(1);
MB=1; //BC
mDelaymS(1);
MC=0; //B
mDelaymS(1);
MA=1; //AB
mDelaymS(1);
MB=0; //A
mDelaymS(1);
} // y
} // x
K--;
} //k
} //d
}
至此,已完成了当初的测评与DIY计划,总体来讲新版CH554开发板是易于进行小规模应用项目开发的,所配置的触摸键也是灵敏和便于使用的。后面更期待有CH559 mini开发板的活动,因为它所具备的U盘读写功能更是我所期待的性能,也更便于设计性能的扩展。 在后面的时间里,争取能把OLED 屏显示、触摸键判别、步进电机控制、MP3语音模块播放及DS1302时钟模块相结合来制作一个智能语音药盒。
此内容由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>
页:
[1]