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

標題: 為什么蜂鳴器不會響是程序的問題還是電路圖 [打印本頁]

作者: 流年似水@    時間: 2017-4-26 20:29
標題: 為什么蜂鳴器不會響是程序的問題還是電路圖
#include<reg51.h>        //頭文件 #define uchar unsigned char    //預定義 #define uint unsigned int #define lcd_dat  P0 BUZZsbit lcdrs=P2^6;     //1602的數據/指令選擇控制線 sbit lcdrw=P2^5;      //1602的讀寫控制線sbit lcden=P2^4;      //1602的使能控制線sbit yihao=P2^0;        //一號病房按鍵sbit erhao=P2^1;sbit sanhao=P2^2; sbit sihao=P2^3; uchar table1[]="Number";uchar table2[]="1234"; void delay(uint z)       //延時子程序 {   uint x,y;   for(x=z;x>0;x--)   for(y=110;y>0;y--); }void write_com(uchar com)    //寫命令子程序 {  lcdrs=0;   lcdrw=0;     P0=com;  delay(5);  lcden=1; delay(3);lcden=0; } void write_data(uchar date)     //寫數據子程序 { lcdrs=1;   lcdrw=0;     P0=date;   delay(5);  lcden=1;  delay(3);  lcden=0;} void init()              //1602初始化子程序 {  write_com(0x38);//顯示模式設置。         delay(5);  write_com(0x0c);//關光標,不閃爍        delay(5);   write_com(0x06);  //顯示地址遞增,即寫一個數據后,顯示位置右移位          delay(5);  write_com(0x01); //清屏  delay(5); } void Number()                //顯示Number子程序 {uchar m;  write_com(0x80);        for(m=0;m<6;m++)     //將table[]中的數據依次寫入1602顯示      {              write_data(table1[m]);                        delay(200); } } void main()            //主函數  { unsigned char FLAG;   //FLAG的值為P2口的值   init(); do{     FLAG=P2;  switch(FLAG&0X0f)      //屏蔽P2口高四位 { case 0X0E:        Number();        write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位                          write_data(table2[0]);                   delay(200);      break; case 0X0D:         Number();         write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位                                write_data(table2[1]);                               delay(200);                   break;case 0X0B:        Number();        write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位                          write_data(table2[2]);                               delay(200);             break;case 0X07:             Number();        write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位                        write_data(table2[3]);                               delay(200);                     break; default:         break;          }       } while(1); }sbit BUZZ =P1^1;   //蜂鳴器控制引腳unsigned char T0LoadH= 0;  //T0重載值的高字節unsigned char T0LoadL=0;  //T0重載值的低字節void OpenBuzz(unsigned int frequ);void StopBuzz();void major(){    unsigned int i=0;    TMOD=0x01; //配置T0工作在模式1,暫不啟動    EA=1;      //使能全局中斷    while (1)    {      OpenBuzz(4000); //以4KHz的頻率啟動蜂鳴器      for (i=0; i<40000; i++);      StopBuzz();      for (i=0; i<40000; i++);      OpenBuzz(1000); //以1KHz的頻率啟動蜂鳴器      for (i=0; i<40000; i++);      StopBuzz();      for (i=0; i<40000; i++);    } }void OpenBuzz(unsigned int frequ){    unsigned int reload;    reload = 65536-(11059200/12)/(frequ*2);  //由給定頻率值計算定時器重載值    T0LoadH=reload>>8;  //16位重載值分解為高低兩個字節    T0LoadL = reload;    TH0=0xFF;//設定一個接近溢出的初值,以使定時器馬上投入工作    TL0=0xFE;    ET0=1;   //使能T0中斷    TR0=1;   //啟動T0}void StopBuzz(){   ET0=0;   //禁用T0中斷   TR0=0;   //停止T0}void InterruptTimer0() interrupt 1{   TH0=T0LoadH;  //溢出后進入中斷重新賦值   TL0=T0LoadL;   BUZZ=BUZZ; //反轉蜂鳴器控制電平}

-34b938c2cb06363d.png (67.78 KB, 下載次數: 69)

-34b938c2cb06363d.png

作者: dragon19790000    時間: 2017-4-26 20:36
程序里面定義
sbit BUZZ =P1^1;//蜂鳴器控制引腳

你給的線路圖,BUZZ是接在 P1^0 上,你換一下試試!!!

