搜索
bottom↓
回复: 2

3+1键盘驱动学习 (Mini4020 + linux)

[复制链接]

出0入0汤圆

发表于 2010-11-3 11:25:27 | 显示全部楼层 |阅读模式
贴一个自己的学习笔记,希望对需要的网友有帮助。欢迎拍砖。

目录:

实验环境       
键盘的实现       
  键盘原理图:       
  键盘使用引脚资源:       
  键盘原理分析:       
驱动分析       
  一、文件中包含的函数列表       
  二、函数层次关系       
  三、各函数分析       
      1、file_operations结构体       
      2、初始化工作       
      3、当有键被按下时发生了什么       
      4、当应用程序调用了read(fd,buf,2)时发生了什么       
程序       


(原文件名:3+1键盘原理图.jpg)

键盘原理分析:

    初始化键盘时,将ROW1,ROW2,ROW3三条线输出高电平,如果有键被按下,三极管基极变为高电平,三极管导通,集电极被拉低,
产生一个下降沿,触发中断,进入中断程序。

    扫描时,输出ROW[1:3]=100,若INT0还是低电平,则是第一行有键被按下,否则输出ROW[1:3]=010,查第二行是否有键被按下,
INT0为低电平,第二行有键被按下,否则输出ROW[1:3]=001,记录行号。假设是第一行有键被按下(row=0),即输出ROW[1:3]=100,
再将管脚方向改为ROW1输出,ROW2输入,ROW3输入,保持ROW1输出高电平,此时读ROW2和ROW3,若ROW[3:2]=00,则K1被按下(col=0);
若ROW[3:2]=01,则K2被按下(col=1);若ROW[3:2]=10,则K3被按下(col=2)。计算公式keynum=row*3+col。假设K3被按下则row=0,
col=2键值应该为keynum=0*3+2=2。

点击此处下载 ourdev_594890EQA9Q7.doc(文件大小:137K) (原文件名:3+1键盘驱动学习.doc)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-3-6 13:37:31 | 显示全部楼层
回复【楼主位】goink 小桂
-----------------------------------------------------------------------

俺正在找这个!mark了!

出0入0汤圆

发表于 2012-3-6 13:41:20 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 18:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表