一种新型三端轻触开关的制作方法

文档序号:8922225阅读:975来源:国知局
一种新型三端轻触开关的制作方法
【技术领域】
[0001]本发明涉及到一种电路轻触开关,用这种轻触开关构成的矩阵键盘的检测变得非常简单,另外,单片机只需要通过一个中断源和若干个普通1 口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测。
【背景技术】
[0002]键盘是微型计算机系统最基本最常见的输入设备,一般键盘由多个轻触开关构成。根据轻触开关的排列方式,键盘可以分为线性键盘和矩阵键盘。在按键多的场合,我们常采用矩阵键盘,矩阵键盘将轻触开关排成η行m列,每个按键占据行列的一个交点,这样需要连线的数目就是n+m,这样便可检测n*m个轻触开关。而传统的轻触开关为两端式,当我们摁住开关时,这两端导通,自然状态下两端为开路,不导通。这种两端轻触开关构成的矩阵键盘的译键方法常有行扫描法和线反转法,以行扫描法来说,行扫描法需要依次置低矩阵键盘行线上的电平,再读取端口的值以得到被按下按键的编码,这种检测方法在程序上较为繁琐,不够简单,需要经过几个步骤才能识别出被按下的轻触开关。另外,这些方法需要处理器以查询的方式对按键扫描检测,这就要求处理器不断读取1的电平状态,这种按键检测的方式在实时系统中往往是不适宜的,而且以查询的工作方式检测按键就导致(PU无法工作在低功耗模式,会提高整个系统的功耗。如果要用中断的方式检测矩阵键盘,则需要将行(列)线连接到具有中断能力的1 口,而对于某些低端的处理器外部中断资源是很少的,无法提供足够的具有中断能力的1 口。由传统两端轻触开关构成的矩阵键盘有这两大缺点:检测不够简单和无法工作以中断的工作方式完成检测。而这两大缺点是由传统两端轻触开关的特性所决定的,为了解决克服这些缺点,本发明从轻触开关的结构上提出了一种新的思路。

【发明内容】

[0003]为了简化矩阵键盘的检测,并使单片机只需要通过一个中断源和若干个普通1口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测。
[0004]本发明采用的技术方案是:一种新型三端轻触开关,其特征是:由三个接触端构成,自然状态下,这三个端两两开路,摁住开关时,这三个端两两短路。
[0005]键盘连接方式:三端轻触开关的三个端是相同的,为便于表述,将三端轻触开关的三个端分别编号为0、1、2,对于m*n个轻触开关,将其排列成m行η列,每一行η个三端轻触开关的I端由行线相连,各行分别记为R0W_l~R0W_m,每一列的m个三端轻触开关的O端由列线相连,各列分别记为LINE_l~LINE_n,所有m*n个轻触开关的2端连接到一起记为COM端,所有三端轻触开关构成了 m行η列的矩阵键盘。
[0006]查询工作方式:行线R0W_l~R0W_m分别与单片机1 口相连相连,列线LINE_l~LINE_n分别与单片机1 口相连,COM端接地;单片机通过读取矩阵键盘相连的1口的值得到行线和列线上的电平状态,每一个按键被按下都对应唯一的行线和列线上的一个电平状态,所以就可以通过单片机读取行线和列线上的电平状态来识别出被按下的按键,这就实现了单片机以查询的工作方式检测整个矩阵键盘。
[0007]中断工作方式1:行线ROW_l~ROW_m分别与单片机1 口相连相连,列线LINE_l~LINE_n分别与单片机1 口相连,将COM端接到单片机的外部中断引脚,接下来以中断的方式检测整个矩阵键盘,将外部中断设置为下降沿触发,与行线列线相连的1 口设置为推挽输出模式并全部输出低电平,这样,只要有任意一个按键被按下,COM端电平便会被拉低,中断触发,进入中断服务程序,在中断服务程序中,首先将中断引脚设置为输出模式并输出低电平,再将与行线列线相连的1 口设置为上拉输入模式,单片机再读取行线列线的值,通过读取行线列线的电平状态便可以识别出被按下的按键,等待按键释放,识别完成后再将外部中断设置为下降沿触发,与行线列线相连的1 口设置为推挽输出模式并全部输出低电平,单片机继续等待中断的来临,这就实现了单片机以中断的工作方式检测整个矩阵键盘。
[0008]中断工作方式2:行线R0W_l~R0W_m分别与单片机1 口相连相连,列线LINE_l~LINE_n分别与单片机1 口相连,每根行线和每根列线都分别连接一个电阻,所有电阻的另一端连接到高电平;所有行线或者所有列线或者所有行线和列线连接到一个与门电路的输入端,与门电路的输出端连接到单片机的外部中断引脚,将外部中断设置为下降沿触发^fCOM端接到低电平;任意一个按键被按下,其中一根行线和一根列线的电平被拉低,与门电路输出端输出一个低电平,中断触发,进入中断服务程序,在中断服务程序中,利用中断服务程序读取输入的键的位置。
[0009]本发明的有益效果是:这种结构的轻触开关构成的矩阵键盘的检测变得和线性键盘一样简单,并单片机只需要通过一个中断源和若干个普通1 口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测。用中断的方式检测矩阵键盘不仅提高了整个单片机系统的实时性,提高了效率,还允许系统在休眠模式下工作,有按键按下时才触发中断唤醒CPU,这样做也降低了系统的功耗,节约能源,同时能够键盘的使用寿命。
【附图说明】
[0010]原理图1是三端轻触开关的基本结构,有0,1,2三个端,每个端引出引脚;
原理图2给出了一种由传统两端轻触开关构成的4*4矩阵键盘的连接方法;
原理图3给出了一种由新型三端轻触开关构成的4*4矩阵键盘以查询方式工作的连接方法;
原理图4给出了一种由新型三端轻触开关构成的4*4矩阵键盘以中断方式工作的连接方法。
【具体实施方式】
[0011]原理图2给出了一种由传统两端轻触开关构成的4*4矩阵键盘的连接方法和实现键盘检测的方法,根据原理图2,行线R0W_1~R0W_4分别与单片机ΡΓ0~ΡΓ3 (表示Pl端口的0~3位,有的教材或者编程语言表示为P1.0-Ρ1.3,本处的表示方法也是常见的标示符号之一,下同;同时,在单片机中有的端口是双向口,或者称为准双向口,即能够输出信息、也能输入信息,此处的Pl具有双向口功能)相连并将ΡΓ0~ΡΓ3设置为推挽输出模式,列线LINE_1~LINE_4分别与单片机ΡΓ4~Ρ1~7相连并将ΡΓ4~Ρ1~7设置为上拉输入模式(悬空时引脚为高电平),采用行扫描法检测矩阵键盘,依次将ΡΓ0~ΡΓ3单独置为低电平,每设置一次低电平、都要读取ΡΓ4~ΡΓ7检测各列线的状态,来判断是哪个按键按下(由于单片机的扫描速度远远快于人的输入速度,现在单片机的频率能够达到300MHz,假定扫描需要100个周期,大约在微秒数量级,而人的输入速度在0.1秒的数量级,因此,相对于人的输入速度,扫描所需的时间能够忽略)。具体实现方案:首先将ΡΓ0输出低电平,其余三条行线(ΡΓ1、ΡΓ2、ΡΓ3)置为高电平,此时可以检测第一行按键的状态,若keyl被按下则LINE_4线电平被拉低,其余列线为高电平,若key2被按下则LINE_3线电平被拉低,其余列线为高电平,依此类推key3、key4,这样通过读取列线的电平的状态就可以得到第一行按键的状态。接着检测第二行的按键,将ΡΓ1输出低电平,其余三条行线(ΡΓΟ、ΡΓ2、ΡΓ3)置为高电平,此时可以检测第二行按键的状态,若key5被按下则LINE_4线电平被拉低,其余列线为高电平,若key6被按下
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1