999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AT89C51單片機(jī)的電子音樂制作

2014-10-21 20:04:55崔凱孟祥順李彬彬
電子世界 2014年6期
關(guān)鍵詞:單片機(jī)

崔凱 孟祥順 李彬彬

【摘要】本文以AT89C51單片機(jī)為核心,利用C語言設(shè)計(jì)制作了《祝你生日快樂》歌曲的電子音樂。并在播放音樂的同時(shí)伴隨發(fā)光二極管的閃爍。

【關(guān)鍵詞】單片機(jī);電子音樂

1.引言

以單片機(jī)為核心制作的電子音樂結(jié)構(gòu)簡單、成本經(jīng)濟(jì)、工作效果好,在兒童玩具、禮物等很多場合都能得到大規(guī)模的應(yīng)用。而利用單片機(jī)設(shè)計(jì)制作電子音樂對于高校學(xué)生理解、掌握單片機(jī)結(jié)構(gòu)與原理,熟悉編寫、調(diào)試程序,搭建硬件電路都有很大幫助。

2.單片機(jī)產(chǎn)生音樂的原理

聲音是通過物體的振動產(chǎn)生的。如果單片機(jī)通過某一I/O口以一定的頻率輸出高電平、低電平,這一引腳便產(chǎn)生了一定頻率的方波。該方波經(jīng)放大電路放大,加到揚(yáng)聲器便會產(chǎn)生一定頻率的聲音。若方波頻率發(fā)生變化,則聲音頻率也隨之變化。通過控制輸出方波時(shí)間的長短,聲音的長短就會得到相應(yīng)控制。因此根據(jù)樂譜,單片機(jī)就可以產(chǎn)生電子音樂。

3.方波的產(chǎn)生

8051單片機(jī)產(chǎn)生固定頻率方波可以使用定時(shí)器/計(jì)數(shù)器T0或T1的溢出中斷。在中斷發(fā)生時(shí),將P口引腳的電壓取反使其輸出方波。本文采用T1溢出中斷。在T1的溢出中斷服務(wù)程序中,執(zhí)行重新裝入計(jì)數(shù)初值,然后將輸出引腳電壓取反,在下次T1中斷時(shí),P口引腳再取反,即可輸出方波。音樂節(jié)拍也可以利用延時(shí)程序來控制。

4.音符頻率與定時(shí)器初始值

本文單片機(jī)采用12MHZ脈沖,則一個(gè)幾周為1us,所以需要多長的時(shí)間(頻率),就可以個(gè)定時(shí)器裝入一個(gè)對應(yīng)的初始值。

5.音符節(jié)拍選擇

節(jié)拍就是音符演奏時(shí)間段長短。設(shè)一拍的十年為0.4秒,則其余拍數(shù)均可以此節(jié)拍推算出。而節(jié)拍的時(shí)間也可以通過延時(shí)實(shí)現(xiàn)。

6.音符代碼

程序中使用一個(gè)字節(jié)來表示音符和該音符的節(jié)拍,音符代碼的高4位是簡碼,由它可以找到對應(yīng)的定時(shí)器T1初始值;低4位代表音符節(jié)拍,其也可以通過查找節(jié)拍代碼表獲得。所以,我們只要找到《祝你生日快樂》這首樂曲的樂譜,找到其所對應(yīng)的“簡譜碼”做高4位,再找到對應(yīng)的節(jié)拍碼做低4位,把高4位和低4位合成一個(gè)音符代碼即可。

現(xiàn)將根據(jù)《祝你生日快樂》樂曲簡譜轉(zhuǎn)換后的音符代碼表示如下:0x42,0x01,0x41,0x54, 0x44,0x74,0x64,0x42,x01,0x41,0x54,0x44,0x84, 0x74,0x74,0x42,0x01,0x41,0xB4,0x84,0x74, 0x64,0xC4,0xA2,0x01,0xA1,x94,0x74,0x84,0x74, 0x74。

將此代碼存入程序存儲器,程序執(zhí)行時(shí)將音符代碼按字節(jié)逐一讀出,高4位是簡譜碼,低4為是音符節(jié)拍碼,并根據(jù)T1計(jì)數(shù)器的初始值來設(shè)置時(shí)間,由此控制每一個(gè)音符的演奏時(shí)間,最終行動一段樂曲。

7.電子音樂電路設(shè)計(jì)

如圖1所示,電路中使用20腳的AT80C2051為音樂電路核心。Q1、Q2組成復(fù)合管電路。P3.5端是音頻信號的輸出端,輸出的方波信號經(jīng)復(fù)合管電路驅(qū)動后驅(qū)動揚(yáng)聲器發(fā)聲;發(fā)光二極管DS1~DS7和三極管Q3~Q9等元件組成音符顯示電路,分別顯示1、2、~7音符;P1.0~P1.6端經(jīng)過R4~R10電阻分別連接Q3~Q9基極。當(dāng)P1.0~P1.6端有輸出低電平時(shí),三極管飽和導(dǎo)通,對應(yīng)的發(fā)光二極管點(diǎn)亮。S2與R3構(gòu)成啟動電路,按下S2給P3.7引腳送入低電平,啟動放音。

圖1 電子音樂電路圖

8.源程序設(shè)計(jì)

