折腾了2天,终于把矩阵键盘的程序给完全弄出来了!
关于中断的资料好少,让我走了不少弯路,现给出注意事项和程序。
我用的gioPORTB和hetPORT1做的4*6矩阵键盘,用的是gioPORTB的0、2、4、6口作下降沿中断;
但是在键盘扫描中有这样一句话gioSetPort(gioPORTB,0x00);,使得B口由高电平变为低电平,产生了4个下降沿中断,IntFlag中断标志寄存器的值变为0x5500,在本次中断结束之后仍然会进入中断,所以在中断处理程序末尾加上这样一句话
gioREG->FLG = 0xFFFFU;把中断标志寄存器清零即可。程序稍后给出
[ 本帖最后由 sadlll 于 2013-7-10 12:10 编辑 ]
-
键盘扫描.rar
(2013-7-10 12:10 上传)
473.47 KB, 下载次数: 111
TMS570_4*6矩阵键盘程序
回复 楼主sadlll 的帖子
中断的资料不少啊,弱弱的问一句你用了四个钟端口吗?好浪费啊,一个就够了,不仅节省中断资源,而且程序上要简洁一些
回复 沙发白丁 的帖子
如何用一个中断实现,求指教
回复 板凳zhaojun_xf 的帖子
今天画原理图,再把程序优化一下,附件估计下午才能上传
回复 板凳zhaojun_xf 的帖子
为什么我上传不了图片或者附件?貌似火狐浏览器无法上传
[ 本帖最后由 sadlll 于 2013-7-10 12:11 编辑 ]
回复 7楼sadlll 的帖子
上传图片没有问题吧
嗯,很不错,中断确实没有必要用这么端口,一个即可。
回复 8楼sadlll 的帖子
什么样意思?中断吗?完全可以参考6楼的图,把读端口连接。