国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【【51單片機(jī)蜂鳴器實(shí)現(xiàn)起風(fēng)了】】

這篇具有很好參考價(jià)值的文章主要介紹了【【51單片機(jī)蜂鳴器實(shí)現(xiàn)起風(fēng)了】】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

哀傷如同風(fēng),消失無影蹤。

前面的有兩個(gè)非常關(guān)鍵的點(diǎn)希望兄弟們明白
我一開始也失算了
【【51單片機(jī)蜂鳴器實(shí)現(xiàn)起風(fēng)了】】,51單片機(jī)微型設(shè)計(jì),51單片機(jī),嵌入式硬件,單片機(jī)
【【51單片機(jī)蜂鳴器實(shí)現(xiàn)起風(fēng)了】】,51單片機(jī)微型設(shè)計(jì),51單片機(jī),嵌入式硬件,單片機(jī)
這里兄弟們注意務(wù)必改成int 不然會(huì)超出
就會(huì)出現(xiàn)播放一半從頭開始的情況

下面是兩份起風(fēng)了代碼直接附上main.c
因?yàn)榱硗獾钠鋵?shí)和我之前說的模板都一樣復(fù)制粘貼就行

為什么是2份因?yàn)槭裁碅BCD大調(diào)我不懂啊 我看樂譜看不懂555
第一份speed為300

main.c

#include <REGX52.H>
#include "Delay.h"
#include"Timer0.h"

sbit Buzzer=P2^5;

//音符與索引對(duì)應(yīng)表,P:休止符,L:低音,M:中音,H:高音,下劃線:升半音符號(hào)#
#define P	0
#define L1	1
#define L1_	2
#define L2	3
#define L2_	4
#define L3	5
#define L4	6
#define L4_	7
#define L5	8
#define L5_	9
#define L6	10
#define L6_	11
#define L7	12
#define M1	13
#define M1_	14
#define M2	15
#define M2_	16
#define M3	17
#define M4	18
#define M4_	19
#define M5	20
#define M5_	21
#define M6	22
#define M6_	23
#define M7	24
#define H1	25
#define H1_	26
#define H2	27
#define H2_	28
#define H3	29
#define H4	30
#define H4_	31
#define H5	32
#define H5_	33
#define H6	34
#define H6_	35
#define H7	36


#define SPEED 300  //我們以4分音符為基準(zhǔn)
unsigned int  FreqTable[]={
	0,
	63628,63731,63835,63928,64021,64103,64185,64260,64331,64400,64463,64524,
	64580,64633,64684,64732,64777,64820,64860,64898,64934,64968,65000,65030,
	65058,65085,65110,65134,65157,65178,65198,65217,65235,65252,65268,65283
};

