Funpack第七期 DM164137 实现按键控制板卡LED显示及电位信息打印
通过MPLAB X IDE编写程序,完成在不同按键情况下的LED显示,并通过外接串口和串口调试器打印出电位信息
标签
嵌入式系统
显示
PIC
zsx
更新2021-04-21
663

本期(第七期)Funpack活动选用的开发板:

8位MCU pic开发板DM164137,其芯片为PIC16F18446。

本期完成的任务:

通过按键扩展功能,分为按键点击(快速点击,t<1s),短按(1s<t<5s),长按(t>5s)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)

两个萌新自己研究的MCC,其中TMR1参考同学的。

引脚

Filc8UQ9Q02xi2tsX6vAwjnEKHvK

 

Fia9YZndikRdt_k7OxYLPu3FfTXbFnLdNvsyqpxP-MUBq10KqaRfgs2EFgrlR2AmncigdWuddluz3U3HkT7pFskAHLXv8rbgbihqMuHqxx56gC8q

主要代码:

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
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号