找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2866|回復(fù): 11
收起左側(cè)

51單片機(jī)制作電子琴,怎么按下一個(gè)按鍵發(fā)出do,ruai,mi 求思路

[復(fù)制鏈接]
ID:907024 發(fā)表于 2022-4-3 14:43 | 顯示全部樓層 |閱讀模式
用51單片機(jī)做個(gè)電子琴,怎么按下一個(gè)按鍵發(fā)出do,ruai,mi三個(gè)音然后按第二個(gè)按鍵發(fā)出ruai,mi,fa三個(gè)音,用定時(shí)器,大神們有沒(méi)有思路提供一下
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2022-4-3 16:29 來(lái)自手機(jī) | 顯示全部樓層
確定各按鍵的音調(diào)頻率就行了,就如 0 鍵播放橋邊姑娘如出一轍
回復(fù)

使用道具 舉報(bào)

ID:230742 發(fā)表于 2022-4-3 17:43 | 顯示全部樓層
先參考51單片機(jī)的電子琴程序,然后把里面的發(fā)音函數(shù)調(diào)用三次就可以了,也可以把音連起來(lái)就成歌曲了。
回復(fù)

使用道具 舉報(bào)

ID:121859 發(fā)表于 2022-4-3 18:16 | 顯示全部樓層
這個(gè)簡(jiǎn)單,按下一個(gè)鍵,將對(duì)應(yīng)該鍵發(fā)音的音頻送定時(shí)器控制揚(yáng)聲器發(fā)聲就可以了。
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2022-4-3 20:13 | 顯示全部樓層
開(kāi)兩個(gè)定時(shí)器
一個(gè)定時(shí)器用作產(chǎn)生1ms心跳
一個(gè)用來(lái)產(chǎn)生相對(duì)頻率的方波來(lái)驅(qū)動(dòng)無(wú)源蜂鳴器
回復(fù)

使用道具 舉報(bào)

ID:907024 發(fā)表于 2022-4-4 11:36 | 顯示全部樓層
啤酒瓶子老大 發(fā)表于 2022-4-3 17:43
先參考51單片機(jī)的電子琴程序,然后把里面的發(fā)音函數(shù)調(diào)用三次就可以了,也可以把音連起來(lái)就成歌曲了。

你好!如果我三個(gè)音需要隔時(shí)間的話,在定時(shí)器中用延遲就好了嗎?
回復(fù)

使用道具 舉報(bào)

ID:907024 發(fā)表于 2022-4-4 15:44 | 顯示全部樓層
wc86110 發(fā)表于 2022-4-3 16:29
確定各按鍵的音調(diào)頻率就行了,就如 0 鍵播放橋邊姑娘如出一轍

你好!如果我三個(gè)音需要隔時(shí)間的話,在定時(shí)器中用延遲就好了嗎?
回復(fù)

使用道具 舉報(bào)

ID:624769 發(fā)表于 2022-4-4 19:22 | 顯示全部樓層
qinkang189 發(fā)表于 2022-4-4 15:44
你好!如果我三個(gè)音需要隔時(shí)間的話,在定時(shí)器中用延遲就好了嗎?

定時(shí)器里用延時(shí),還要定時(shí)器干什么? 直接延時(shí)不香么?
定時(shí)器里面計(jì)數(shù),  假定 10ms 中斷一次  計(jì)數(shù)達(dá)到 100 就是 1秒。
每次進(jìn)入中斷 加一次,然后通過(guò)  判斷 計(jì)數(shù) 到多少了,決定接下去做什么,
回復(fù)

使用道具 舉報(bào)

ID:139866 發(fā)表于 2022-4-8 13:20 | 顯示全部樓層
限制做這個(gè)的因素不是電子方面的知識(shí),而是音樂(lè)方面的
回復(fù)

使用道具 舉報(bào)

ID:907024 發(fā)表于 2022-4-10 21:17 | 顯示全部樓層
天ノ憶 發(fā)表于 2022-4-8 13:20
限制做這個(gè)的因素不是電子方面的知識(shí),而是音樂(lè)方面的

對(duì)!因?yàn)槲也欢莻(gè)音調(diào)怎么弄出來(lái)的
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2022-4-11 13:45 | 顯示全部樓層
qinkang189 發(fā)表于 2022-4-10 21:17
對(duì)!因?yàn)槲也欢莻(gè)音調(diào)怎么弄出來(lái)的

音調(diào)就是頻率
如C 是440Hz
2273us一個(gè)反轉(zhuǎn)周期
定時(shí)器就是1136us進(jìn)一次中斷把IO口取反
THTL取值如下:
THx = (65536 - 1136)/256;//或(65536 - 1136)>>8;
TLx = (65536 - 1136)%256;//或(65536 - 1136)&0xFF;
回復(fù)

使用道具 舉報(bào)

ID:139866 發(fā)表于 2022-4-12 10:35 | 顯示全部樓層
qinkang189 發(fā)表于 2022-4-10 21:17
對(duì)!因?yàn)槲也欢莻(gè)音調(diào)怎么弄出來(lái)的

頻率什么的百度就能查到,想讓他唱個(gè)歌,結(jié)果連個(gè)簡(jiǎn)譜都看不懂,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表