unsigned int code  Music[]={
//音符,時(shí)值,
	
    0,4,
18,2,
19,2,
21,2,
23,2,
11,4,
26,2,
23,6,
0,2,
18,2,
19,2,
21,2,
23,2,
    9,4,
    26,2,
    23,2,
    21,2,
    23,2,
    19,2,
    21,2,
    18,2,
    19,2,
14,2,
0,4,
18,2,
19,2,
21,2,
23,2,
11,4,
26,2,
23,6,
0,2,
18,2,
19,2,
21,2,
23,2,
9,4,
26,2,
23,2,
21,2,
23,2,
19,2,
21,2,
18,2,
19,2,
14,2,
0,4,
9,6,
7,2,
9,6,
7,2,
9,4,
11,4,
14,4,
11,4,
9,6,
7,2,
9,6,
7,2,
9,2,
11,2,
9,2,
7,2,
1,4,
0,4,
9,6,
7,2,
9,6,
7,2,
9,4,
11,4,
14,4,
11,4,
9,6,
11,2,
9,4,
7,4,
9,8,
10,8,
9,6,
7,2,
9,6,
7,2,
9,4,
11,4,
14,4,
11,4,
9,6,
11,2,
9,4,
7,4,
3,4,
0,4,
11,2,
9,2,
7,2,
9,2,
7,4,
0,4,
11,2,
9,2,
7,2,
9,2,
7,4,
0,4,
11,2,
9,2,
7,2,
9,2,
7,8,
0,8,
0,4,
7,4,
9,4,
11,4,
7,4,
16,4,
14,2,
16,6,
0,2,
7,2,
18,4,
16,2,
18,6,
0,4,
18,4,
16,2,
18,6,
11,4,
19,2,
21,2,
19,2,
18,2,
16,4,
14,4,
16,4,
14,2,
16,4,
14,2,
16,2,
14,2,
16,4,
14,2,
9,4,
14,4,
11,8,
0,8,
7,4,
9,4,
11,4,
7,4,
16,4,
14,2,
16,6,
0,2,
7,2,
18,4,
16,2,
18,6,
0,4,
18,4,
16,2,
18,6,
11,4,
19,2,
21,2,
19,2,
18,2,
16,4,
14,4,
16,4,
23,2,
23,6,
14,4,
16,4,
23,2,
23,4,
14,4,
16,2,
16,12,
0,4,
19,4,
21,4,
23,4,
28,2,
26,6,
28,2,
26,6,
28,2,
26,6,
21,4,
23,6,
28,2,
26,6,
28,2,
26,6,
28,2,
26,4,
23,8,
21,4,
19,2,
16,4,
19,4,
19,2,
21,4,
19,2,
16,4,
19,4,
23,8,
23,4,
21,6,
0,4,
19,4,
21,4,
23,4,
28,2,
26,6,
28,2,
26,6,
28,2,
26,6,
0,2,
21,2,
23,4,
28,2,
26,6,
28,2,
26,6,
28,2,
26,6,
23,6,
21,4,
19,2,
16,4,
23,4,
21,4,
19,2,
16,4,
16,2,
19,2,
19,8,
0,4,
16,2,
23,6,
21,4,
19,2,
16,4,
23,4,
21,4,
19,2,
16,4,
16,2,
19,6,
19,8,

	0xFF
};

	unsigned int FreqSelect,MusicSelect;
	
void main()
{
	
	Timer0Init();
	while(1)
	{
		if(Music[MusicSelect]!=0xFF)
		{
		FreqSelect=Music[MusicSelect];
		MusicSelect++;
		Delay(SPEED/4*Music[MusicSelect]);
		MusicSelect++;
	   TR0=0;
		Delay(5);
		TR0=1;	
			
		}
		else
		{
			TR0=0;
			while(1);
			
		}
		
	}	
	
}


void Timer0_Routine() interrupt 1
{
	if(FreqTable[FreqSelect])	//如果不是休止符
	{
		/*取對(duì)應(yīng)頻率值的重裝載值到定時(shí)器*/
		TL0 = FreqTable[FreqSelect]%256;		//設(shè)置定時(shí)初值
		TH0 = FreqTable[FreqSelect]/256;		//設(shè)置定時(shí)初值
		Buzzer=!Buzzer;	//翻轉(zhuǎn)蜂鳴器IO口
	}
}

兄弟們擔(dān)待,開頭有個(gè)好像不對(duì)調(diào),我太懶了
第二份main.c
第二份speed 600

main.c

#include <REGX52.H>
#include "Delay.h"
#include"Timer0.h"

sbit Buzzer=P2^5;

//音符與索引對(duì)應(yīng)表,P:休止符,L:低音,M:中音,H:高音,下劃線:升半音符號(hào)#
#define P	0
#define L1	1
#define L1_	2
#define L2	3
#define L2_	4
#define L3	5
#define L4	6
#define L4_	7
#define L5	8
#define L5_	9
#define L6	10
#define L6_	11
#define L7	12
#define M1	13
#define M1_	14
#define M2	15
#define M2_	16
#define M3	17
#define M4	18
#define M4_	19
#define M5	20
#define M5_	21
#define M6	22
#define M6_	23
#define M7	24
#define H1	25
#define H1_	26
#define H2	27
#define H2_	28
#define H3	29
#define H4	30
#define H4_	31
#define H5	32
#define H5_	33
#define H6	34
#define H6_	35
#define H7	36


