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

正文內(nèi)容

基于51單片機(jī)的音樂(lè)播放器制作(參考版)

2025-06-25 04:30本頁(yè)面
  

【正文】 } } }附錄二:原理圖附錄三:仿真圖附錄四:PCB圖 。 i=i+3。 BTL0=TL0[K]。 } else if(table[i]!=0) { k=table[i]+7*table[i+1]1。 time=1。 while(1) { void scankey()。 ET0=1。 TMOD=0x01。}void main(void){ unsigned char k,i。 TR0=1。}void sing(){ TH0=BTH0。 TH0=BTH0。t2++) { } }}void time0_int() interrupt 1 using 0{ TR0=0。t1++) { for(t2=0。 for(t1=0。i) { }}void delay(unsigned char time){ unsigned char t1。 for(i=300。 else if(keytmp= =1) keydata=1。0x01。void scankey(){ unsigned int keydata。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,}。unsigned char keytmp。unsigned char BTH0,BTL0。附錄附錄附錄一:完整的音樂(lè)程序include sbit p00=p0^0。同時(shí),也要感謝各位老師,同學(xué)和朋友們給我極大的支持,對(duì)我的論文提出了寶貴的意見及建議。從課題的選擇得到畢業(yè)論文設(shè)計(jì)最終完成,老師都始終給予我細(xì)心的指導(dǎo)。在論文的寫作過(guò)程中,得到了伊學(xué)君老師的親切關(guān)懷和耐心的指導(dǎo)。如果沒(méi)有導(dǎo)師的督促和指導(dǎo),以及同學(xué)和朋友的支持,想要完成這個(gè)畢業(yè)論文設(shè)計(jì)是難以想像的。 參考文獻(xiàn)[1] [J].廣東:電子設(shè)計(jì)工程:2009年2月第2期[2] [J].山東:電子世界,[3] —電子線路設(shè)計(jì)/制版與仿真[M].北京:清華大學(xué)出版社,[4] 侯玉寶,[M].北京:電子工業(yè)出版社,2008[5] [M].北京航空航天大學(xué)出版社,1990[6] 李華. MCS51系列單片機(jī)應(yīng)用接口技術(shù)[M].北京航空航天大學(xué)出版,1993[7] 李廣弟,[M].北京:北京航空航天大學(xué)出版社,[8] 張義和,[M].北京:人民郵電出版社,[9] [M](第一版).北京:清華大學(xué)出版社,2004致謝致謝經(jīng)過(guò)幾個(gè)月的忙碌,本次畢業(yè)論文設(shè)計(jì)已經(jīng)接近尾聲。4. 當(dāng)用戶按下復(fù)位鍵F時(shí)。2. 按下C鍵,選定某一樂(lè)曲,隨即輸入選定樂(lè)曲的序列號(hào)(1~4),音樂(lè)播放器對(duì)選定的某一樂(lè)曲循環(huán)播放。本設(shè)計(jì)按鍵分別是A、B、C、D四個(gè)功能鍵和4四個(gè)數(shù)字鍵,以及復(fù)位鍵和暫停鍵,中間芯片為核心部件AT89C51,揚(yáng)聲器控制電路由反向器和喇叭組成。 程序的結(jié)構(gòu)要設(shè)計(jì)的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會(huì)使程序更加清晰化。 編程時(shí)要注意,在程序開始時(shí),要寫入各定時(shí)器中斷的入口地址。程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險(xiǎn)起見,都必須要反復(fù)檢查,我們就遇到過(guò)跳轉(zhuǎn)指令用錯(cuò)程序無(wú)法正常運(yùn)行的現(xiàn)象。最后終于能播放音樂(lè)了。 仿真結(jié)果我在keil軟件中建立工程,連接。兩個(gè)定時(shí)器同時(shí)工作,存在中斷時(shí)序問(wèn)題,剛開始時(shí)我們把定時(shí)器1設(shè)定在方式3,計(jì)250us,由于定時(shí)中斷過(guò)于頻繁,使CPU負(fù)載過(guò)大,導(dǎo)致音樂(lè)不能正常播放,時(shí)間不能正常顯示。開始沒(méi)有考慮鍵盤的消抖,造成的按鍵工作紊亂,具體的現(xiàn)象是:按1次鍵卻被要機(jī)器認(rèn)為是按了1次或多次,這就使播放器有時(shí)候可以正常工作,有時(shí)候卻不可以。編程過(guò)程中要注意加注釋或分割線,否則,在程序過(guò)長(zhǎng)時(shí)容易變得很亂,不便于查找或更改。有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒(méi)有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)范導(dǎo)致的,例如有的RET返回指令一定要按正確格式書寫。當(dāng)然,如果Keil在上次關(guān)閉時(shí)有打開的工程,再一次打開時(shí)它會(huì)自動(dòng)加載上一次的工程文件。這樣,在編譯的時(shí)候,其他的文件會(huì)被自動(dòng)的導(dǎo)入到工程里來(lái)。一個(gè)工程里可以有一個(gè)或多個(gè)*.c文件和*.h文件,但只可以有一個(gè)main()函數(shù)。關(guān)于Keil的使用,有很多的資料介紹,這里只介紹其整個(gè)編譯過(guò)程。在本次設(shè)計(jì)中利用的是KEIL C51軟件仿真器,其評(píng)估版本可以免費(fèi)獲取,只是有2KB代碼限制。前者不需要硬件仿真器,借助于軟件仿真器即可。}第5章 系統(tǒng)調(diào)試第5章 系統(tǒng)調(diào)試 軟件調(diào)試結(jié)構(gòu)化軟件的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,通調(diào)是最后一環(huán)。 TR0=1。}五、賦T0計(jì)數(shù)初值,開始計(jì)數(shù)void sing(){ TH0=BTH0。 TH0=BTH0。t2++) { }}四、定時(shí)器0中斷服務(wù)子程序void time0_int() interrupt 1 using 0{ TR0=0。t1++) { for(t2=0。 for(t1=0。i)}三、延時(shí)函數(shù)void delay(unsigned char time){ unsigned char t1。 for(i=300。 else if(keytmp= =1) keydata=1。0x01。一、鍵掃描函數(shù)void scankey(){ unsigned int keydata。此時(shí),播放器由播放狀態(tài)進(jìn)入暫停狀態(tài)。此時(shí)播放器由暫停狀態(tài)進(jìn)入播放狀態(tài)。標(biāo)識(shí)符初值賦值為R1=00H,計(jì)數(shù)初值設(shè)為TH0=0FFH,TL0=0FFH。 播放/暫停子程序播放/暫停在程序利用內(nèi)部中斷T0口。程序流程圖如圖所示:圖41 主程序流程圖如圖43所示,開始播放自定義音樂(lè)程序時(shí),指針指向樂(lè)譜第一個(gè)字節(jié),將第一字節(jié)拆分為高低字節(jié),其高字節(jié)即為音符中音高對(duì)應(yīng)定時(shí)器定時(shí)常數(shù),低字節(jié)即為音符中節(jié)拍對(duì)應(yīng)的1/4節(jié)拍的次數(shù),同時(shí)啟動(dòng)中斷定時(shí)器0工作在方式1,由定時(shí)器定時(shí)常數(shù)得到相應(yīng)音高,通過(guò)延時(shí)子程序設(shè)定1/4節(jié)拍的時(shí)間,由節(jié)拍次數(shù)得到節(jié)拍,再讀取下一個(gè)樂(lè)譜字節(jié),循環(huán)下去則演奏出美妙和諧的樂(lè)曲。5)當(dāng)一個(gè)音符的發(fā)音時(shí)間到時(shí),再查下一個(gè)音符的定時(shí)常數(shù)和延時(shí)常數(shù)。3)程序中的節(jié)拍控制是通過(guò)調(diào)用延時(shí)子程序DELAY的次數(shù)來(lái)實(shí)現(xiàn),1拍為500ms,即需要調(diào)用4次DELAY;3/4拍需要調(diào)用3次DELAY;2/4拍需要調(diào)用2次DELAY。 建立編碼表具體如下:1)定時(shí)值為十六進(jìn)制4位數(shù),拆分為兩組,如5對(duì)應(yīng)的定時(shí)值為FD80H,后組裝入定時(shí)器的低位TL0。 (2)把T值表構(gòu)成一個(gè)編碼表,構(gòu)成發(fā)音符的計(jì)數(shù)值放在計(jì)數(shù)初值編碼表里。只要求得1/4拍的DELAY時(shí)間,其余節(jié)拍則為它的倍數(shù),本設(shè)計(jì)取4/4調(diào)值,延時(shí)時(shí)間為125ms,其中節(jié)拍碼與實(shí)際節(jié)拍對(duì)照表411。每個(gè)音符使用1個(gè)字節(jié),字節(jié)高4位代表音符高低,低4位代表音符 節(jié)拍。 中音DO的T=65536500000/523=64580。 其計(jì)數(shù)值的求法如下: T=65536N=65536Fi/2/Fr (42)計(jì)算舉例: 設(shè)K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、 高音DO(1046Hz)的計(jì)數(shù)值。 利用單片機(jī)內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法如下: 例如:頻率為523Hz,其周期天/523 S=1912uS,因此只要令計(jì)數(shù)器計(jì)時(shí)956uS/1us=956,在每計(jì)數(shù)956次時(shí)就將I/O反接,就可得到中音DO(532Hz)??梢钥刂茊纹瑱C(jī)產(chǎn)生不同頻率不同節(jié)拍的脈沖信號(hào),由蜂鳴器發(fā)出就產(chǎn)生了美妙和諧的樂(lè)曲。電路圖如下所示:圖34 復(fù)位電路圖 電路設(shè)計(jì)所需要的器件表31 電路設(shè)計(jì)器件表類別序號(hào)型號(hào)數(shù)量(單位)用途電源178051個(gè)系統(tǒng)電源IC芯片2AT89c511片CPU3LM3861片實(shí)時(shí)時(shí)鐘日歷芯片電容430pF2個(gè)單片機(jī)時(shí)鐘震蕩電路510μF1個(gè)復(fù)位電路61個(gè)7470μF1個(gè)822μF1個(gè)947μF1個(gè)101個(gè)11100μF1個(gè)晶振1212MHz1支電阻131支141KΩ2支復(fù)位電路1510KΩ1支限壓保護(hù)16470Ω1支喇叭1774F3781個(gè)揚(yáng)聲器硬質(zhì)板18焊接性1塊基礎(chǔ)電路二極管191N40011個(gè)電源部分20發(fā)光二極管1個(gè)檢測(cè)電源第4章 軟件設(shè)計(jì)第4章 軟件設(shè)計(jì) 音樂(lè)發(fā)聲設(shè)計(jì)原理 發(fā)聲原理一首樂(lè)曲是由多個(gè)音符構(gòu)成的。復(fù)位電路采用RC充電電路組成上電復(fù)位單片機(jī)電路,當(dāng)系統(tǒng)上電時(shí),在上電初期,電容C充電,使復(fù)位腳持續(xù)高電平
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1