#include

sbit sp=P3^5;sbit sw=P3^7;unsigned char i=0;

un,signed char hi_note=0;unsigned char low_note=0;

code unsigned song[ ]={0x42,0x01,0x41, 0x54,0x44,0x74,0x64,0x42,x01,0x41,0x54, 0x44,0x84,0x74,0x74,0x42,0x01,0x41,0xB4, 0x84,0x74,0x64,0xC4,0xA2,0x01,0xA1,x94,0x74,0x84,0x74,0x74,

0x42,0x01,0x41,0x54,0x44,0x74,0x64, 0x42,x01,0x41,0x54,0x44,0x84,0x74,0x74,0x42, 0x01,0x41,0xB4,0x84,0x74,0x64,0xC4,0xA2, 0x01,0xA1,x94,0x74,0x84,0x74,0x74,0x00};

code int note[ ]={0x0000,0xFB03,0xFB83, 0xFC0B,0xFC43,0xFCAB,0xFD08,0xFD32,0xFD81, 0xFDC7,0xFE05,0xFE21,0xFE55,0xFE83,0xFE99, 0xFEC0}

code unsigned char led[ ]={0xFF,0xEF,0xDF,0xBF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF};

void delay(unsigned int n)

{

unsigned int I,j;

for(i=0;i<1000*n;i++)

for(j=0;j<120;j++);

}

static void timer1_isr(void)interrupt TF1_vector using 2

{

TR1=0;

TL1=low_note;

TH1=hi_note;

TR1=1;

sp=~sp;

}

static void timer1_initialize(void)

{

EA=0;

TR1=0;

TMOD=0X10;

ET1=1;

EA=1;

}

void singing()

{

unsigned char beat,temp;

i=0;

do

{

temp=song[i];

if(temp==0){TR1=0;return;}

beat=temp&0X0F;

temp=(temp>>4)&0X0F;

if(temp==0)TR1=0;

else

{

hi_note=note[temp]>>8;

low_note=note[temp]&0X00FF;

TR1=1;

P1=led[temp];

}

Delay(beat);

P1=0XFF;

i++;}

while(1);

}

Void main(void)

{

timer1_initialize();

do

{

sw_press();

singing();

}while(1);

}

作者簡介:崔凱(1980—),男,遼寧本溪人,碩士,營口職業(yè)技術(shù)學(xué)院講師,主要從事單片機(jī)開發(fā)設(shè)計(jì)及電機(jī)專業(yè)教學(xué)。

猜你喜歡
單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個(gè)全新PIC單片機(jī)系列
基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)
主站蜘蛛池模板: 欧美天堂在线| 18禁高潮出水呻吟娇喘蜜芽| 在线观看av永久| 国产黄网永久免费| 亚洲人成人无码www| 国产成人av一区二区三区| 日本免费a视频| 制服丝袜亚洲| 国产精品久久久久久影院| 久久99精品国产麻豆宅宅| 欧美色图第一页| 另类重口100页在线播放| 久久鸭综合久久国产| 婷婷亚洲最大| 亚洲高清无码精品| 国产精品尹人在线观看| 国产在线无码一区二区三区| 国产av一码二码三码无码| 精品无码日韩国产不卡av| 亚洲精品无码日韩国产不卡| 亚洲国产AV无码综合原创| 在线观看无码av免费不卡网站| 99久久人妻精品免费二区| 91在线播放免费不卡无毒| 欧美第九页| 亚洲中文字幕av无码区| 国产精品成人AⅤ在线一二三四| 久久影院一区二区h| 精品剧情v国产在线观看| 欧美亚洲国产日韩电影在线| 三区在线视频| 一级成人a做片免费| 波多野结衣视频一区二区 | 日韩精品免费在线视频| 99在线免费播放| 亚洲成人精品| 18禁不卡免费网站| 久热中文字幕在线| 在线视频精品一区| 欧美亚洲国产视频| 97在线免费| 国产精品成人一区二区| 色老头综合网| 无码网站免费观看| 精品国产一二三区| 日本不卡在线视频| 在线观看免费国产| 亚洲天堂自拍| 噜噜噜综合亚洲| 日本三级欧美三级| 亚洲精品片911| 91精品久久久久久无码人妻| 无码一区二区波多野结衣播放搜索| 国产麻豆精品久久一二三| 日本不卡在线播放| 久久semm亚洲国产| 免费观看国产小粉嫩喷水| 亚洲日本中文综合在线| 国产精品亚洲αv天堂无码| 91口爆吞精国产对白第三集| 日韩欧美高清视频| 色老二精品视频在线观看| 美女国内精品自产拍在线播放| 日韩第九页| 欧美人与动牲交a欧美精品| 成人福利视频网| 性色一区| 天天爽免费视频| 亚洲黄色高清| 制服丝袜国产精品| 福利国产微拍广场一区视频在线| 精品一区二区无码av| 欧美日韩成人在线观看| 久久9966精品国产免费| 99久久国产自偷自偷免费一区| 小说 亚洲 无码 精品| 亚洲日韩精品欧美中文字幕| 91视频99| 国产在线98福利播放视频免费| 国产丰满成熟女性性满足视频| 久久国产亚洲偷自| 精品欧美一区二区三区久久久|