PIC16F57程序出现死机现象
每一个按键是独立扫描的。但是当我同时按下两个按键的时候,出现程序死机并喇叭长鸣现象,不知道是怎么回事。奇怪的是同时按另外两个键,就不会出现死机的现象。这种死机一般是什么原因造成的,有人碰到过么?void main()
{
while(1)
{
KeyScan();
.............//其他函数
while(1)//2 ms 定时
{
if(250 == TMR0) {T0Sub();break;}
}
}
}
void KeyScan(void)
{
//==================KeyF和其他按键扫描是独立的
if(KeyF && (FKeyFUp == 0))
{
if(!FKeyF)
{
FKeyF = 1;
KeyFN = 0;
}
if((KeyFN >= 5))
{
FKeyFSD = 1;
FKeyF = 0;
FKeyFUp = 1;
Speak();
}
}
else
{
if(!KeyF)
{
FKeyFUp = 0;
FKeyF = 0;
KeyFN = 0;
}
}
//====================KeyB和其他按键扫描是独立的
if(KeyB && (FKeyBUp == 0))
{
if(!FKeyB)
{
FKeyB = 1;
KeyBN = 0;
}
if((KeyBN >= 5))
{
FKeyBSD = 1;
FKeyB = 0;
FKeyBUp = 1;
Speak();
}
}
else
{
if(!KeyB)
{
FKeyBUp = 0;
FKeyB = 0;
KeyBN = 0;
}
}
//===================KeyD和其他按键扫描是独立的
if(KeyD && (FKeyDUp == 0))
{
if(!FKeyD)
{
FKeyD = 1;
KeyDN = 0;
}
if((KeyDN >= 5))
{
FKeyDSD = 1;
FKeyD = 0;
FKeyDUp = 1;
Speak();
}
}
else
{
if(!KeyD)
{
FKeyDUp = 0;
FKeyD = 0;
KeyDN = 0;
}
}
}
页:
[1]