内容介绍
内容介绍
本期(第七期)Funpack活动选用的开发板:
8位MCU pic开发板DM164137,其芯片为PIC16F18446。
本期完成的任务:
通过按键扩展功能,分为按键点击(快速点击,t<1s),短按(1s<t<5s),长按(t>5s)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
两个萌新自己研究的MCC,其中TMR1参考同学的。
引脚
主要代码:
time=0;
t1=0;
adcValue = ADCC_GetSingleConversion(channel_ANC0);
if(!key_s1_GetValue()) //按键按下
{
__delay_ms(10); //按键消抖
if(!key_s1_GetValue())
{
TMR1_StartTimer(); //计时器开始计时
while(!key_s1_GetValue())
{ if(t1==1)
break;
if(TMR1_HasOverflowOccured()==1) //while(!TMR1_HasOverflowOccured());
{
time++;
TMR1IF = 0;
TMR1_Reload();
}
}
TMR1_StopTimer();
if(time <= 4){
LED_D4_SetLow();
LED_D5_SetLow();
LED_D6_SetHigh();
printf("click adcValue: %d\n",adcValue);
}
else if(time > 4 && time <= 20){
LED_D4_SetHigh();
LED_D5_SetLow();
LED_D6_SetHigh();
printf("short press adcValue: %d\n",adcValue);
}
else if(time > 20){
LED_D4_SetHigh();
LED_D5_SetHigh();
LED_D6_SetHigh();
printf("long press AadcValue: %d\n",adcValue);
}
}
}
心得体会:
1.对于单片机有了一定的了解,学习了一些编程的知识,对参加电赛有一定的好处;
2.最开始打印串口时一直无法调试成功,非常苦恼。在同学帮助下成功,但我们都没有找到原因,还是不懂;
3.MCC对于我们完成任务起到了很大的帮助作用,好评!
附件下载
ZSX_PIC.X.rar
团队介绍
中国矿业大学(北京)萌新
团队成员
是狒狒呀
zsx
评论
0 / 100
查看更多
猜你喜欢
Funpack第七期 基于DM164137的按键控制LED灯及电位计显示采用Funpack 第七期的开发板,通过调用芯片内部的计时器timer1来完成对按键被按下时间的计时,从而实现对4位LED灯的控制。借助串口传输模块展示按键信息及电位计信息。
mu_hly_pur_la
1174
Funpack第七期—DM164137按键控制LED及输出电位信息DM164137开发板上包括一组4个指示LED,mTouch触摸按钮、按键开关以及可变电位器。 这次用其实现通过按键时长控制LED及电位信息的输出的功能。
CCCyan
1077
Funpack第七期 基于DM164137的按键控制LED灯及电位计显示参加这次活动完成了任务一,学习到了很多有关单片机以及编程的知识,还学习到了如何利用串口打印信息。
是狒狒呀
1082