#define SPEED 600  //我們以4分音符為基準(zhǔn)
unsigned int  FreqTable[]={
	0,
	63628,63731,63835,63928,64021,64103,64185,64260,64331,64400,64463,64524,
	64580,64633,64684,64732,64777,64820,64860,64898,64934,64968,65000,65030,
	65058,65085,65110,65134,65157,65178,65198,65217,65235,65252,65268,65283
};

unsigned int code  Music[]={
//音符,時(shí)值,
	
M2,3,
    M1,1,
    M2,3,
    M1,1,
    M2,2,
    M3,2,
    M5,2,
    M3,2,
    
    M2,3,
    M1,1,
    M2,3,
    M1,1,
    M2,1,
    M3,1,
    M2,1,
    M1,1,
    L5,2,
    P,2,
    
    M2,3,
    M1,1,
    M2,3,
    M1,1,
    M2,2,
    M3,2,
    M5,2,
    M3,2,
    
    M2,3,
    M3,1,
    M2,2,
    M1,1,
    M2,5,
    P,4,
    
    M2,3,
    M1,1,
    M2,3,
    M1,1,
    M2,2,
    M3,2,
    M5,2,
    M3,2,
    
    M2,3,
    M3,1,
    M2,2,
    M1,1,
    L6,3,
    P,2,
    M3,1,
    M2,1,
    M1,1,
    M2,1,
    
    M1,2,
    P,2,
    M3,1,
    M2,1,
    M1,1,
    M2,1,
    M1,2,
    P,2,
    M3,1,
    M2,1,
    M1,1,
    M2,1,
    
    M1,4,
    P,6,
    M1,2,
    M2,2,
    M3,2,
    
    M1,2,
    M6,2,
    M5,1,
    M6,3,
    P,1,
    M1,1,
    M7,2,
    M6,1,
    M7,3,
    
    P,2,
    M7,2,
    M6,1,
    M7,3,
    M3,2,
    H1,1,
    H2,1,
    H1,1,
    M7,1,
    M6,2,
    
    M5,2,
    M6,2,
    M5,1,
    M6,2,
    M5,1,
    M6,1,
    M5,1,
    M6,2,
    M5,1,
    M2,2,
    M5,1,
    
    M5,1,
    M3,5,
    P,4,
    M1,2,
    M2,2,
    M3,2,
    
    M1,2,
    M6,2,
    M5,1,
    M6,3,
    P,1,
    M1,1,
    M7,2,
    M6,1,
    M7,3,
    
    P,2,
    M7,2,
    M6,1,
    M7,3,
    M3,2,
    H1,1,
    H2,1,
    H1,1,
    M7,1,
    M6,2,
    
    M5,2,
    M6,2,
    H3,4,
    M5,2,
    M6,2,
    H3,3,
    M5,1,
    
    M5,1,
    M6,11,
    P,2,
    H1,2,
    
    H2,2,
    H3,2,
    H6,1,
    H5,3,
    H6,1,
    H5,3,
    H6,1,
    H5,3,
    
    H2,1,
    H3,3,
    H6,1,
    H5,3,
    H6,1,
    H5,3,
    H6,1,
    H5,2,
    H3,1,
    
    H3,3,
    H2,2,
    H1,1,
    M6,2,
    H1,3,
    H2,2,
    H1,1,
    M6,2,
    
    H1,2,
    H3,6,
    H2,1,
    H3,1,
    H2,2,
    P,2,
    H1,2,
    
    
    
    H2,2,
    H3,2,
    H6,1,
    H5,3,
    H6,1,
    H5,3,
    H6,1,
    H5,2,
    P,1,
    
    H2,1,
    H3,2,
    H6,1,
    H5,3,
    H6,1,
    H5,3,
    H6,1,
    H5,2,
    H3,2,
    
    H3,1,
    H2,2,
    H1,1,
    M6,2,
    H3,2,
    H2,2,
    H1,1,
    M6,3,
    H1,2,
    
    H1,8,
    M6,1,
    H3,3,
    H2,2,
    H1,1,
    M6,1,
    
    M6,1,
    H3,2,
    H2,2,
    H1,1,
    M6,3,
    H1,7,
    
    H1,8,
    P,8,

	0xFF
};

	unsigned int FreqSelect,MusicSelect;
	
