久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11713|回復: 5
收起左側

單片機控制蜂鳴器一直響?

[復制鏈接]
ID:513560 發表于 2019-5-8 16:39 | 顯示全部樓層 |閱讀模式
我在蜂鳴器兩端接了二極管,二極管是按照程序閃的,蜂鳴器一直響,我往蜂鳴器里燒過開發板的程序,蜂鳴器沒有問題。求大佬指點,下面是部分程序。
111111.png
  1. #include<reg51.h>//51單片機頭文件
  2. #define LCD1602_DATAPINS P0
  3. typedef unsigned char uchar;
  4. typedef unsigned int  uint;
  5. sbit K1=P3^2;//比賽倒計時開始/暫停
  6. sbit K2=P3^3;//24s倒計時重新開始
  7. sbit K3=P1^3;//乙隊+1按鍵
  8. sbit K4=P1^2;//乙隊-1按鍵
  9. sbit K5=P1^1;//甲隊+1按鍵
  10. sbit K6=P1^0;//甲隊-1按鍵
  11. sbit K7=P1^4;//分+1按鍵
  12. sbit K8=P1^5;//秒+1按鍵
  13. sbit K9=P1^6;//分-1
  14. sbit K10=P1^7;//秒-1
  15. sbit beep=P2^0;//蜂鳴器接口  
  16. sbit RS=P2^6;
  17. sbit RW=P2^5;//OO
  18. sbit E=P2^7;
  19. char miao,fen,num,time,aa;
  20. int m=0;
  21. uchar bb,cc,i;
  22. uchar code table1[]={"H.T 000:000 Y.T "};
  23. uchar code table2[]={"12:00 ------- 24"};
  24. //延時子函數
  25. void delay(uint z)  
  26. {
  27.         uint x;
  28.         uchar y;
  29.         for(x=z;x>0;x--)
  30.                   for(y=110;y>0;y--);
  31. }

  32. //LCD1602液晶初始化子函數
  33. void LCD1602_init()
  34. {
  35.         uchar i;
  36.         bb=0;    //H.T分數初始化
  37.         cc=0;    //R.T分數初始化
  38.         time=0;
  39.         TMOD=0x10;    //定時器1初始化
  40.         TL1=0x00;
  41.         TH1=0x4c;
  42.         EA=1;     //開總中斷
  43.         ET1=1;     //開定時器1
  44.         TR1=0;     //定時器1不工作
  45.         EX0=1;     //開中斷0
  46.         EX1=1;     //開中斷1
  47.         IT0=1;     //中斷0為邊沿觸發
  48.         IT1=1;     //中斷1為邊沿觸發
  49.         E=0;
  50.         beep=0;
  51.         miao=0;
  52.         fen=12;
  53.         aa=24;
  54.         write_com(0x38);  //LCD設置初始化
  55.         write_com(0x0c);
  56.         write_com(0x06);
  57.         write_com(0x01);
  58.         write_com(0x80);  //LCD顯示初始化
  59.         for(i=0;i<16;i++)
  60.         {
  61.                   write_date(table1[i]);
  62.         }
  63.         write_com(0x80+0x40);
  64.         for(i=0;i<16;i++)
  65.         {
  66.                   write_date(table2[i]);
  67.         }
  68. }

  69. void counter_down()
  70. {
  71.         uchar i;
  72.         if(time>=20)     //每1s倒計時做減一操作
  73.         {
  74.                   miao--;
  75.                   aa--;
  76.                   write_com(0x80+0x4e);  //24s倒計時顯示
  77.                   write_date(0x30+aa/10);
  78.                   write_date(0x30+aa%10);
  79.                 write_com(0x80+0x4e);
  80.                   if(aa==0)    //24s結束發出報警
  81.                   {TR1=~TR1;
  82.                            beep=1;
  83.                    delay(200);
  84.                            beep=0;
  85.                            
復制代碼

                  


回復

使用道具 舉報

ID:123289 發表于 2019-5-9 08:45 | 顯示全部樓層
注意一下:圖中P2.3=0時蜂鳴器叫。
回復

使用道具 舉報

ID:417092 發表于 2019-5-9 09:59 | 顯示全部樓層
傻子都看出來了。。。
程序里是P2^0;
電路是P2^6;
回復

使用道具 舉報

ID:176854 發表于 2019-5-9 11:04 | 顯示全部樓層
1.你控制蜂鳴器的原理圖不正確
2.PNP是低電平觸發, 即beep=0蜂鳴器響
QQ截圖20190509104335.png
回復

使用道具 舉報

ID:531765 發表于 2019-5-9 17:12 | 顯示全部樓層
要不就是這個蜂鳴器是低電平觸發,可以試試吧beep = 1;或者如果電路圖是對的話就是你的引腳錯了,圖上是P2^3,你寫的是P2^0
回復

使用道具 舉報

ID:505065 發表于 2019-5-9 21:28 | 顯示全部樓層
你的高低電平都寫錯了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂在线1 | 97国产一区二区精品久久呦 | www.日韩系列 | 亚洲成人福利视频 | 国产精品久久九九 | www亚洲一区 | 日本a在线 | 欧美一级片在线播放 | 国产丝袜一区二区三区免费视频 | 99爱在线视频 | 欧美一区二区三区高清视频 | 99这里只有精品 | 久久久久久蜜桃一区二区 | 精品一区二区久久久久久久网站 | 日韩中文字幕在线观看 | 免费观看色 | 粉嫩一区二区三区国产精品 | 日本一区二区高清不卡 | 成人二区| 91资源在线观看 | 亚洲91| 国产在线一区二 | 超碰人人在线 | 日韩国产一区二区三区 | 一级毛片在线播放 | 91久久电影 | 日韩理论电影在线观看 | 成人亚洲视频 | 日本一区二区三区免费观看 | 91在线精品一区二区 | 国产99视频精品免费播放照片 | 色偷偷人人澡人人爽人人模 | 殴美黄色录像 | 国产日韩一区 | 国产一级片 | 成人在线播放 | 91xxx在线观看 | www.天天操.com | 欧美激情a∨在线视频播放 成人免费共享视频 | 国产区精品 | 91传媒在线观看 |