当前位置:文档之家› 按键的防抖技术

按键的防抖技术

按键的防抖技术

键盘,作为向系统操作人员的干预指令的接口,以其特定的按键序列代表着各种确定

的操作命令,所以,准确无误的辨认每个键的动作和其所处的状态,是系统能否正常工作

的关键。

大多数键盘的按键大多使用机械弹性开关。电信号通过机械触点的打开和关闭过程完

成高电平和低电平之间的切换。由于机械触点的弹性作用,钥匙开关在闭合和断开时必须

伴随一系列抖动,其波形如图所示:

抖动过程的长短是由按键的机械特性决定,一般是10~20ms。为了使cpu对一次按键

动作只确认一次,必须消除抖动的影响,可以从硬件及软件两个方面着手:

(1)硬件防抖技术

通过硬件电路消除按键过程中的抖动的影响是一种广为采用的措施。这种做法,工作

可靠且节省机时,下面介绍两种硬件防抖电路。

① 滤波器防抖电路

利用rc积分电路对干扰脉冲的吸收作用,选择好电路的时间常数,就能在按键抖动

信号通过此滤波电路时,消除抖动的影响。滤波防抖电路入,如图所示:

+15vr15。1ksw243215。1KR22UF174LS062输出

由图可知,当按键sw2按下时,电容c两端的电压钧为0,非门输出为1。当sw2按

下的时候,由于c两端电压不可能产生突变。尽管在触点接触的过程中可能会出现抖动,

只要适当选却r1,r2和c值,即可保证电容c两端的充电电压波动不会超过非门的开启

电压(ttl为0.8v),非门的输出将维持高电平。同理,在触点k断开的时候,由于电容

c经过r2放电,c两端的放电电压波动不会超过门的关闭电压,因此,门的输出也不会改变。总之,只要r1,r2,c的时间常数选择适当,确保电容c由稳态电压充电到开启电压,或放电到关闭电压的延迟时间等于或大于10ms,该电路就能消除抖动的影响。

② 双稳防抖电路

用两个非门构成一个rs触发器,即可构成双稳态防抖电路,其原理电路如图:

+5vr14。7ku1a1a(on)74ls0023qoutk4u1b74ls006q#5r34。7k+5vb(关闭)

设按键k未按下时,建k与a端(on)接通。此时,rs触发器的q端为高电平1,致

使q#端为低电平0,。此信号引至u1a与非门的输入端,将其锁住,使其固定输出为1。每当开关k被按动时,由于机械开关具有弹性,在a端形成一连串的抖动波形。而q#端在k

到达b之前失重为0。这时,无论a处出现怎么样的电压(0或1),q端恒为1。只有当

k到达b端,使b端为0,rs触发器发生反转,q#变为高电平,导致q降低为0,并锁住

u1b,使其输出恒为1.。此时,即使b处出现抖动波形,也不会影响q#端的输出,从而保

证q端恒为0。同理,在释放按键的过程中,只要一接通a,q端就升至为1。只要开关k

不再与b端接触,双稳态电路的输出将维持不变。

(2)软件抗抖动方法

如前所述,若采用硬件消抖电路,那么n个键就必须配有n个防抖电路。因此,当按

键的个数比较多时,硬件防抖将无法胜任。在这种情况下,可以采用软件的方法进行防抖。当第一次检测到有建按下时,先用软件延时(10~20ms),而后再确认键电平是否依旧维

持闭合状态的电平。若保持闭合状态电平,则确认此间已按下,从而消除抖动影响。

按键的防抖技术

