在这里向大家分享下,在嵌入式开发和实际生产的产品中,经常用到的的开关电路,根据上一篇文章 嵌入式硬件常识——常用到的开关介绍 中的开关分了以下三大类。
(一)轻触开关、瞬动开关、微动开关、自锁开关
通常的此类按键所用开关为机械弹性开关。当机械触点闭合时,电路接通。机械触电断开时,电路断开。
程序的思路:
首先要对I/O口进行配置,以新唐芯片N76E003为例,将IO口配置成高阻输入。
(1)扫描法:可在主程序中循环的判断该管脚的电平状态,如电平为低则被按下。再进行后续的操作。
(2)中断法:配置相应的外部中断,进入外部中断函数说明被按下,可在中断处理函数中进行后续的操作。(中断处理函数中,善用标志位切忌出现任何延时!)
硬件电路设计:
如下图,单片机的I/O直接接开关到地。这是最基础的开关设计电路。
如下图,是我最常用的开关电路。在开关断开的时候需要明确给一个电平。因此需要一个上拉10K电阻到3.3V电源。此时Key1电平为高电平。当开关被按下后,3.3V经过10K电阻直接导通到GND。此时Key1电平被拉低为低电平。
(二)船型开关、翘板开关、拨动开关、滑动开关
通常的此类按键所用开关也为机械弹性开关。当机械触点闭合时,电路接通。机械触电断开时,电路断开。
下图为船型开关(单刀双掷)的开关电路,2为动触点,1和3为静触点。当2动触点接通3静触点的时候,Power和5V接通。当2动触点接通1静触点的时候,Power和3.3V接通。此开关电路功能是选择电源电压。该电路也可用于拨动开关(两档)等等。基于这类开关能实现的功能可以很多很多。
下图为拨动开关(四路),其实每一路都可以看做是一个小的开关。当拨片滑动,则控制该路是否导通。在实际应用中常用到此开关来控制某些IO口来实现不同功能。
(三)电位器旋钮开关、摇杆开关
此类开关和上面的就完全不一样了,这类开关可看做是可变电阻。根据旋钮的位置改变,其电阻值也随之改变,从而获得当前ADC值来实现不同功能。
如下图,R1为电位器旋钮开关,根据旋钮的角度不同,阻值会处于在10Ω-10K之间。R2为限流电阻,不宜过大。其电路等效于典型的分压电路。如下图的分压电路。