设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> 单片机实战 >> 正文 用户登录 新用户注册
[图文]单个I/O口实现多按键输入          【字体:
单个I/O口实现多按键输入
作者:admin    文章来源:本站原创    点击数:    更新时间:2006-1-1

在单片机应用中,经常要用到按键输入,在有较多按键输入的情况下,通常会使用矩阵式扫描方法来完成,例如对于16个按键输入的场合,会使用4×4矩阵键盘,这需要占用较多的I/O口(如8个),而对于单片机来说,其I/O口资源非常有限,当I/O口资源紧缺时,只好选用成本更高的具有更多I/O口的单片机来使用,本文介绍一种只用一个或两个I/O口实现多按键输入的方法。

对于使用一个I/O口来实现多按键输入,有个前提条件,就是这个I/O口具有A/D转换功能,只要使不同的键按下时,A/D转换输人端的电压不同,就可识别出所按的键,其电路如下图所示。  

在无键按下时,I/O口端电压为电源电压Vcc,当S1键按下时,I/O口端电压最低,是电阻R1R2的分压,当S2键按下时,I/O口端电压变高,是电阻R1和(R2+R3)的分压,同理,当S3S4按下时,电压会更高,通过对该I/O口的A/D转换值的大小进行判断,就可以得知所按下的哪一个键。

图中只列出了4个按键的例子,在实际使用中,适当调整电阻值,可使按键数增加很多,在8A/D转换中,按键数甚至达到上百个。

对于无A/D转换功能的单片机,可通过使用2I/O口达到以上同样的功能

文章录入:admin    责任编辑:admin 
  • 上一篇文章: DS1820高精度温度测量的实现

  • 下一篇文章: 51单片机串口调试程序
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
  • 51单片机TCP/IP开发板

  • 【本站学习光盘列表】

  • 单片机C语言视频教程

  • 本站最新推出试验板图片展

  • Atmega及SD卡的数据采集存储…

  • 逻辑加密存储卡AT88SC1604的…

  • 智能煤气表的思路与原理

  • 用51单片机控制RTL8019AS实现…

  • AT88RF256射频卡读写器

  • 能防止多次试探密码的单片机…

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}