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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2106|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

單片機激光琴聲音很小 求大神回答一下

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:409402 發(fā)表于 2018-11-8 21:07 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
為什么我做的這個激光豎琴聲音特別小,有沒有大佬幫忙看一下是哪里的問題
程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. sbit fmq=P2^0;//定義P2.0口為蜂鳴器信號輸出
  5. uint z;
  6. uint code tone[8]={0xfc44,0xfcac,0xfd09,0xfd34,0xfd82,0xfdc8,0xfe06,0xfe22};//對應(yīng)每個單調(diào)的計數(shù)初值
  7. uchar code keymode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//按鍵值,對應(yīng)io:0,1,2,3,4,5,6,7

  8. /***************按鍵掃描函數(shù)***************/

  9. void anjian()//用整個P0口作為音調(diào)的輸入按鍵(獨立按鍵方式)
  10. {
  11.         P0=0xff;//讀數(shù)據(jù)先置1
  12.         if(P0==~keymode[0]) //1
  13.         {
  14.                 z=tone[0];
  15.                 P1=keymode[0];
  16.         }
  17.         if(P0==~keymode[1]) //2
  18.         {
  19.                 z=tone[1];
  20.                 P1=keymode[1];
  21.         }
  22.          if(P0==~keymode[2]) //3
  23.         {
  24.                 z=tone[2];
  25.                 P1=keymode[2];
  26.         }
  27.         if(P0==~keymode[3]) //4
  28.         {
  29.                 z=tone[3];
  30.                 P1=keymode[3];
  31.         }
  32.         if(P0==~keymode[4]) //5
  33.         {
  34.                 z=tone[4];
  35.                 P1=keymode[4];
  36.         }
  37.          if(P0==~keymode[5]) //6
  38.         {
  39.                 z=tone[5];
  40.                 P1=keymode[5];
  41.         }
  42.         if(P0==~keymode[6]) //7
  43.         {
  44.                 z=tone[6];
  45.                 P1=keymode[6];
  46.         }
  47.         if(P0==~keymode[7]) //1.
  48.         {
  49.                 z=tone[7];
  50.                 P1=keymode[7];
  51.         }
  52. }
  53. /************************************/
  54. void zdkg()
  55. {
  56.         if(P0==0xff)
  57.         {
  58.                 P1=0xff;
  59.                 TR1=0;//如果沒有按鍵按下,就關(guān)閉定時器中斷
  60.                 fmq=1;//同時也關(guān)閉蜂鳴器
  61.         }
  62.         else          //否則就進入中斷
  63.         {
  64.                 TR1=1;
  65.         }
  66. }
  67. /***************主函數(shù)***************************/
  68. void main()
  69. {
  70.         EA=1;//開總中斷
  71.         ET1=1;//定時器T1中斷允許
  72.         TMOD=0x10;//使用定時器T1的模式1
  73.         TH1=(65536-500)/256;//定時器T1的高8位重新賦初值
  74.         TL1=(65536-500)%256;//定時器T1的低8位重新賦初值
  75.         P1=0xff;//先關(guān)所有LED燈

  76.         while(1)
  77.         {
  78.                 anjian();//按鍵掃描函數(shù)
  79.                   zdkg();
  80.         }

  81. }
  82. /*定時器T1的中斷服務(wù)程序*/
  83. void Time1(void) interrupt 3 using 1
  84. {
  85.         fmq=~fmq; //每進入一次中斷就取反一次,快速的進入退出中斷,就會聽到蜂鳴器發(fā)出的音調(diào)
  86.         TH1=z/256;//定時器T1的高8位重新賦初值
  87.         TL1=z%256;//定時器T1的低8位重新賦初值
  88. }

復(fù)制代碼

QQ截圖20181108210640.png (194.39 KB, 下載次數(shù): 37)

QQ截圖20181108210640.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:409402 發(fā)表于 2018-11-8 21:09 | 只看該作者
有沒有大神幫忙解答一下疑惑
回復(fù)

