单片机程序实现 按键 长按短按识别

发布者:乐呵的挑最新更新时间:2020-02-21 来源: 51hei关键字:单片机程序  按键  长按短按识别 手机看文章 扫描二维码
随时随地手机看文章

/*****************读IO电平***********************************/
void anjian(void) //按键控制


        
 if((!KEY==0)&&(ks==9)) //大于1.9S 有松开 判断是短按了
                        {
                                
                                ks        =        0;
                        }         
                                if(KEY==0)
{  
                
                                delay4ms();
                                if(KEY==0)
                
                {
                        chp+=1;

                         if((!KEY)&&(chp==20))  // 按键单击
                        {
                                ks        +=        1;
                            ZS_LED        =        1;
                                chp = 0;

                                
                        }

                        else if((!KEY)&&(ks==10))  //长按按键
                        {
                                ks        =        0;
                                ZS_LED        =        1;
                                cho                +=1;
                
                        }

else if((!KEY)&&(cho==1)) //大于2S 还没有松开 直到松开也判断是长按了
                        {
                                
                                ks        =        10;
                                cho        =        0;

                        }

}
}
}

关键字:单片机程序  按键  长按短按识别 引用地址:单片机程序实现 按键 长按短按识别

上一篇:基于单片机的电机测速proteus仿真+代码
下一篇:51单片机MLX90614非接触红外测温程序

推荐阅读最新更新时间:2024-11-19 10:36

单片机定时器T0和P1.7端口产生连续矩形脉冲的程序
已知51单片机,fosc=6MHz,试编写程序,利用T0和P1.7产生如下图所示的连续矩形脉冲。 参考程序: org 0000h ljmp main org 000bh ljmp int_t0 org 0030h main: mov tmod,#00000010b mov ie,#10000010b mov th0,#0ech mov tl0,#4ch clr p1.7 setb tr0 sjmp $ int_t0: jb p1.7,loop
[单片机]
用<font color='red'>单片机</font>定时器T0和P1.7端口产生连续矩形脉冲的<font color='red'>程序</font>
K9F5608A的51单片机驱动程序
  K9F5608A的MCS-51单片机驱动程序主要包括函数声明管脚定义部分、命令操作函数以及数据输出函数。   (1)函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码如下:   (2)命令操作函数 NFC ommand()。   NfCommand()函数实现向K9F5608发送操作命令,程序代码如下:   (3)地址发送函数NfAddre()。   NfAddre()函数完成向K9F5608发送3字节地址数据,程序代码如下:   (4)页读函数。   页读函数实现对K9F5608数据的页读功能,主要包括ReadPageF()、ReadPage()和ReadP
[单片机]
K9F5608A的51<font color='red'>单片机</font>驱动<font color='red'>程序</font>
mega16单片机科学计算器程序源代码
支持最大八位的无符号长整型数值计算 #include《iom16v.h》 #include《macros.h》 //#include《stdio.h》 #define uchar unsigned char #define uint unsigned int #define ulong unsigned long #define EA SREG|=BIT(7) uchar te mp,old,key_turn,flag=0; ulong datA=0,datB=0; const uchar wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; const uchar tab[11
[单片机]
mega16<font color='red'>单片机</font>科学计算器<font color='red'>程序</font>源代码
51单片机驱动步进电机的电路及程序设计
在这里介绍一下用51单片机驱动步进电机的方法。 这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!! 该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。 采用51驱动ULN2003的方法进行驱动。 ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。 ;********************************************************************************* ;****************************
[单片机]
51<font color='red'>单片机</font>驱动步进电机的电路及<font color='red'>程序</font>设计
mini2440按键裸机程序编写运行
开发环境 操作系统:linux 开发板:mini2440 2.原理图 GPGCON控制寄存器地址: GPGCON控制寄存器功能说明: 3. 操作流程 (只需要操作GPGCON寄存器即可操作K1按键) a)设置控制寄存器GPGCON为输入功能:00 (即:可读取GPGDAT寄存器的值) //按键 unsigned long *GPGCON = 0x56000060; unsigned long *GPGDAT = 0x56000064; *GPGCON &= 0xffffc33c;//只用到4个按键GPG0 GPG3 GPG5 GPG6,功能设为00:输入功能 b)我们按下按键,想让对应的LED1
[单片机]
mini2440<font color='red'>按键</font>裸机<font color='red'>程序</font>编写运行
基于pic单片机测温程序分享
;振荡器1MHzR/C ;命令时钟250kHz include page1macro bsfSTATUS,RP0;page1 endm page0macro bcfSTATUS,RP0;page0 endm cbLOCk0ch ti me1, te mp lo_val,hi_val,msn,lsn digit1,digit2 count,read ssave,wsave flags endc ;================================== org00 gotoinit org04 btfssINTCON,T0IF gotoend_int MOVwfwsave swapfSTATUS,w MOVwf
[单片机]
基于pic<font color='red'>单片机</font>测温<font color='red'>程序</font>分享
单片机9g舵机调试程序
******************************************************************************* * 程序名称:9g舵机控制 * 硬件说明:VCC-----------------4-6V * GND---------------- GND * PWM----------------IO口 *软件说明: 舵机的转动需要时间的,因此,程序中值的变化不能太快,不然舵机跟不上程序。 * 该舵机属于模拟舵机(非数字),锁定某一角度需要持续给PWM信号 * *编写时间:2020.07.12 * *特别说明:在工作精度高和快速系统中,该舵机转
[单片机]
单片机C语言程序举例(三)
14.音乐播放 //此程序在硬件上调试通过 //本程序的单片机晶振采用11.0592M #include reg51.h sbit speaker=P1^2; unsigned char timer0h,timer0l,time; //世上只有妈妈好数据表 code unsigned char sszymmh ={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved