基于C语言的抗干扰消抖按键程序设计.docx

基于C语言的抗干扰消抖按键程序设计抗干扰消抖按键程序设计

一、引言

按键作为常见的人机交互方式,应用广泛。然而,在实际应用中,由于环境干扰和按键的本身特性,容易产生按键的抖动和误触发现象,影响按键的可靠性和精度。为此,需要设计一种可抗干扰、消除按键抖动的按键处理程序,以提高按键的可靠性和稳定性。

二、按键的特性和干扰情况分析

1.按键的特性

2.干扰情况

按键在使用过程中可能会受到各种干扰,主要包括:电源噪声或干扰;周围环境的振动或震动干扰;按键自身的抖动(主要是机械振动导致的)。

三、抗干扰消抖按键程序设计

1.概述

2.程序设计思路

①按键输入检测:

首先,需要对按键输入信号进行检测,以判断按键是处于松开状态还是按下状态。实现的方法是通过检测按键所对应的IO口的电平状态,当该IO口的输入电平为高电平时,说明按键未按下,当输入电平为低电平时,说明按键已经按下。

②滤波处理:

③抗干扰处理:

为了增强程序的抗干扰性能,还可以采取以下措施:

1)采用硬件滤波电路:可以通过在按键的输入端添加RC滤波器等硬件电路来消除电源噪声和瞬间信号变化对按键输入的影响。

2)增加重复检测次数:在程序中设置重复检测次数,如果连续检测到多次信号变化,才认为按键状态发生了改变,从而可以减少误触发的概率。

3.代码实现

基于以上设计思路,本程序的主要代码实现如下:

#include

sbitbtn=P1^0;

unsignedinttimer_cnt;

unsignedintslide_window[8];

unsignedintslide_idx=0;

voiddelay(unsignedintt)

{

while(t--){;}

}

voidTimer_Init()

TMOD|=0x01;

TH0=0x3C;

TL0=0xB0;

EA=1;

ET0=1;

TR0=1;

voidTimer_ISR()interrupt1

timer_cnt++;

unsignedintcheck_btn()

unsignedintstable_cnt=0;

unsignedintstable_avg=0;

unsignedintbtn_state=0;

unsignedinti;

