單片機(jī)LCD顯示音樂倒數(shù)計時器_第1頁
單片機(jī)LCD顯示音樂倒數(shù)計時器_第2頁
單片機(jī)LCD顯示音樂倒數(shù)計時器_第3頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、信息工程學(xué)院課程設(shè)計報告書題 目: 帶有LCD顯示的音樂倒數(shù)計時器專 業(yè):摘要近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入, 同時帶動傳統(tǒng) 控制系統(tǒng)日新月益更新。單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng) 溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本次課程設(shè)計的項目是帶有LED顯示的音樂倒數(shù)計時器。主體使用89C52通過幾個開關(guān)進(jìn)行控制,其中開關(guān)K1用于切 換時間設(shè)置狀態(tài)和時鐘運(yùn)行狀態(tài);開關(guān)K2用于切換修改時間數(shù)值;開關(guān)K3用于使相應(yīng)數(shù)值加1調(diào)節(jié);開關(guān)K4用于減1調(diào)節(jié);開關(guān)K5用于設(shè)定倒計時時間,并且設(shè)定好 后到時間通過實驗箱音頻放出一段樂曲作為鬧鈴。選做增加項目:還可

2、增加秒表功能(精確到 0.01s )或年月日設(shè)定功能關(guān)鍵詞:單片機(jī) 課程項目 計時器 89C52目錄摘 要 I1前 言 11.1 課題開發(fā)背景 11.2 課題研究的目的和意義 11.3 課題的主要研究工作 12 系統(tǒng)硬件設(shè)計及說明 32.1系統(tǒng)組成及總體框圖 32.2部分硬件方案論述 32.3硬件電路圖 42.4元件清單 42.4.1 AT89C52 42.4.2 LCD1602 52.4.3 按鍵控制單元 62.4.4 SPEAKER 73 系統(tǒng)軟件設(shè)計 83.1 系統(tǒng)總體功能流程圖 83.2 使用單片機(jī)實現(xiàn)音樂節(jié)拍 103.3使用單片機(jī)產(chǎn)生音頻脈沖 113.4使用定時器實現(xiàn)定時功能 123

3、.5程序描述 124 總結(jié)與展望 15參考文獻(xiàn) 161.1 課題開發(fā)背景隨著單片機(jī)技術(shù)的成熟,單片機(jī)已經(jīng)滲透到我們的學(xué)習(xí)、生活、生產(chǎn)和工作各個 領(lǐng)域中 , 凡是有自動控制要求的地方一般都會有單片機(jī)的身影出現(xiàn):從簡單到復(fù)雜, 從空中、地面到地下,凡是能想象到的地方幾乎都有使用單片機(jī)的需求。單片機(jī)的應(yīng) 用有利于鏟平的小型化、 多功能化和智能化。 有利于提高生產(chǎn)、 生活效率, 保證安全 本系統(tǒng)的開發(fā)也是旨在給人們的生活帶來方便。單片機(jī)技術(shù)使我們可以利用軟硬件實現(xiàn)倒計數(shù)計時器的功能, 從而為生活帶來方 便,例如工作生活中小睡片刻或者做食物等,可以做一小段時間計時,并且可以進(jìn)行 一定的功能擴(kuò)展。 鑒于傳

4、統(tǒng)計時器只是能夠純粹的實現(xiàn)計時功能,而該設(shè)計不但可以 實現(xiàn)對基本計時功能,同時當(dāng)?shù)箶?shù)計時為 0 時,還會發(fā)出一段音樂,起到一定的提醒 功能,而且還可以添加時鐘、鬧鐘、秒表功能和萬歷年顯示功能。使該設(shè)計功能更加 完善。1.2 課題研究的目的和意義利用 AT89C52 單片機(jī)自帶資源,設(shè)計一款帶有 LCD 顯示的音樂倒數(shù)計時器。1.3 課題的主要研究工作本課題設(shè)計的主要工作要求有以下幾個方面:(1) 字符型LCD(16X 2)顯示器,顯示格式為“ TIME分分:秒秒”。2) 用 4 個按鍵操作來設(shè)置當(dāng)前想要倒計數(shù)的時間。(3) 旦按下鍵K5則開始倒計數(shù),當(dāng)計數(shù)為0時,發(fā)出一陣音樂聲。(4) 程序執(zhí)

