我原先的引脚设置如下,但是因为有P1口和P2口 都是有其他用途,所以P1口用来做按键的只有1-7脚,而P2是1-4脚。
P1的0脚用作脉冲输入,而P2的5-7 则是用来连接GPRS的powerkey等。所以我配置键盘的时候,想单独配置P1的1-7,P2的5-7
所以我的问题来了,我在想,我们设置的时候,如果我想让P1的1-7脚是输入,0脚是输出,我可不可以这样设:P1DIR=0x01; // 0000 0001 P1 口为输入
我想设 P1的1-6是下降沿,7的是上升延可不可以这样:P1IES=0x7E
我今天的主要问题是这个:我的P2只有1-4脚是用作键盘的,其他脚他用,那我可不可以只开1-4脚的中断? 是否这样子开:
P2IE=0X1E; 0001 1110 //设置P2中断使能寄存器,置1为允许中断,置0为禁止中断
void keyboard_int()
{
//键盘引脚配置
P1DIR=0x00; // P1 口为输入
P2DIR=0x00; // P2 口为输入
P1IES=0X00; //设置P1口中断边沿选择寄存器,置1为下跳沿,置0为上跳沿
P1IE=0XFF; //设置P1中断使能寄存器,置1为允许中断,置0为禁止中断
P2DIR=0X00;//设置P2口方向寄存器,置0为输入,置1为输出
P2IES=0X00;//设置P2口中断边沿选择寄存器,置1为下跳沿,置0为上跳沿
P2IE=0XFF; //设置P2中断使能寄存器,置1为允许中断,置0为禁止中断
}
------解决方案--------------------
看一下PDF文档,说的很清楚