历史上的今天
返回首页

历史上的今天

今天是:2025年05月11日(星期日)

2019年05月11日 | 按键的长按与短按(基于MSP430F5529)

2019-05-11 来源:eefocus

长按与短按的区别只是加上一个适当的延时然后再去判断引脚状态。


定义:


#define KEYDIR P2DIR

#define KEYIN P2IN

#define KEYIFG P2IFG

#define KEYIE P2IE

#define KEYIES P2IES

#define KEYREN P2REN

#define S1 BIT0


extern unsigned char key_key;


在中断中处理长按与短按:


#pragma vector=PORT2_VECTOR  //声明中断向量地址

__interrupt void GPIOIntHandler(void)

{

unsigned int IntState,vextend,cv;

unsigned long i;

IntState=KEYIFG;

if (IntState & S1) //按键按下时

{

vextend=0;

cv=0; //长按标志位清零

while (KEYIN& S1==S1) //按键处于按下状态则一直循环

{

for(i=1000;i>0;i--); //适当的延时

vextend++; //计数值加1

if(vextend==2500) //如果计数值等于2500,则说明处于长按状态(此处时间可以根据自己的需求进行设定)

{

vextend=0; //计数值清零

while(KEYIN& S1==S1)//按键依然处于按下状态

{ //进入长按状态处理

if(key_key==99)

key_key=0;

else

key_key++;

LCD_ShowNum(0,0,key_key,3);

for(i=2000000;i>0;i--);//适当的延时为了不让显示过快的变化

cv=1; //长按状态的标志置1(表示进入过长按处理程序)

}

}

}

if(cv==0)//长按状态的标志为0时

{

if(key_key==99)

key_key=0;

else

key_key++;

LCD_ShowNum(0,0,key_key,3);

}

}

KEYIFG &=~(S1);//中断标志位清零

}



推荐阅读

史海拾趣

北京人民电器厂公司的发展小趣事

为了提高生产效率和产品质量,北京人民电器投入大量资金建设了自动化装配检测流水线。这一举措使得公司的生产能力得到了大幅提升,同时也确保了产品的一致性和可靠性。自动化流水线的建设,是北京人民电器在现代化生产道路上迈出的重要一步。

Amplitronix LLC公司的发展小趣事

Amplitronix LLC的创立,源于两位年轻工程师对电子技术的热爱与执着。他们发现市场上存在一种需求,即高性能、高精度的电子测量仪器。于是,他们决定携手创业,将这个想法付诸实践。初创时期,资金短缺、技术难题、市场竞争激烈,每一道关卡都考验着他们的决心和毅力。但他们凭借着对技术的热情和对市场的敏锐洞察,不断研发创新,最终成功推出了首款产品,赢得了市场的初步认可。

Delkin Devices公司的发展小趣事

随着科技的不断进步,Delkin Devices始终保持着对新技术和新产品的敏感度和热情。公司投入大量资源进行技术研发和产品创新,不断推出具有竞争力的新产品。例如,在固态硬盘(SSD)技术兴起的时代,Delkin Devices迅速抓住机遇,成功开发出了一系列高性能、高可靠性的SSD产品,赢得了市场的广泛认可。此外,Delkin Devices还积极拓展产品线,推出了包括读卡器、存储卡等在内的多种存储配件,进一步巩固了其在电子行业中的领先地位。

Cal-Chip Electronics公司的发展小趣事

在快速发展的过程中,Cal-Chip Electronics公司始终关注社会责任和可持续发展。公司积极参与公益事业,支持教育、环保等领域的发展。同时,公司还注重环保生产,通过引进先进的环保技术和设备,减少生产过程中的污染排放。此外,公司还建立了完善的员工培训体系,为员工提供广阔的职业发展空间。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

以上是关于Cal-Chip Electronics公司在电子行业发展的5个相关故事,这些故事展示了公司在不同历史阶段所取得的成就和面临的挑战。通过不断努力和创新,Cal-Chip Electronics公司已经成为了电子行业的一颗璀璨明星。

科山芯创(COSINE)公司的发展小趣事

科山芯创深知品质是企业的生命线。他们建立了严格的质量管理体系,从原材料采购到生产流程再到成品检测,每一个环节都严格把关。同时,他们还不断提升服务水平,为客户提供全方位的技术支持和解决方案。这些努力使得科山芯创在客户中赢得了良好的口碑和信任。

DATATRONICS公司的发展小趣事

DATATRONICS深知产品质量是企业生存和发展的基石。因此,公司投入大量资源用于建立和完善质量管理体系,确保每一款产品都符合国际标准和客户要求。同时,DATATRONICS还注重品牌形象的塑造,通过一系列营销活动和公益活动,提高了品牌知名度和美誉度。

问答坊 | AI 解惑

MSP430系列单片机接口技术及系统设计

MSP430系列单片机接口技术及系统设计…

查看全部问答>

芯片资料(蛮好的)

芯片资料(蛮好的)…

查看全部问答>

开发板申请

希望得到学习的机会!谢谢!…

查看全部问答>

在EVC下GetWindowsDirectory()函数的 用法

我在在EVC下调用GetWindowsDirectory()函数为什么为什么会产生如下两个错误: G:\\VCproject\\Test00\\Test00Dlg.cpp(67) : error C2039: \'GetCurrentDirectory\' : is not a member of \'`global namespace\'\' G:\\VCproject\\Test00\\Test0 ...…

查看全部问答>

网络最佳兼职

假如你想创业但资金不多或想找个兼职请看这 与您现有的工作相容互补而不冲突             不需要受学历的限制        不需要特殊的专业技能        不需要受 ...…

查看全部问答>

samsung 2440+wince5.0, 8寸屏上下抖动

由于8寸屏(800×600):AU V.0(版本号)停产,换成V.7的屏, 结果进入wince桌面后,只要操作nandflash屏就上下抖动。 用V.0的屏一点问题也没有,AU那边说V.7就是V.0的升级版。 屏是AU产的,质量应该没问题,可能与V.0的比,抗干扰差了(但这没 ...…

查看全部问答>

探路者:关于3014灯珠的使用寿命

大家知道LED照明灯的寿命取决于电容的寿命,而现实用很多产品的光衰很严重,实际使用寿命远远低于电容的寿命,这是为何?温度对LED的使用寿命到底有多大?一切理想的状态下,LED灯珠的寿命又是多少? 就举个例子,这个是3014的曲线图,当温度在4 ...…

查看全部问答>

有没有人高人把FFT库改写成32个点基2的fft呢?

                                 我想试试,可STM32的汇编指令介绍从那查啊?…

查看全部问答>