首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 学习园地
N×N矩阵编码键盘的设计
来源:本站整理  作者:佚名  2010-07-19 14:09:20



  矩阵键盘多为扫描键盘或使用专门的键盘显示芯片。

  扫描键盘的程序控制比较复杂,需要占用较多的I/O口;而专门的键盘显示芯片8279编程容易,但价格较贵,且按键的数量受到一定限制。

  本文介绍一种中断编码键盘,非常适用于单片机或DSP等自动控制系统。

  键盘电路如附图所示。

  选用74HCl48作为键盘编码器,用上拉电阻和分压电阻控制编码器输入端的电平值。

  当无按键按下时,编码器U1的各输入引脚为上拉高电平,无编码输出,编码器U2由于受U1的GS引脚控制也无编码输出,故不会向控制系统发出中断请求;当某键按下时,例如SWl0键按下后,电阻R3、R7接通,在按键两端产生O.8V的电压(U=5xR3/(R3+R7)=O.8 V),编码器U1确认该电平为低电平,U1的15脚被拉低,编码器开始编码并输出二进制码010,其GS引脚输出低电平,启动编码器U2工作。由于按键端的O.8V电压使三极管9014(Q2)导通,;其集电极C被拉低,将U2的16脚拉低,而其余的引脚都为高电平,U2编码输出二进制码001,并在GS端输出低电平中断信号。两个编码器产生的编码用十六进制表示(如按键SWlO输出十六进制码为0X12),作为按键在键盘矩阵中的矩阵位置值,可以直接供8位I/O口系统使用。

  此编码键盘电路扩展成16x16的矩阵键盘,只需要4块74HCl48编码器,电路简单,编程操作容易。当在I/O口上加上缓冲芯片74IS244时,通过在中断程序中片选74LS244,即可同其他外围电路共用I/O资源,从而极大地节省系统的接口资源。

  单片机读键盘编码值的C语言程序段如下所示:

  uchar keyvalue;/*全局变量*/delay10ms(){……}

  void keyin() interrupt 0{uchar i;EA=0  ;/*关闭中断*/delay10ms{();/*等待按键稳定*/reread:PO=Oxff:

  ACC=PO;kevvalue=ACC;if(ACC^31ACC^7)/*判断读入值有效与否*/goto reread;/*重新读人键盘输入*/……/*按键值处理*/for{i=3;i>0;i--)delay10ms();/*等待按键松开*/EA=1    ;/*开中断*/}


关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:49,843.75000 毫秒