1. 最最簡單的是做個音樂播放器了,只要個51單片機最小系統+1個喇叭 程序也很簡單
單片機產生音樂的原理:
音樂的產生主要是通過單片機的I/O口輸出高低不同的脈沖信號來控制蜂鳴器發音,要想產生音頻脈沖信號,需要算出某音頻的周期(1/頻率),然後將此周期除以2,即為半周期的時間。利用單片機定時器計時這個半周期的時間,每當計時到後就輸出脈沖的I/O口反相,這樣就在此I/O口上得到此脈沖的頻率。
通常,利用單片機的內部定時器0,工作在方式一下,改變計數初始值TH0和TL0來產生不同的率。
例如,若單片機採用12MHzs晶振,要產生頻率為587Hzs的音頻脈沖時,其音頻信號的脈沖周期T=1/587=1703.5775us,半周期時間為852us,因此總要令計時器計數=852us/1us=852,在每計數852時將I/O口反相,就得到C大調的中調Re。
由於定時器0的在方式一計數方式為16位計數器,最多隻能裝載的數為2的16次方即65536個,也就是說定時器計數到65536就會進入中斷函數,而在中斷函數中將輸出脈沖的I/O口反相即可,故只需設置好定時器0的初值就可以了發出特定的音頻了。
參考:http://www.openedv.com/posts/list/12312.htm
2. 80c51單片機音樂播放器程序設計
唉,現在啊復都是一群來混積分制的傢伙,可你知道你們那樣是賺不到分的嗎?像上面叫老水說的"比較簡單的問題.可是程序寫好了之後給你,你不會用怎麼辦?"說這什麼話啊,既然你都說了是簡單的問題,那你干嗎不直接給人家程序啊,你以為你為了不起嗎?你以為你那樣能賺到分嗎?看我的,這一百分我拿定了,只要提問人是有情有義的人.
start:MOV
A,#FE
(74)(FE)
loop:MOV
P1,A
(F5)(90)
MOV
R1,#10
;延時
DEL1:MOV
R2,#00
(7A)(C8)
DEL2:MOV
R3,#126
(7B)(7E)
DEL3:DJNZ
R3,DEL3
(DB)(FE)
DJNZ
R2,DEL2
(DA)(FA)
DJNZ
R1,DEL1
(D9)(F6)
RL
A
(23)
LJMP
LOOP
(02)(40)(40)
END
3. 80C51單片機實現音樂播放器
自己會什麼,就播什麼:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d025718ab4fa7bdefc1f10b7.html
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/88bfff323ec42ef21b4cff09.html
4. 使用51單片機蜂鳴器播放音樂 求keil程序
21代表高音哆 1代表中音哆
//12代表低音來 22代表高音來 2代表中音來,是不是翻譯樂譜很方便
#include
sbit SPK = P3^7; //P3.7外接揚聲器,可以改成你所說的P1^5
#define uint unsigned int;
#define uchar unsigned char;
uint x,y;
uint i,j,k;
5. 用51單片機怎麼製作音樂播放器 求幫助
簡單點的可以用一個語音模塊,通過IO口控制語音模塊,編程即可實現
6. 如何將51單片機的音樂程序與其他程序融合,同時運行初學者求助~希望可以回答詳細~謝謝~
音樂程序一般要用到定時器,所以要融合其他程序,需要是具體情況而定,這里憑空而談是說不清楚的。
7. 51單片機音樂播放器c程序
先將樂曲做一次AD轉換,轉成一個數組,然後將數組寫進C程序中,燒入單片機,播放的時候在做一次DA轉換,將轉換後的信號進行功放再通過喇叭就能播放了。