if(!btn){

timer_cnt=0;

while(btn==0){}

delay(20);

while(1){

if(btn){

break;

if(timer_cnt>=500){

slide_window[slide_idx++]=timer_cnt;

slide_idx%=8;

if(slide_idx==0){

stable_avg=0;

for(i=0;i<8;i++){

stable_avg+=slide_window[i];

stable_avg=stable_avg>>3;

if(stable_avg>200){

stable_cnt++;

}else{

stable_cnt=0;

if(stable_cnt>=3){

btn_state=1;

returnbtn_state;

intmain()

Timer_Init();

if(check_btn()){

P1=0xFF;

delay(100);

P1=0x00;

四、结论

一、按键特性分析

1.1稳态电阻

按键的稳态电阻通常在10欧姆到10兆欧姆之间,取决于材料,设计和制造工艺。高质量的按键电路应该具有尽量小的电阻。

1.3机械振动

机械振动是指当按键连接时会产生的机械振动或抖动,因而可能导致抖动现象。振动的程度和频率通常与按键设计、材料和宏观环境有关。

二、干扰情况分析

2.1电源噪声

在信号传输中,电源噪声是一种常见的噪声源,会影响到使用噪音灵敏器件,例如来自关闭的继电器、电视等设备的干扰。电源排除方法包括使用稳定电源和内含电源保护的设备。

2.2振动干扰

振动干扰范围广泛,包括外部物体撞击和声音,它们都会对周围环境产生震动。这种干扰可以通过外表设计中的缓冲元件来减少。

2.3按键自身抖动

当按键连接时,机械振动会导致按键抖动,这些抖动信号可能会干扰系统的正确功能并导致误触发操作。按键抖动可以通过使用软件滤波线路来减少。

三、抗干扰消抖按键程序设计数据

为了设计用于抗干扰消抖按键的程序,需要考虑以下数据:

3.2滤波器设计

3.3抗干扰性能

抗干扰性能包括硬件和软件方面的措施。硬件方面,通过使用电源滤波器和隔离器件可以减少干扰;软件方面,可采用滤波器、重复检测等方法来防止误操作。

以上数据是设计抗干扰消抖按键程序的基础,它们可以帮助确定软硬件设计参数,并且最终确定抗干扰消抖按键程序的性能特点。下面介绍一些具体的技术手段。

四、设计技术和方法

4.1滑动窗口滤波器

滑动窗口滤波器是一种通常用于信号滤波的数字滤波器。其核心思想是维护一个由N个最新样本组成的滑动窗口,每次将新样本添加到窗口中,再将之前最老的样本从窗口中删除。这样,总是计算窗口中的平均值,以减少噪声干扰和抖动现象。在抗干扰消抖按键程序中,滑动窗口过大或过小都可能导致滤波器效果变差,因此需要进行适当的优化。

4.2重复检测

重复检测是指在连续检测到按键状态发生变化时,需要进行多次确认才可以生成相应的操作信号。这可以降低误触发的概率,提高按键的稳定性和可靠性。

4.3应对环境振动和机械振动的延时处理

在操作控制系统时,环境振动和机械振动都可能导致按键抖动,进

THE END
1.压力传感器动态响应时间介绍压力传感器的动态响应时间是指传感器输出响应到压力改变所需要的时间。一般来说,动态响应时间包括上升时间和下降时间两部分,其值一般在几毫秒到几十毫秒之间。 二、压力传感器动态响应时间的影响因素 压力传感器的动态响应时间受多种因素的影响,主要包括以下几点: 1.传感器结构:不同类型的压力传感器https://b2b.baidu.com/q/aland?q=1870086F7D6271190F3E7F66056506251A6F0378752D74200015&id=qid3ea762c6a84ad882049b77ef66749856&answer=6358108371298945838&utype=2
2.往年12月14日实时系统时间复杂度深度解析产品中心实时系统是一种能够在明确的时间约束内对外部请求做出响应并进行相应处理的计算机系统,这种系统对于响应时间、可靠性和实时性有着极高的要求,在往年12月14日这个时间点,许多实时系统已被广泛应用于军事指挥、航空航天、工业控制、自动驾驶等领域,实时系统的特点包括任务执行的紧迫性和高可靠性要求,它必须对外界的请求或http://www.hjdxxjc.com/post/44299.html
3.光伏发电站动态无功响应时间应不大于20ms。光伏发电站动态无功响应时间应不大于 20ms。A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力工具https://www.shuashuati.com/ti/264a8e8a4f1849cb844129232e7a1a5ea2.html
4.一种WebService响应时间的动态预测方法具有相同或相似功能的服务在互联网上大量出现.如何预测服务质量,进而支持基于服务质量的服务选择,成为了需要解决的关键问题.其中,响应时间是服务消费者最能直接感受到的服务质量体现,提出一种Web服务响应时间的动态预测方法.该方法根据响应时间的厉史数据,基于时间序列分析进行动态预测.实验结果表明,这种方法可以显著提https://www.zhangqiaokeyan.com/academic-journal-cn_journal-chinese-computer-systems_thesis/0201243441205.html
5.显示器为什么提供可手动调节的灰阶响应时间最近搞了台显示器,然后发现它的设置菜单里,有一个选项可以给用户调节响应时间。 咋回事啊这,我寻思着,那不应该更快更好吗?既然显示器能做到更快的响应时间,为什么还要给用户选项去选一个更慢的呢? 所以就翻起了显示器附带的说明书。但是和响应时间有关的说明,只看到了: https://zhuanlan.zhihu.com/p/76948567
6.什么是动态个性化的Web应用程序的良好响应时间?对于包含动态内容和个性化的复杂Web应用程序,来自服务器的响应时间是什么(如此排除网络延迟和浏览器呈现时间)?我正在考虑像Facebook,亚马逊,Myyyahoo等网站。相关问题是后端服务的良好回复时间是什么? 看答案 对此有大量的研究。这是A. 快速摘要。响应时间:3个重要限制https://www.pianshen.com/question/740919170/
7.热电偶动态特性的温度预估方法研究摘要:针对高温高频和非均匀热流密度条件下温度测量问题,采用激光连续加热热电偶的方法,研究了不同热流密度条件下、不同直径热电偶的动态响应特性,分析了热流密度对热电偶动态响应时间和电压变化率的影响,得到热电偶动态响应时间、电压变化率与热流密度的函数关系,并提出了一种基于热电偶动态响应特性温度预估方法。结果http://www.zhckyb.com/news/company/1237.html
8.电动汽车DC/DC变换器测试要求dcdc测试dcdc测试方法参考试验循环工况曲线中标明的工况试验曲线,测量负荷率从30%阶跃到80%,或从80%阶跃到30%的响应时间,要求DC/DC变换器的动态响应时间,应符合生产商和用户签订的供货文件。 16.可靠性 推荐的可靠性试验循环工况曲线(染料电池大客车)示例见“试验循环工况曲线”图,ip表示输出功率(P)与额定功率(Pt)的比值,试验循环数https://ntek-testlab.com/newsinfo299.html
9.高性能大功率可编程直流电源租赁支持充电桩测试2) 在满电压时,空载下降时间(不搭配功率耗散器)<30ms,(搭配功率耗散器)<5ms 3) 动态响应时间<3ms; IT6500系列宽范围大功率可编程直流电源 IT6500系列宽范围大功率直流电源提供给用户非常宽广的选择范围,全系列包含从800W到6kW,以及高达1000V、240A的输出范围,同时拥有超宽的电压、电流使用范围。不但有丰富测量https://m.11467.com/blog/d7323089.htm
10.艾德克斯(ITECH)IT6500系列宽范围大功率可编程直流电源说明书2) 在满电压时,空载下降时间(不搭配功率耗散器)<30ms,(搭配功率耗散器)<5ms 3) 动态响应时间<3ms; 无论是在电源还是负载模式下,IT6500都具有可调的上升沿和下降沿,各种模式下(源CV、CC、CP,载CC、CP)均支持设置上升、下降时间,设定范围为1ms-24h。 http://m.szlswl8.com/h-nd-1392.html
11.奥东电气高压动态无功补偿装置SVG动态无功补偿柜厂家实力生产6、动态响应速度快,响应时间≤5ms。 7、总谐波电流失真(THDi)≤3%。 8、多种运行模式极大的满足用户需求,运行模式有:恒装置无功功率模式、恒考核点无功功率模式、恒考核点功率因数模式、恒考核点电压模式、负载补偿模式,目标值可实时更改。 9、实时跟踪负荷变化,动态连续平滑补偿无功功率,提高系统功率因数,实时治理https://m.ymgk.com/detail-2774374.html
12.ITECHIT6522D宽范围大功率可编程直流电源价格参数图片2) 在满电压时,空载下降时间(不搭配功率耗散器)<30ms,(搭配功率耗散器)<5ms 3) 动态响应时间<3ms; 无论是在电源还是负载模式下,IT6500都具有可调的上升沿和下降沿,各种模式下(源CV、CC、CP,载CC、CP)均支持设置上升、下降时间,设定范围为1ms-24h。 IT6522D宽范围大功率可编程直流电源参数 额定值(0℃~https://m.1001718.com/qt/11469.html
13.动态权重负载均衡算法动态负载设置前面学习了一些动态负载均衡算法,基本思想都是量化后端服务器的性能指标,分配指标权重,计算实时权重,然后动态改变nginx的权重来实现请求转发和处理,下面是一篇利用机器学习算法来预测某一个请求在各个服务器的请求响应时间,将该请求转发至响应时间最小的机器上,依次实现nginx高并发处理。 https://blog.51cto.com/u_16213691/10317380
14.DCDC电源详解(五)动态负载响应时间: 当加上阶跃负载时,电源系统响应需要的时间 (六)电压调整率: 输入电压变化时,输出电压的变化率,即: 电压调整率=(最高输出电压-最低输出电压)/额定输出电压 X100% (七)负载调整率: 负载电流从半载到额定负载时,输出电压的变化率,即: http://ww.51nbq.com/488.html
15.HDSVG系列高压动态无功补偿装置液阻柜软启动水电阻◆动态响应速度快,响应时间≤5ms。 ◆总谐波电流失真(THD)≤3%。 ◆多种运行模式极大的满足用户需求、运行模式有:恒装置无功功率模式、恒考核点无功功率模式、恒考核点功率因数模式、恒考核点电压模式、负载补偿模式、目标值可实时更改。 ◆实时跟踪负荷变化,动态连续平滑补偿无功功率,提高系统功率因数,实时治理谐波,补http://www.houdehuifu.com/a/dnzl/164.html
16.北京“23·7”特大暴雨影响下城市交通应急响应时间动态分析:以主题:城市洪涝风险 交通规划 应急响应 渐进失稳 “23·7”特大暴雨 极端雨洪事件 摘要:暴雨洪涝事件影响城市交通路网运输性能,增加城市应急通行时间.然而,现有研究主要集中于2h设计雨型下城市交通路网受损过程,对长历时特大暴雨情形则考虑不足.2023年7月,北京地区发生历史罕见的长历时特大暴雨事件,造成严重洪涝灾害http://lib.gsdx.gov.cn/asset/detail/0/2031272076506
17.噪声传感器的定义和作用应用生产厂家产品介绍在城市噪声监测或环境噪声评估中,噪声传感器需要具备广泛的频率响应范围和高灵敏度,以准确测量不同频率和强度的噪声。 此外,长时间监测和数据记录功能也是关键要求,以便评估噪声水平的变化和持续时间。 2.工业噪声控制: 在工业环境中,噪声传感器需要具备高动态范围和快速响应时间,以测量高强度和瞬态噪声。 https://www.patsensor.com/news/detailS202306090001.html
18.CC/ACC控制系统优化与关键技术标定汽车测试技术这些方案涉及到环境感知、车辆动态状态、发动机扭矩输出、系统响应时间等多个关键参数,旨在提高CC/ACC系统在不同驾驶条件下的性能表现。未来,随着汽车科技的不断发展,相信CC/ACC系统将进一步演化,为驾驶者提供更为智能、个性化的驾驶体验。https://www.auto-testing.net/baike/show-2429.html
19.用户侧储能接入配电网国标响应时间≤0.5s/低电压穿越2次/数据并网点电压跌落至0时,不脱网连续运行时间≥150ms,应具备承受至少2次低电压穿越的能力。 并网点电压升高至额定电压的125%~130%,不脱网连续运行时间≥500ms。 通过10(6)kV电压等级接入的用户侧电化学储能系统在高/低电压穿越期间应具备动态无功支撑能力,动态无功电流的响应时间应不大于30ms。 https://cn.solarbe.com/news/20240201/85200.html