问题:通电之后蜂鸣器一直响,当我按下按键,蜂鸣器才停止响,而且当按下s2或s4蜂鸣器也响。
大神们帮忙看看。
程序目的:s1按键按下P2^0亮。
s2按键按下流水灯。
s3按键按下蜂鸣器响
s4按键按下数码管显示666
程序:
#include"intrins.h"
typedef unsigned char u8;
***it LSB=P2^3;
***it led=P2^0;
u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
u16 num; //¶¨ÒåÒ»¸öÈ«¾Ö±äÁ¿
void delay_ms(u16 i)
int n;
{
{
}
}
void zhshaomiao()
u16 a;
if(P1!=0X0F)delay_ms(6);//Ïû¶¶
switch(P1) //È·¶¨ÁÐ
case(0X07):num=1;break;
case(0X0d):num=3;break;
}
if(P1!=0XF0)
Ò»ÐÐÔònum²»±ä£¬ÈôÊǵڶþÐÐÔònum¼Ó4£¬ÒÀ´ÎÀàÍÆ*/
case(0X70):num=num;break;
case(0Xd0):num=num+8;break;
}
while((a<100)&&(P1!=0xf0)) //¼ì²âËÉÊÖ
delay_ms(1);
}
}
void liushuiled()
int i;
delay_ms(20);
{
delay_ms(20);
for(i=0;i<7;i++)
P2=_cror_(P2,1);
}
//ÊýÂë¹ÜÏÔʾ666º¯Êý
{
int a=2;
{
{
{
case(1):LSA=1;LSB=0;LSC=0;break;
}
delay_ms(1);
}
//·äÃùÆ÷Ï캯Êý
{
beep=~beep;
}
void main()
while(1)
zhshaomiao();//ÅжÏÄĸö°´¼ü°´ÏÂ
{P0=0x00;P2=0xff;;led=0;}//Ïû³ý֮ǰ°´¼üµÄÓ°Ïì²¢Ö´Ðиð´¼ü°´ÏÂÓ¦ÓеĽá¹û
{P0=0x00;P2=0xff;;liushuiled();}
{P0=0x00;P2=0xff;fengming();}
{P0=0x00;P2=0xff;;suma666();}
delay_ms(1);//Èç¹ûÊÇÆäËû°´¼ü°´ÏÂÔòÑÓʱ1ms£¬Ï൱ÓÚ²»Ö´ÐÐ
}