




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
武 漢 城 市 職 業(yè) 學(xué) 院2009級(jí)科學(xué)教育專業(yè)AVR電子實(shí)踐制作作品報(bào)告2011年6月28日項(xiàng)目名稱:多首電子音樂選播小組成員及分工:胡婷: 主要負(fù)責(zé)編寫報(bào)告書,電路板設(shè)計(jì),輔助protues仿真。焊接電路板。柳思思:負(fù)責(zé)實(shí)驗(yàn)可行性分析及調(diào)試,編寫C語言程序編程,protues仿真,焊接電路板。溫小曼:負(fù)責(zé)電路的可行性及調(diào)試,組織小組成員按進(jìn)度工作,幫助焊接電路板。彭蕓: 購買主要元器件及后期缺失元器件的選購,賬務(wù)支出清單核算,幫助焊接電路板。一、 項(xiàng)目概述1、 本項(xiàng)目核心部分為單片機(jī)、條形LED和蜂鳴器,其主要功能為單片機(jī)編程,實(shí)現(xiàn)單片機(jī)控制LED發(fā)光及蜂鳴器發(fā)聲。2、 本作品單片機(jī)內(nèi)置了六首自定義的電子音樂,通過中斷例程來切換音樂和控制音樂的播放與停止。3、 本作品的條形LED部分隨著音樂調(diào)子的增高而放光的LED數(shù)目增加。二、功能介紹本作品的主要功能為單片機(jī)控制條形LED和蜂鳴器,利用中斷例程控制切換播放下一音樂,實(shí)現(xiàn)電子音樂的選播。三、 系統(tǒng)框架排針開關(guān)蜂鳴器單片機(jī)電阻發(fā)光管電源按鍵四、 實(shí)物圖五、 軟硬件模塊劃分 軟件部分1、 單片機(jī)上程序編程,發(fā)出的命令到達(dá)條形LED和蜂鳴器。2、 按鍵控制程序,通過按鍵可以控制LED發(fā)光個(gè)數(shù)以及蜂鳴器的發(fā)聲。 硬件部分1、單片機(jī)控制部位是本作品的主要部位,主要是ATMEGA單片機(jī)及其控制部分。2、條形LED部分,根據(jù)音調(diào)的不同,顯示不同個(gè)數(shù)的LED。3、蜂鳴器部分,根據(jù)程序,發(fā)出不同的音調(diào)或音樂。4、按鍵部分,通過控制按鍵,可以控制多首音樂的選播和啟停。六、PROTEUS仿真電路七、軟件設(shè)計(jì)(核心代碼)/-/ 名稱: 多首電子音樂的選播/-/ 說明: 本例運(yùn)行時(shí),每次按下K1將切換播放下一首電子音樂,對(duì)應(yīng)的/ 的LED會(huì)進(jìn)行閃爍,音調(diào)越高,閃爍燈越高,音調(diào)越低,閃爍燈越低./-#define F_CPU 1000000UL#include #include #include #define INT8U unsigned char#define INT16U unsigned int/蜂鳴器#define BEEP() PORTB = _BV(PB0)/音符延時(shí)表,它們分別對(duì)應(yīng)于015號(hào)音符的輸出頻率const INT16U Tone_Delay_Table = 64021,64103,64260,64400,64524,64580,64684,64777, 64820,64898,64968,65030,65058,65110,65157,65178,;/第一段(Tone為音符,Time為節(jié)拍)const INT8U Music2_Tone = 10,8,10,13,11,13,10,10,6,7,8,7,6,7,10,8,10,13,12,11,13,10,10,7,8,9,5,6,11,13,13,12,11,12,13,11,12,13,11,11,10,8,6,7,10,8,10,13,12,11,13,10,10,7,8,9,5,6,0xFF ; const INT8U Music2_Time = 2,1,1,4,2,2,4,2,1,1,2,1,1,6,2,1,1,3,1,2,2,4,2,1,1,3,1,6,2,2,4,2,1,1,4,1,1,1,1,1,1,1,1,6,2,1,1,3,1,1,2,2,1,2,1,1,3,1,6,0xFF ; /第二段const INT8U Music1_Tone = 6,6,6,8,10,10,10,10,11,11,11,13,10,9,9,9,11,8,8,8,10,7,7,7,7,10,10,6,6,6,8,10,10,10,10,11,11,11,13,10,9,9,9,11,8,8,8,10,7,7,7,8,6,0xFF ; const INT8U Music1_Time =1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,3,0xFF;/第三段 const INT8U Music3_Tone =1,3,6,6,3,2,1,1,1,1,2,3,4,3,1,3,4,6,3,2,1,3,3,4,5,5,6,0xFF; const INT8U Music3_Time =2,1,3,2,1,3,1,1,1,1,1,1,3,3,2,1,3,2,1,3,2,1,1,1,1,3,3,0xFF;/第四段const INT8U Music4_Tone =11,10,11,9,10,10,9,10,11,10,9,8,6,2,4,5,5,5,5,8,7,6,2,6,5,6,2,5,5,4,3,2,2,9,8,9,5,6,5,4,5,6,11,10,9,10,6,0xFF;const INT8U Music4_Time =2,2,4,2,2,2,4,2,2,1,2,2,4,2,2,4,2,2,2,2,2,8,4,2,2,4,4,2,1,2,2,4,4,2,2,4,4,2,1,2,2,4,4,2,2,4,4,0xFF;/第五段const INT8U Music5_Tone =1,4,6,1,4,10,6,1,1,9,10,4,2,2,1,1,6,5,4,4,4,6,5,4,4,4,6,5,5,4,2,6,5,5,1,4,6,1,4,10,6,1,1,9,10,4,2,2,1,1,7,6,0xFF;const INT8U Music5_Time =2,4,2,4,2,4,2,4,2,4,2,4,2,2,2,4,2,2,4,4,4,2,2,4,2,4,2,2,4,2,4,2,2,4,2,2,4,2,4,2,4,2,4,2,2,4,21,4,2,2,2,4,2,2,0xFF;/第六段const INT8U Music6_Tone = 9,7,6,7,3,5,6,14,3,2,2,3,5,6,6,6,6,9,3,3,9,9,6,9,11,10,10,0xFF;const INT8U Music6_Time =4,4,2,2,4,4,2,4,2,2,4,4,2,4,2,2,4,2,2,4,4,2,4,4,4,4,4,4,0xFF;/音符與延時(shí)指針數(shù)組Volatile const INT8U * Music_Tone_Ptr=Music1_Tone,Music2_Tone,Music3_Tone,Music4_Tone,Music5_Tone,Music6_Tone, * Music_Time_Ptr=Music1_Time,Music2_Time,Music3_Time,Music4_Time,Music5_Time,Music6_Time;/音樂片段索引,音符索引volatile INT8U Music_Idx = 5, Tone_Idx = 0;/從當(dāng)前數(shù)組中取音符的位置volatile INT8U i = 0;/暫停控制volatile enum bool FALSE = 0, TRUE = 1 Pause = TRUE;/-/ 主程序/-int main()DDRB=0xFF; /端口配置DDRC=0xFF;DDRA=0xFF; DDRD=(_BV(PD2)|_BV(PD3); /終端引腳設(shè)為輸入PORTC=0xFF; /LED初始時(shí)全部關(guān)閉PORTA=0xFF; PORTD=_BV(PD2)|_BV(PD3); /終端輸入引腳設(shè)為內(nèi)部上拉 TCCR1B=0x01; /T1預(yù)設(shè)分頻:1(未分頻)MCUCR=0x82; /INT0,INT1均為下降沿觸發(fā)GICR=_BV(INT0)|_BV(INT1); /INT0,INT1終端許可SREG=0x80; /開中斷while(1)/暫定控制if(Pause) _delay_ms(200);continue;/Tone_Idx是當(dāng)前音樂片段中的第i個(gè)音符的序號(hào)(取值為015中的某一個(gè))/它將用于獲取對(duì)應(yīng)的延時(shí),以便輸出對(duì)應(yīng)的頻率Tone_Idx=Music_Tone_PtrMusic_Idxi;if(Tone_Idx=0xFF) _delay_ms(2000); /每段音樂播放結(jié)束后停頓一段時(shí)間i=0; /回到當(dāng)前音樂片段的第0個(gè)音符continue; /繼續(xù)播放TIMSK=_BV(TOIE1); /啟動(dòng)定時(shí)器溢出中斷,開始輸出當(dāng)前音符/音符輸出時(shí)長(zhǎng)(節(jié)拍)由各段音樂中Music6_Time數(shù)組中對(duì)應(yīng)音符的延時(shí)值決定 _delay_ms(Music_Time_PtrMusic_IdxTone_Idx*200); TIMSK=0x00; /禁止定時(shí)器溢出中斷,停止當(dāng)前音符輸出 i+; /取音符位置變量i遞增INT16U P=0xFFFF;INT16U C;C=(P8;/-/ T1定時(shí)器溢出中斷控制音符輸出/-ISR (TIMER1_OVF_vect)/如果遇到音樂片段結(jié)束標(biāo)志則返回if(Tone_Idx=0xFF)return;/根據(jù)Tone_Delay_TableTone_Idx設(shè)置定時(shí)初值/該初值即決定了輸出的頻率TCNT1=Tone_Delay_TableTone_Idx;BEEP();/-/ 按鍵觸發(fā)INT0中斷,控制音樂段切換/-ISR (INT0_vect)TIMSK=0x00; /禁止定時(shí)器溢出中斷,音符輸出停止/切換到另一段音樂if(Music_Idx=5)Music_Idx=0;else Music_Idx+;/切換到另一段音樂后總是從第0個(gè)音符開始輸出i=0;_delay_ms(1000); /在開始另一段音樂輸出前暫停1SPause=FALSE; /暫停取消TIMSK=_BV(TOIE1); /允許定時(shí)器溢出中斷,音符輸出繼續(xù)/-/ 播放啟動(dòng)/停止控制/-ISR (INT1_vect)Pause=! Pause;if(Pause)PORTC=0xFF; /如果停止則關(guān)閉所有的LEDTIMSK=0x00; /停止音符輸出else/允許定時(shí)器溢出中斷,輸出音符TIMSK=_BV(TOIE1);八、元件清單09科教多首電子音樂選播序號(hào)元件名稱單價(jià)(元)數(shù)量金額(元)1TY809-D電路板21229012三極管0.220.43330歐姆電阻0.02200.44無源蜂鳴器0.721.4510位發(fā)光管3.52766mm按鍵0.230.674M晶振1118電容(22PF)0.120.29單片機(jī)座子0.410.410排針(40)0.510.511ATMEGA16161161210千歐姆電阻0.0110.01131.5V電池14414電池槽2.512.515開關(guān)11116底座0.54217630電烙鐵1511518松香111合計(jì)(元)55.41九、實(shí)訓(xùn)過程中遇到的困難與挫折和實(shí)訓(xùn)過后的收獲(一) 困難與挫折1、 在編程的過程中,我們經(jīng)過很長(zhǎng)時(shí)間的調(diào)試以及老師的指導(dǎo)才編出我們想要的結(jié)果,耗時(shí)很長(zhǎng)。2、 在焊錫的過程中,我們的作品出現(xiàn)了問題,但是又找不出問題的所在,以致大家的情緒以及意見很大。3、 在買作品材料時(shí),我們所買的有的東西沒有買到,(比如1兆晶振沒找到而取用4兆的晶振),以至于我們要買一個(gè)替代品,從而我們要改程序以及了解這件物品的屬性。(二) 收獲1、 團(tuán)體合作的力量應(yīng)是凝聚的,是缺一不可的。2、 團(tuán)體成員對(duì)工作的態(tài)度是齊心協(xié)力的,有錯(cuò)誤找問題,不懂地方查相關(guān)資料以及請(qǐng)教老師。3、 挫折是難以避免的,我們要學(xué)會(huì)把它踩在腳下,也許會(huì)離成功更近一步。4、 粗心大意,毛毛躁躁,考慮不全是我們學(xué)習(xí)前進(jìn)的障礙,學(xué)會(huì)克服改正它。十、小組成員自我感言彭 蕓:不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之溫小曼:有志者,事竟成。胡 婷:紙上得來終覺淺,得知此事要躬行。柳思思:實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。十一、自我評(píng)估單片機(jī)實(shí)訓(xùn)課程,一個(gè)讓我們對(duì)實(shí)訓(xùn)課程有了新的定義的名詞,在大學(xué)的學(xué)習(xí)過程中,我們所接觸的實(shí)訓(xùn)課大多逃脫不了關(guān)乎花草樹木,山川石林,蟲魚鳥獸。單片機(jī)實(shí)訓(xùn)課,它給我們帶來了更多的挑戰(zhàn),這是我們第一次接觸在動(dòng)手操作方面比較獨(dú)到的實(shí)訓(xùn)課,通過短暫的實(shí)訓(xùn)過程,我們深刻明白了理論和實(shí)踐的差別,“不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之”,而我們大多數(shù)人在“知之”這一階段就止住腳步了,所以很多人抱怨“我就只差一步了”,單片機(jī)實(shí)訓(xùn)課程給我們的警鐘不僅是理論知識(shí)有多重要,而是理論與實(shí)踐相結(jié)合有多重要!在設(shè)計(jì)編程的初級(jí)階段,由于我們對(duì)一些理論性的東西掌握的不足,在程序的調(diào)試過程以及在焊接的過程中對(duì)引腳的模糊感,如何聯(lián)線看起來更美觀,焊接點(diǎn)是否存在虛焊的檢查等等費(fèi)了很大的功夫,雖然實(shí)踐后的成品存在或多或
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津市八校聯(lián)考2025屆高三二模語文試題(含答案)
- 廣東省惠州五校2024-2025學(xué)年高一下學(xué)期第二次聯(lián)考(期中)物理試卷(含解析)
- 2024年顯微外科手術(shù)器械項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2024年廚房系統(tǒng)項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024年魚、蝦雌核發(fā)育系項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 保健按摩師高級(jí)練習(xí)卷含答案(一)
- Photoshop圖像處理課件:繪制深秋楓葉風(fēng)景圖
- 2025年產(chǎn)后出血試題
- 2025年高考第一次模擬考試語文(新高考Ⅰ卷03)(參考答案)
- 職業(yè)資格-交通工程真題庫-25
- 專題18 熱學(xué)-五年(2020-2024)高考物理真題分類匯編(解析版)
- 十二生肖調(diào)查報(bào)告
- 健身塑形瑜伽學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025年遼寧省面試真題
- 2024年高考真題-地理(河北卷) 含答案
- 單位駕駛員勞務(wù)派遣投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 資本經(jīng)營-終結(jié)性考試-國開(SC)-參考資料
- 2024年浙江省中考科學(xué)試卷
- 拆除工程地坪拆除施工方案
- 軟件授權(quán)書范本
- 招聘筆試題與參考答案(某大型國企)2025年
評(píng)論
0/150
提交評(píng)論