|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2011-2-27 09:11:23
|
显示全部楼层
电压改为3.3V后还是前面两次按键操作不正确,要第三次按键后才能正确显示?我那个程序是不是有问题?
#include<msp430x24x.h>
#include"KEY_LED.h"
#include"delay.h"
/*********变量定义****************/
unsigned char keyval,key_flag;
unsigned char check_key()
{
if((keyin!=0x07))
{
delay();//延时消抖
if((keyin!=0x07))//确实有键按下
{
keyval=keyin;//存储按键值
key_flag=1;//按键按下标志
}
}
return keyval;//返回键值
}
/****独立按键处理函数****************/
void resp_key()
{
if(key_flag==1)//有键按下才处理
{
switch(keyval)
{
case 0x06:
P5OUT|=BIT2;//位选开
P4OUT=0X01;//选中第一个数码管
P5OUT&=~BIT2;//位选锁存
P4OUT=0x08;//送断码
break;
case 0x05:
P5OUT|=BIT2;//位选开
P4OUT=0X02;//选中第一个数码管
P5OUT&=~BIT2;//位选锁存
P4OUT=0Xcb;
break;
case 0x03:
P5OUT|=BIT2;//位选开
P4OUT=0X04;//选中第一个数码管
P5OUT&=~BIT2;//位选锁存
P4OUT=0X12;
break;
default://P4OUT=0X12;
break;
}
key_flag=0;//处理完后请按键标志
}
} |
|