5、行后工作指示燈LED閃動,表示程序開始執(zhí)行,按下操作鍵 K1K4 動作如下:5)K1- 可調(diào)整倒計數(shù)的時間K2- 設(shè)置倒計數(shù)的時間為K3- 設(shè)置倒計數(shù)的時間為K4- 設(shè)置倒計數(shù)的時間為160 分鐘。5 分鐘,顯示“ 0500 10 分鐘,顯示20 分鐘,顯示復(fù)位后LCD的畫面應(yīng)能顯示倒計時的分鐘和秒數(shù),此時按 上顯示出設(shè)置畫面。此時,若:按K2鍵-增加倒計數(shù)的時間1分鐘。按K3鍵-減少倒計數(shù)的時間1分鐘?!?。1000”。2000”。K1 鍵,則在 LCD-按K4鍵-設(shè)置完成 擴(kuò)充功能 :(1) 增加時鐘及鬧鐘功能。(2)增加秒表計數(shù)功能。(3)增加萬年歷顯示“年月日2系統(tǒng)硬件設(shè)計及說明2.1系

6、統(tǒng)組成及總體框圖硬件設(shè)計的任務(wù)是根據(jù)總體設(shè)計要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計出系統(tǒng)的原理框圖、電路原理圖。該設(shè)計要實現(xiàn)一種由單片機(jī)控制的帶LCD顯示的倒數(shù)計時器,單片機(jī)工作于12MHZ時鐘頻率,使用其定時/計數(shù)器TO,改變計數(shù)值THO和TL0可以產(chǎn)生不同頻 率的脈沖信號。該設(shè)計具有5個功能按鍵,用戶可以通過這些按鍵設(shè)置定時時間和選 擇控制定時,倒計數(shù)為零時,可通過揚(yáng)聲器將音樂播放出來。系統(tǒng)結(jié)構(gòu)圖如圖2-1所示。圖2-1系統(tǒng)結(jié)構(gòu)圖2.2系統(tǒng)硬件方案論述2.21系統(tǒng)方案概述利用單片機(jī)、LCD顯示器和壓電喇叭實現(xiàn)音樂倒數(shù)計時器。單片機(jī)具有高性能、速度快、體積小、價格低

7、、穩(wěn)定可靠、應(yīng)用廣泛、通用 性強(qiáng)等突出優(yōu)點。它在硬件結(jié)構(gòu)、指令系統(tǒng)、I/O端口、功能消耗及可靠性等方 面均有獨特之處,其最顯著的特點之一就是具有非常有效的控制功能。而LCD顯示器具有以及小、重量輕、工作電壓低、功耗極低、顯示內(nèi)容豐富、穩(wěn)定可 靠、成本低控制驅(qū)動方便、接口簡單易用、模塊化結(jié)構(gòu)緊湊等特點。2.22 LCD顯示方式的方案比較。方案一:采用花樣顯示,花樣顯示是指led顯示某一屏字符時,采取從左到右或 者是從右到左的整屏移動的顯示方式。在這種顯示方式下,給人的感 覺就是程序是在執(zhí)行的, 同時如果控制好了移動一屏的時間間隔的話, 在整體視覺上可以達(dá)到很好的效果。方案二:采用靜態(tài)顯示,靜態(tài)顯

