两线式键盘(AD按键)电路的设计与实现
在做单片机项目开发时,经常需要用到键盘,而键盘绝大多时候使用的是单按键或矩阵键盘。矩阵键盘有许多优点,我在这就不多说了,但有一点就是按键稍微多几个就比较浪费口线了,尤其是需要将键盘引出时,那线多而长很是一个不爽。下面我就说说两线式的多按键电路的设计与实现,键盘只需两根导线就搞定,前提是你的单片机系统要有多余的一根AD口线。说到这里有人会问了,我的系统没有用到模拟采集,为了弄这个键盘再加一个AD芯片吧,这不是因小失大吗?我要说的是现在带有AD功能的单片机相当的多,而且价格比没带的也贵不了多少。当然你选了不带AD的就另当别论了。
我在做一个项目的按键时遇到几个情况:1.产品外设较多,单片机I/O口除键盘就只剩下一个I/O了,再没有多余的了;2.现场情况所限,键盘与主机板要有一段距离;3.键盘需要9个按键。根据以上的情况采用两线键盘最为合适。电路如图所示。
图中 省略了部分按键,可以根据实际需要配置按键。此时就可以通过AD扫描读取,可以根据AD值判断有无按键按下或是那个按键按下。根据上图电阻值(为方便举例,全部取值为1K,可以自行取其它阻值,电压平均分配就最好)可以算出:无按键按下,AD值为VCC;S1按下,AD值为0;S2按下,AD值为1/2VCC;同理,S3=2/3VCC;S4=3/4VCC;S5=4/5VCC;根据AD采集值比较最接近那个键值,则就是该按键。
使用此方方法需注意几点:1.按键不可太多,这与AD分辨率有关系,否则将会检测不准。以8位分辨率来说,共256点,每个按键的点为25点以上最好。即256/25=10,最多10个按键。具体可以自行实验。
2.按键选用接触性较好的按键。按键差的使用时间一长,容易产生接触电阻,按键多容易误检测。
两线式键盘(AD按键)电路的设计与实现相关推荐
- 【RTD】AD7793两线式铂电阻PT100/PT1000应用
文章目录 1 前言 2 AD7793 两线式铂电阻测量 2.1 阻值计算 3 小结 1 前言 上一篇文章描述的是RTD驱动芯片AD7793与四线式RTD连接使用方法.本文描述两线式RTD与AD77 ...
- 段码式显示屏和背光电路怎么设计?
全透和半透的段码式显示屏是需要通过点亮背光来使之达到显示清晰的效果,并且液晶和背光是分别两路电源控制的,液晶的电压根据不同的材质以及供电方式可以对应的选择电压,正常是3–5V都可以做,但是背光的电压是 ...
- arduino笔记25:arduino用4*4薄膜式键盘
下图左是一款常见的薄膜按键模块(hex keypad),有4×4或3×4(少了最右边一行的A,B,C,D键),它的内部如同下图右边的电路所示,是由16个按键(开关)交织而成.有些按键模块直接使用按键( ...
- 单片机备用电池供电电路_两种实用的电池供电电路分析
随着信息时代的来临,手持电子产品层出不穷(如PDA.数码相机.手机等).这些产品主要采用电池供电,在此类产品中如何设计电源管理电路,确保产品的实用性.经济性成为产品设计的关键问题.本文从设计手持产品的 ...
- 浅谈仪表的两线制、三线制、四线制
一.传感器与变送器的区别 传感器和变送器本是热工仪表的概念.传感器通常由敏感元件和转换元件组成,能够使非电物理量如温度.压力.液位.物料.气体特性等转换成电信号或把物理量如压力.液位等直接送到变送器的 ...
- 三相桥式全控整流电路matlab仿真,三相桥式全控整流电路的matlab仿真
三相桥式全控整流电路的matlab仿真 - 0 -中北大学朔州校区电力电子技术课 程 设 计 说 明 书专 业 : 电 气 工 程 及 其 自 动 化题 目 : 三相桥式全控整流电路的设计与仿真(阻感 ...
- 高速电路EDA设计第一次实验
一.利用74LS138实现4-16译码器 设计要求: · 用2片3-8 译码器拼接成4-16 译码器 · 仿真验证电路的正确性 · 注意观察输出信号的毛刺(竞争冒险) 设计思路: 如下图所示,我们让最 ...
- 两级式光伏并网逆变器,DCDC环节采用boost电路,通过增量电导法实现光伏最大功率跟踪MPPT
两级式光伏并网逆变器,DCDC环节采用boost电路,通过增量电导法实现光伏最大功率跟踪MPPT. 逆变器采用二电平逆变器,通过双闭环控制,实现并网单位功率因数,并网电流与电网电压同相位,并网电流TH ...
- OBC两级式车载电源 Buck+LLC级联型直流变换器电路模型
OBC两级式车载电源 Buck+LLC级联型直流变换器电路模型 采用双闭环控制 输出电压+电感电流双环,比传统输出电压电流双环动态性更好,鲁棒性更强 matlab simulink仿真模型 ~ ID: ...
最新文章
- TokuDB介绍——本质是分形树(一个叶子4MB)+缓存减少写操作
- SQL 在OPENQUERY中使用参数
- 2013\Province_C_C++_A\4.颠倒的价牌
- vue使用@路径引入
- Autofac之自动装配
- 在知乎上泡了这么久,工作、工资、生活还是没有起色是什么原因?
- Homebrew 更换阿里云镜像源
- SpringMVC ------使用POJO对象绑定请求参数值
- ubuntu下jmxtrans 安装
- ADO BUG之'无法为更新定位行....' 解决之道
- 区块链 Fisco bcos 智能合约(17)-区块链的速度困境:“贵”在信任,“慢”得其所
- gnuplot添加直线和箭头
- DWL文件能改成DWG文件打开吗?
- 计算机休眠不播放音乐,电脑休眠后不能播放音乐怎么办
- Git分布式版本管理工具
- Nature子刊:AI技术从零开始设计具有生物活性的蛋白质
- nr技术之---MIMO
- 【ansj分词,英文被转换为了小写】
- 行走的Offer收割机,首次公布Java10W字面经,Github访问量破百万
- linux如何安装声卡驱动