void main()
{
	
	Timer0Init();
	while(1)
	{
		if(Music[MusicSelect]!=0xFF)
		{
		FreqSelect=Music[MusicSelect];
		MusicSelect++;
		Delay(SPEED/4*Music[MusicSelect]);
		MusicSelect++;
	   TR0=0;
		Delay(5);
		TR0=1;	
			
		}
		else
		{
			TR0=0;
			while(1);
			
		}
		
	}	
	
}


void Timer0_Routine() interrupt 1
{
	if(FreqTable[FreqSelect])	//如果不是休止符
	{
		/*取對(duì)應(yīng)頻率值的重裝載值到定時(shí)器*/
		TL0 = FreqTable[FreqSelect]%256;		//設(shè)置定時(shí)初值
		TH0 = FreqTable[FreqSelect]/256;		//設(shè)置定時(shí)初值
		Buzzer=!Buzzer;	//翻轉(zhuǎn)蜂鳴器IO口
	}
}

over兄弟們 兩段任君采擷
speed越小速度越快 可以做變奏的
以后再更新一點(diǎn)別的 兄弟用那個(gè)軟件做起來也很方便文章來源地址http://www.zghlxwxcb.cn/news/detail-594635.html

到了這里,關(guān)于【【51單片機(jī)蜂鳴器實(shí)現(xiàn)起風(fēng)了】】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 5-51單片機(jī)-蜂鳴器實(shí)驗(yàn)

    5-51單片機(jī)-蜂鳴器實(shí)驗(yàn)

    ? ? ? ? 1. 對(duì)系統(tǒng)默認(rèn)的數(shù)據(jù)類型進(jìn)行重定義,u8,u16; ? ? ? ? 2.延時(shí)函數(shù),主要是將傳過來的整數(shù)進(jìn)行減減實(shí)現(xiàn)延時(shí); ? ? ? ? 3.還用到了while()循環(huán); ? ? ? ? 1. 首次定義一個(gè)變量,主要是為了延時(shí)蜂鳴器響亮的時(shí)長; ? ? ? ? 2.通過while()循環(huán),使得Buzzer_Port產(chǎn)生脈沖信號(hào),從而使蜂

    2024年04月16日
    瀏覽(33)
  • 【【51單片機(jī)的蜂鳴器-11】】

    【【51單片機(jī)的蜂鳴器-11】】

    DS1302我一直有問題擱置了幾百天了 先來看看蜂鳴器 搞了一個(gè)禮拜verilog然后出去吃飯 估計(jì)自己得有10多天沒看c語言和51單片機(jī)了 現(xiàn)在先處理一下蜂鳴器的問題 蜂鳴器 蜂鳴器分為有源蜂鳴器和無源蜂鳴器 有源內(nèi)部自帶震蕩源,將正負(fù)極接上直流電壓及可持續(xù)發(fā)聲,頻率固定

    2024年02月16日
    瀏覽(18)
  • 51單片機(jī)學(xué)習(xí)筆記-9蜂鳴器

    51單片機(jī)學(xué)習(xí)筆記-9蜂鳴器

    [toc] 注:筆記主要參考B站江科大自化協(xié)教學(xué)視頻“51單片機(jī)入門教程-2020版 程序全程純手打 從零開始入門”。 注:工程及代碼文件放在了本人的Github倉庫。 蜂鳴器 是一種將電信號(hào)轉(zhuǎn)換為聲音信號(hào)的器件,常用來產(chǎn)生設(shè)備的按鍵音、報(bào)警音等提示信號(hào)。蜂鳴器按驅(qū)動(dòng)方式可分

    2024年02月06日
    瀏覽(22)
  • stm32單片機(jī)/51單片機(jī)蜂鳴器不響(proteus模擬)

    stm32單片機(jī)/51單片機(jī)蜂鳴器不響(proteus模擬)

    1提高蜂鳴器電阻,這樣根據(jù)分壓原理,可以提升蜂鳴器2段電壓 2更改蜂鳴器的工作電壓為更小的值,這個(gè)可以通過在proteus內(nèi)設(shè)置探針查看電壓值,更改為其值就可以了 我覺得如果不是仿真的話,蜂鳴器額定電壓是不能改的,如果電壓不夠的話好像就只能夠選用合適的三極管

    2024年02月11日
    瀏覽(20)
  • MCU-51:單片機(jī)蜂鳴器播放音樂和提示音

    MCU-51:單片機(jī)蜂鳴器播放音樂和提示音

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

    2024年02月02日
    瀏覽(23)
  • 33、基于51單片機(jī)老人防跌倒蜂鳴器報(bào)警系統(tǒng)加速度檢測(cè)

    33、基于51單片機(jī)老人防跌倒蜂鳴器報(bào)警系統(tǒng)加速度檢測(cè)

    背景技術(shù) 老年人出門由于身體不靈活、視力較差,容易發(fā)生跌倒,現(xiàn)用的老年人跌倒報(bào)警裝置是通過無線對(duì)講系統(tǒng)研發(fā)的,它外觀精美,自動(dòng)化程度高,有很強(qiáng)的專業(yè)性,但是,設(shè)計(jì)者忽略了一個(gè)問題,因?yàn)榇蠖鄶?shù)老年人使用現(xiàn)代化產(chǎn)品不熟練,隨著視力、操作能力的下降,

    2023年04月08日
    瀏覽(22)
  • 【51單片機(jī)】:閃燈、流水燈(從左往右)、流水燈(從右往左)、蜂鳴器。

    【51單片機(jī)】:閃燈、流水燈(從左往右)、流水燈(從右往左)、蜂鳴器。

    ? ? ? ? 言歸正傳,一切都回歸本源,從51再來一次,首先就是最簡單的點(diǎn)燈大師。 ? ? ? ? 這么些年從51 到? 32? 再到? arduino? 再到? ESP? 等等,都是從點(diǎn)燈大師開始的。 于是介紹如下: 閃燈 流水燈(從左往右) 流水燈(從右往左) 蜂鳴器 ????????LED燈的原理:LED是發(fā)

    2024年02月11日
    瀏覽(26)
  • 基于51單片機(jī)的煙霧檢測(cè)+溫度檢測(cè)+蜂鳴器報(bào)警+光耦+風(fēng)扇+LCD4602液晶顯示(含原理圖/PCB/代碼)

    基于51單片機(jī)的煙霧檢測(cè)+溫度檢測(cè)+蜂鳴器報(bào)警+光耦+風(fēng)扇+LCD4602液晶顯示(含原理圖/PCB/代碼)

    講在前面: 51單片機(jī)是大多數(shù)電子愛好者的入門級(jí)單片機(jī),這款設(shè)計(jì)是一個(gè)比較綜合的單片機(jī)設(shè)計(jì)。本文介紹了一個(gè)典型的51單片機(jī)設(shè)計(jì),希望對(duì)各位有幫助。 本人也在其他平臺(tái)開源了一些項(xiàng)目和分享: 點(diǎn)擊進(jìn)入B站傳送門 1)產(chǎn)品功能: 使用51單片機(jī)作為控制器,與ADC0832(

    2024年01月22日
    瀏覽(27)
  • 單片機(jī)-蜂鳴器

    單片機(jī)-蜂鳴器

    蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電 蜂鳴器主要分為 壓電式蜂鳴器 和 電磁式蜂鳴器 兩 種類型。 壓電式蜂鳴器 主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。多諧振蕩器由晶體管或集成電路構(gòu)成,當(dāng)接通電源后(1.5~15V 直流工

    2024年02月09日
    瀏覽(20)
  • 單片機(jī)學(xué)習(xí)-蜂鳴器如何發(fā)出聲音

    單片機(jī)學(xué)習(xí)-蜂鳴器如何發(fā)出聲音

    BEEP =! BEEP? ? 為何使用 非運(yùn)算,這里面 P2 的管腳默認(rèn) 有上拉電阻,P2^5 輸出高電平 每次循環(huán) 非運(yùn)算一下 為低電平 ,產(chǎn)生那種評(píng)率 0 1? 0 1? 0 1 循環(huán)下去?

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包