作者: Daly    時間: 2017-4-26 20:47
可能是電壓的問題你測一下
作者: ahshmj    時間: 2017-4-26 21:00
有一種無源蜂鳴器像喇叭一樣需要音頻或脈沖電流推動。直接接直流不響的。但是這種比較少見。
作者: zhinengxiaoche1    時間: 2017-4-26 23:19
程序不對或者電路圖不對都可能影響這個蜂鳴器。檢查一下就好了。
作者: 偶也    時間: 2017-4-27 21:33
應該是程序問題
作者: qqwwee123    時間: 2017-4-27 22:19
我就知道一點接到的電阻不要太大。
作者: 大大泡泡糖2    時間: 2017-4-27 22:33

程序不對或者電路圖不對都可能影響這個蜂鳴器。檢查一下就好了。
作者: fu67622937    時間: 2017-4-28 00:10
程序或者電路圖都可能影響這個蜂鳴器
作者: 滄海一瞬    時間: 2017-4-28 09:07
最后一條語句  BUZZ=BUZZ;并沒有反轉,要 BUZZ=~BUZZ;
作者: 彭文斌    時間: 2017-4-28 10:33
是不是沒接好線路
作者: 彭文斌    時間: 2017-4-28 10:34
檢查一下程序吧
作者: w1179benp    時間: 2017-4-28 11:42
在仿真里跑了下LZ的程序,1602能隨按鍵顯示被按下的按鍵號,BUZZ端的蜂鳴貌似沒有看到如何控制的,有個按鍵沒定義、使用(P2.7),是否應接在中斷T0上?并在程序初始化里加入有關T0的應用,即按下BUZZ鍵,蜂鳴器響再按就停。另,LZ的按鍵上拉電阻位置都不對吧??
作者: xlongji    時間: 2017-4-28 11:44
我仔細分析了你的電路圖,在4/6那張圖右端,200hz蜂鳴器的正負極直接聯通是錯誤的,就算其它電路和軟件系統都正常工作,蜂鳴器也不會鳴響的。請仔細檢查電路板,可以將板上連接正負極的線路斷開試試,應該能正常發聲了。
作者: maidezhu    時間: 2017-4-28 12:17
仿真軟件的聲音上仿真不是很好,我自己試過了聲音一卡一卡的。具體的你可以用開發板搭下電路來看下的。
作者: lgjdqm    時間: 2017-4-28 17:16
要考慮蜂鳴器的頻率是否合適
作者: 順其自然1994    時間: 2017-4-28 17:54
修改下蜂鳴器里邊的電壓把12V改成5V應該就行了
作者: Meceda    時間: 2017-4-28 17:54
蜂鳴器的電源連接有問題
作者: 心似金鈿堅    時間: 2017-4-28 18:26
大兄弟,這個要你自己仔細檢查的呀
作者: 13373092669    時間: 2017-4-28 22:50
D1二極管去除試試
作者: zl2168    時間: 2017-4-29 18:58
這么亂的程序!
作者: beetan    時間: 2017-5-6 19:04
可以試試將蜂鳴器元件換成buzzer,再調一下電壓就好




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品久久久久久一区二区 | 欧美精品网站 | 亚洲第一网站 | 国产精品免费观看 | 激情福利视频 | 男人天堂国产 | 国产成人在线视频播放 | 国产精品美女 | 久久国产精品视频免费看 | 成人欧美一区二区三区 | 久久九精品 | 一区二区三区精品视频 | 欧美日韩视频网站 | 欧美综合视频在线 | 岛国精品| 精品欧美一区免费观看α√ | 毛片在线视频 | 黄色在线免费观看 | 毛片视频网站 | 亚洲日本一区二区三区四区 | 婷婷综合激情 | 免费看a| 美女福利网站 | www.干| 亚洲电影在线播放 | 2019天天干天天操 | 一区二区三区免费 | 一区二区三区四区在线视频 | 久久免费视频在线 | 亚洲精品一区二区另类图片 | 久久91精品久久久久久9鸭 | 精品美女久久久久久免费 | 特黄色毛片| 成人在线免费观看av | 久久综合久 | 国产成人免费视频网站视频社区 | 国产精品中文字幕在线 | 亚洲国产一 | 日韩成人免费 | 亚洲激情一区二区三区 | 日韩精品一区二区三区在线观看 |