历史上的今天
返回首页

历史上的今天

今天是:2024年11月06日(星期三)

正在发生

2019年11月06日 | 单片机按键长短按源程序(不需要通过等待来判定)

2019-11-06 来源:51hei

从做项目编写的程序里拆解出来


单片机源程序如下:


uint m;

        static        uchar flag_key=1;                //按键松开标志

        static uchar pass=0;                        //长按动作标志,为1时,长按已动作,为0时长按未动作

        if(KEY==0)

        {

                flag_key=0;                //按键按下标志

                m++;

        }

        else

                flag_key=1;                //按键松开标志

        if((flag_key==1)&&(m>10)&&(m<500))        //按键松开,并且m值处于10~500之间,为短按

        {

                m=0;                                                        //m值清零

                        //短按操作内容                                                        

        }

        if((m>=500)&&(pass==0))                                //判断是否是长按并且是否已动作,如果是长按并且未动作执行下面括号内的语句

        {                                                

                pass=1;                                                        //长按动作置1表示长按已动作

                //长按操作内容

        }

        if(KEY==1)                                                        //判断按键是否松开,松开的话执行下面语句

        {

                pass=0;                                                        //长按动作标志位置0为下次长按做准备

                m=0;                                                        //m值清零,为下次按键按下做准备

        }

m值大小根据需要进行调整


推荐阅读

史海拾趣

Chips And Technologies Inc公司的发展小趣事

C&T始终坚持品质至上的原则,从原材料的采购到产品的生产、测试,每一个环节都严格把控。这种对品质的执着追求,使得C&T的产品在市场上赢得了良好的口碑。许多知名电脑制造商都选择与C&T合作,将其产品作为首选的半导体解决方案。

Akahane Electronics Ind Corp公司的发展小趣事

随着全球市场的不断扩大,Akahane意识到单打独斗难以为继,于是积极寻求与国际同行的合作。通过与欧美知名电子企业建立战略合作关系,Akahane不仅获得了先进的技术支持,还成功打入国际市场,进一步提升了品牌影响力。同时,公司还积极参与国际电子行业的交流活动,学习借鉴先进的管理经验和市场策略,为公司的长远发展奠定了坚实基础。

扬州国芯(Gcore)公司的发展小趣事

在电子行业的早期,Akahane Electronics Ind Corp凭借其先进的半导体技术研发,迅速崭露头角。公司专注于提高芯片的性能和稳定性,不断推出创新产品,满足了市场对于高速运算和高效能耗比的迫切需求。通过不断优化生产工艺和降低成本,Akahane在激烈的市场竞争中占据了一席之地,并逐渐扩大了市场份额。

Auris公司的发展小趣事

Auris公司在技术研发方面取得了显著成果。其中,一款名为Auris Robotic Endoscopy System(ARES)的医疗机器人尤为引人注目。这款机器人能够通过精准的操控,帮助医生在不切口的情况下发现早期肺癌,提高了诊断的精确性。20XX年,食品与药品监督管理局(FDA)正式批准了ARES机器人的使用,这是对Auris公司技术实力和产品质量的高度认可。

Fuji Teminal Industry Co Ltd公司的发展小趣事

2019年,强生公司以34亿美元的价格收购了Auris Health。这次收购对于双方来说都具有重要意义。对于Auris而言,它获得了强大的资金支持和市场资源,有助于加速其产品的市场推广和技术研发。对于强生来说,它借此机会获得了Auris在呼吸道手术和肺癌检测方面的先进技术,进一步巩固了其在医疗领域的领先地位。

胜利(VICTOR)公司的发展小趣事

为了进一步拓展市场,胜利公司开始与其他品牌进行跨界合作。例如,公司与知名运动品牌合作推出联名款羽毛球鞋和服装,吸引了更多消费者的关注。此外,公司还与电商平台合作,开展线上销售业务,为消费者提供更加便捷的购物体验。

问答坊 | AI 解惑

【EEWORLD】救火车和你一起学ARM系列活动之六

IO引脚配置和输入输出实验 在前几个实验中,我们一直在研究ARM核心东西。本次实验,我们要把最基本的外设----IO引脚学习一下。学习中要注意的几个问题:1、定时器时钟源的倍频分频。2、理解匹配及如何产生中断。3、产生中断后,如何跳转到中断函数 ...…

查看全部问答>

求助椭圆滤波器

最近在看DDS,好多资料都采用的是椭圆滤波器,我也想做一个来试试,貌似椭圆滤波器的要求很高,请问做过的大虾们我应该怎样做一个性能好的滤波器呢?采用别的简单的滤波器可以实现么?…

查看全部问答>

大家帮我看看这个异常是怎么产生的?

是SPI初始化代码,也不是每次都会有异常,偶尔重新烧写NK的时候才出现。奇怪这如果错误了,怎么不是每次都出现! 定义: typedef struct __SPIRX_BUFFER_INFO {         ULONG        Read;  &nbs ...…

查看全部问答>

如何判断仪表返回的数据有多少位?

通过串口发送指令,不知道返回的数据有多少位?难道末位有特殊的结束符吗?…

查看全部问答>

TVP5150求助

大家设在6410上调试过TVP5150吗?寄存器应该怎么配置?…

查看全部问答>

请教 编写uart在2410板上运行出现的错误

下面是原程序: #include #include #include #include #include #include #include #define UART_ULCON1     (*(volatile unsigned *)0x50004000) //UART 1 Line control #define UART_UCON1  &nb ...…

查看全部问答>

送分!

坐沙发者即送分!…

查看全部问答>

请问谁有F2812的 on-chip flash programmer

请问谁有F2812的 on-chip flash programmer 我用的CCS 是CCS3.1 不知道可以从哪下载 有那个插件的朋友能不能飞一个给我   我的邮箱: shasha_zhu@yahoo.com.cn…

查看全部问答>

开关电源适配器12V 2A是个什么意思?

我的理解是,电源输出电压恒定为12V,输出电流视负载大小而定,从0到2A,不知道有没有问题? 如果是这样理解,那么能带的最大负载是12V/2A=6Ω,小于6Ω的负载是否会产生过流保护?如果没有过流保护电路,是否烧电源? 开关电源的过压保 ...…

查看全部问答>

LCD后面写着TS1640,这是什么意思?

本帖最后由 paulhyde 于 2014-9-15 09:04 编辑    …

查看全部问答>