8、示是指 lcd 顯示某一屏字符時,時鐘保持當(dāng)前字 符的顯示, 不使用移屏顯示。 便于控制,同時能夠滿足正常的顯示效果。 由于在顯示中存在播放時間的動態(tài)變化,這樣的話,即使是不產(chǎn)生整屏 移動,也能給人動態(tài)感,也易于控制。基于以上各種特點,設(shè)計時該系統(tǒng)選擇了方案二。2.3 硬件電路圖系統(tǒng)硬件電路圖如圖 2-2 所示。2.4 元件清單因為小組是分工協(xié)作的,我主要的工作是設(shè)計模塊(5),后面將會具體介紹。2.4.1 AT89C52AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O )端口,同時內(nèi)含2個外 中斷口, 3 個 16 位可編程定時計數(shù)器 ,2 個全雙工串行通信口, 2 個讀寫口線,

9、 AT89C52 可以按照常規(guī)方法進(jìn)行編程 , 但不可以在線編程 (S 系列的才支持在線編程 ) 。其將通用 的微處理器和 Flash 存儲器結(jié)合在一起, 特別是可反復(fù)擦寫的 Flash 存儲器可有效地 降低開發(fā)成本。主要特性:兼容MCS5指令系統(tǒng) 8k可反復(fù)擦寫(1000次)Flash ROM32個雙向I/O 口256x8bit內(nèi)部RAM3 個 16 位可編程定時 / 計數(shù)器中斷 時鐘頻率 0-24MHz2個串行中斷可編程UART串行通道2 個外部中斷源 共 8 個中斷源2 個讀寫中斷口線 3 級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能pinrrzpzn1. 喘暑" P7.

10、4/A1Z*s*aV2J9A1* F2.7/A15P 口 3. M3 rn.VADIE砂陽.創(chuàng)畑 iDJACfTBR-a-BTM- - P ,-oR2ALE. U2:AY貧pSG=TE-'fOIYZ ii.irn® raaHlHD *jnmP3.*rra wajim fJj&W P3.7/W圖2-2系統(tǒng)硬件連接圖2.4.2 LCD1602圖2-3 16忽的液晶顯示屏 LM016L1602LCD的指令說明及時序1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表 2-1所示.表2-1 1602液晶模塊控制指令骨口, 序號指令RSR/WD7D6D5D4D3D2D1D01清

11、顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9瀆忙標(biāo)志或地址01BF計數(shù)器地址10寫數(shù)到CGRA或DDRAJM10要寫的數(shù)據(jù)內(nèi)容11從CGRA或 DDRA讀數(shù)11讀出的數(shù)據(jù)內(nèi)容2.4.3按鍵控制單元P2.0 P2.4端口采用5個button,分別用來設(shè)置定時時間或控制定時功能,對應(yīng)其硬件連接如圖2-4所示P24姓 叫何 P2.2/A1D P2 3/A11

12、P2.4/A12 P2.5/A13P2.6/A14P2.7/A15P3.DJRXDP3.i/pcq P3.2JIMTO P3.3/INTTP3.4/TDP3 5/T1pa.eywRP3 7/RD222720圖2-4按鍵連接圖2.4.4 SPEAKER當(dāng)?shù)褂嫈?shù)為0時,系統(tǒng)需放出一段音樂,其音頻輸出是通過SPEAKER實現(xiàn)。音頻電路輸出如下:30-.1J/M.E EAP3.4/A12P2j5/A13P2«XA14P2.?;A15PI 0/T2P3 .Q/RKDPI 1/T2EXP3.1/TXDF1.2F3,2/TnTSP1.3P3.3/INT1P1.4P3 .VTDP1.5P3jfl/r

