Funpack第七期—DM164137按键控制LED及输出电位信息
DM164137开发板上包括一组4个指示LED,mTouch触摸按钮、按键开关以及可变电位器。 这次用其实现通过按键时长控制LED及电位信息的输出的功能。
标签
嵌入式系统
PIC
CCCyan
更新2021-04-21
659

内容介绍

实现功能

通过按键时长控制LED,同时实现电位信息的输出的功能

任务思路:

通过delay函数进行计时.按下按键,三盏灯熄灭,松手后若0<t<1s,Led_1亮起;若1<t<5s,Led_2亮起;若t>5s,Led_3亮起,同时外界串口模块输出按键及电位信息。

MCC 配置

FmEukmmpxdjsOxzJRfcP-cXn6sko

Fpw9vCuJJ6Vf2hUqMXfhU1ixgHQiFu3BemAYe6WSioarXcWvqdLEnIbOFrbWH4vgG5nl8BO0QUH1KhI8clofFh8FKU7Tpfp13-AKPPSbUQbdzgqL

FnIKyY5TPNWSiBy0m1HXd_KWwmdQFlo6vnoM5qeWXFXDI5N00U24s_lL

 

主要程序:

void main(void)
{
    
    SYSTEM_Initialize();
    TMR0_Initialize();
    int Time;

    while (1)
    {   
    if (!Key_GetValue())
    {
         Led_1_SetLow();
         Led_2_SetLow();
         Led_3_SetLow();                        //三盏灯熄灭

        __delay_ms(10);                         //消抖

        if (!Key_GetValue())
        {
            Time++;                             //计时
        }
     } 
    
   else 
    {
        __delay_ms(10);

        if (Key_GetValue()) 
        { 

            if( Time > 0 && Time < 100)
            {
                Led_1_SetHigh();               //灯一点亮

                printf(" Puss the botton for %d ms. \n ADC Result: %d\n\n",Time*10, ADCC_GetSingleConversion(channel));            //输出按压时长及电位信息
            }
             
            else if (Time >= 100 && Time < 500)
            {
               Led_2_SetHigh();
               printf(" Puss the botton for %d ms. \n ADC Result: %d\n\n",Time*10, ADCC_GetSingleConversion(channel));
            }
                
            else if(Time >= 500)
            {  
                Led_3_SetHigh();
                printf(" Puss the botton for %d ms. \n ADC Result: %d\n\n",Time*10, ADCC_GetSingleConversion(channel));
            }
        Time = 0;                               //变量置零
        }  
    } 
    }
}

 

心得体会:

很高兴在老师的推荐下有机会参加这次活动。这是我第一次接触单片机,pic16f18446芯片很适合初学者上手,MCC插件也使编程更为简易。
完成任务期间遇到不少问题,感谢期间同学们和老师给予我的帮助。

附件下载

DEMO send.X.zip

团队介绍

中矿(北京)大二学生
团队成员
CCCyan

评论

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