www.openedv.com
您好,欢迎您!    会员注册 | 登入 
公告:欢迎访问www.openedv.com开源电子网,开源共享共同进步,祝您新年快乐,万事如意!
设为首页 | 加入收藏
论坛首页 » STM32/STM8专区 前往: 
哪位给点写STM32 4*4矩阵键盘的思路,要用中断的。
发表人 内容
[Down] [Up]
[楼主位] Crystal_oscillat


等级:NO
注册时间:
2011/06/30 15:20
文章: 47
来自: 湖南
离线

哪位给点写STM32 4*4矩阵键盘的思路,要用中断的。


[加为好友] 回复 引用回复
[Down] [Up]
[1楼] hpy6666


等级:NO
注册时间:
2011/07/02 16:11
文章: 69
来自: 江苏 
离线

应该是用8个IO端口组成4*4的矩阵,通过循环检测各IO口的0/1 状态变化确认是那一行那一列,先将8个IO口置1。应该是用EXIT中断吧,我还没有入门啊,但这个思路肯定是没错的。。。。,建议你去参考原子的开发板列程KEY0和KEY1的列程!!

希望能对你有帮助!!


[加为好友] 回复 引用回复
[Down] [Up]
[2楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8097
来自: 湖南
离线

矩阵键盘还要用中断,我倒真没弄过.
想想原理,矩阵键盘要靠扫描才能发挥作用,那么程序里面必定有一个扫描的函数,用于循环检测各行各列的按键.检测的时候就可以读到键值了.
我实在想不出中断用在这里,有什么意思?  有点脱裤子放屁的感觉.


这篇文章被编辑了 1 次. 最近一次更新是在 2011/07/05 18:38


我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[3楼] leavic

等级:NO
注册时间:
2011/03/08 21:25
文章: 26
离线

楼主可能是不想做轮询检测吧,其实用中断和用轮询在检测方式上都是一样的,只不过轮询扫描8个IO,中断函数扫描4个IO。


[加为好友] 回复 引用回复
[Down] [Up]
[4楼] dgdzov

等级:NO
注册时间:
2011/03/22 17:59
文章: 14
离线

楼主的意思可能是,平时懒得扫描,有按键触发后再开始扫描(或许是想唤醒)。
可以做,看看下面的方法行不行:
1. 行4个IO口输出低。
2. 列4个IO口带上拉输入。(低电平触发中断)
3. 当对应的列中断触发后,再开始逐行扫描。


[加为好友] 回复 引用回复
[Down] [Up]
[5楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8097
来自: 湖南
离线

楼上的方法是可行的.不过会占用4个中断输入口.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[6楼] leavic

等级:NO
注册时间:
2011/03/08 21:25
文章: 26
离线

而且按楼主的目的来说,可能还要使用0~4这几个独立中断口,否则中断函数里还是行列都要扫描。。


[加为好友] 回复 引用回复
[Down] [Up]
[7楼] libing64


等级:NO
注册时间:
2012/02/15 13:58
文章: 43
离线

回复【6楼】 leavic :
---------------------------------
我也是需要使用矩阵键盘,但是我想到的方法是,16个键中留一个作为按键输入的启动键,
产生中断之后就开始进行按键扫描,这样就只占用一个IO啦~


[加为好友] 回复 引用回复
 
前往: 

Powered by ALIENTEK工作室 © 粤ICP备12000418号-1