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

正文內(nèi)容

基于nrf24l01的無線音樂播放器設(shè)計(jì)畢業(yè)論文-在線瀏覽

2025-08-14 22:50本頁面
  

【正文】 模塊 LM386芯片介紹LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。特性:靜態(tài)功耗低,約為4mA,可用于電池供電;工作電壓范圍寬412V或518V;電壓增益可調(diào)20200;低失真度。 單片機(jī)最小系統(tǒng)電路STC89C51RC單片機(jī)內(nèi)部自帶一個(gè)構(gòu)成振蕩回路的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。石英晶體為一感性元件,與電容構(gòu)成振蕩回路,為片內(nèi)放大器提供正反饋和振蕩所需的相移條件,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。這里我們只要考慮片外復(fù)位部分,它主要有電平方式和脈沖方式兩類,我則采用了按鍵電平復(fù)位方式,通過按鍵RESET,使單片機(jī)復(fù)位端經(jīng)電阻R1與電源VCC接通而實(shí)現(xiàn)對(duì)單片機(jī)系統(tǒng)的復(fù)位。由于單片機(jī)P0口內(nèi)部沒有上拉電阻,需要外接10K的上拉電阻。 圖45 單片機(jī)最小系統(tǒng)電路 音頻電路 音頻電路由放大器LM38喇叭部分等組成,電路如下圖35所示。程序上通過控制單片機(jī)端口輸出一個(gè)高低電位信號(hào),經(jīng)過放大后輸出至喇叭,從而產(chǎn)生報(bào)警功能。固定電阻和電容一起構(gòu)成一個(gè)濾波模塊,消除干擾 。消除抖動(dòng)引起的誤判,有2方法,一種采用硬件電路,如采用RC、雙穩(wěn)態(tài)觸發(fā)器或者單穩(wěn)態(tài)觸發(fā)器等。另一種就是采用軟件延時(shí)消除抖動(dòng),其原理是當(dāng)CPU檢測(cè)到有按鍵按下時(shí),延時(shí)10~20ms,再一次查詢確認(rèn)該鍵是否按下。由于本設(shè)計(jì)就4個(gè)按鍵,單片機(jī)IO也較多,采用直接輸入方式,即每個(gè)按鍵對(duì)應(yīng)一個(gè)IO口,用軟件延時(shí)消除抖動(dòng)。 表42 LCD1602接口5 系統(tǒng)軟件設(shè)計(jì) 概述 系統(tǒng)軟件設(shè)計(jì)總體思路是根據(jù)按鍵選擇,再無線發(fā)送數(shù)據(jù)來控制音樂器播播放和歌曲的顯示,主要程序模塊有無線通信模塊、音樂播放模塊、顯示模塊和按鍵模塊。模塊的劃分有很大的靈活性,但也不能隨意劃分,模塊劃分時(shí)應(yīng)遵循以下原則:(1)每個(gè)模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生明確的結(jié)果,這就是單模塊功能的高內(nèi)聚性。(3)模塊長度適中,模塊語句的長度通常在20~100條的范圍較合適。在進(jìn)行模塊劃分時(shí),應(yīng)首先弄清楚每個(gè)模塊所需完成的功能、數(shù)據(jù)結(jié)構(gòu)以及與其它模塊之間的關(guān)系。按這種方法一直細(xì)分成易于理解和實(shí)現(xiàn)的小模塊為止。一般有了層次圖和模塊說明后,劃分模塊的工作也就算完成了。采用這種模塊化的程序設(shè)計(jì)方法,有下述優(yōu)點(diǎn):(1)單一模塊結(jié)構(gòu)的程序功能單一,因而易于編寫、調(diào)試和修改。(3)程序可讀性好,便于功能擴(kuò)充和版本升級(jí)。(5)使用頻繁的子程序可以匯編成子程序庫,以便于多個(gè)模塊調(diào)用。單片機(jī)發(fā)射部分以此調(diào)用鍵盤掃描子程序,無線發(fā)射程序,數(shù)據(jù)發(fā)射成功后再返回程序開頭循環(huán)運(yùn)行,其發(fā)射程序流程圖如下: Y開始程序初始化 有鍵按下?賦值txbuf[0] 數(shù)據(jù)發(fā)送清空緩沖置txbuf[0]=0x00 數(shù)據(jù)發(fā)完?NYN 圖47 發(fā)射程序流程圖單片機(jī)接收部分先調(diào)用無線接收程序,數(shù)據(jù)收到后產(chǎn)生一個(gè)外部中斷,由單片機(jī)的主程序讀取接收數(shù)據(jù),再做判斷是否要調(diào)用音樂程序、顯示程序。其接收部分流程圖如下: Y開始程序初始化Temp=0xfc讀取temp數(shù)據(jù)t歌曲開始處理NN歌曲結(jié)束處理播放上一首播放下一首Temp=0xfdTemp=0xffTemp=0xfeYYYNN讀取接收緩沖期值寫入到rx_buf清除狀態(tài)標(biāo)志和緩沖區(qū)賦值temp=rx_buf[0], 開 外部中斷外部中斷程序處理 圖48 接收程序流程圖 無線通信程序兩個(gè)模塊要通信時(shí),一個(gè)要設(shè)為發(fā)送,另一個(gè)接收?!? SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號(hào)線INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。也是所有基于SPI的設(shè)備共有的,它們是MOSI(數(shù)據(jù)輸入),MSIO(數(shù)據(jù)輸出),SCK(時(shí)鐘),CSN(片選)。時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生 ?。?)CSN – 從設(shè)備使能信號(hào),由主設(shè)備控制  其中CSN是控制芯片是否被選中的,也就是說只有片選信號(hào)為預(yù)先規(guī)定的使能信號(hào)時(shí)(高電位或低電位),對(duì)此芯片的操作才有效。接下來就負(fù)責(zé)通訊的3根線了。這就是SCK時(shí)鐘線存在的原因,由SCK提供時(shí)鐘脈沖,MOSI,MISO則基于此脈沖完成數(shù)據(jù)傳輸。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。下兩副圖為SPI的讀寫操作。下面為中斷設(shè)置,詳細(xì)程序說明見附錄程序。 //中斷開啟 ET0=1。 //外部中斷為低電平觸發(fā) EX0=1。 //外部中斷0為高優(yōu)先級(jí) 音樂程序要產(chǎn)生音頻脈沖,只要算出某一音頻的脈沖(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對(duì)I/O反相,就可以在I/O腳上得到此頻率的脈沖。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下: N=Fi/2/Fr (N:計(jì)數(shù)值,F(xiàn)i:內(nèi)部計(jì)時(shí)一次為1uS,故其頻率為1MHz,F(xiàn)r:要產(chǎn)生的頻率 )其計(jì)數(shù)值的求法如下:T=65536N=65536Fi/2/FrC調(diào)個(gè)音符頻率與計(jì)數(shù)值T的對(duì)照表如下表所示:表43 C調(diào)個(gè)音符頻率與計(jì)數(shù)值T的對(duì)照表每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,下表為節(jié)拍碼的對(duì)照。假設(shè)1/4節(jié)拍為1DELAY,則1拍應(yīng)為4DELAY,以此類推。表44 節(jié)拍碼對(duì)照表 1/4節(jié)拍1/8節(jié)拍曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125毫秒調(diào)4/462毫秒調(diào)3/4187毫秒調(diào)3/494毫秒調(diào)2/4250毫秒調(diào)2/4125毫秒表45各調(diào)節(jié)拍的時(shí)間設(shè)定表下面再說明如何建立音樂代碼庫: (1)先建立頻率半周期數(shù)據(jù)表,即單片機(jī)定時(shí)器的取值表,如下:定時(shí)器高八位的取值表 code unsigned char FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, //低音12345670xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,70xFC,0xFD,0xFD,0xFD,0xFD,0xFE, //高音 2345670xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, //超高音 1234567} 。 (2)再建立音樂數(shù)據(jù)表 以世上只有媽媽好為例來說明,如下: code unsigned char sszymmh[] = {6, 2, 3, 5, 2, 1, 3, 2, 2, 5, 2, 2, 1, 3, 2, 6, 2, 1, 5, 2, 1, //一個(gè)音符有三個(gè)數(shù)字。 //6, 2, 3代表:6, 中音, 3個(gè)半拍。0, 0, 0}。如下所示:k = sszymmh[i] + 7 * sszymmh[i + 1] + 6 timer0h = FREQH[k]。 //從數(shù)據(jù)表中讀出頻率數(shù)值 time = sszymmh[i + 2]。 song()。 //發(fā)出一個(gè)音符該song()就是把頻率數(shù)值表賦值給計(jì)數(shù),計(jì)數(shù)一到就中斷即可。YN開始設(shè)置定時(shí)器T1和延遲時(shí)間time音樂表為0啟動(dòng)定時(shí)器T1結(jié)束定時(shí)器T1中斷關(guān)閉設(shè)置定時(shí)器,開定時(shí)器中斷 延時(shí)time個(gè)半拍關(guān)閉定時(shí)器T1定時(shí)器中斷程序圖411 音樂程序流程圖 在本設(shè)計(jì)中,發(fā)射模塊電路開始工作時(shí),不斷地掃描P2口判斷是否有鍵按下,圖42為鍵盤程序流程圖。6 系統(tǒng)調(diào)試調(diào)試工作可分硬件調(diào)試和軟件調(diào)試兩個(gè)部分,調(diào)試方法如下:首先,硬件調(diào)試主要是先制作硬件電路板,然后用萬用表等工具對(duì)電路檢查,最后應(yīng)用程序進(jìn)行功能調(diào)試。然后,用仿真軟件進(jìn)行軟件調(diào)試,比如單片機(jī)C51編輯軟件KEIL,該軟件提供一個(gè)集成開發(fā)環(huán)境uVision,它包括C編輯器、宏編輯器、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器。但應(yīng)用此方法,仍需要十分了解所使用元器件的工作方式和管腳連接方式。檢查線路故障和其他硬件故障,以防出現(xiàn)電路短路、斷路,并測(cè)試各個(gè)點(diǎn)的各項(xiàng)測(cè)試是否滿足課題的要求。作為驅(qū)動(dòng)晶體管的三級(jí)管8550是否在焊接過程中由于焊接方式的不當(dāng)而被燒壞。 軟件調(diào)試主要檢查軟件的語法錯(cuò)誤、無線通信的正確性、顯示是否正常和歌曲正確播放,如表61所示。表61 調(diào)試各按鍵功能表及調(diào)試結(jié)果按鍵選擇傳輸距離結(jié)果開始10米顯示正常結(jié)束顯示正常上翻歌曲正確播放下翻歌曲正確播放7 總結(jié)與展望實(shí)現(xiàn)無線音樂播放的方法有很多,這個(gè)設(shè)計(jì)只是其中的一種。所以這個(gè)無線音樂播放系統(tǒng)還可以更加的人性化,更加的智能化,可以增加其他的模塊用于生活需要,比如時(shí)鐘模塊、音樂無線下載、接收與發(fā)射自由轉(zhuǎn)換等等。2)通用性好,能夠較為容易插入不同的音樂代碼。4)良好經(jīng)濟(jì)性。本系統(tǒng)僅完成了基本的功能,希望在能在未來的時(shí)間里,進(jìn)一步深入地改善系統(tǒng)的設(shè)計(jì),使系統(tǒng)在多個(gè)模塊間可以方便快捷的傳輸音樂內(nèi)容代碼。通過本次設(shè)計(jì),對(duì)單片機(jī)的內(nèi)部模塊更加熟悉,使用上也更加的清晰,對(duì)于今后用單片機(jī)設(shè)計(jì)產(chǎn)品提供了極大的幫助,并且培養(yǎng)了良好的編程習(xí)慣,對(duì)子程序命名的規(guī)范,和對(duì)寄存器的使用上,有了一定的良好意識(shí),也鍛煉了我的自學(xué)能力和動(dòng)手實(shí)踐能力。在整個(gè)過程中,不僅是一次所學(xué)知識(shí)的整理,更是一次動(dòng)手能力的提升。從開始的一無措,到現(xiàn)在完成整個(gè)系統(tǒng)的設(shè)計(jì)和撰寫論文的過程中,謝老師傾注了大量的心血和汗水,無論是在論文的選題、構(gòu)思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了謝老師悉心細(xì)致的教誨和無私的幫助,特別是他廣博的學(xué)識(shí)、深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)使我終生受益,在此表示真誠地感謝和深深的謝意。參考文獻(xiàn)[1]魏克新,馬中原,冷建偉.基于無線數(shù)傳的海上采油平臺(tái)監(jiān)控系統(tǒng)[J].電氣傳動(dòng),2009,10(39):67~71.[3] 周鴻福.Wireless Communication Design in Water Factory Monitor System by Sockets[J].WiCOM'08.4th International Conference.2008:1~5.[5]HE Jinghan,REN Yingli ,BO Zhiqian, Klimek Adrew.Advanced Communication System in Substation for Integrated Protection[J].Transactions of Tianjin University.2008,14:128~133. [8]陳麗娟,常丹華.基于nRF2401芯片的無線數(shù)據(jù)通信[J].電子器件,2006,03:249~250.[10] 喻金錢,喻斌.段距離無線通信[M].北京航空航天大學(xué)出版社,2009:120~148.[12] // 定義一個(gè)靜態(tài)發(fā)送地址 TX_addressuchar rx_buf[TX_PLOAD_WIDTH]。/***************************nrf24l01管腳設(shè)置********************************/sbit CE = P1^0。sbit MISO= P1^2。sbit MOSI= P1^4。/******************狀態(tài)標(biāo)志********************************/uchar bdata sta。 sbit TX_DS =sta^5。/**************************************************//*功能描述 芯片使能(準(zhǔn)備發(fā)送或接收模式)****************//**************************************************/void init_io(void){ CE=0。 // 片選 SCK=0。 for(i=0。i++) { j=108。 }}/***************************************************************************/函數(shù): SPI_RW()。 for(bit_ctr=0。bit_ctr++) { MOSI = (byte amp。 byte = (byte 1
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1