由于个人能力问题,这种引脚不是一个IO口的不会用循环语句写,那我只能if();if();if();喽,按键扫描代码如下:
int scan()
{
int n = 0;
P4OUT |= BIT2;
if(P2IN&BIT4)
n = 1;
if(P2IN&BIT2)
n = 2;
if(P3IN&BIT4)
n = 3;
if(P3IN&BIT5)
n = 4;
if(n == 1||n == 2||n == 3||n == 4)
return n;
P2OUT |= BIT6;
if(P2IN&BIT4)
n = 5;
if(P2IN&BIT2)
n = 6;
if(P3IN&BIT4)
n = 7;
if(P3IN&BIT5)
n = 8;
if(n == 5||n == 6||n == 7||n == 8)
return n;
P2OUT |= BIT5;
if(P2IN&BIT4)
n = 9;
if(P2IN&BIT2)
n = 10;
if(P3IN&BIT4)
n = 11;
if(P3IN&BIT5)
n = 12;
if(n == 9||n == 10||n == 11||n == 12)
return n;
P2OUT |= BIT3;
if(P2IN&BIT4)
n = 13;
if(P2IN&BIT2)
n = 14;
if(P3IN&BIT4)
n = 15;
if(P3IN&BIT5)
n = 16;
if(n == 13||n == 14||n == 15||n == 16)
return n;
else
return 0;
}
然后sharp96屏幕我也不会驱动呀,好吧!找官方例程,直接拿来用吧!
本来想做一个手机的,但是IO口这么少,现在屏幕和按键都接一起了,我也就敢在按键扫描处设置一个断点。按住按键再让程序执行一次扫描。如果真的跑起来,在一、五引脚一个输出低电平,一个输出高电平,那这金刚狼岂不是真炭狼了?貌似想做手机不行额。。。下面是主程序代码,是在“430BOOST-SHARP96_GrlibExample_FR5969”例程基础上改的。
extern int num;