按键的防抖技术 键盘,作为向系统操作人员的干预指令的接口,以其特定的按键序列代表着各种确定 的操作命令,所以,准确无误的辨认每个键的动作和其所处的状态,是系统能否正常工作 的关键。 大多数键盘的按键大多使用机械弹性开关。电信号通过机械触点的打开和关闭过程完 成高电平和低电平之间的切换。由于机械触点的弹性作用,钥匙开关在闭合和断开时必须 伴随一系列抖动,其波形如图所示: 抖动过程的长短是由按键的机械特性决定,一般是10~20ms。为了使cpu对一次按键 动作只确认一次,必须消除抖动的影响,可以从硬件及软件两个方面着手: (1)硬件防抖技术 通过硬件电路消除按键过程中的抖动的影响是一种广为采用的措施。这种做法,工作 可靠且节省机时,下面介绍两种硬件防抖电路。 ① 滤波器防抖电路 利用rc积分电路对干扰脉冲的吸收作用,选择好电路的时间常数,就能在按键抖动 信号通过此滤波电路时,消除抖动的影响。滤波防抖电路入,如图所示: +15vr15。1ksw243215。1KR22UF174LS062输出 由图可知,当按键sw2按下时,电容c两端的电压钧为0,非门输出为1。当sw2按 下的时候,由于c两端电压不可能产生突变。尽管在触点接触的过程中可能会出现抖动, 只要适当选却r1,r2和c值,即可保证电容c两端的充电电压波动不会超过非门的开启 电压(ttl为0.8v),非门的输出将维持高电平。同理,在触点k断开的时候,由于电容 c经过r2放电,c两端的放电电压波动不会超过门的关闭电压,因此,门的输出也不会改变。总之,只要r1,r2,c的时间常数选择适当,确保电容c由稳态电压充电到开启电压,或放电到关闭电压的延迟时间等于或大于10ms,该电路就能消除抖动的影响。 ② 双稳防抖电路 用两个非门构成一个rs触发器,即可构成双稳态防抖电路,其原理电路如图: +5vr14。7ku1a1a(on)74ls0023qoutk4u1b74ls006q#5r34。7k+5vb(关闭) 设按键k未按下时,建k与a端(on)接通。此时,rs触发器的q端为高电平1,致 使q#端为低电平0,。此信号引至u1a与非门的输入端,将其锁住,使其固定输出为1。每当开关k被按动时,由于机械开关具有弹性,在a端形成一连串的抖动波形。而q#端在k 到达b之前失重为0。这时,无论a处出现怎么样的电压(0或1),q端恒为1。只有当 k到达b端,使b端为0,rs触发器发生反转,q#变为高电平,导致q降低为0,并锁住

PC机按键防抖动技术word精品文档4页

PC机按键防抖动技术 前言:按键开关是电子设备实现人机对话的重要器件之一。由于大部分按键是机械触点,由于机械触点的弹性及电压突跳等原因,在触点闭合 和断开的瞬间会出现电压抖动,抖动的时间长短取决于开关元件的机械特性。为避免抖动引起误动作造成系统的不稳定,就要求消除按键的抖动,确保按键每按一次只做一次响应。随着可编程逻辑器件的综合性能的不断提高,它已经广泛应用在各种数字逻辑领域。 一. 按键抖动产生原因及分析 按键抖动如图1所示。如果将这样的信号直接送给微处理器扫描采集的话,将可能把按键稳定前后出现的脉冲信号当作按键信号,这就出现人 为的一次按键但微处理器以为多次按键现象。为了确保按键识别的准确性,在按键信号抖动的情况下不能进入状态输入,为此就必须对按键进行消抖处理,消除抖动时不稳定、随机的电压信号。不同类型的按键其最长抖动时间也有差别,抖动时间的长短和按键的机械特性有关。 二. 按键消抖技术 按键消抖一般采用硬件和软件消抖两种方法。硬件消抖是利用电路滤波的原理实现,软件消抖是通过按键延时来实现。在微机系统中一般都采用软件延时的消抖方法。 1.硬件消抖 对于单个按键或按钮可以采用RC滤波器或RS双稳态触发器(如下图)来抑制开关输出逻辑信号的抖动,当开关从A端打向B端时,无法避免的在Q’输入一个近似于图示的脉冲序列,利用RS双稳态触发器连续的“置0”

