《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AT89S52的樂曲編輯發生器的設計
基于AT89S52的樂曲編輯發生器的設計
摘要: 本文給出了以單片機AT89S52為核心構成的任意樂曲編輯發生器,具有硬件電路簡單、操作界面友好、使用方便的特點。該系統已投入運行,播放出來的樂曲效果良好,音調和節拍都由單片機控制得相當準確。
Abstract:
Key words :

  1 引言

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

  2 系統硬件設計

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

系統硬件電路原理圖

  為了設計編輯任意樂曲的人機界面,采用4×4矩陣鍵盤作為系統的輸入設備,采用點陣式液晶顯示模塊TC1602A作為系統的輸出設備。為了存儲和讀出任意樂曲,采用帶I2C串行接口的E2PROM

 

存儲器AT24C02。為了放大單片機AT89S52產生的樂曲聲音,采用了功率放大器LM386。系統硬件電路原理圖如圖1所示。

 

  3 樂曲編輯和播放的軟件實現

  3.1 單片機產生音頻矩形脈沖的方法

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

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

  單片機定時器計數初值T與單片機內部機器周期信號頻率Fi和音頻矩形脈沖信號頻率Fr的關系如下。

音頻矩形脈沖信號頻率Fr的關系

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

  3.2 樂曲的音調表示方法

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

樂曲的音調表示方法

  3.3 樂曲編輯的軟件實現方法

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

  3.4 樂曲播放的軟件實現方法

  在設計“播放任務”程序時,利用AT89S52內部的定時器T1定時溢出中斷來產生音調的頻率,并利用RTX51操作系統的os_wait2(K_TMO,ticks)函數來產生音長。“播放任務”的C51源程序如下:
源程序
源程序

  3.5 系統軟件流程

  根據對系統功能的分析,把系統軟件分解為5個任務,具體如下:

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

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

  任務2:按鍵處理任務。等待信號,根據鍵值keycode完成相應處理,實現的功能包括樂曲的編輯、樂曲的保存和讀取等。

  任務3:播放任務。等待信號,按照音調和音長播放樂曲。

  任務4:顯示刷新任務。根據光標指針變量的值在液晶屏上顯示樂曲數據(音調和音長)。

  系統軟件流程圖如圖2所示。

系統軟件流程圖

  4 結束語

  本文給出了以單片機AT89S52為核心構成的任意樂曲編輯發生器,具有硬件電路簡單、操作界面友好、使用方便的特點。該系統已投入運行,播放出來的樂曲效果良好,音調和節拍都由單片機控制得相當準確。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 九九热在线视频播放 | 国产免费高清在线精品一区 | 一级特黄aaa大片免费看 | 黄色一级片免费播放 | 欧美最新在线 | 高清不卡一区二区 | 成人公开视频 | 国产三级国产精品国产普男人 | 免费福利午夜影视网 | 国产亚洲午夜精品a一区二区 | 日韩视频第一页 | 久久亚洲不卡一区二区 | 日韩欧美不卡 | 国产97公开成人免费视频 | 国产成人午夜视频 | 黄网在线观看网址入口 | 日本三区四区免费高清不卡 | 成a人片在线观看 | 最近最新中文字幕高清免费 | 国产一级特黄高清免费大片dvd | 午夜涩涩| 欧美精品第一区 | 极品精品国产超清自在线观看 | 一级毛片在线免费视频 | 一级片aaaa | 中文字幕av一区二区三区 | 国产一在线观看 | 日本一区二区三区不卡在线看 | 性亚洲| 被窝国产理论一二三影院 | 欧美成人网在线综合视频 | 在线不卡日韩 | 麻豆一区二区大豆行情 | 亚洲日本va中文字幕线 | 日韩高清特级特黄毛片 | 好男人午夜影院 | 色在线视频观看 | 国产亚洲欧美在线观看的 | 婷婷 综合网站 | 日韩免费观看视频 | igao网 |