Funpack第七期DM164137按键扩展功能
通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时用usb虚拟转串口链接电脑和板子串口模块打印信息(包括按键信息,电位计信息)
标签
PCB设计
李青山
更新2021-04-16
1027

本期板卡我们实现了通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)

设计思路:该板子上共有四个LED灯,从右到左可依次命名为“led1、led2和led3”,第四个LED灯我们这里不需要,所以就没有命名,先判断有无按键,若按下,则开始计时直到按键结束,在判断按键时间是大于1s还是大于5s,对应相应的灯亮,最后将点位信息打印显示到sscom上。

 

Pin module配置:

FhLFqX-_Yf7zigSrhoYrBrTlTGmZFnnFC4bxhzKWDzeRpFt8FdYnbHMr

时钟配置:

FkP3nu9nDbR_fREpostnJ6QH70Wi

将主频设为32MHz:

FoJjEA-aUdM_FhS86Z5Svqz5pgxp

ADC配置:

Fnnas00wWpqOAPs0Rgnv4gZJgW2L

主要代码

void main(void)    

SYSTEM_Initialize();    

int Time = 0;

    int state = 0;

    int ddc = 0;

    while (1)

    {

        if (!button_GetValue()) {

            __delay_ms(10);

            if (!button_GetValue()) {

                Time++;

            }

            if(Time<100){

                state = 0;

            }

            else if(Time>=100 && Time < 500){

                state = 1;

            }

            else if(Time>500 ){

                state = 2;

            }

            

        }else{

            ddc = ADCC_GetSingleConversion(0x10);

            if(Time!=0){

                 if(state==0){

                led1_SetHigh();

                led2_SetLow();

                led3_SetLow() ;

                printf("short_press    ADValue: %d",ddc);

            }

            else if(state==1){

                led1_SetHigh();

                led2_SetHigh();

                led3_SetLow();

                printf("normal_press    ADValue: %d",ddc);

            }

            else if(state==2 ){

                led1_SetHigh();

                led2_SetHigh();

                led3_SetHigh();

                printf("long_press    ADValue: %d",ddc);

            }

            }

            Time = 0;

        }

    }

}

心得体会:mcc是一个各方面都比较完备的功能,有了它的存在可以帮我们减轻不少的麻烦。

 虚拟串口的调试不太方便。

对八位单片机有了一定的了解,掌握了相关的编程方法。

团队介绍
我们是来自中国矿业大学北京的大二学生,我们对单片机的学习充满的兴趣,在这次活动中精诚合作,希望圆满完成这次的任务。
团队成员
李青山
电气萌新1
林杏宇
电气萌新2
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号