【正文】
機輸出的信號放大,再通過喇叭播放樂曲。 基于單片機的自動音樂播放器的設計 摘 要 為方便人們的日常生活,優(yōu)化學校、機關(guān)等單位的計時系統(tǒng),采用以單片機為基礎設計了一種 的 自動音樂播放器。通過 MAX232型芯片,可以轉(zhuǎn)換 PC 機上的電壓和單片機的電源電壓,再通過串口接入 PC 機,這樣就能從 PC 機上將用 C 語言編寫的程序下載到單片機上。s daily life, optimizes schools’, institutions’ timing system, used has designed one kind of automatic music player which based on monolithic integrated circuit. This design fixed time and counts the function using monolithic integrated circuit 89C58RD+, pletes the time the demonstration and fixed time the function. And, Through hypothesis starting value of timer, product the different frequency sound. Severs using the timer pletesthe control of music metre LM386N1 audio power amplifier, enlarges signal which the monolithic integrated circuit outputs,then broadcast music from loudspeaker. Through MAX232 chip,can transform PC machine on the voltage and the monolithic integrated circuit supply then,turns on the puter though String mouth,then it can download procedure which piles with the C language to monolithic integrated circuit from last,it can demonstrates the time on the digital time to after fixed time, the loudspeaker automatically broadcasts section of continual musics. This design get rid of the traditional alarm clock’ s grating sound, displaces is the wonderful music,can provides the accurate time for people39。 Time demonstration。 本文將介紹一種以 89C58RD+型單片機為基礎元件設計的自動音樂播放器。校園里的上下課的鈴聲,宿舍內(nèi)早晨的起床號聲音,都由以前枯燥刺耳的鈴音轉(zhuǎn)變成了好聽的音樂,公路、廣場中的計時裝置也逐漸開始采用音樂來充當鈴聲。當定時時間到后,通過喇叭連續(xù)播放一段音樂。單片機需外接 +5V 穩(wěn)壓電源,并通過 MAX232 電平轉(zhuǎn)換芯片和串口接入 PC 機。 ( 2)在四位共陰 LED 數(shù)碼管上顯示出時間( 24 小時制),包括小時、分鐘,當定時 1 秒后,秒數(shù)加 1;當定時滿 60 秒后,秒數(shù)歸零,分鐘數(shù)加 1;當定時滿60 分鐘后,分鐘數(shù)歸零,小時數(shù)加 1;當定時滿 24 小時后,小時數(shù)歸零。同樣的頻率,脈沖信號或正弦信號產(chǎn)生的音效,對于人類的耳朵來說很難有所區(qū)別。就可在 引腳上得到此頻率的脈沖。 其計數(shù)初值 T 的求法如下: T = 65536 – N = 65536 F1/2/F2 (式 322) 本次設計采用 16位定時方式,晶體振蕩器頻率為 6MHZ,根據(jù)式 321 和式322可以計算出各音樂頻率的計數(shù)器初值,再將十進制的計數(shù)器初值轉(zhuǎn)換為四位 16 進制,將其制表寫入程序中,通過查表裝入要求的初值即可。本次設計采用的是定時器終端方式。所以采用模式1,將定時器值設為 62500,即 0CDCH,則只需要執(zhí)行 2次定時器中斷就可以產(chǎn)生1/4 拍的時間長度。具體編程方法如下: ,定義 toneh[]和 tonel[]兩個數(shù)組,將各個音樂頻率的定時器初值的 16 進制數(shù)的高 8 位裝入 toneh[],低 8 位裝入 tonel[]。 TL0=tonel[rti]。 m++。利用單片機,通過軟件的方式產(chǎn)生所需要的音樂頻率,并將收到的信號與音頻編碼表進行對比。時鐘由秒針、分針和時針組成,在程序中分別由 sdata, mdata, hdata 表示各單位的數(shù)據(jù)。將 hdata 的數(shù)據(jù)裝入第一和第二個數(shù)碼管,將 mdata 的數(shù)開 始 初始化 開始計時 是否到鬧鐘 時間? 繼續(xù)計時 驅(qū)動音頻程序 YES NO 圖 23 開 始 初始化 讀取簡譜碼 簡譜碼是否在編碼表中? 讀取音階 驅(qū)動喇叭延時 YES NO 圖 22 第 9 頁 共 22 頁 據(jù)裝入第三和第四個數(shù)碼管。 時鐘程序流程圖 時鐘程序流程圖如圖 23所示。單片機 P2 口接 4 位共陰 LED 數(shù)碼管,并外接 1K 歐的排阻,利用單片機內(nèi)部的定 時器中斷控制時間程序,然后在數(shù)碼管上顯示出時間。并且,比圖 32 單 片 機 PC 機 RS232 LED 顯示 音頻功率放大器 喇叭 圖 31 第 10 頁 共 22 頁 起跟它同種類型的 89C51,它具有更大的 Flash 存儲器,可下載很大容量的程序代碼,因此功能更加強大,應用范圍更廣泛。 89C58RD+管腳如圖 32 所示 ,其中 ( 1) 時鐘引腳 XTAL1:接外部晶體的一個引腳。在單片機內(nèi)部,它是構(gòu)成內(nèi)部振蕩器的反相放大器的輸出端。 ALE/PROG :當訪問外部寄存器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。在有外部程序存儲器取指令期間,每個機器周期兩次 PSEN 有效。在 Flash 編程期間,此管腳也用于施加 12V 編程電源( Vpp)。在 Flash 編程時, P0 口作為原碼輸入口,當 Flash 進行校驗時, P0 口輸出原碼,此時, P0 口外部必須被拉高。 P2 口: P2 口為一個內(nèi)部提供上拉電阻的 8位雙向 I/O, P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當 P2 口被寫“ 1”時,其管腳被內(nèi)部上拉電阻拉高。 P2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時, P2 口輸出地址的高八位。當 P3 口寫入“ 1”后,它們被內(nèi)部上拉為高電平,并用作輸入。為使外圍元件最少,電壓增益內(nèi)置為 20。 LM386N 外圍電路如圖 34 所示意。因此,為了能夠同計算機接口或終端的 TTL 器件連接,必須在EIARS232C 與 TTL 電路之間進行電平和邏輯關(guān)系的變換。 MAX232電路具有的特點是:單 5V電源工作;兩個驅(qū)動器及兩個接收器; 177。在 1腳和 3腳、 4 腳和 6 腳、 2和 16腳、 6 和 15腳以及 15和 16 腳之間分別接 1個 1uf 的電容,即可使芯片正常工作,完成電平轉(zhuǎn)換功能。 當設置為計數(shù)工作方式時,通過引腳 T0( ) ,T1( ) ,T2( )對外部脈沖信號計數(shù),當輸入脈沖信號從 1到 0 負跳變時,計數(shù)器就自動就 1。 LED 顯示 LED 數(shù)碼管根據(jù) LED 的接法不同分為共陰和共陽兩類 , 了解 LED 的這些特性 , 對編程是很重要的 , 因為不同類型的數(shù)碼管 , 除了它們的硬件電路有差異外 ,編程方法也是不同的。當然 , LED 的電流通常較小 , 一般均需在回路中接上限流電阻。 4 KEIL 仿真軟件及 Protel 99 SE 的應用 KEIL51的應用 硬件與軟件的設計一般都要分別借助一些軟件,如我們通常用 作 電路設計與制版的 Protel, MCS51 程序開發(fā)工具 KEIL 等。 安裝運行 KEIL51, 使用 KEIL的開發(fā)工具