【正文】
基于 AT89C51 單片機(jī)的帶彩燈外觀 音樂(lè)盒 設(shè)計(jì) 摘 要 隨著人類(lèi)社會(huì)的發(fā)展,人們對(duì)視覺(jué)、聽(tīng)覺(jué)方面的享受提出了越來(lái)越高的要求。小小的音樂(lè)盒可以給人們帶來(lái)美好的回憶,提高人們的精神文化享受。傳統(tǒng)音樂(lè)盒多是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。本文設(shè)計(jì)的音樂(lè)盒是以 AT89C51 單片機(jī)為核心元件的電子式音樂(lè)盒,體積小,重量輕,能演奏音樂(lè),功能多,外觀效果多彩, 配有彩燈 ,使用方便, 本音樂(lè)盒有三個(gè)按鍵, key1 控制彩燈, key2 控制音樂(lè), key3 為總開(kāi)關(guān),可同時(shí)關(guān)閉音樂(lè)與彩燈。 具有一定的商業(yè)價(jià)值。 關(guān)鍵字: AT89C51; 音樂(lè)盒 ; 按鍵 ; 彩燈 單片機(jī) 原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 1 Abstract Along with the development of human society, people of vision, hearing things put forward higher request. Small music box can bring good memories and improve people39。s spiritual culture. Traditional music box is heavy mechanical type, size, pronunciation and drab, cannot achieve batch production. Music box designed in this paper based on AT89C51 microcontroller as the core element of electronic music box, small size, light weight, can play music, multifunction, appearance and colorful, with a lantern,easy to use. The music box with three buttons , The key1 control Lantern, key2 control music, key3 total switch can turn off the music and lanterns. Have so me mercial value. Keywords: AT89C51, music boxes, buttons, Lantern 單片機(jī) 原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 2 1 引言 設(shè)計(jì)目的 隨著電子技術(shù)及計(jì)算機(jī)技術(shù)的發(fā)展, 單片機(jī)在日常生活中的應(yīng)用越來(lái)越廣泛,同時(shí)也顯現(xiàn)出了它的重要性,尤其在一些特殊的場(chǎng)合更是不可代替。為熟悉單片機(jī)的應(yīng)用。要求 設(shè)計(jì)一個(gè)基于 AT89C51 單片機(jī)的帶彩燈外觀的音樂(lè)盒。 設(shè)計(jì)要求 音樂(lè) 盒 有三個(gè)按鍵 key1, key2, key3,其中 key1 控制彩燈的樣式,本設(shè)計(jì)有六種彩燈花樣,每按一次變換一種樣式。 Key2 控制音樂(lè)播放,本設(shè)計(jì)有五首音樂(lè),每按一次變換 到下 一首 , 同時(shí)八路 LED 燈隨音調(diào)不同而閃爍 。 Key3 為總開(kāi)關(guān) 用于關(guān)閉音樂(lè)跟彩燈。 2 設(shè)計(jì)方案及原理 設(shè)計(jì)原理 音調(diào)之所以不同是因?yàn)轭l率的不同。根據(jù)每個(gè)音調(diào)的頻率單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器來(lái)產(chǎn)生相應(yīng)的音樂(lè)脈沖。只要算出某一音頻的周期 (1/頻率 ),然后將此周期除以 2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的 I/O 口反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì) I/O 反相,就可在 I/O 腳上得到此頻率的脈沖 。 利用 AT89C51 的內(nèi)部定時(shí)計(jì)數(shù)器工作在方式 1 下 ,改變 初值 TH0 及 TL0 以產(chǎn)生不同頻率 。 此外結(jié)束符和休止符可以分別用代碼 0xff和 0x00 來(lái)表示,若查表結(jié)果為 0xff,則表示曲子終了;若查表結(jié)果為 0x00,則產(chǎn)生相應(yīng)的停頓效果。 例如頻率為 523Hz,其周期 T=1/523=1912us, 定時(shí)時(shí)間為 1912/2=956us 因此只要令計(jì)數(shù)器計(jì)時(shí) 956us/1us=956 次 (若晶振頻率為 6MHZ),在每次 計(jì)數(shù) 956 次時(shí)將 I/O 反相,就可得到中音 DO(523Hz)。 根據(jù)計(jì)數(shù)次數(shù)就可算出計(jì)數(shù)初值。 要產(chǎn)生音樂(lè)光有音調(diào)是不行的,每個(gè)音調(diào)還有持續(xù)一定的時(shí)間。這可以用延時(shí)程序 delay()來(lái)實(shí)現(xiàn)。因此每個(gè)音樂(lè)代碼有八位數(shù)字組成,高四位控制音調(diào),低四位通過(guò)延時(shí)程序?qū)υ撘粽{(diào)進(jìn)行延時(shí)。通過(guò)子函數(shù)連續(xù)不斷的調(diào)用音樂(lè)代碼就產(chǎn)生了動(dòng)聽(tīng)的音樂(lè)。音調(diào)的頻率與時(shí)間都不同,讓 DO、 RE、 MI、 FA、 SO、 LA、 SI 分別對(duì)應(yīng)八路 LED 燈中的一個(gè),這樣播放音樂(lè)的同時(shí)就有 LED 燈對(duì)應(yīng)閃爍。 總體設(shè)計(jì)思想 單片機(jī) 原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 3 AT89C51晶 振 復(fù) 位 電 路按 鍵 輸 入L E D 顯 示 燈蜂 鳴 器 圖 1 思路圖 如圖 1 所示 按鍵部分有三個(gè)鍵,分別結(jié)于外部中斷 , ,及串行口 , 每產(chǎn)生一次中斷 count1 加一,根據(jù) count1 的值來(lái)決定花樣燈的種類(lèi)。 每產(chǎn)生一次中斷 count2 加一,根據(jù) count2 的數(shù)值來(lái)決定播放哪一首歌曲。 接總開(kāi)關(guān) 的。 播放音樂(lè),及花樣燈均通過(guò)調(diào)用子程序來(lái)實(shí)現(xiàn)。 八路 LED 燈燈接到 P1 口。 揚(yáng)聲器接到 上??傮w設(shè)計(jì)電路 , 如 圖 2。 單片機(jī) 原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 4 V C CR PP 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 .