日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MCU-51:单片机蜂鸣器播放孤勇者

發(fā)布時(shí)間:2024/1/18 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MCU-51:单片机蜂鸣器播放孤勇者 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一、蜂鳴器介紹
  • 二、驅(qū)動(dòng)電路
    • 2.1 三極管驅(qū)動(dòng)
    • 2.2 集成電路驅(qū)動(dòng)
  • 三、蜂鳴器播放音樂
    • 3.1 鍵盤與音符對(duì)照
    • 3.2 音符與頻率對(duì)照
  • 四、孤勇者樂譜
  • 五、代碼演示

前面學(xué)習(xí)了 MCU-51:單片機(jī)蜂鳴器播放音樂和提示音
我們知道了可以用51單片機(jī)播放樂譜
今天我們用51單片機(jī)播放 孤勇者
愛你孤身走暗巷

愛你不跪的模樣

愛你對(duì)峙過絕望

不肯哭一場(chǎng)

愛你破爛的衣裳

卻敢堵命運(yùn)的槍

愛你和我那么像

缺口都一樣

去嗎 配嗎 這襤褸的披風(fēng)

戰(zhàn)嗎 戰(zhàn)啊 以最卑微的夢(mèng)

下面我們?cè)賮砘仡櫹路澍Q器知識(shí)

一、蜂鳴器介紹

蜂鳴器是一種將電信號(hào)轉(zhuǎn)換為聲音信號(hào)的器件,常用來產(chǎn)生設(shè)備的按鍵音、報(bào)警音等提示信號(hào)
蜂鳴器按驅(qū)動(dòng)方式可分為有源蜂鳴器和無(wú)源蜂鳴器
有源蜂鳴器:內(nèi)部自帶振蕩源,將正負(fù)極接上直流電壓即可持續(xù)發(fā)聲,頻率固定
無(wú)源蜂鳴器:內(nèi)部不帶振蕩源,需要控制器提供振蕩脈沖才可發(fā)聲,調(diào)整提供振蕩脈沖的頻率,可發(fā)出不同頻率的聲音

二、驅(qū)動(dòng)電路

2.1 三極管驅(qū)動(dòng)

2.2 集成電路驅(qū)動(dòng)

三、蜂鳴器播放音樂

3.1 鍵盤與音符對(duì)照

3.2 音符與頻率對(duì)照

四、孤勇者樂譜

五、代碼演示