使用道具 舉報

板凳
ID:98526 發(fā)表于 2018-11-9 08:36 | 只看該作者
蜂鳴器上的貼紙撕了嗎。hh
回復(fù)

使用道具 舉報

地板
ID:422945 發(fā)表于 2018-11-9 09:56 | 只看該作者

貌似電流不夠大吧,你看看你選的蜂鳴器,有沒有典型電路,我看有的電路還加了反相的二極管
回復(fù)

使用道具 舉報

5#
ID:98526 發(fā)表于 2018-11-9 11:12 | 只看該作者
用PNP三極管應(yīng)該將蜂鳴器移到低端驅(qū)動。
或者將PNP三極管改成NPN三極管,蜂鳴器放在高端不變。
回復(fù)

使用道具 舉報

6#
ID:409402 發(fā)表于 2018-11-9 16:26 | 只看該作者
726434632 發(fā)表于 2018-11-9 08:36
蜂鳴器上的貼紙撕了嗎。hh

撕了呀~
回復(fù)

使用道具 舉報

7#
ID:409402 發(fā)表于 2018-11-9 16:27 | 只看該作者
jennyli010 發(fā)表于 2018-11-9 09:56
貌似電流不夠大吧,你看看你選的蜂鳴器,有沒有典型電路,我看有的電路還加了反相的二極管

我加了8550的三極管了~
回復(fù)

使用道具 舉報

8#
ID:409402 發(fā)表于 2018-11-9 16:29 | 只看該作者
726434632 發(fā)表于 2018-11-9 11:12
用PNP三極管應(yīng)該將蜂鳴器移到低端驅(qū)動。
或者將PNP三極管改成NPN三極管,蜂鳴器放在高端不變。

我用的NPN的三極管,蜂鳴器接在發(fā)射集上的。
回復(fù)

使用道具 舉報

9#
ID:98526 發(fā)表于 2018-11-12 08:58 | 只看該作者
1508330424 發(fā)表于 2018-11-9 16:29
我用的NPN的三極管,蜂鳴器接在發(fā)射集上的。

然后這就是問題所在,三極管用于開關(guān)電路,負(fù)載應(yīng)盡量避免處于發(fā)射極,否則極有可能不會處于完全導(dǎo)通狀態(tài)。你可以算一下基極電流,如果你將負(fù)載接在發(fā)射極,基極電流 = (5V-0.7V-負(fù)載壓降)/基極電阻。而負(fù)載壓降根據(jù)負(fù)載特性不同很難確定。如果負(fù)載接在集電極,基極電流 = (5V-0.7V)/基極電阻。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 人人干人人超 | 欧美mv日韩mv国产网站91进入 | 国产精品毛片 | 国产精品久久久久久久久久久新郎 | 国产精品人人做人人爽 | 成人中文字幕av | 国产在线精品一区二区三区 | 一级黄色毛片a | 国产最新视频在线 | 国产一区二区三区视频在线观看 | 国产精品观看 | 欧美精品一区二区在线观看 | 一区二区三区免费在线观看 | www.日本三级| 中文字幕在线一区二区三区 | 羞羞网站在线免费观看 | 一区二区三区四区不卡 | 欧美精品日韩 | 成人一区二区三区在线观看 | 欧美视频第二页 | 久久精品亚洲 | 久久99网| 国产一区二区免费 | 亚洲欧美在线一区 | 欧美精品三区 | 日日操视频 | 国产又爽又黄的视频 | 国产精品免费在线 | 欧美一区二区在线观看 | 亚洲成人免费视频 | 久久新| 中文天堂在线观看 | 欧美欧美欧美 | 污污免费网站 | 精品欧美乱码久久久久久 | 一区二区三区在线免费观看 | 国精日本亚洲欧州国产中文久久 | 成人黄色av网址 | 呦呦在线视频 | 欧美一级视频在线观看 | 综合久久久 |