和“保持”功能,可以使输出端Q保持翻转为低电平, 维持高电平。 该方法比较复杂,如果系统按键输入较多,则因附加电路太多而不用这种方法。对于系统按键输入较多的系统,我们可以采用INTEL8279可编程键盘/显示器作为接口芯片,它能够自动消除开关抖动并能对多键同时按下提供保护。除此之外,可选用由4块CMOS集成芯片和若干电阻、电容组成的电路。其中555定时器组成多谐振荡器用来给计数器提供时钟脉冲;1块CC40161型四位同步二进制计数器用来设定消抖动电路输出信号Y 的延迟脉冲个数。1块CC4043四R/S锁存器(只用了1组,其余3组未用)和1块CC4011四2输入与非门用来实现信号的锁存和控制。 2.软件消抖 1) 采用VHDL语言的有限状态机的设计方法来描述和实现 其状态转换图如图2所示 按键消抖的关键是提取稳定的低电平(或高电平)状态,滤除按键稳定前后的抖动脉冲。在用基于VHDL语言的时序逻辑电路设计按键消抖电路时,可以用一个时钟脉冲信号对按键状态进行取样,当第一次采样到低电平时,启动延时电路,延时结束后,再对按键信号进行连续三次取样,如果三次取样都为低电平,则可以认为按键已经处在稳定状态,这时输出一个低电平的按键确认信号,如果连续三次的取样中,至少有一次是高电平,则认为按键仍处在抖动状态,此时不进行按键确认,按键输出信号为高电平。 2)延迟法 延迟法是采用时间延迟来躲过抖动,当检测到按键被按下或释放时,由CPU产生一段延时,时间大约为10~20ms,然后再进入扫描检测程序,从

51单片机按键消抖程序原理

