单片机/MCUwilliam hill官网
直播中

冯佳龙

4年用户 11经验值
擅长:嵌入式技术
私信 关注
[问答]

程序输入51单片机,通电之后蜂鸣器一直响,我编的是与按键有关的,当我按下按键,蜂鸣器才停止响

问题:通电之后蜂鸣器一直响,当我按下按键,蜂鸣器才停止响,而且当按下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£¬Ï൱ÓÚ²»Ö´ÐÐ
}
  • 程序1.PNG
  • 程序2.PNG
  • 程序3.PNG
  • 程序4.PNG
  • 程序5.PNG

回帖(5)

1427074383

2020-7-21 09:28:38

最佳答案

因为你扫描按键那里一直对P15口进行取反操作,所以你上电后蜂鸣器就一直鸣叫。按键扫描一直存在蜂鸣器就会一直响。
1 举报

冯佳龙

2020-7-21 09:45:25
程序复制之后少了很多,看图吧
举报

冯佳龙

2020-7-21 09:48:44
本帖最后由 fengbaobaohhh 于 2020-7-21 10:15 编辑

在线等大佬们答案

举报
  • 程序1.PNG
  • 程序2.PNG
  • 程序3.PNG
  • 程序4.PNG
  • 程序5.PNG

阿信509

2020-7-21 13:25:14
看来你是需要掌握一些调试技巧了
举报

颜海钟

2020-7-21 16:45:00
按键抖动问题吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分