#include <REG52.H> #include <INTRINS.H> sbit speaker=P2^5; unsigned char timer0h,timer0l,time=1; // 孤勇者,3分30秒,原唱4分16秒 code unsigned char gyz[]={ 122,27,121,26,122,27,121,26,122,27,121,26,120, // 音高(低音0,中音1,高音2),音長(zhǎng)(節(jié)拍),音調(diào)(do,le,mi,fa,so,la,si) 143,140,110,111,112,111,143,130,111,112,111,112,113,36,111,36,111,36,111,122,121,47,140, //都,是勇敢的,你額頭的傷口你的不同你犯的錯(cuò) 143,140,111,112,111,143,140,111,112,111,112,113,36,111,36,111,36,111,123,122,47,140, //都,不必隱藏,你破舊的玩偶你的面具你的自我 16,111,136,116,116,115,126,116,115,116,115,116,115,143,140,16,111,136,116,116,115,116,115,137,117,117,116,127,126,143, //他們說要帶著光馴服每一頭怪獸,他們說要縫好你的傷沒有人愛小丑 120,113,115,113,132,113,132,113,132,113,115,113,115,113,132,113,132,113,142,120,111,112,123,26,121,123,132,113,112,121,46,140, //為何孤獨(dú)不可光榮,人只有不完美值得歌頌,誰(shuí)說污泥滿身的不算英雄 116,117,211,212,117,211,221,211,117,211,212,117,211,221,211,212,213,212,213,212,223,213,212,223,225,223, //愛你孤身走暗巷,愛你不跪的模樣,愛你對(duì)峙過絕望,不肯哭一場(chǎng), 116,117,211,212,117,211,221,211,117,211,212,117,211,221,211,212,213,212,213,212,223,213,212,223,225,223,225, //愛你破爛的衣裳卻敢堵命運(yùn)的槍,愛你和我那么像缺口都一樣 233,215,233,215,213,215,216,213,225,225,233,215,233,215, //去嗎,配嗎,這襤褸的披風(fēng),戰(zhàn)嗎,戰(zhàn)啊, 213,215,216,213,225,215,215,213,222,222,211,223,232,222,221,146,140,215,215,213,222,222,211,233,222,222,221,146,140,140, //以最卑微的夢(mèng),致那黑夜中的嗚咽與怒吼(hou),誰(shuí)說站在光里的才算英雄 116,115,136,115,116,115,116,115,126,116,115,116,115,116,115,143,140,116,115,136,115,116,115,116,115,137,117,117,116,117,116,143,140, //他們說要戒了你的狂就像擦掉了污垢(gou),他們說要拾臺(tái)階而上而代價(jià)是低頭 113,115,113,132,113,132,113,132,113,115,113,115,113,132,113,132,113,142,120,111,112,123,126,221,223,232,213,212,231,166,120, //那就讓我不可乘風(fēng),你一樣驕傲著那種孤勇,誰(shuí)說對(duì)弈平凡的不算英雄116,117,211,212,117,211,221,211,117,211,212,117,211,221,211,212,213,212,213,212,223,213,212,223,225,223, //愛你孤身走暗巷,愛你不跪的模樣,愛你對(duì)峙過絕望,不肯哭一場(chǎng), 116,117,211,212,117,211,221,211,117,211,212,117,211,221,211,212,213,212,213,212,223,213,212,223,225,223,225, //愛你破爛的衣裳卻敢堵命運(yùn)的槍,愛你和我那么像缺口都一樣 233,215,233,215,213,215,216,213,225,225,233,215,233,215, //去嗎,配嗎,這襤褸的披風(fēng),戰(zhàn)嗎,戰(zhàn)啊, 213,215,216,213,225,215,215,213,222,222,211,223,232,222,221,146,140,215,215,213,222,222,211,233,222,222,221,146,140,140, //以最卑微的夢(mèng),致那黑夜中的嗚咽與怒吼(hou),誰(shuí)說站在光里的才算英雄26,121,123,147,127,117,127,186,120,26,121,123,147,127,117,127,186,120, //你的斑駁與眾不同,你的沉默震耳欲聾116,117,211,212,117,211,221,211,117,211,212,117,211,221,211,212,213,212,213,212,223,213,212,223,225,223, //愛你孤身走暗巷,愛你不跪的模樣,愛你對(duì)峙過絕望,不肯哭一場(chǎng), 116,117,211,212,117,211,221,211,117,211,212,117,211,221,211,212,213,212,213,212,223,213,212,223,225,223,225, //愛你來自于蠻荒,一生不借誰(shuí)的光,你將造你的城邦,在廢墟之上 233,215,233,215,213,215,216,213,225,225,233,215,233,215, //去嗎,去啊,以最卑微的夢(mèng),戰(zhàn)嗎,戰(zhàn)啊, 213,215,216,213,225,215,215,213,222,222,211,223,232,222,221,146,140,215,215,213,222,222,211,233,222,222,221,146,140,140, //以最孤高的夢(mèng),致那黑夜中的嗚咽與怒吼(hou),誰(shuí)說站在光里的才算英雄 0 };// 定時(shí)時(shí)間越短,那么聲音頻率越高, code unsigned char FREQH[]={ 0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC, 0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, } ; code unsigned char FREQL[]={ 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B, 0x8F,0xEE,0x44,0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, };//做成對(duì)應(yīng)的頻率表,其實(shí)前幾個(gè)很少遇得到,那么這里再縮減的話, //就除以10,就可以用char類型而不用int類型了,后邊計(jì)算計(jì)時(shí)時(shí)間的時(shí)候再乘10補(bǔ)回 unsigned int code FreTab[28] = { 3517,3134,2792,2633,2351,2094,1865, 1758,1566,1395,1319,1175,1046,932 , 880 ,785 ,699 ,660 ,587 ,523 ,466 , 440 ,392 ,349 ,329 ,293 ,261 ,233 , };void t0int() interrupt 1 {speaker=!speaker;TH0=timer0h;TL0=timer0l; }// 節(jié)奏的快慢,這里是半個(gè)節(jié)拍的時(shí)間 void delay(unsigned char t) {unsigned long t2;for(;t>0;t--){for(t2=0;t2<5000;t2++){;}}TR0=0;// 停止發(fā)音 如果屏蔽掉,會(huì)出現(xiàn)連音的不正常現(xiàn)象 } /**/ void song() {unsigned char k=0;unsigned long i=0; // 由于歌詞長(zhǎng)度問題,需要設(shè)置大一點(diǎn)的范圍,否則還沒唱完一遍又重新開始了// 這里這樣做就只唱一遍,尋到最后的0值時(shí)就停止了while(time) {if(gyz[i]%10==0) // 音調(diào)為0值時(shí)停頓處理{TR0=0; // 停止發(fā)音}else{k=gyz[i]%10+7*(gyz[i]/100+1)-1;timer0h=FREQH[k]; // 這里將K值改成定值,發(fā)現(xiàn)實(shí)際上并不是按照do,le,mi,fa,so,la,si這樣發(fā)音timer0l=FREQL[k];//如果用頻率表輸出的話,就屏蔽上兩句,開啟下兩句//timer0h=(65535-FreTab[k])/256;//timer0l=(65535-FreTab[k])%256;TR0=1; // 啟動(dòng)T0輸出方波去發(fā)音}time=gyz[i]/10%10;i=i+1;delay(time);} } void main(void) {TMOD=1; // 設(shè)置定時(shí)器0為16位計(jì)數(shù)模式 EA=1;ET0=1; // 開定時(shí)器0中斷while(1){song();} }

總結(jié)

以上是生活随笔為你收集整理的MCU-51:单片机蜂鸣器播放孤勇者的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。