13、iF1.®P3-5/WRP17R3.7/ROAT8et52te<t>1C11121411 ie212C圖2-5音頻輸出連接圖3 系統(tǒng)軟件設(shè)計本軟件設(shè)計關(guān)鍵是要實現(xiàn)一種由單片機(jī)控制的帶有LCD顯示的音樂倒數(shù)計時器通過 K1K5 開關(guān)進(jìn)行控制時間設(shè)置來完成其基本功能,當(dāng)?shù)褂嫊r為零時,通過通過 揚(yáng)聲器放出一段樂曲作為鬧鈴。3.1 系統(tǒng)總體功能流程圖3.1.1 系統(tǒng)基本流程圖開始3.1.2模塊(5)的流程圖:3.2使用單片機(jī)實現(xiàn)音樂節(jié)拍除了音符以外,節(jié)拍也是音樂的關(guān)鍵組成部分。節(jié)拍實際上就是音持續(xù)時間的長短,在單片機(jī)系統(tǒng)中可以用延時來實現(xiàn),如果1/4拍的延時是0.4秒,則1拍的延

14、時是1.6秒,只要知道1/4拍的延時時間,其余的節(jié)拍延時時間就是它的陪數(shù)。如果單 片機(jī)要自己播放音樂,那么必須在程序設(shè)計中考慮到節(jié)拍的設(shè)置,由于本例實現(xiàn)的音 樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。 對于不同的曲調(diào)我們也可以用單片機(jī)的另外一個定時/計數(shù)器來完成。音樂的音拍,一個節(jié)拍為單位(C調(diào))具體如表3-1所示。表3-1音樂節(jié)拍表曲調(diào)值DELAY調(diào)4/4125ms調(diào)3/4187ms曲調(diào)值DELAY調(diào)4/462ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms3.3使用單片機(jī)產(chǎn)生音頻脈沖了解音樂的一些基本知識后可知,產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂,對

15、于單片機(jī)而言,產(chǎn)生不同頻率有脈沖非常方便,可以利用它的定時/計數(shù)器來產(chǎn)生這樣的方波頻率信號,因此,需要弄清楚音樂中的音符和對應(yīng)的頻率,以及單片機(jī)定時計 數(shù)的關(guān)系。在本實驗中,單片機(jī)工作于12MHZ時鐘頻率,使用其定時/計數(shù)器TO,工作模 式為1,改變計數(shù)值THO和TLO可以產(chǎn)生不同頻率的脈沖信號, 在此情況下,C調(diào)的 各音符頻率與計數(shù)值T的對照如表3-2所示。T的值決定了 THO和TLO的值,其關(guān)系為:TH0=T/256,TL0=T%2563.4使用定時器實現(xiàn)定時功能3.41定時器的工作方式和方式設(shè)定MCS-51單片機(jī)有兩路獨立的定時器,每路定時器有4種工作方式(O3),方式O是13位計數(shù)結(jié)構(gòu)

16、,計數(shù)器由TH全部8位與TL的低5位構(gòu)成;方式1是16位計 數(shù)結(jié)構(gòu),計數(shù)器由TH與TL全部8位共16位組成;方式2是8位計數(shù)結(jié)構(gòu)方式,計 數(shù)器由TL8位組成,與其他方式不同的是,當(dāng)定時溢出時,硬件自動將 TH的值裝入 TL中,有自動加載功能。前三種工作方式,兩路定時器的設(shè)置與使用完全相同,但 在工作方式3下,兩路定時器有很大差別,只有 O路定時器可以工作在方式3下,1 路定時器只能工作在方式O2下,在工作方式3下,O路定時器被拆分成兩個獨立 的8位計數(shù)器TLO與TH1,其中O路定時器的各控制位和引腳信號全歸 TLO使用,因 此THO只能做簡單的定時器使用,其控制位占用了1路定時器的控制位,如果

17、O路定時器工作在方式3下,1路定時器由于讓出了所屬控制位,通常作為串行口波特率 發(fā)生器3。定時器的工作方式選擇主要依靠設(shè)置 TMOD寄存器的值,其各位定義如下:位序B7B6B5B4B3B2B1BO位符號GATEC/TM1M0GATEC/TM1MO其中,BOB3用來控制O路定時器,B4B7用來控制1路定時器。GATE位為門控位,主要確定定時器啟動的方式,如果 GATE=0則用TRO (TR1) 位啟動/關(guān)閉定時器,如果GATE=1則以外中斷請求信號(INTO或INT1 )啟動定時 器。C/T位為定時與計數(shù)選擇位,C/T=0為定時方式,C/T=1為計數(shù)方式。M0 M1為工作方式選擇位M1M0=00

