程序求助,和想象的完全不一样啊亲
时间:10-02
整理:3721RD
点击:
void main()
{
while(1)
{
while(keyset&&keyplus&&keymin&&keywei)
{
LcdDisplay(set);
}
keyscan();
while(set>=20)
{
di= 1;
Delay10ms(5);
di= 0;
Delay10ms(5);
}
}
}
这个程序就是用按键设置数字,然后在数码管显示出来,如果设置的数字大于20蜂鸣器就不断的发声。但是运行的时候出现个问题,就是当设置的数字大于20的时候蜂鸣器不会一直发出声音而是按键的同时才发声。我是个小白不懂这个是为什么?
{
while(1)
{
while(keyset&&keyplus&&keymin&&keywei)
{
LcdDisplay(set);
}
keyscan();
while(set>=20)
{
di= 1;
Delay10ms(5);
di= 0;
Delay10ms(5);
}
}
}
这个程序就是用按键设置数字,然后在数码管显示出来,如果设置的数字大于20蜂鸣器就不断的发声。但是运行的时候出现个问题,就是当设置的数字大于20的时候蜂鸣器不会一直发出声音而是按键的同时才发声。我是个小白不懂这个是为什么?
我也小白,也不懂。只是猜测会不会问题出在keyscan上。
可以的话把keyscan函数也贴上来吧。
觉得可能的情况:
按键---keyscan检测到,返回set值---发现大于20,响---将数字显示出来---keyscan再进行检测,没发现按键,返回set值不是预想的值---不符合while(keyset&&keyplus&&keymin&&keywei)所以LCDdisplay不变--之后只要没按键,就一直这样子了。
凭空猜想,猜错了勿见笑。