《一种节省I/O资源的多按键电路及其设计方法.pdf》由会员分享,可在线阅读,更多相关《一种节省I/O资源的多按键电路及其设计方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410603847.9 (22)申请日 2014.10.30 G05B 19/042(2006.01) (71)申请人 上海交通大学 地址 200240 上海市闵行区东川路 800 号 (72)发明人 李勇杰 付庄 赵言正 闫维新 (74)专利代理机构 上海汉声知识产权代理有限 公司 31236 代理人 徐红银 郭国中 (54) 发明名称 一种节省 I/O 资源的多按键电路及其设计方 法 (57) 摘要 本发明提供了一种节省 I/O 资源的多按键电 路及其设计方法, 包括电阻、 二极管、 按键, 其中 : 按键通过二极管与其二进制编。
2、号对应 I/O 口线相 连接, 从而将按键按下的动作转换为 I/O 口线上 特定位置的电平变化。本发明大大减少了按键对 I/O 资源的占用, 解决传统矩阵式键盘按键数量 偏少、 占用 I/O 资源偏多的缺点, 接入 500 个按键 仅需要9个I/O口线资源就可实现, 并且不需要通 过繁杂的程序扫键, 输入的值即代表对应的按键 被按下, 操作简便、 实用性强。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 附图1页 (10)申请公布号 CN 104460424 A (43)申请公布日 2015.03.25 CN 104460424。
3、 A 1/1 页 2 1.一种节省I/O资源的多按键电路的设计方法, 其特征在于, 所述方法利用I/O口线非 0 即 1 的特性, 从高到低组成二进制码来代表相应编号的按键被按下 ; 按键一端与 I/O 口线 的连线之间接入二极管, 并且该二极管的正极指向 +VCC, 保证按键电路只能单向导通, 防止 所有 I/O 口线电平相同导致读键混乱 ; 按键通过二极管与其二进制编号对应 I/O 口线相连 接, 从而将按键按下的动作转换为 I/O 口线上特定位置的电平变化。 2.根据权利要求1所述的一种节省I/O资源的多按键电路的设计方法, 其特征在于, 按 键连接二极管的这端相连接的 I/O 口线对应。
4、该按键的二进制编号, 满足等式 : 其中 X 为该按键的编号, m 为占用的 I/O 口线数量, Ci等于 0 或 1, 如果 C i等于 1, 则该 按键应当与第 i 号 I/O 口线间接相连。 3.一种节省 I/O 资源的多按键电路, 其特征在于, 所述电路包括电阻、 二极管、 按键, 所 述电阻包括下拉电阻、 上拉电阻, 所述 I/O 口线与所述下拉电阻或所述上拉电阻连接, 具体 为 : 所述 I/O 口线与下拉电阻连接时 : 各 I/O 口线接下拉电阻连接到地, 各按键一端与 +VCC 相连接、 另一端通过二极管与按键各自二进制编号对应的 I/O 口线相连, 所述二极管 的正极指向 +。
5、VCC ; 所述 I/O 口线与上拉电阻连接时 : 各 I/O 口线接上拉电阻连接到 +VCC, 各按键一端与 地相连接、 另一端通过二极管与按键各自二进制编号对应的 I/O 口线相连, 所述二极管的 正极指向 +VCC。 4.根据权利要求3所述的一种节省I/O资源的多按键电路, 其特征在于, 所述下拉电阻 或上拉电阻在没有按键输入的情况下稳定I/O口线上的输入电平到0V或+VCC, 对于部分内 置上拉电阻的微控制器, 可以通过使能内部上拉电阻省去外接的上拉电阻。 5.根据权利要求3所述的一种节省I/O资源的多按键电路, 其特征在于, 按键连接二极 管的这端相连接的 I/O 口线对应该按键的二。
6、进制编号, 应满足等式 : 其中 X 为该按键的编号, m 为占用的 I/O 口线数量, Ci 等于 0 或 1 ; 如果 Ci 等于 1, 则 该按键就应当与第 i 号 I/O 口线间接相连。 权 利 要 求 书 CN 104460424 A 2 1/3 页 3 一种节省 I/O 资源的多按键电路及其设计方法 技术领域 0001 本发明涉及嵌入式系统技术领域, 具体地, 涉及一种节省 I/O 资源的多按键电路 及其设计方法。 背景技术 0002 按键是嵌入式系统中一种重要的输入设备, 根据事先编写的程序, 可以通过不同 的按键的输入执行不同的程序来实现不同的功能。通常在嵌入式系统中使用的按键。
7、主要 有两种 : 独立式按键和矩阵式键盘, 前者就是各个按键相互独立, 每个按键各占用 1 位 I/O 口线, 其状态是独立的, 相互之间没有影响, 只要单独测试口线电平的高低就能判断键的状 态。独立式按键电路简单、 配置灵活, 软件结构也相对简单。此种接口方式适用于系统需要 按键数目较少的场合。 在按键数量较多的情况下, 比如需要12或16个或者更多按键的键盘 时, 矩阵键盘相较于独立式按键能够大大节省 I/O 资源, 但是在软件的实现上会比较复杂。 0003 中国专利公开号为 CN 103795423A 的发明申请, 该申请公开了一种单 I/O 口控制 多按键的电路, 可将 AD 转换器输。
8、出不同按键的对应数字信号给单片机的 I/O 口, 实现利用 一个 I/O 口控制多个按键, 节省了单片机的 I/O 资源。该专利不足在于 : 接入电路的按键的 数量越多, 对于 AD 转换器的分辨率要求也就越高, 在复杂的电路环境中也极易受到干扰造 成读键错误。且 AD 转换需要消耗一定的时间, 消耗的时间依赖于单片机本身的性能, 在转 换期间的电平变化将被忽略, 一定程度上会降低按键的响应速度。 发明内容 0004 针对嵌入式系统在需要较多按键输入的情况下, 本发明提出了一种新的节省 I/O 资源的多按键电路及其设计方法, 或者在相同的 I/O 资源下可以接入更多的按键, 并且在 程序的编写。
9、上也更加简单、 直观。 0005 为实现以上目的, 本发明采用以下技术方案 : 0006 根据本发明的一方面, 提供一种节省 I/O 资源的多按键电路的设计方法, 所述方 法利用 I/O 口线非 0 即 1 的特性, 从高到低组成二进制码, 来代表相应编号的按键被按下, 按键一端与 I/O 口线的连线之间接入二极管, 并且该二极管的正极指向 +VCC, 保证按键电 路只能单向导通, 防止所有 I/O 口线电平相同导致读键混乱 ; 其中与该按键这端相连接的 I/O 口线对应该按键的二进制编号, 应满足等式 : 0007 0008 其中 X 为该按键的编号, m 为占用的 I/O 口线数量, Ci。
10、等于 0 或 1, 如果 Ci 等于 1, 则该按键应当与第 i 号 I/O 口线间接相连。 0009 根据本发明的另一方面, 提供一种节省 I/O 资源的多按键电路, 所述电路包括电 阻、 二极管、 按键, 所述电阻包括下拉电阻、 上拉电阻, 所述 I/O 口线与所述下拉电阻或所述 说 明 书 CN 104460424 A 3 2/3 页 4 上拉电阻连接, 具体为 : 0010 所述I/O口线与下拉电阻连接时 : 各I/O口线接下拉电阻连接到地, 各按键一端与 +VCC 相连接、 另一端通过二极管与按键各自二进制编号对应的 I/O 口线相连, 所述二极管 的正极指向 +VCC ; 0011。
11、 所述 I/O 口线与上拉电阻连接时 : 各 I/O 口线接上拉电阻连接到 +VCC, 各按键一 端与地相连接、 另一端通过二极管与按键各自二进制编号对应的 I/O 口线相连, 所述二极 管的正极指向 +VCC。 0012 与现有技术相比, 本发明具有如下的有益效果 : 0013 按照本发明的按键接入方式, n 个 I/O 资源可以连接入 2n-1 个按键。按键的数 量随着使用 I/O 资源数量的增长呈几何增长, 每多增加 1 个 I/O 口线资源就可以将接入按 键的数量翻倍, 例如在需要接入 500 个按键的工况下, 使用传统矩阵式键盘最少需要 45 个 I/O 口线资源, 而通过本发明按键。
12、连接方式, 仅需要 9 个 I/O 口线资源就可以实现。同时本 发明电路的按键程序设计也更加简单, 不需要对 I/O 口线进行扫键, 直接一次性读取到的 二进制数即是被按下的键。 附图说明 0014 通过阅读参照以下附图对非限制性实施例所作的详细描述, 本发明的其它特征、 目的和优点将会变得更明显 : 0015 图 1 为本发明一优选实施例的电路图 ; 0016 图 2 为本发明一优选实施例的电路图。 0017 图中 : S 为按键 ; D 为二极管 ; R 为电阻 ; IO 为 I/O 口线, 方向为输入方向。 具体实施方式 0018 下面结合具体实施例对本发明进行详细说明。 以下实施例将有。
13、助于本领域的技术 人员进一步理解本发明, 但不以任何形式限制本发明。 应当指出的是, 对本领域的普通技术 人员来说, 在不脱离本发明构思的前提下, 还可以做出若干变形和改进。 这些都属于本发明 的保护范围。 0019 图 1 是本发明的具体实施电路图, 为了使电路清晰, 仅使用了 4 个 I/O 资源, 接入 了 15 个按键 : 各 I/O 口线接下拉电阻连接到地, 各按键一端与 +VCC 相连接, 另一端通过二 极管与按键各自二进制编号对应的 I/O 口线相连, 二极管的正极指向 +VCC。 0020 图 2 与图 1 类似, 区别在于 I/O 口线通过上拉电阻与 +VCC 相连接, 各按。
14、键一端与 地相连接, 另一端通过二极管与按键各自二进制编号对应的 I/O 口线相连, 二极管的正极 指向 +VCC。 0021 以图 1 为例, 电路开始工作时, 当没有按键被按下的状况下, I/O 口线输入的内容 为 0000( 上拉电阻方式为 1111), 当有按键被按下的时候, 例如第 11 号按键被按下, +VCC 被 加到第 0、 第 1、 第 3 号 I/O 口线上, 读入的数据为 1011, 转换为十进制为数字 11( 上拉电阻 方式读入的值为 0100, 其反码的十进制值也为 11)。通过直接读入二进制数据, 就可以获得 键被按下的信息。 0022 下拉电阻 ( 或上拉电阻 )。
15、 在没有按键输入的情况下稳定 I/O 口线上的输入电平到 说 明 书 CN 104460424 A 4 3/3 页 5 0V(或+VCC), 对于部分内置上拉电阻的微控制器, 比如AVR系列单片机, 在单片机内部设有 上拉电阻, 通过相应指令使能内部上拉电阻能够省去图 2 中所示的上拉电阻, 但电路的原 理并没有发生改变。 0023 本发明中 : 按键一端与 I/O 口线的连线之间接入二极管, 并且二极管的正极指向 +VCC, 保证按键电路只能单向导通, 防止所有 I/O 口线电平相同导致读键混乱。与该按键这 端相连接的 I/O 口线对应该按键的二进制编号, 应满足等式 : 0024 0025。
16、 其中 X 为该按键的编号, m 为占用的 I/O 口线数量, Ci等于 0 或 1。如果 Ci 等于 1, 则该按键应当与第 i 号 I/O 口线间接相连。 0026 以使用 4 个 I/O 资源为例, 各 I/O 口线接下拉电阻连接到地 ( 或者上拉电阻连接 到 +VCC), 各按键一端与 +VCC 相连接 ( 或者与地相连接 ), 另一端通过二极管 ( 二极管的正 极指向 +VCC) 与按键各自二进制编号对应的 I/O 口线相连。例如, 在 I/O 口线使用下拉电 阻连接到地的情况下, 十进制编号为 11 的按键, 编号转换为二进制后为 1011, 那么该按键 应该一端与 +VCC 连接。
17、, 一端通过二极管与第 0、 第 1 以及第 3 号 I/O 口线相连 (I/O 口线编 号从0开始) ; 如果I/O口线使用上拉电阻连接到+VCC, 那么二极管的方向应该与前一种情 况相反。 0027 本发明大大减少了按键对 I/O 资源的占用, 解决传统矩阵式键盘按键数量偏少、 占用 I/O 资源偏多的缺点, 接入 500 个按键仅需要 9 个 I/O 口线资源就可实现, 并且不需要 通过繁杂的程序扫键, 输入的值即代表对应的按键被按下, 操作简便、 实用性强。 0028 以上对本发明的具体实施例进行了描述。需要理解的是, 本发明并不局限于上述 特定实施方式, 本领域技术人员可以在权利要求的范围内做出各种变形或修改, 这并不影 响本发明的实质内容。 说 明 书 CN 104460424 A 5 1/1 页 6 图 1 图 2 说 明 书 附 图 CN 104460424 A 6 。