18、 方式 0M1M0=10 方式 2 M1M0=01 方式 1M1M0=11 方式 3選擇定時器工作方式,應(yīng)根據(jù)上述規(guī)定向寄存器 TMOD 中寫入相應(yīng)數(shù) 設(shè)計本系統(tǒng)時選擇的是 T0 定時器,工作在方式 1 下。3.42 定時器計數(shù)初值設(shè)置 定時器工作方式選定后,定時溢出時間唯一取決于計數(shù)器的初值,如何根據(jù)應(yīng)用 需要確定計數(shù)器初值,也是定時器應(yīng)用的一個重要問題。假定單片機(jī)機(jī)器周期為K0,所選定的定時方式計數(shù)器為n位,所實現(xiàn)的定時時間長度為 T,則有:(2nx)K0=T其中 x 為計數(shù)器的初值,根據(jù)上式可以求出初值 x 為:x=2n (T/K0)單片機(jī)機(jī)器周期 k0 由單片機(jī)時鐘頻率 f 確定即:k

19、0=12/f在實際應(yīng)用中,本系統(tǒng)單片機(jī)時鐘頻率 f為6mHz所以單片機(jī)機(jī)器周期k0=2 g,然 后根據(jù)選定的工作方式確定計數(shù)器位數(shù) n,將所得k0與n代入式2,求出計數(shù)初值x, 并根據(jù)所選擇的計數(shù)方式將x的值分入TH0與TL0。經(jīng)計算得,該定時器定時100ms時的計數(shù)初值為TL0=0XB7 TH0=0X3C3.5 程序描述3.51 程序功能描述我主要的工作是設(shè)計模塊( 5),其具體實現(xiàn)功能如下:復(fù)位后LCD的畫面應(yīng)能顯示倒計時的分鐘和秒數(shù),此時按K1鍵,則在LCD上顯示出設(shè)置畫面。此時,若:按K2鍵-增加倒計數(shù)的時間1分鐘。按K3鍵-減少倒計數(shù)的時間1分鐘。按K4鍵-設(shè)置完成。其電路連接:P2

20、.0 K1 P2.1 K2 P2.2 K3 P2.3 K4 P2.4 K5按鍵按下,則相應(yīng)端口輸出為 0(低電平)3.52 程序代碼(1)按鍵控制和更改時間函數(shù)void ChangeTime()unsigned char b,a=0xFE,b=a|P2;if(b=0xFE) /K1 按下TR0=1;/關(guān)定時器TO,計時暫停a=0xFD;b=a|P2;if(b=0xFD) /K2 按下min+;/增加 1 分鐘定時時間a=0xF7;b=a|P2;if(b=0xF7) /K4 按下TR0=0;/開定時器TO,計時重新開始a=0xFB;b=a|P2;if(b=0xFB) /K3 按下min-;/減少

21、 1 分鐘定時時間a=0xF7;b=a|P2;if(b=0xF7) /K4 按下TR0=0;/開定時器 T0(2) 定時(定時器TO)功能函數(shù):void INT_T0() interrupt 1TH0=0x3C;TL0=0xB7;count+;if(count=10)/定時到 1 秒sec-;/倒計時秒減 1count=0;if(sec=-1) min-; sec=59;(3)主函數(shù) void main()TMOD=0x01;TL0=0XB7; TH0=0X3C;EA=1;/* 主程序 */*設(shè)置 T0 的工作模式為方式 1*/* 設(shè)置定時計數(shù)初值 */ET0=1;/*允許 CPU 中斷*/*允許 T0 中斷*/4 總結(jié)與展望此次課程設(shè)計,系統(tǒng)部分功能已實現(xiàn)??梢圆シ糯鎯ρ葑?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論