freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于51單片機的音樂播放器制作-資料下載頁

2025-06-22 04:30本頁面
  

【正文】 ,借助于軟件仿真器即可。后者一般需要仿真系統(tǒng)的支持。在本次設計中利用的是KEIL C51軟件仿真器,其評估版本可以免費獲取,只是有2KB代碼限制。 KEIL開發(fā)系統(tǒng)使用Keil軟件建立一個工程: Keil是目前進行51單片機開發(fā)最常用的編譯軟件。關于Keil的使用,有很多的資料介紹,這里只介紹其整個編譯過程。在Keil里,每一個完整的程序,都是以一個工程的形式建立的。一個工程里可以有一個或多個*.c文件和*.h文件,但只可以有一個main()函數(shù)。一般的做法是將包含main()函數(shù)的C文件加入到工程中,其他文件以include頭文件的形式加到這個C文件里。這樣,在編譯的時候,其他的文件會被自動的導入到工程里來。打開Keil軟件后,出現(xiàn)(圖51)所示界面。當然,如果Keil在上次關閉時有打開的工程,再一次打開時它會自動加載上一次的工程文件。圖51 Keil軟件主界面 調試中遇到的問題及解決編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。有時會出現(xiàn)程序一點錯誤也沒有,但就是不能正常運行的現(xiàn)象,最后我們發(fā)現(xiàn)是因為程序中有的指令書寫得不規(guī)范導致的,例如有的RET返回指令一定要按正確格式書寫。程序中的跳轉指令的運用很重要,為保險起見,都用LJMP,我們就遇到過跳轉指令用錯程序無法正常運行的現(xiàn)象。編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。開始時候沒有將單片機的第31號引腳接到高電平,結果使MP3播放器的播放性能不穩(wěn)定(有時候能工作,有時候卻工作不了),當接一高電平以后,播放器能正常工作了。開始沒有考慮鍵盤的消抖,造成的按鍵工作紊亂,具體的現(xiàn)象是:按1次鍵卻被要機器認為是按了1次或多次,這就使播放器有時候可以正常工作,有時候卻不可以。給鍵盤程序加了消抖呼程序以后,按鍵就工作正常了。兩個定時器同時工作,存在中斷時序問題,剛開始時我們把定時器1設定在方式3,計250us,由于定時中斷過于頻繁,使CPU負載過大,導致音樂不能正常播放,時間不能正常顯示。解決辦法:將定時器1設定在工作方式1,16位計數(shù),計50ms,效果有很大改觀。 仿真結果我在keil軟件中建立工程,連接。蜂鳴器不能正常播放音樂,在protues仿真中的蜂鳴器老是不能正常響,會斷斷續(xù)續(xù)地播放,經(jīng)過我?guī)滋斓恼{試,我發(fā)現(xiàn)應該是電平驅動的問題,是由于三極管的失真造成的。最后終于能播放音樂了。最終仿真結果如圖52所示:圖52 仿真結果圖 誤差分析有時會出現(xiàn)程序一點錯誤也沒有,但就是不能正常運行的現(xiàn)象,最后我們發(fā)行是因為程序中有的指令書寫得不規(guī)范導致的,例如有的返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。程序中的跳轉指令的運用很重要,為保險起見,都必須要反復檢查,我們就遇到過跳轉指令用錯程序無法正常運行的現(xiàn)象。當用修改指令時,跳轉范圍比較少,這時要用一個標號中轉。 編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。 編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。 程序的結構要設計的合理,避免上下亂調用的現(xiàn)象,這樣會使程序更加清晰化。第6章 結論第6章 結論原本對單片機的硬件設計,軟件設計掌握的深度不夠,但通過此次課程設計,卻改變了很多,首先對于硬件電路的工作原理有了進一步的學習,同樣就有了進一步的認識;其次軟件方面,在程序的設計,程序的調試方面都學到了很多東西,這是第一次編寫單片機的大程序,很有成就感。本設計按鍵分別是A、B、C、D四個功能鍵和4四個數(shù)字鍵,以及復位鍵和暫停鍵,中間芯片為核心部件AT89C51,揚聲器控制電路由反向器和喇叭組成。本次設計的音樂播放器最終實現(xiàn)的功能為:1. 音樂播放器按照從頭到尾的順序自動循環(huán)播放預先設定的全部樂曲。2. 按下C鍵,選定某一樂曲,隨即輸入選定樂曲的序列號(1~4),音樂播放器對選定的某一樂曲循環(huán)播放。3. 當用戶按下暫停鍵E時,音樂播放器打斷正在播放的某一樂曲,用戶再次按下暫停鍵時,該樂曲繼續(xù)播放。4. 當用戶按下復位鍵F時。音樂播放器終止正在播放的某一樂曲。 參考文獻[1] [J].廣東:電子設計工程:2009年2月第2期[2] [J].山東:電子世界,[3] —電子線路設計/制版與仿真[M].北京:清華大學出版社,[4] 侯玉寶,[M].北京:電子工業(yè)出版社,2008[5] [M].北京航空航天大學出版社,1990[6] 李華. MCS51系列單片機應用接口技術[M].北京航空航天大學出版,1993[7] 李廣弟,[M].北京:北京航空航天大學出版社,[8] 張義和,[M].北京:人民郵電出版社,[9] [M](第一版).北京:清華大學出版社,2004致謝致謝經(jīng)過幾個月的忙碌,本次畢業(yè)論文設計已經(jīng)接近尾聲。,由于經(jīng)驗的匱乏,難免有許多考慮不到的地方,在多次的修改和研究之后才寫出完成。如果沒有導師的督促和指導,以及同學和朋友的支持,想要完成這個畢業(yè)論文設計是難以想像的。感謝同學和朋友的及時幫助和教導。在論文的寫作過程中,得到了伊學君老師的親切關懷和耐心的指導。老師嚴謹?shù)闹螌W態(tài)度和科學的工作方法給了我極大的幫助和影響。從課題的選擇得到畢業(yè)論文設計最終完成,老師都始終給予我細心的指導。在此謹向伊學君老師致以誠摯的謝意和崇高的敬意。同時,也要感謝各位老師,同學和朋友們給我極大的支持,對我的論文提出了寶貴的意見及建議。感謝所有幫助我的老師、同學和朋友們,在此向他們表達我的感激之情。附錄附錄附錄一:完整的音樂程序include sbit p00=p0^0。sbit p10=p1^0。unsigned char BTH0,BTL0。unsigned char time。unsigned char keytmp。code unsigned char table[]={6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2 4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0}。Code unsigned char TH0[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,}。code unsigned char TL0[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,0xEE,0x44,0x6B,0xB4,0xF4,0x2D,0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,}。void scankey(){ unsigned int keydata。 keytmp=p1amp。0x01。 if(keytmp= =0) keydata=0。 else if(keytmp= =1) keydata=1。}void keydelay(void){ uchar i。 for(i=300。i=0。i) { }}void delay(unsigned char time){ unsigned char t1。 unsigned char t2。 for(t1=0。t1t。t1++) { for(t2=0。t28000。t2++) { } }}void time0_int() interrupt 1 using 0{ TR0=0。 P00=~P00。 TH0=BTH0。 TL0=BTL0; TR0=1。}void sing(){ TH0=BTH0。 TLO=BTL0。 TR0=1。 delay(time)。}void main(void){ unsigned char k,i。 i=0。 TMOD=0x01。 EA=1。 ET0=1。 IE=0x82。 while(1) { void scankey()。 if(keydata==0) { } else if(keydata= =1) { keydelay()。 time=1。 while(time) { if(table[i]= =0) { i=0。 } else if(table[i]!=0) { k=table[i]+7*table[i+1]1。 BTH0=TH0[K]。 BTL0=TL0[K]。 time=table[i+2]。 i=i+3。 sing()。 } } }附錄二:原理圖附錄三:仿真圖附錄四:PCB圖
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1