我在写个键盘扫描液晶显示的程序遇到的问题程序如下。
测试问题:必须要把P3DIR=0X00;加上。键盘扫描对P3口是进行输入操作,我之前把关闭IO口电平时,全部设置为输出了,所以要在设置为输入,但是为什么我在写其他程序,如AD采样时,关闭IO后,我并没有设置为输入,也可以采样。这是为什么?求指导
#include<msp430x14x.h>
#include"Key.c"
#include"cry1602.c"
#include"cry1602.h"
uchar *p="the key is :";
uchar k;
uchar t[]="1234";
void main(void)
{
/*下面六行程序关闭所有的IO口*/
P1DIR = 0XFF;P1OUT = 0XFF;
P2DIR = 0XFF;P2OUT = 0XFF;
P3DIR = 0XFF;P3OUT = 0XFF;
P4DIR = 0XFF;P4OUT = 0XFF;
P5DIR = 0XFF;P5OUT = 0XFF;
P6DIR = 0XFF;P6OUT = 0XFF;
WDTCTL = WDTPW + WDTHOLD; //关gou
LcdReset();
DispNChar(0,1,12, p);
while(1)
{
//P3DIR=0x00;
k= Key_Scan();
switch(k)
{
case 1:DispNChar(13,1,1,t);break;
case 2:DispNChar(13,1,1,(t+1));break;
case 3:DispNChar(13,1,1,t+2);break;
case 4:DispNChar(13,1,1,t+3);break;
default : P2OUT=0x00;
}
}
} |