當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1引言基于RTX51的樂曲編輯發(fā)生器以AT89S52單片機為控制核心,操作者可以通過4×4矩陣鍵盤輸入約定格式的任意樂曲,按“播放”鍵后,系統(tǒng)便開始播放所編輯的樂曲,并且音調(diào)和節(jié)拍都可以由單片機精確控

1引言

基于RTX51的樂曲編輯發(fā)生器AT89S52單片機為控制核心,操作者可以通過4×4矩陣鍵盤輸入約定格式的任意樂曲,按“播放”鍵后,系統(tǒng)便開始播放所編輯的樂曲,并且音調(diào)和節(jié)拍都可以由單片機精確控制。為了降低成本,在最小硬件設(shè)計的基礎(chǔ)上,系統(tǒng)的功能盡可能用軟件來實現(xiàn),系統(tǒng)軟件是在面向MCS-51系列單片機的嵌入式實時多任務(wù)操作系統(tǒng)RTX51Tiny平臺上,用C51高級語言和MCS-51匯編語言混合編程而開發(fā)的。

2 系統(tǒng)硬件設(shè)計

為了今后能夠在線升級用戶應(yīng)用程序,采用帶ISP接口的單片機AT89S52為核心構(gòu)成樂曲編輯發(fā)生器。AT89S52具有快速8051內(nèi)核、8 KB FlashE2PROM、256 B IDATA RAM,完全符合運行RTX51Tiny的硬件要求。筆者已研制了AT89S51/52的目標(biāo)程序PC機下載軟件,無需編程器即可完成單片機應(yīng)用系統(tǒng)的開發(fā)。

為了設(shè)計編輯任意樂曲的人機界面,采用4×4矩陣鍵盤作為系統(tǒng)的輸入設(shè)備,采用點陣式液晶顯示模塊TC1602A作為系統(tǒng)的輸出設(shè)備。為了存儲和讀出任意樂曲,采用帶I2C串行接口的E2PROM存儲器AT24C02。為了放大單片機AT89S52產(chǎn)生的樂曲聲音,采用了功率放大器LM386。系統(tǒng)硬件電路原理圖如圖1所示。

3 樂曲編輯和播放的軟件實現(xiàn)

3.1 單片機產(chǎn)生音頻矩形脈沖的方法

利用單片機的內(nèi)部定時器T1并使其工作在定時器工作方式1(16 bit定時),改變T1的計數(shù)初值,就可以在單片機的I/O引腳端產(chǎn)生不同頻率的音頻矩形脈沖。

例如,音頻矩形脈沖信號的頻率為523 Hz,則其周期T=1/523=1912μs,因此,只要讓計數(shù)器定時1912μs÷2=956μs,當(dāng)定時956μs到的時候,將AT89S52的樂曲輸出引腳P3.7反相,就可得到中音DO(523 Hz)。

單片機定時器計數(shù)初值T與單片機內(nèi)部機器周期信號頻率Fi和音頻矩形脈沖信號頻率Fr的關(guān)系如下。

為了敘述方便,不妨把定時器計數(shù)初值T稱為簡譜碼。

3.2 樂曲的音調(diào)表示方法

單片機播放樂曲的過程,主要是用單片機來識別所編輯的樂曲并播放出來。單片機需要識別樂曲中的音調(diào)和音長(音長亦稱為節(jié)拍),本設(shè)計用字母A~Z來代表樂曲的各個音調(diào)。數(shù)字0作為音調(diào)的結(jié)束標(biāo)志,如表1所示。

3.3 樂曲編輯的軟件實現(xiàn)方法

在系統(tǒng)軟件設(shè)計時,已將按鍵處理作為一個任務(wù)即“按鍵處理任務(wù)”,它的主要功能是編輯樂曲。“按鍵處理任務(wù)”的執(zhí)行需要“鍵盤掃描任務(wù)”向它發(fā)送信號來觸發(fā)執(zhí)行。“按鍵處理任務(wù)”的C51源程序如下。



 

3.4 樂曲播放的軟件實現(xiàn)方法

在設(shè)計“播放任務(wù)”程序時,利用AT89S52內(nèi)部的定時器T1定時溢出中斷來產(chǎn)生音調(diào)的頻率,并利用RTX51操作系統(tǒng)的os_wait2(K_TMO,ticks)函數(shù)來產(chǎn)生音長。“播放任務(wù)”的C51源程序如下:


3.5 系統(tǒng)軟件流程

根據(jù)對系統(tǒng)功能的分析,把系統(tǒng)軟件分解為5個任務(wù),具體如下:

任務(wù)0:系統(tǒng)初始化任務(wù),包括TC1602A的初始化、定時器T1的初始化、中斷初始化。在啟動任務(wù)1~任務(wù)4后,自動刪除任務(wù)0,使得任務(wù)0只在系統(tǒng)上電復(fù)位時執(zhí)行一次。

任務(wù)1:鍵盤掃描任務(wù)。每隔50 ms執(zhí)行1次,掃描所得的鍵值存于全局變量keycode,然后向“按鍵處理任務(wù)”發(fā)信號。

任務(wù)2:按鍵處理任務(wù)。等待信號,根據(jù)鍵值keycode完成相應(yīng)處理,實現(xiàn)的功能包括樂曲的編輯、樂曲的保存和讀取等。

任務(wù)3:播放任務(wù)。等待信號,按照音調(diào)和音長播放樂曲。

任務(wù)4:顯示刷新任務(wù)。根據(jù)光標(biāo)指針變量的值在液晶屏上顯示樂曲數(shù)據(jù)(音調(diào)和音長)。

系統(tǒng)軟件流程圖如圖2所示。

4 結(jié)束語

本文給出了以單片機AT89S52為核心構(gòu)成的任意樂曲編輯發(fā)生器,具有硬件電路簡單、操作界面友好、使用方便的特點。該系統(tǒng)已投入運行,播放出來的樂曲效果良好,音調(diào)和節(jié)拍都由單片機控制得相當(dāng)準(zhǔn)確。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