内容介绍
内容介绍
本期(第七期)Funpack活动选用的开发板:
8位MCU pic开发板DM164137,其芯片为PIC16F18446。
本期完成的任务:
通过按键扩展功能,分为按键点击(快速点击,t<1s),短按(1s<t<5s),长按(t>5s)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
1.引脚
代码如下:
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_SetHigh();
LED_D5_SetLow();
LED_D6_SetLow();
printf("click adcValue: %d\n",adcValue);
}
else if(time > 4 && time <= 20){
LED_D4_SetLow();
LED_D5_SetHigh();
LED_D6_SetLow();
printf("short press adcValue: %d\n",adcValue);
}
else if(time > 20){
LED_D4_SetLow();
LED_D5_SetLow();
LED_D6_SetHigh();
printf("long press AadcValue: %d\n",adcValue);
}
}
心得体会:
1.第一次参加funpack的活动,初次接触感觉很困难,但是在不断地摸索之后,对单片机有了一定的了解,为以后的学习打下了基础
2.对于新手来讲,用MCC配置省下了不少功夫,也学会使用MCC,好评!
3.参加这次交接到了许多知识,也提升了自己的学习能力。
附件下载
feifei_pic.X.rar
团队介绍
中国矿业大学(北京)萌新
团队成员
zsx
是狒狒呀
评论
0 / 100
查看更多
猜你喜欢
Funpack第七期 基于DM164137的按键控制LED灯及电位计显示采用Funpack 第七期的开发板,通过调用芯片内部的计时器timer1来完成对按键被按下时间的计时,从而实现对4位LED灯的控制。借助串口传输模块展示按键信息及电位计信息。
mu_hly_pur_la
1062
Funpack第七期—DM164137按键控制LED及输出电位信息DM164137开发板上包括一组4个指示LED,mTouch触摸按钮、按键开关以及可变电位器。 这次用其实现通过按键时长控制LED及电位信息的输出的功能。
CCCyan
951
Funpack第七期 DM164137 实现按键控制板卡LED显示及电位信息打印通过MPLAB X IDE编写程序,完成在不同按键情况下的LED显示,并通过外接串口和串口调试器打印出电位信息
zsx
837