首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

省电型键盘通过MCU管脚控制多路按键

省电型键盘通过MCU管脚控制多路按键

传统上,与n乘m键盘连接的微型控制器要求微型控制器的I/O管脚的n+m为键盘扫描。
       键盘设计保留了微型控制器已经被开发出来的管脚,但是它们要求额外的资源,例如外部的ICs或一个内置的模数转换器(ADC)。本设计这里只利用了一个I/O管脚,并且要求仅将电阻和电容作为外部元件。
       I/O是一个开头被配置作为输入的双向管脚(见图)。当没有按键被按下时,电容被放电,并且上拉电阻RH保持I/O为高。微型控制器处于休眠模式,并且只有在I/O状态改变引起中断时才会醒来。当按键被按下,I/O变低,因为下拉网络比上拉作用更强些。
       微型控制器随后醒来执行以下步骤:

       1. 等待联络消除抖动。
       2. 把I/O变为输出并设置高。 电容随后开始充电到高状态电压。 充电的时间Ti取决于按键被按下和与其关联的R (1,2,…i)。
       3. 等待直到T1到来。
       4. 使I/O作为输入。充电到C暂停。
       5. 如果I/O为高,按键1被按下。 如果I/O为低,使I/O作为输出并置高来持续充电。
       6. 等待直到T2到来。
       7. 使I/O作为输入。 充电到C暂停。
       8. 如果I/O为高,按键2被按下。 如果I/O为低,使I/O作为输出并置高来持续充电。
       9. 通过Ti持续到T3。
       应该选择电阻使T1

       充电时间可被确定如下:当充电暂停时,在I/O的电压(式1)是VC为电容电压(式2)。式3通过使VI/O与开关门限电压VTH相等解答了充电的时间。这里,VTH是I/O的开关门限电压。




       随着Ri增加,Ti最初增加。但随后它达到最大值并开始减少。这就给Ri,并因此给可以连接到电路中的按键数量强加了一个上限。
       Ti可能会在Ti,min和Ti,max之间变化,由于在VTH上电阻的容差和变化。所以,应该选择数值使Ti,max
       这个设计用三种方式节省功率。首先,每次电容被充电到V并被放电,CV2能量都被消散。在本设计中,只要I/O变高且电容被充电到大约VTH(少于2V),而不是VDD,则充电停止。其次,当每个按键被按下电容只充电(和放电)一次。最后一条,在确定哪个按键被按下后,微型控制器进入休眠模式并保持休眠,直到按键被释放且I/O变回到高。所以既使当某些按键陷入或卡住时,功率消耗是最小的。
返回列表