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

正文內(nèi)容

單片機課程設(shè)計——紅外遙控音樂播放器-wenkub

2023-02-02 14:09:59 本頁面
 

【正文】 強,信息傳輸可靠,功耗低,成本低,易實現(xiàn)等顯著優(yōu)點及特色。本設(shè)計中未使用HOT51單片機開發(fā)板配套紅外遙控器,使用的紅外遙控器的按鍵對應(yīng)碼值已在表41中寫出,根據(jù)自已紅外遙控器的按鍵對應(yīng)碼值修改代碼中按鍵碼值部分即可使用。有規(guī)律的振動發(fā)出的聲音叫“樂音”。把音頻和節(jié)拍結(jié)合起來,進行合理的排列,即可播放出比較悅耳的音樂。 對于單片機產(chǎn)生音樂,關(guān)鍵是控制頻率的輸出。 主要功能本設(shè)計以單片機為核心實現(xiàn)紅外遙控音樂播放器功能,主要完成功能為兩首歌曲的選擇播放、暫停、暫停后斷點播放、結(jié)束播放歌曲,播放下一曲,播放上一曲等功能。本設(shè)計中使用常見的家用紅外遙控器進行控制,使用其中的2兩個數(shù)字鍵(對應(yīng)功能選擇2兩首歌曲),音量加、減兩個按鍵(對應(yīng)功能上一曲、下一曲),頻道加、減兩個按鍵(對應(yīng)功能暫停、結(jié)束播放),以及確定鍵(對應(yīng)功能播放歌曲)。復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,當(dāng)RST腳的高電平持續(xù)兩個機器周期以上就將復(fù)位。分析各模塊電路的功能,畫出原理框圖如圖21所示:AT89S52單片機復(fù)位電路單片機時鐘電路紅外解碼 電路紅外解碼顯示電路音樂播放電路圖21 紅外遙控音樂播放器原理框圖 電路模塊設(shè)計 單片機最小系統(tǒng)電路單片機最小系統(tǒng)電路如圖22所示:圖22 單片機最小系統(tǒng)電路圖由圖22可以知道,單片機最小系統(tǒng)主要由復(fù)位電路、時鐘電路等組成。當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個機周期的高電平。單片機的時鐘可由兩種方式產(chǎn)生,即內(nèi)部時鐘方式和外部時鐘方式。為了減小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機引腳XTALl 和XTAL2 靠近。外部時鐘方式即完全用單片機外部電路產(chǎn)生時鐘的方法,外部電路產(chǎn)生的時鐘信號被直接接到單片機的XTAL1引入,此時XTAL2 開路。 紅外解碼電路紅外解碼電路如圖23所示:圖23 紅外解碼電路圖由圖23知道,紅外解碼電路中主要元件為紅外一體化接收頭SM0038。所以數(shù)據(jù)信號應(yīng)該滿足載波信號的頻率盡量接近帶通濾波器的中心頻率(38KHZ);脈沖長度在300us以上;數(shù)據(jù)的編碼類型相兼容。在數(shù)碼管顯示時,如果要維持一個數(shù)據(jù)的顯示,往往要持續(xù)的快速的刷新。鎖存器的使用可以大大的緩解處理器在這方面的壓力。而處理器在處理完后可以有更多的時間來執(zhí)行其他的任務(wù)。 緩沖寄存器又稱緩沖器,它分輸入緩沖器和輸出緩沖器兩種。:三通道輸入、八通道輸出譯碼器。利用這種復(fù)合使能特性,74HC138充當(dāng)一個8輸出多路分配器,本設(shè)計中用于進行數(shù)碼管的位選。本設(shè)計中用于無源蜂鳴器的驅(qū)動,同時可以為再次擴展時提供驅(qū)動電路。首先進行正確的紅外解碼,然后根據(jù)解碼后的鍵值進行播放歌曲與顯示按鍵值。其碼型結(jié)構(gòu)如圖32所示:圖32 紅外信號碼型圖由圖32可知:紅外信號碼型中本次設(shè)計中要使用的部分,即是圖32中的8位鍵數(shù)據(jù)碼。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,即產(chǎn)生了如圖32所示的有效碼組序列。在本設(shè)計中,將解碼后的信號引入外部中斷1,由于是下降沿有效,故IT1=1[2]。 //碼組位數(shù)unsigned char irreceok。 //解碼值數(shù)組void timer0init(void) { TMOD=0x02。 //開定時器0中斷 EA=1。 //開外部中斷1中斷 EA=1。j4。 //由于低位在前,所以右移到正常順序 if(irdata[k]6) //irtime大于6*256us 則解碼數(shù)據(jù)為1 { value=value | 0x80。 //解碼完成}void main(){ timer0init()。 } if(irprocok) //解碼完成 { irwork()。 } irdata[bitnum]=irtime。 irreceok=1。故要產(chǎn)生音頻信號,只要算出某一音頻的周期,將此周期除以2即為半周期的時間,利用定時器計時此半周期時間,計時到后取反輸出,重復(fù)此過程即得到此頻率的聲音信號。本設(shè)計中歌曲的音符存在一個數(shù)組中,以在開始位置和在中間位置播放不同的曲目。unsigned char code song[] ={ //祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00, //八月桂花遍地開0x18,0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00}。t) { for(j=19。 //定時器0 定時方式1 IE = 0x82。 uint addr。 if (temp1 == 0xFF) //休止符 { TR0 = 0。 TR0 = 1。 break。 TL0 = 0x00。 //送往數(shù)碼管的數(shù)void irwork(void) //把解碼后的數(shù)據(jù)轉(zhuǎn)成16進制的兩位數(shù){ disp[0]=ircode[2]/16。 //數(shù)據(jù)管位選 delay_50us(2)。 //數(shù)據(jù)管位選 delay_50us(2)。(2)按下數(shù)字鍵1,對應(yīng)碼值17,數(shù)碼管顯示17,蜂鳴器工作,實現(xiàn)播放曲目1:祝你平安。(5) 按下頻道“+”,對應(yīng)碼值02,數(shù)碼管顯示02,蜂鳴器暫停播放曲目2。結(jié)論通過此次課程設(shè)計,我對單片機的相關(guān)知識有了進一步的了解和認(rèn)識,在單片機外圍電路的設(shè)計過程中也學(xué)到了許多課本上沒有的知識,并且學(xué)會了使用Proteus仿真軟件,可以讓我們在虛擬的環(huán)境中進行仿真,可以先通過它來檢驗電路的正確性和程序的可行性,而不需要真實電路環(huán)境的介入,不必顧及儀器設(shè)備的短缺與環(huán)境的限制,能夠極大的提高實驗的效率。并且,培養(yǎng)了我查閱參考書和獨立思考的能力。//數(shù)碼管顯示編碼uchar irtime,startflag,bitnum,irreceok,irprocok,shuaxin,n。 //解碼后數(shù)據(jù)uchar d
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1