标题:
s12dg128的PORTH 口键盘循环扫描程序,真怪!!!
[打印本页]
作者:
jonah008
时间:
2007-8-13 21:03
标题:
s12dg128的PORTH 口键盘循环扫描程序,真怪!!!
真奇了怪了!!在扫描4X4键盘(反转法)时,如果DDRH不反转,只判断出column是可以的;只要加入翻转(即:DDRH=0x0f 变为DDRH=0xf0),就什么也判断不出来了!下面是源代码,请赐教:
for(;;){
DDRH=0x0f; //低四位输出
PTH=0x00; //因为输入有上拉,所以输出应为低电平
PERH=0xff; //允许上拉下拉装置,仅输入时有效
PPSH=0x00; //falling edge; pull-up device
if(!(PTIH_PTIH7)) column=1;
if(!(PTIH_PTIH6)) column=2;
if(!(PTIH_PTIH5)) column=3;
if(!(PTIH_PTIH4)) column=4;
DDRH=0xf0; //高四位输出
sdelay(1); //短暂延时
if(!(PTIH_PTIH3)) row=1;
if(!(PTIH_PTIH2)) row=2;
if(!(PTIH_PTIH1)) row=3;
if(!(PTIH_PTIH0)) row=4;
//PORTB=row; //用来显示
//PORTB=column; //用来显示
//SCI0_Transmit(row); //用来显示
//SCI0_Transmit(column); //用来显示
}
作者:
jonah008
时间:
2007-8-13 21:08
考虑到 PORTH 内有上拉功能,所以在硬件上没有做上拉,下拉。这样做对吗?
作者:
strongchen
时间:
2007-8-14 15:31
你有没有单步走一下,看看过程中到底有什么问题?注意单步走时输入信号要配合。
作者:
jonah008
时间:
2007-8-14 16:03
谢谢版主,俺准备在硬件上作 独立式键盘了。尽量避开反转吧,嘿嘿!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0