邵陽學(xué)院信息工程系 彭 堯
?
基于單片機(jī)的點(diǎn)陣音樂盒設(shè)計(jì)與制作
邵陽學(xué)院信息工程系 彭 堯
【摘要】本文應(yīng)用STC12C5A60S2單片機(jī)和點(diǎn)陣顯示理論設(shè)計(jì)并制作音樂盒演奏和16X16點(diǎn)陣顯示硬件電路。并利用C51語言進(jìn)行軟件程序編寫。通過STC12C5A60S2單片機(jī)內(nèi)部自帶的定時(shí)器來產(chǎn)生不同頻率的方波,通過三極管驅(qū)動(dòng)蜂鳴器發(fā)出不同音調(diào)時(shí)間長(zhǎng)短。這種控制方法簡(jiǎn)單,硬件成本低,對(duì)于不同的音樂只需要調(diào)用不同的音樂子程序則可。
【關(guān)鍵詞】STC12C5A60S2單片機(jī);點(diǎn)陣顯示理論;方波
改革開放后,隨著人們生活水平的不斷提高,人們對(duì)音樂藝術(shù)的追求也不斷提高。本文以STC12C5A60S2單片機(jī)為微控制器,通過STC12C5A60S2單片機(jī)內(nèi)部定時(shí)器按照一定的規(guī)律產(chǎn)生不同占空比的方波,通過三極管驅(qū)動(dòng)蜂鳴器發(fā)出聲調(diào),通過定時(shí)器精準(zhǔn)的控制節(jié)拍,實(shí)現(xiàn)音樂的播放,通過驅(qū)動(dòng)使得音調(diào)通過顯示在16X16點(diǎn)陣上。使得音與顯同步。
按照設(shè)計(jì)總體要求,系統(tǒng)硬件結(jié)構(gòu)包括STC12C5A60S2單片機(jī)最小系統(tǒng)、三極管驅(qū)動(dòng)和蜂鳴器模塊、I/O擴(kuò)展模塊、點(diǎn)陣驅(qū)動(dòng)模塊、點(diǎn)陣顯示模塊、按鍵模塊和電源模塊等組成。由STC12C5A60S2單片機(jī)內(nèi)部定時(shí)器產(chǎn)生方波,通過三極管驅(qū)動(dòng)電路和蜂鳴器使得發(fā)出聲音,同步通過I I/O擴(kuò)展模塊和點(diǎn)陣驅(qū)動(dòng)模塊使得顯示模塊同步顯示。本設(shè)計(jì)與制作通過4塊8X8點(diǎn)陣組成一塊16X16點(diǎn)陣顯示字符,通過軟件編程的方式編好音符和點(diǎn)陣顯示子程序。
圖1 點(diǎn)陣連接圖
單片機(jī)的全稱為單片機(jī)微型計(jì)算機(jī)或者稱為微控制器,本文設(shè)計(jì)與制作點(diǎn)陣音樂盒采用STC12C5A60S2單片機(jī),STC12C5A60S2單片機(jī)在在眾多的51系列單片機(jī)中,要算國內(nèi)STC12C5A60S2單片機(jī)這種1T增強(qiáng)系列更具有市場(chǎng)競(jìng)爭(zhēng)力,是因?yàn)樗坏耆嫒?051指令,寄存器也基本兼容,而且內(nèi)部就自帶高達(dá)60K FLASHROM(快速擦寫只讀編程器),這種存儲(chǔ)器好處是用戶可以用電的方式瞬間擦除、改寫。而且STC12C5A60S2單片機(jī)支持串口程序燒寫,方便程序下載。顯而易見,STC12C5A60S2單片機(jī)對(duì)開發(fā)設(shè)備的要求非常低,大大縮短了程序員的開發(fā)時(shí)間。而且寫入STC12C5A60S2單片機(jī)內(nèi)的程序還可以進(jìn)行加密,這又很好地保護(hù)了程序員的勞動(dòng)成果。音頻驅(qū)動(dòng)采用NPN放大三極管,點(diǎn)陣驅(qū)動(dòng)芯片采用74LS138譯碼器,顯示器選擇4塊8X8點(diǎn)陣,按鍵選擇3X4的矩陣鍵盤。4塊8X8點(diǎn)陣連接圖如圖1所示。點(diǎn)陣顯示原理圖如圖2所示。
圖2 點(diǎn)陣顯示原理圖
本文通過研究與制作音樂盒,將幾個(gè)硬件模塊與幾個(gè)程序子程序有機(jī)的結(jié)合起來,將程序通過串口程序燒寫,調(diào)試成功后,則可以通過按鍵來選擇歌曲,本文通過STC12C5A60S2單片機(jī)設(shè)計(jì)制作電子音樂盒做了簡(jiǎn)單分析與研究,具有一定的參考價(jià)值。
CPU(中央處理器)程序運(yùn)行的方向是通過中斷硬件來改變,中斷執(zhí)行后,調(diào)用執(zhí)行的子程序。主程序主要是程序初始化,是否有按鍵按下,子程序主要由音符子程序和顯示子程序。程序設(shè)計(jì)采用C51語言,C51語言由C語言發(fā)展而來,具備C語言的結(jié)構(gòu)清晰,便于編寫和學(xué)習(xí),同時(shí)兼?zhèn)淞藚R編語言的硬件操作能力,換句話說就是C51語言是應(yīng)用在單片機(jī)平臺(tái)上,而C語言運(yùn)行在普通的平臺(tái)上。
參考文獻(xiàn)
[1]肖文樹,陳西曲.基于單片機(jī)的點(diǎn)陣音樂盒設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2016(02).
[2]王建平,焦國太,陳亞星.數(shù)字音樂盒設(shè)計(jì)[J].機(jī)械,2011(06).
[3]唐正.Proteus在單片機(jī)教學(xué)中的應(yīng)用[D].華中科技大學(xué),2008.
[4]唐衛(wèi)紅,曹金榮,李漢軍,鄭曉慧,楊士亮.一種單片機(jī)音樂盒的設(shè)計(jì)與制作[A]. 第六屆全國信息獲取與處理學(xué)術(shù)會(huì)議論文集(2)[C].2008.
[5]章立文.基于單片機(jī)的車載數(shù)字音樂播放系統(tǒng)的設(shè)計(jì)[D].南昌大學(xué),2011.
[6]趙雪梅.仿真技術(shù)在單片機(jī)實(shí)驗(yàn)室建設(shè)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2013(03).
作者簡(jiǎn)介:
彭堯(1992—),男,湖南邵陽人,大學(xué)本科,現(xiàn)在就讀于邵陽學(xué)院信息工程系通信工程專業(yè)12通信工程,研究方向:通信工程。