51单片机按键消抖程序原理 一、引言 按键消抖是嵌入式系统编程中常见的问题之一,尤其是在使用51单片机时。51单片机是一款常用的微控制器,广泛应用于各种嵌入式系统中。按键作为常见的输入设备,在51单片机应用中经常被使用。由于按键的机械特性,当按键按下或释放时,会产生机械抖动,给系统带来误操作。因此,了解并编写按键消抖程序对于保证系统的正常运行至关重要。 二、消抖原理 按键消抖,简单来说,就是通过一定的算法,消除按键产生的机械抖动,从而准确识别按键的状态。其原理主要基于以下两点: 1.机械抖动的特点:按键的机械抖动主要表现为按键触点之间的快速开关,产生一系列微小的电信号。这些信号通常包含真实的按键输入信号和噪声信号。 2.消抖算法:通过分析这些信号,识别出真实的按键输入信号,并忽略噪声信号,从而达到消除机械抖动的目的。常用的消抖算法有阈值比较法、防抖延时法、防抖滤波法等。 三、消抖程序实现 下面以51单片机为例,介绍一种简单的阈值比较法消抖程序实现: ```c voidkey_debounce(intkey_pin){ //定义按键引脚 intdebounce_time=50;//消抖时间,单位毫秒

intthreshold=5;//阈值,可以根据实际情况调整intkey_state=0;//按键状态,初始化为0(未按下)intlast_key_state=0;//上一次的按键状态 while(1){ //读取按键状态 key_state=digitalRead(key_pin); last_key_state=key_state; //判断按键是否按下 if(key_state==LOW){ //按键按下,开始消抖 if(millis()-last_key_state>=debounce_time){ //经过一定时间,确定按键状态 if(key_state==digitalRead(key_pin)){ //检测到真实的按键输入信号 //这里可以进行相应的操作,例如点亮LED灯等 }else{ //检测到噪声信号或其他干扰,忽略 } }else{ //消抖时间不足,忽略当前状态 } }else{ //按键释放,忽略当前状态 }

单片机控制的矩阵键盘

单片机控制的矩阵键盘 在当今的数字化世界中,键盘作为一种基本的人机交互工具,被广泛应用于各种电子设备。而矩阵键盘,由于其结构简单、使用方便、可扩展性强等特点,更是单片机控制应用中的常见输入设备。本文将详细介绍一种基于单片机的矩阵键盘控制方法。 矩阵键盘通常由行线和列线组成,行线连接到单片机的端口,列线则连接到按键。当按键被按下时,相应的行线和列线会形成闭合回路,单片机通过检测这个闭合回路就能确定被按下的按键位置。 首先需要选择一个具有足够I/O端口数量的单片机,如常见的8051或STM32等。然后设计一个4x4的矩阵键盘,将16个按键分别连接到4个列线和4个行线上。行线和列线分别连接到单片机的I/O端口。为了提高系统的稳定性,还可以添加一个外部电源和去耦电容。 在软件方面,我们需要使用单片机的I/O端口来控制键盘的输入。我们需要为每个I/O端口设置一个上拉电阻或下拉电阻,以确定初始状态。然后,通过扫描每个行线,并读取与之相连的列线的状态,来确定哪个按键被按下。具体实现上,可以采用“行列反转法”或“分行扫描法”等算法。

完成硬件和软件设计后,需要进行测试和验证。可以通过编写一个简单的程序,来模拟用户输入,并检查单片机是否能正确识别按键。还可以在实际应用中进行测试,如将键盘连接到单片机控制的设备中,通过按键来控制设备的动作。 通过上述文章,我们了解了单片机控制的矩阵键盘的实现方法。这种方法具有成本低、易于扩展、可靠性高等优点,因此在许多实际应用中被广泛采用。掌握这种技术将有助于我们更好地进行嵌入式系统的设计和开发。 矩阵键盘是一种行列式键盘,由行线和列线组成。行线连接到单片机的P2端口,列线连接到P1端口。当用户按下某个按键时,对应的行线和列线会导通,单片机可以通过检测行线和列线的导通情况来确定被按下的按键。 51单片机矩阵键盘的硬件组成包括51单片机、行列式键盘和LED指示灯等。其中,单片机采用Intel公司的8051系列,该系列单片机具有高性能、低功耗、高集成度等特点。键盘采用4×4的行列式结构,共有16个按键。LED指示灯连接到单片机的P0端口,用于显示输入信号的状态。 51单片机矩阵键盘的软件实现包括以下几个步骤:

单反相机的防抖功能及使用要点

单反相机的防抖功能及使用要点 随着科技的不断进步,相机的功能也越来越多样化。其中,单反相机作为专业摄影师和摄影爱好者的首选,其防抖功能是提高拍摄质量的重要一环。本文将探讨单反相机的防抖功能及使用要点,帮助读者更好地利用这一功能。 一、什么是防抖功能 防抖功能是单反相机上的一项技术,旨在减少或消除由于手抖或相机震动而导致的模糊照片。它通过传感器或镜头的移动来对抗相机的晃动,从而保持图像的清晰度。 二、防抖功能的分类 目前,主要有两种类型的防抖功能:光学防抖和机械防抖。 1. 光学防抖 光学防抖是通过镜头内的光学元件进行调整来消除相机的晃动。这种技术具有较高的精确度和稳定性,适用于长焦距拍摄或低光环境下的摄影。 2. 机械防抖 机械防抖则是通过相机本身的传感器进行微调来抵消相机的晃动。这种技术适用于各种焦距的镜头,但相对而言,光学防抖更为常见。 三、防抖功能的使用要点 1. 了解相机的防抖类型 在购买单反相机时,了解相机的防抖类型是很重要的。不同品牌和型号的相机可能采用不同的防抖技术,因此需要根据自己的需求选择适合的相机。 2. 根据拍摄场景选择合适的防抖模式

单反相机上通常有多种防抖模式可供选择,如全时防抖、仅拍摄时防抖等。在不同的拍摄场景下,选择合适的防抖模式可以提高拍摄效果。 3. 注意相机的稳定性 防抖功能虽然可以减少相机晃动带来的模糊,但仍然需要注意相机的稳定性。在使用防抖功能时,尽量保持相机的稳定,避免快速移动或晃动相机,以确保拍摄出清晰的照片。 4. 调整防抖设置 不同的拍摄场景可能需要不同的防抖设置。在拍摄过程中,根据实际情况调整防抖设置,以获得最佳的拍摄效果。 5. 练习手持拍摄技巧 虽然防抖功能可以减少手抖带来的模糊,但练习手持拍摄技巧仍然是提高拍摄质量的关键。通过稳定的手持技巧,可以进一步提高照片的清晰度。 结语 单反相机的防抖功能是提高拍摄质量的重要工具。通过了解防抖功能的分类和使用要点,我们可以更好地利用这一功能,拍摄出更加清晰的照片。同时,练习手持拍摄技巧也是提高拍摄质量的关键,希望读者在使用单反相机时能够充分发挥防抖功能的作用,拍摄出令人满意的作品。

jquery 回车防抖写法 -回复

jquery 回车防抖写法-回复 jQuery回车防抖写法是一种常用的技术,用于防止用户频繁触发某个事件或函数。在本文中,我们将一步一步地回答关于jQuery回车防抖写法的问题,并解释如何实现该功能。 第一步:了解防抖的概念 在深入探讨jQuery回车防抖之前,我们需要先了解什么是防抖。防抖是一种限制触发频率的技术,它可以确保一个函数在特定时间内只会执行一次,即使在该时间内被触发多次。这对于一些需要等待一段时间以确保触发的事件特别有用,比如用户输入时的搜索建议。 第二步:使用jQuery的keydown事件监测回车键 在jQuery中,我们可以使用keydown事件来监测用户的按键操作。键盘上的每个按键都有一个唯一的键码,其中回车键的键码为13。因此,我们可以通过检查事件的keyCode属性来确定用户是否按下了回车键。 下面是一个示例代码片段,演示如何使用jQuery的keydown事件来监测回车键: javascript (document).keydown(function(event) { if (event.keyCode === 13) {

在这里执行回车事件的操作 } }); 第三步:添加防抖逻辑 在上面的代码片段中,我们已经能够检测到回车键的按下事件。但是,如果用户快速地按下回车键多次,很可能会导致事件被频繁触发,从而影响用户体验。为了解决这个问题,我们需要添加防抖逻辑。 防抖的原理很简单:在特定时间内,只有最后一次触发事件的时间间隔大于一个阈值时,才执行事件的操作。否则,重置计时器并等待下一次触发。 下面是一个使用防抖技术的示例代码片段: javascript var debounceTimer; (document).keydown(function(event) { if (event.keyCode === 13) { clearTimeout(debounceTimer); debounceTimer = setTimeout(function() { 在这里执行回车事件的操作

尼康D850中70-200镜头按键的使用说明书

尼康D850中70-200镜头按键的使用说明书 尼康D850中70-200镜头上的4个按钮分别对应与对焦模式设定、对焦距离设定、防抖模式开关、防抖模式选择四种功能。 具体来说,这4个按钮的作用以及使用情况如下: 最上面的按钮是用于对焦模式设定的,用户可以在A/M(自动对焦优先且可以全时手动对焦的自动对焦模式)、M/A(手动对焦优先的自动对焦模式)、M(手动对焦)这三种模式中进行选择。对于普通用户来说,选择A/M即可。选择M/A也没问题。……但是要选M(手动对焦)就必须具备一定的摄影技术了…… 从上往下数第二个开关是对焦距离设定开关。用户可以选择full (整个对焦距离)以及∞-5m(从最近5米到无穷远)这两种模式中进行选择……之所以会存在这两种设定模式,是因为每一支镜头都存在一个从最近对焦距离到最远对焦距离(一般是无穷远)的对焦距离范围的……如果选择full,也就是在全部对焦距离范围之内都可以对焦,那么,对焦行程就会拉长,对焦速度就会降低。 而如果进行一下设定,比如选择∞-5m,那么,对焦距离范围将变短,对焦行程也会缩短,对焦速度就会提升。……因此,如果用户想追求方便,就可以选择full……而如果用户想提升对焦速度,那就选择∞-5m吧…… 从上往下数第三个开关,是防抖开关……那个VR就是尼康防抖的标志……on是开启防抖,off是关闭防抖。手持拍摄状态下应该开

启防抖来提升出片率。如果上三脚架,因为上三脚架以后相机的振动从低频振动变成了高频振动,防抖机构无法适应这种状态,所以上三脚架拍摄的时候应该关闭防抖。 最底下的开关是防抖模式选择开关。normal是默认模式。日常拍摄就选择这个模式。至于那个active模式,可以理解为增强模式……一般用不到……

总结按键输入外部中断请求信号存在的问题与解决方法

总结按键输入外部中断请求信号存在的问题 与解决方法 外部中断是嵌入式系统中常见的一种事件响应机制,可以通过外部设备发出的中断信号来触发处理器执行相应的中断服务程序。在实际的应用中,按键输入作为一种常见的外部中断源,经常被应用于用户交互和控制系统中。然而,按键输入外部中断请求信号也会带来一些问题,包括抖动、冲突以及消隐等,并且需要针对这些问题采取相应的解决方法。 按键输入外部中断请求信号存在的问题主要包括抖动、冲突和消隐,下面将逐一介绍这些问题及解决方法。 一、抖动问题 按键抖动是指在按下或释放按键的瞬间,由于机械结构的弹性特性或者接触点的不良接触,会导致按键信号在短时间内多次震动,造成中断信号的多次触发,使得系统产生误操作或者多次中断的情况。解决按键抖动问题的方法主要包括软件滤波和硬件滤波。

1、软件滤波 软件滤波是通过在中断服务程序中增加延时、状态检测等手段来解决按键抖动问题的方法。通过在中断服务程序中增加延时等操作,可以排除由于按键抖动造成的多次中断信号的干扰,确保系统的稳定性和可靠性。然而,软件滤波需要占用处理器的执行时间和资源,容易影响系统的实时性和响应速度。 2、硬件滤波 硬件滤波是采用电路设计来解决按键抖动问题的方法。通过在按键输入信号的引脚上接入RC滤波电路、反嵌二极管等元件,可以有效地减少按键抖动造成的中断信号的干扰,确保系统对按键输入信号的正确响应。相比于软件滤波,硬件滤波可以减轻处理器的负担,提高系统的实时性和响应速度。 二、冲突问题 按键冲突是指在多个按键同时按下或释放的情况下,会产生错误的中断信号或者无法正确识别所触发的按键,导致系统的误操作或功

jquery 回车防抖写法 -回复

jquery 回车防抖写法-回复 为了防止在用户按下回车键时过度触发事件,我们可以使用防抖函数来解决这个问题。在本文中,我们将使用jQuery来实现一个回车防抖的写法。 回车防抖是指在用户按下回车键后,在一定时间内只触发一次特定的事件。这可以避免用户多次重复提交或执行相同的操作。接下来,我们将演示如何使用jQuery实现回车防抖。 首先,我们需要准备一个HTML结构,其中包含一个文本框和一个按钮。用户在文本框中输入内容,并按下回车键后,我们将执行防抖函数来触发特定的事件。 html 接下来,在JavaScript中使用jQuery来实现回车防抖写法。我们首先需要定义一个防抖函数,并设置一个时间间隔,来控制事件的触发频率。 javascript 防抖函数

function debounce(func, delay) { let timer; return function() { clearTimeout(timer); timer = setTimeout(func, delay); }; } 事件处理函数 function handleEvent() { 执行特定的事件逻辑 console.log("Event triggered!"); } 监听按键事件 ("#input").keyup(debounce(handleEvent, 500)); 在上面的代码中,我们定义了一个防抖函数`debounce`,它接受两个参数:`func`表示要执行的事件处理函数,`delay`表示时间间隔。在防抖函数内部,我们使用`setTimeout`来设置一个定时器,在指定的延迟后执行事件处理函数。

4X4矩阵键盘及显示电路设计

4X4矩阵键盘与显示电路设计 FPGA在数字系统设计中的广泛应用,影响到了生产生活的各个方面。在FPGA 的设计开发中,VHDL语言作为一种主流的硬件描述语言,具有设计效率高,可靠性好,易读易懂等诸多优点。作为一种功能强大的FPGA数字系统开发环境,Altera公司推出的Quar-tUSⅡ,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程,为使用VHDL语言进行FPGA设计提供了极大的便利。矩阵键盘作为一种常用的数据输入设备,在各种电子设备上有着广泛的应用,通过7段数码管将按键数值进行显示也是一种常用的数据显示方式。在设计机械式矩阵键盘控制电路时,按键防抖和按键数据的译码显示是两个重要方面。本文在QuartusⅡ开发环境下,采用VHDL语言设计了一种按键防抖并能连续记录并显示8次按键数值的矩阵键盘与显示电路。 一、矩阵键盘与显示电路设计思路 矩阵键盘与显示电路能够将机械式4×4矩阵键盘的按键值依次显示到8个7段数码管上,每次新的按键值显示在最右端的第O号数码管上,原有第0~6号数码管显示的数值整体左移到第1~7号数码管上显示,见图1。总体而言,矩阵键盘与显示电路的设计可分为4个局部: (1)矩阵键盘的行与列的扫描控制和译码。该设计所使用的键盘是通过将列扫描信号作为输入信号,控制行扫描信号输出,然后根据行与列的扫描结果进行译码。 (2)机械式按键的防抖设计。由于机械式按键在按下和弹起的过程中均有5~10 ms的信号抖动时间,在信号抖动时间内无法有效判断按键值,因此按键的防抖设计是非常关键的,也是该设计的一个重点。 (3)按键数值的移位存放。由于该设计需要在8个数码管上依次显示前后共8次按键的数值,因此对已有数据的存储和调用也是该设计的重点所在。 (4)数码管的扫描和译码显示。由于该设计使用了8个数码管,因此需要对每个数码管进行扫描控制,并根据按键值对每个数码管进行7段数码管的译码显示。 二、矩阵键盘与显示电路的实现 本文所设计的矩阵键盘与显示电路的电路符号如图2所示。其中,clk为时钟信号输入端(频率可为1 024~32 768Hz);start为清零控制端;kbrow为列扫描信号输入端;kbeol为行扫描信号输出端;scan为数码管地址扫描信号输出端;seg7为数码管显示信号输出端。 图1 矩阵键盘与显示电路原理图 图2 矩阵键盘与显示电路的电路符号 如图1所示,全部代码由7个进程(process)组成。其中,进程P1和P2用于对列扫描输入信号kbrow进行读取,并通过或非运算产生行扫描使能控制信号en 对行扫描输出信号kbcol进行控制,并生成一个与kbcol对应的状态信号state。假设没有按键被按下(即kbrow="0000"),那么en= '1',行扫描输出信号kbcol 不断循环扫描各行;假设有按键被按下,en=‘O’,那么行扫描停止,并锁存当前

简述胶片相机防抖技术

简述胶片相机防抖技术 什么是防抖? 在胶片相机全盛的时代,普通人很难拍出好看的照片。因为在拍摄时需要根据自己的经验设置适当的快门速度、光圈值、曝光参数等,或者为了能够准确对焦,还需要通过观察进行手动对焦调整。如果使用单反相机拍摄,则更加复杂, 但如今,由于相机/手机上搭载了很多自动拍摄模式,所以出现过曝或欠曝的照片减少了。在数码单反相机中,自动设置和调整的功能越来越多,出现拍摄失败的情况越来越少。 在这种背景下,拍摄失败的最大原因是“抖动”。抖动并不意味着没有合焦。如今,自动对焦的相关功能已经比较成熟了,所以只要在确认焦点已经对准之后按下快门,图像一般不会模糊,但在环境较暗的场景下拍摄或拍摄移动对象时会发生抖动。 抖动分为被摄体抖动和手抖动两种。被摄体抖动 指的是当拍摄对象为运动员、宠物、行驶中的电车或汽车等正在移动的被摄体时产生的抖动。而手抖动是由按下快门按钮时的手抖动导致的相机/手机振动。即使在拍摄静止的风景照片时,手抖动也会发生。

与胶片相机时代相比,使用数码相机拍摄的照片的抖动现象更加严重。这是因为,使用数码相机拍摄的照片的应用环境往往更容易让人们注意到抖动。在胶片相机时代,人们很少会把照片放大显示。但对于使用数码相机拍摄的照片,人们则经常使用显示屏进行全屏显示。随着显示分辨率的增大,哪怕是细微的抖动,也容易让人注意到。 防止抖动的最有效方法就是在拍摄时提高快门速度。当快门速度足够快时,就可以抑制被摄体抖动和手抖动。不产生抖动的安全快门速度一般是焦距的倒数。当使用500 mm 的超长焦镜头时,快门速度要保持在 1/500 秒以上;当使用 100 mm 的长焦镜头时,快门速度要保持在 1/100 秒以上;当焦距为 50 mm 时,快门速度就要保持在 1/50 秒以上,这样就不容易发生抖动了。如果使用 24 mm 的广角镜头,快门速度要设定为 1/24秒,其实广角镜头通常是大光圈镜头,所以原本就很少出现抖动的情况。但是,我们不可能总是在能够以较高的快门速度拍摄的明亮环境下拍摄,而且使用适当的光圈和快门速度组合进行拍摄才是对普通用户来说的理想状态。 解决由手抖动导致的拍摄失败的最有效方法是使用三脚架保持相机机身固定不动。但在很多情况下我们无法随身携带三脚架,而且也不能奢望在所有的拍摄中都使用三脚架。 所以,人们研发出了仅凭相机本身就可以直接消除因手抖动导致拍摄失败的功能。这就是防抖功能。

相关主题
文本预览
相关文档 最新文档