关于矩阵按键的松手检测,上学期困扰我好久,今天看到还有小伙伴头疼这个。。。
这个程序是上次单片机考核时编的子函数,发出来供于交流(实际是最近没看单片机,现编不来

)
uchar songshou()
{
uchar r=1,a;
P3=0x0f;
delayms(4);
a=P3&=0x0f;
if(a==0x0f)
r=0;
return r;
}
uchar saomiao()
{
uchar n;
P3=0x0f;
n=P3&0x0f;
if(n!=0x0f)
{
delayms(8);
P3=0x0f;
n=P3&0x0f;
if(n!=0x0f)
{
while(songshou());
return n;
}
}
return 0xff;
}
void gongneng(uchar x)
{
switch(x)
{
case 0x0f:break;
case 0x0e:
{
if(hh<99)
hh++;
}break;
case 0x0d:
{
if(hh>ll)
hh--;
}break;
case 0x0b:
{
if(ll<hh)
ll++;
}break;
case 0x07:
{
if(ll>0)
ll--;
}break;
}
}
void aj()
{
gongneng(saomiao());
}