精品国产成人一区二区三区-女子十八毛片-欧洲性猛交-无码不卡一区二区三区在线观看-www.四虎在线-伊人网国产-国精产品自偷自偷综合下载-不卡av网站-俄罗斯黄色大片-一本久久知道综合久久-国产精品日韩一区二区-日韩精品色-免费人成网ww555kkk在线-黄色在线观看免费-日韩在线免费-久久久久99人妻一区二区三区-十八禁真人啪啪免费网站

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于AT89S52的樂曲編輯發(fā)生器的設(shè)計
基于AT89S52的樂曲編輯發(fā)生器的設(shè)計
 更新時間:2008-8-19 13:36:25  點擊數(shù):64
【字體: 字體顏色
  基于RTX51的樂曲編輯發(fā)生器以AT89S52單片機(jī)為控制核心,操作者可以通過4×4矩陣鍵盤輸入約定格式的任意樂曲,按“播放”鍵后,系統(tǒng)便開始播放所編輯的樂曲,并且音調(diào)和節(jié)拍都可以由單片機(jī)精確控制。

1 引言

  為了降低成本,在最小硬件設(shè)計的基礎(chǔ)上,系統(tǒng)的功能盡可能用軟件來實現(xiàn),系統(tǒng)軟件是在面向MCS-51系列單片機(jī)的嵌入式實時多任務(wù)操作系統(tǒng)RTX51Tiny平臺上,用C51高級語言和MCS-51匯編語言混合編程而開發(fā)的。

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

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

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

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

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

  利用單片機(jī)的內(nèi)部定時器T1并使其工作在定時器工作方式1(16 bit定時),改變T1的計數(shù)初值,就可以在單片機(jī)的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)。

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

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

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

  單片機(jī)播放樂曲的過程,主要是用單片機(jī)來識別所編輯的樂曲并播放出來。單片機(jī)需要識別樂曲中的音調(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é)束語

  本文給出了以單片機(jī)AT89S52為核心構(gòu)成的任意樂曲編輯發(fā)生器,具有硬件電路簡單、操作界面友好、使用方便的特點。
[1] [2]  下一頁
  • 上一篇: 中文輸入法在B超系統(tǒng)中的實現(xiàn)
  • 下一篇: 基于普通單片機(jī)的LIN協(xié)議實現(xiàn)方案
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    图们市| 大新县| 灵宝市| 鹤山市| 嘉峪关市| 通渭县| 长沙县| 延津县| 洞口县| 渑池县| 丰城市| 东乡县| 玉田县| 基隆市| 千阳县| 全州县| 于都县| 华容县| 凯里市| 胶南市| 临海市| 巴马| 略阳县| 琼中| 苍溪县| 华宁县| 常山县| 武强县| 乐都县| 增城市| 绥芬河市| 玉田县| 城口县| 涡阳县| 潼南县| 洪雅县| 崇信县| 永和县| 思茅市| 嘉兴市| 九江市|