基于51單片機錄音筆設計(定稿)(共31頁)_第1頁
基于51單片機錄音筆設計(定稿)(共31頁)_第2頁
基于51單片機錄音筆設計(定稿)(共31頁)_第3頁
基于51單片機錄音筆設計(定稿)(共31頁)_第4頁
基于51單片機錄音筆設計(定稿)(共31頁)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 華僑大學廈門工學院 單片機控制系統(tǒng)(kn zh x tn) 課程設計報告(bogo) 題 目: 基于(jy)51單片機錄音筆設計專業(yè)、班級: 12級通信3班 學生姓名: 詹家煒 學 號: 1202303035 指導教師: 高麗貞 2015 年 6 月 28 日任務書題目(tm) :基于(jy)51單片機錄音筆設計一、任務(rn wu)設計一個錄音筆,實現(xiàn)語音的存儲和回放。二、發(fā)揮部分用液晶屏顯示存儲內(nèi)容的文字,并且要做好語音的濾波處理功能,也就是播放出來的音質要好。喇叭要用好點的。目 錄 TOC o 1-3 h z u 設計任務(rn wu)目的4設計(shj)任務要求4設計方案選取(xun

2、q)與論證4電路設計54.1 核心控制模塊54.1.1 STC89C52單片機介紹54.2 音頻處理模塊74.2.1 ISD1760芯片簡介74.2.2 SPI模式114.2.3 微機接口134.2.4 SPI 協(xié)議總述134.2.5 SPI命令總覽144.2.6 ISD1760的存儲結構154.3 系統(tǒng)的總體設計方案154.3.1 STC89C52的外圍電路設計164.3.2 單片機復位、晶振電路設計164.3.3 音頻處理電路設計184.4軟件總設計思路184.4.1 SPI通信接口194.4.2 八段數(shù)碼管194.4.3 錄放聲音程序設計204.4.4 播放對應的語音段21制作及調試過程

3、24結論25致謝26參考文獻27 成績評定表28一、設計任務(rn wu)目的隨著電子技術的飛速發(fā)展,數(shù)碼錄音筆已得到了越來越多的人的青睞,論文通過對多種錄音筆的設計方案進行了比較(bjio)和分析,選定STC89C52單片機設計(shj)了一個數(shù)碼錄音筆。 本文提出并設計實現(xiàn)了基于STC89C52 單片機和ISD1760語音芯片的多功能錄音筆方案。首先介紹了設計方案的選擇,接著進行了系統(tǒng)的硬件設計,包括音頻輸入輸出電路的設計、按鍵控制電路的設計等,設計中以STC89C52單片機主控制為核心,采用了華邦公司新推出的ISD1700系列語音芯片,用來替代已經(jīng)停產(chǎn)的ISD1400 系列及ISD250

4、0 系列芯片實現(xiàn)錄放系統(tǒng)的功能。其中按鍵控制電路對整個系統(tǒng)進行控制,用一個8段數(shù)碼管更直觀的顯示錄音時間。系統(tǒng)模塊包括主程序模塊、語音信號的采集模塊、鍵盤掃描模塊等,進行了程序流程的設計,編寫了程序代碼。系統(tǒng)實現(xiàn)了語音數(shù)據(jù)的錄制、播放、暫停、全部擦除選擇下一段等功能。最后,對本設計進行總結與展望。數(shù)碼錄音筆在錄音領域等實際應用中具有諸多優(yōu)勢,值得進一步學習和研究。二、設計任務及要求此次的設計任務是設計一款基于單片機的錄音筆的設計。設計要求如下:具有單片機核心控制模塊;具有實現(xiàn)語音的存儲和回放。三、設計方案選取與論證方案一:基于單片機、數(shù)字信號處理器 DSP、FLASH 存儲器的數(shù)碼錄音放音系統(tǒng)

5、。在錄音時,語音信號經(jīng)過處理后送到 A/D 轉換器,轉換成數(shù)字信號,把這些數(shù)字信號送到數(shù)字信號處理器DSP進行壓縮處理,壓縮后的語音數(shù)據(jù)送到FLASH 中,回放時從 FLASH 存儲器中讀取壓縮的數(shù)據(jù)經(jīng)過 D/A 轉換后,再通過喇叭等具有播放功能的器件進行播放。具體框圖如下所示: 數(shù)字信號A/D轉換器語音信號DSP處理器壓縮FLASH存儲器圖3.1方案一結構圖由于(yuy)此方案要通過A/D芯片(xn pin),專門的DSP芯片,本設計不需要(xyo)高速、高精度運算,而且DSP功耗相對高,成本比較高,因此不選擇此方案。方案二:通過51單片機與語音功能集成芯片ISD1760進行設計,由單片機控

6、制ISD1760來實現(xiàn)語音的錄制存儲以及播放清除等功能。具體框圖如下所示:按鍵信息語音指令顯示獨立按鍵51單片機ISD1760芯片8段數(shù)碼管顯示圖3.2方案二結構圖由于采用資源不多的 51 單片機,這樣節(jié)省了資源同時單片機運算速度已經(jīng)足夠用于檢測按鍵,以及控制錄音筆進行各種操作,而且這種設計無需對數(shù)字信號進行編碼壓縮的復雜的操作,實現(xiàn)簡單,功耗不高,相對而言成本也不高,所以本設計采用了此方案。四、電路設計4.1 核心控制模塊控制模塊是整個錄音筆的核心,實現(xiàn)對語音芯片ISD1760發(fā)送或接受指令,使其完成相應的動作。本設計采用了型號為STC89C52單片機,它是一種簡明易掌握,效率較高的指令系統(tǒng)

7、,對存儲空間和時間的利用率較高。4.1.1 STC89C52單片機介紹(jisho)STC89C52是STC公司生產(chǎn)(shngchn)的一種低功耗、高性能CMOS8位微控制器,具有(jyu) 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。其主要工作特性是:8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復位

8、電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結構(兼容傳統(tǒng)51的5向量2級中斷結構),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。STC89C52單片機的引腳排列如圖4.1:圖4.1 STC89C52 單片機的引腳排列4.2 音頻(ynpn)處理模塊音頻處理模塊(m kui)主要由語音芯片ISD1760及其周

9、圍(zhuwi)的濾波電路,其作用是對聲音的處理,通過單片機控制聲音的錄放。4.2.1 ISD1760芯片簡介ISD1700 系列芯片是華邦公司新推出的單片優(yōu)質語音錄放電路,該芯片提供多項新功能,包括內(nèi)置專利的多信息管理系統(tǒng),新信息提示,雙運作模式(獨立&嵌入式),以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動增益控制、麥克風前置擴大器、揚聲器驅動線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。特征如下:一、特點:可錄、放音十萬次,存儲內(nèi)容可以斷電保留一百年。兩種控制方式,兩種錄音輸入方式,兩種放音輸出方式。可處理(chl)多達255 段以上(yshng)信息。有豐富多樣(du yn)的工作狀態(tài)提

10、示。多種采樣頻率對應多種錄放時間。音質好,電壓范圍寬,應用靈活,價廉物美。圖4.2 ISD1700系列管腳圖二、電特性:工作電壓:2.4V-5.5V,最高不能超過6V靜態(tài)電流:0.5 - 1 A工作電流:20mA用戶可利用震蕩電阻來自定芯片的采樣頻率,從而決定芯片的錄放時間和錄放音質。下表為ISD1700的參數(shù)表:而芯片的采樣率可以通過(tnggu)外部振蕩電阻來調節(jié):獨立按鍵(n jin)工作模式ISD1700 的獨立按鍵(n jin)工作模式錄放電路非常簡單(后附圖),而且功能強大。不僅有錄、放功能,還有快進、擦除、音量控制、直通放音和復位等功能。這些功能僅僅通過按鍵就可完成。在按鍵模式工

11、作時,芯片可以通過/LED 管腳給出信號來提示芯片的工作狀態(tài),并且伴隨有提示音,用戶也可自定4 種提示音效。錄音操作:按下REC 鍵,/REC 管腳電平變低后開始錄音,直到松開按鍵使電平拉高或者芯片錄滿時結束。錄音結束后,錄音指針自動移向下一個有效地址。而放音指針則指向剛剛錄完的那段語音地址。放音操作:放音操作有兩種模式,分別是邊沿觸發(fā)和電平觸發(fā),都由/PLAY 管腳觸發(fā)。邊沿觸發(fā)模式:點按一下PLAY 鍵,/PLAY 管腳電平變低便開始播放當前段的語音,并在遇到EOM 標志后自動停止。放音結束后,播放指針停留在剛播放的語音起始地址處,再次點按放音鍵會重新播放剛才的語音。在放音期間,LED燈會

12、閃爍直到放音結束時熄滅。如果在放音期間點按放音鍵會停止放音。B)電平放音模式:如果一直按住PLAY 鍵,使/PLAY 管腳電平持續(xù)為低,那么會將芯片內(nèi)所有語音信息播放出來,并且循環(huán)播放直到松開按鍵將/PLAY 管腳電平拉高。在放音期間LED 閃爍。當放音停止,播放指針會停留在當前停止的語音段起始位置。快進操作:點按一下FWD 按鈕將/FWD 端拉低,會啟動快進操作。快進操作用來將播放指針移向下一段語音信息。當播放指針到達最后一段語音處時,再次快進,指針會返回到第一段語音。當下降沿來到/FWD 端時,快進操作還要決定于芯片當時的狀態(tài):如果芯片(xn pin)在掉電狀態(tài)并且當前播放指針的位置不在最

13、后一段,那么指針會前進一段,到達下一段語音處。B) 如果(rgu)芯片在掉電狀態(tài)并且當前播放指針的位置在最后一段,那么指針會返回到第一段語音處。C) 如果芯片正在播放一段語音(yyn)(非最后一段),那么此時放音停止,播放指針前進到下一段,緊接著播放新的語音。D) 如果芯片正在播放最一段語音,那么此時,放音停止,播放指針返回到第一段語音,緊接著播放第一段語音。 擦除操作:擦除操作分為單段擦除和全體擦除兩種擦除方式,區(qū)別如下:A) 單個擦除:只有第一段或最后一段語音可以被單個擦除。點按一下ERASE 健將/ERASE 管腳拉低,這時具體的擦除情況要看播放指針的狀態(tài):如果芯片空閑并且播放指針指向第

14、一段語音,則會刪除第一段語音,播放指針指向新的第一段語音(執(zhí)行擦除操作前的第二段)如果芯片空閑并且播放指針指向最后一段語音,則會刪除最后一段語音,播放指針指向新的最后一段語音(執(zhí)行擦除操作前的倒數(shù)第二段)如果芯片空閑并且播放指針指向沒有指向第一或最后一段語音,則不會刪除任何語音,播放指針也不會被改變?nèi)绻酒斍罢诓シ诺谝欢位蜃詈笠欢握Z音,點按下ERASE 鍵會刪除當前語音。B) 全體擦除:當按下ERASE 鍵將/ERASE 管腳電平拉低超過2.5 秒鐘,會觸發(fā)全體擦除操作,刪除全部語音信息。復位(f wi)操作:如果(rgu)用RESET控制此管腳,建議/RESET管腳與地之間連接一個0.1

15、F電容。當/RESET被觸發(fā),芯片(xn pin)將播放指針和錄音指針都放置在最后一段語音信息的位置。音量操作:點按一下VOL鍵將/VOL管腳拉低會改變音量大小。每按一下,音量會減小一檔,再到達最小檔后再按的話,會增加音量直到最大檔,如此循環(huán)??偣灿?個音量檔供用戶選擇,每一檔會改變4dB。復位操作會將音量檔放在默認位置,即最大音量。FT直通操作:將/FT管腳與GND短接,持續(xù)保持在低電平會啟動直通模式。出廠設定的是在芯片空閑狀態(tài),直通操作會將語音從Analn端直接通往喇叭端或AUD輸出口。在錄音期間開啟FT功能,會同時錄下Analn進入的語音信號。提示音(SE)編輯:ISD1700S 中設計

16、了4 種聲音來提示當前的工作狀態(tài),分別為SE1,SE2,SE3,SE4。SE1:錄音,下一曲或全部擦除的開始;SE2:錄音,單首擦除或最后一曲結束時;SE3:無效地擦除操作;SE4:全部擦除成功。A)進入SE 編輯模式:1 首先保持FWD 為低3 秒左右,然后LED 會閃一下(若有SE1,會同時播放SE1)。但是若當前曲目為最后一曲或沒有錄音則LED 會閃兩下(若有SE2,會同時播放SE2)。2 保持FWD 為低,然后按下REC 使之為低直到LED 閃一下。3 LED 再閃一下說明已經(jīng)進入SE 編輯模式;進入此模式后,當前待編輯SE 為SE1。B) 編輯(binj):進入SE 編輯模式后可按原

17、來的方式進行錄音,放音和擦除。按FWD可選SE1 至SE4,按FWD 后可根據(jù)LED 的閃動次數(shù)(csh)來判斷當前的SE,閃一下為SE1,閃兩下為SE2,依此類推。A)退出(tuch)SE 編輯模式:操作方法同進入方法一樣。4.2.2 SPI模式SPI(Serial Peripheral Interface-串行外設接口)總線系統(tǒng)是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。SPI有三個寄存器分別為:控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR。外圍設備FLASHRAM、網(wǎng)絡控制器、LCD顯示驅動器、A/D轉換器和MCU等。SPI總線系統(tǒng)可直

18、接與各個廠家生產(chǎn)的多種標準外圍器件直接接口,該接口一般使用4條線:串行時鐘線(SCLK)、主機輸入/從機輸出數(shù)據(jù)線MISO、主機輸出/從機輸入數(shù)據(jù)線MOSI和低電平有效的從機選擇線SS(有的SPI接口芯片帶有中斷信號線INT、有的SPI接口芯片沒有主機輸出/從機輸入數(shù)據(jù)線MOSI)。 SPI接口是在CPU和外圍低速器件之間進行同步串行數(shù)據(jù)傳輸,傳輸數(shù)據(jù)為8位,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps。如圖2.6所示,在SCLK的下降沿上數(shù)據(jù)改變,同時一位數(shù)據(jù)被存入移位寄存器。圖4.3 SPI時序SPI接口內(nèi)

19、部(nib)硬件圖如圖4.4:圖4.4 SPI接口內(nèi)部硬件圖MasterSlaveSCLKMOSIMISOSS圖4.5 SPI硬件連接圖4.2.3 微機(wi j)接口主控單片機主要(zhyo)通過四線(SCLK,MOSI,MISO,/SS)SPI協(xié)議(xiy)對ISD1700進行串行通信。ISD1700作為從機,幾乎所有的操作都可以通過這個SPI協(xié)議來完成。為了兼容獨立按鍵模式,一些SPI命令:PLAY,REC,ERASE,F(xiàn)WD,RESET和GLOBAL_ERASE的運行類似于相應的獨立按鍵模式的操作。另外,SET_PLAY,SET_REC,SET_ERASE命令允許用戶指定錄音、放音和擦

20、除的開始和結束地址。此外,還有一些命令可以訪問APC寄存器,用來設置芯片模擬輸入的方式。4.2.4 SPI 協(xié)議總述ISD1700系列的SPI串行接口操作遵照以下協(xié)議:1 一個SPI處理開始于/SS管腳的下降沿。2 在一個完整的SPI指令傳輸周期,/SS管腳必須保持低電平。3 數(shù)據(jù)在SCLK的上升沿鎖存在芯片的MOSI管腳,在SCLK的下降沿從MISO管腳輸出,并且首先移出低位。4 SPI指令操作碼包括命令字節(jié),數(shù)據(jù)字節(jié)和地址字節(jié),這決定于1700的指令類型5 當命令字及地址數(shù)據(jù)輸入到MOSI管腳時,同時狀態(tài)寄存器和當前行地址信息從MISO管腳移出。6 一個SPI處理在/SS變高后啟動。7 在

21、完成一個SPI命令的操作后,會啟動一個中斷信息,并且持續(xù)保持為低,直到芯片收到CLR_INT命令或者芯片復位。所以,在SPI命令輸入到ISD1700前,SPI端口的狀態(tài)應該保持如下狀態(tài):/SS=HIGHSCLK=HIGHMOSI=LOW4.2.5 SPI命令(mng lng)總覽一個SPI命令總是由第一個命令字節(jié)開始。命令字節(jié)中的bit4位(LED)是具有特殊用途的。這個bit4位可以控制LED的輸出(shch)。如果使用者想開啟這個操作LED的功能,那么所有的SPI命令字都要將這個bit4位置1。在SPI模式下,存儲位置都可以通過行地址很容易地進行訪問。主控單片機可以訪問任何行地址,包括存儲

22、SE音效(yn xio)的行地址(0 x0000 x00F)。像SET_PLAY,SET_REC和SET_ERASE這些命令需要一個精確地起始地址和結束地址。如果開始地址和結束地址相同,那么ISD1700將只在這一行進行操作。SET_ERASE操作可以精確地擦除在起始地址和結束地址間的所有信息。SET_REC操作從起始地址開始錄音,并結束于結束地址,并且在結束地址自動加上EOM標志。同理,SET_PLAY操作從起始地址播放語音信息,在結束地址停止播放。另外,SET_PLAY,SET_REC和SET_ERASE命令有一個先入先出的緩存器,使得從一個存儲塊到下一個存儲塊之間實現(xiàn)無縫轉移。這個先入先

23、出的緩存器只有在相同類型的SET命令下才有效。也就是說SET_PLAY在SET_ERASE之后將不能利用這個緩存器,并且這是一個錯誤的命令,SR0中的COM_ERR位將被置1。當芯片準備好接收第二個SPI命令時,在SR1中的RDY位將置1。同樣,在操作完成時會輸出一個中斷。例如,如果兩個連續(xù)但帶有兩對不同地址的SET_PLAY命令被正確發(fā)送后,此時緩存器裝滿。在完成第一個語音信息的播放后,第一個SET_PLAY操作會遇到一個EOM,這時不會像一般遇到EOM時自動STOP,而是繼續(xù)執(zhí)行第二個SET_PLAY命令,芯片將播放第二個語音信息。這個動作將最小化任何兩個錄音信息之間潛在的停留時間,且使芯

24、片流暢地連接兩個獨立的信息。如果循環(huán)存儲體系處于令人滿意的狀態(tài),那么可以使用PLAY,REC,F(xiàn)WD,RESET,ERASE和G_ERASE這些命令,功能類似于1700的獨立模式中相應的功能。這些命令將確保在獨立模式下操作時儲存機構保持一致,但是,音效提示將不同于獨立模式。如果希望在SPI模式和獨立模式之間轉換,注意必須使用SET_REC和SET_ERASE以遵循循環(huán)存儲體系。4.2.6 ISD1760的存儲結構在獨立按鍵模式下,芯片內(nèi)有一套環(huán)形存儲結構管理系統(tǒng)來管理錄音段的存放。當芯片讀寫存儲器時會檢查是否合法的存儲結構,若不是則LED 會閃7 下,然后芯片將不接受任何指令除了復位和全部(q

25、unb)擦除指令。遇到這種情況需先將芯片成功全部擦除才能復原,這樣原來的內(nèi)容將全部丟失除了提示音。環(huán)形存儲結構管理系統(tǒng)管理的地址是0 x10 到末地址,0 x00 至0 x0f 為SE 的地址。當?shù)刂分羔樦傅侥┑刂泛?,會自動跳? x10。在此管理系統(tǒng)下錄音(l yn)段之間是連續(xù)存放的,但首地址與末地址之間至少有一個空地址間隔來讓系統(tǒng)區(qū)分首末地址。在SPI 模式下,用戶(yngh)可對任意地址進行操作,但若不按管理系統(tǒng)的方式存儲或擦除錄音段,在獨立按鍵模式下將不能操作。4.3 系統(tǒng)的總體設計方案多功能錄音筆的主要功能是實現(xiàn)語音存儲與定時播放。要實現(xiàn)語音存儲與定時播放的方法很多,可供選擇的器件

26、也很多。由于單片機等微控制器的出現(xiàn)和數(shù)字電路技術的發(fā)展,使得現(xiàn)在的語音存儲與自動播放變得易于實現(xiàn)。本設計采用單片機作為微控制器。選用字長為8位的STC89C52單片機作為控制器。目前可以與單片機配合使用的語音芯片有很多,其中不乏性能十分優(yōu)越的語音芯片,華邦公司生產(chǎn)的ISD1760語音芯片就是它們中的一員。ISD1760芯片采用該芯片提供多項新功能,包括內(nèi)置專利的多信息管理系統(tǒng),新信息提示,雙運作模式(獨立&嵌入式),以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動增益控制、麥克風前置擴大器、揚聲器驅動線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。在獨立按鍵模式(msh)下,芯片內(nèi)有一套環(huán)形存儲結構

27、管理系統(tǒng)來管理錄音段的存放。當芯片讀寫存儲器時會檢查是否合法的存儲結構,若不是則LED 會閃7 下,然后芯片將不接受任何指令除了復位和全部擦除指令。遇到這種情況需先將芯片成功全部擦除才能復原,這樣原來的內(nèi)容將全部丟失除了提示音。環(huán)形存儲結構管理系統(tǒng)管理的地址是0 x10 到末地址,0 x00 至0 x0f 為SE 的地址。當?shù)刂分羔樦傅侥┑刂泛?,會自動跳? x10。在此管理系統(tǒng)下錄音段之間是連續(xù)存放的,但首地址與末地址之間至少有一個空地址間隔來讓系統(tǒng)區(qū)分首末地址。在SPI 模式下,用戶可對任意地址進行操作,但若不按管理系統(tǒng)的方式存儲或擦除錄音段,在獨立按鍵模式下將不能操作。4.3.1 STC

28、89C52的外圍(wiwi)電路設計STC89C52單片機的外圍電路分別(fnbi)有復位電路、晶振電路、四個錄放控制按鍵、一個八段數(shù)碼管,并有四個P2口分別作為和ISD1760語音芯片的數(shù)據(jù)線。本設計采用USB供電,使STC89C52單片機的工作電壓保持在5V左右。四個錄放控制按鍵的功能分別為“錄音”、“播放”、“停止”、“下一首”,它們分別連接單片機的P2.7、P2.6、P2.5、P2.4口。圖4.6 STC89C52的外圍電路圖4.3.2 單片機復位(f wi)、晶振電路(dinl)設計(shj)STC89C52單片機復位、晶振電路如圖4.7、圖4.8:圖4.7復位電路圖4.8晶振電路晶

29、振是石英振蕩器的簡稱,英文名為Crystal,晶振分為有源晶振和無源晶振兩種,它的作用是在電路產(chǎn)生震蕩電流并且發(fā)出時鐘信號。它是時鐘電路中最重要的部件,它的作用是向IC等部件提供基準頻率,它就像個標尺,工作頻率不穩(wěn)定時會造成相關設備工作頻率的不穩(wěn)定,自然容易出現(xiàn)問題。由于制造工藝的不斷提高,現(xiàn)在晶振的頻率偏差、溫度穩(wěn)定性、老化率和密封性等重要技術指標都很好,已經(jīng)不太容易出現(xiàn)故障,但在選用時仍然需要留意一下晶振的質量。復位電路是為了確保微機系統(tǒng)中電路穩(wěn)定必不可少的一部分,復位電路的第一功能是上電復位。微機電路正常工作時一般需要供電電源為5V5%,即4.755.25V。由于微機電路是時序數(shù)字電路,

30、需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當VCC超過4.75V并低于5.25V以及晶體振蕩器穩(wěn)定工作時,復位信號才能夠被撤除,微機電路開始正常的工作。4.3.3 音頻處理電路設計在本設計中,用語音(yyn)芯片ISD1760構成(guchng)的音頻處理電路(如圖2.14)。ISD1760可以(ky)工作在3.3v電壓,工作電流20mA,通過MIC采集聲音信息。ISD1760設計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口SPI送入,所以由單片機STC89C52模擬SPI協(xié)議、SPI接口控制該芯片執(zhí)行相應的動作。電路中濾波電容的運用也是一大關鍵。本設計的使用的振蕩電阻是80k

31、,對應的采樣頻率和錄放時間是8kHz和60秒。其余外圍的電容為濾波電路。圖4.9 音頻處理電路圖4.4軟件總設計思路基于單片機的錄音筆設計需要在軟件的支持下才能實現(xiàn)的,系統(tǒng)的軟件設計部分包括主程序及各子程序。主程序完成系統(tǒng)初始化和顯示處理的功能。子程序包括錄音放音子程序和音頻段定義地址程序。本設計的程序代碼在Keil環(huán)境下編寫,Keil可以使用(shyng)匯編語言和C語言,但C語言使用靈活,調試方便,所以該設計選擇C語言。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學

32、易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真(fn zhn)調試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。使用C語言編程,Keil幾乎就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。該設計以MCS-51系列單片機為核心器件組成(z chn)一個多功能錄音筆系統(tǒng)。在常態(tài)下單擊錄音鍵進行錄音操作,單擊播放鍵進行播放操作,單擊停止鍵進行停止錄音或播放,單擊跳過鍵使播放指針指向下一段錄音的起始地址,同時按住復位鍵和播放鍵,再依次松開復位鍵和播放鍵實現(xiàn)全部擦除。 4.

33、4.1 SPI通信接口sbit ISD_SS=P23;sbit ISD_MISO=P20;sbit ISD_MOSI=P21;sbit ISD_SCLK=P22;sbit key1=P27;sbit key2=P26;sbit key3=P25;sbit key4=P24;4.4.2 八段數(shù)碼管sbit RUN_LED = P10; /運行(ynxng)指示燈uchar leddata= 0 xC0, /0 0 xF9, /1 0 xA4, /2 0 xB0, /3 0 xA1, /D 0 x86, /E 0 x8E, /F 0 x89, /H 0 xC7, /L0 xC8, /n0 xC1,

34、 /u0 x8C, /P0 xA3, /o0 xBF, /-0 xFF, /熄滅(xmi)0 xFF /自定義 ;uchar RunLedTime;bit playflg;uchar time_25ms;uchar time_1s;uchar time_h,time_l;4.4.3 錄放聲音(shngyn)程序設計ISD1760通過單片機控制,當檢測到按下錄音鍵,單片機通過SPI接口發(fā)送相應指令將輸入的信號進行采樣,經(jīng)過芯片內(nèi)部的一系列處理,保存在芯片的儲存器中。當檢測到按下播放鍵時,發(fā)送播放指令使其處于播放狀態(tài)。void main(void)init();/器件(qjin)初始化/spi_R

35、est();if(key4=0)spi_erase ();if(key3=0)spi_G_ERASE ();while(1)if(time_25ms40)time_25ms=0;time_1s+;P0=leddatatime_1s;if(key1=0)delay(20);if(key1=0)while(!key1);spi_fwd(); /播放(b fn)指針指向下一曲if(key3=0)delay(20);if(key3=0)while(!key3);/TR0=1;spi_play();/播放(b fn)當前if(key4=0)delay(20);if(key4=0)while(!key4)

36、;delay_isd(30000); /延時TR0=1;spi_rec(); /開始錄音if(key2=0)delay(20);if(key2=0)while(!key2);spi_stop(); /停止(tngzh)TR0=0;time_1s=0;P0=0 xff;comm_sate(); /與上位(shn wi)機通信4.4.4 播放對應(duyng)的語音段對應的語音段地址在SOUND.H文件里,具體地址從錄音軟件中讀取。以下為語音信息對應播放起始地址定義,A為開始,B為結束。所以本設計雖然錄制時間不超過60秒,但是能夠錄制的語音段數(shù)是有限。#define sound_0A 0 x001

37、0 #define sound_0B 0 x00bc#define sound_1A 0 x00bd #define sound_1B 0 x015e #define sound_11A 0 x015F #define sound_11B 0 x018A#define sound_12A 0 x0000 #define sound_12B 0 x0000void GetSound(uchar soundtick)ISD_SS=0;switch(soundtick)case 0: isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED, sound_0A, sou

38、nd_0B); break;case 1: isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED, sound_1A, sound_1B); break; case 10: isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED, sound_10A, sound_10B); break; case 11: isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED, sound_11A, sound_11B); break; default: break; ISD_SS=1;/*播放指定(zhdng

39、)語音段*/void PlaySoundTick(uchar number) spi_stop (); delay_isd(30000); GetSound(number);五、制作(zhzu)及調試過程軟件設計(shj)是本次設計的重要組成部分。在單片機應用系統(tǒng)中,最常用的程序設計就是模塊化程序設計。模塊化設計具有結構清晰,功能明確,程序模塊可以共享,便于功能擴展及程序維護等特點。在軟件調試中,有時候出現(xiàn)語音無法播放(b fn)和八段數(shù)碼管亂碼,經(jīng)過(jnggu)分析,是一些斷線和接觸不良問題,隨后又對電路板進行了排查和重焊。在本設計軟硬件調試中,出現(xiàn)噪聲,錄不進聲音等情況,經(jīng)過分析,對電路

40、作出了修改,為了保證聲音質量,振蕩電阻分別替換為80k、100k、120k,綜合考慮了音質和錄制時間最后選擇了80k電阻作為振蕩電阻,保證了聲音質量。作為電源線的USB線是我拿平時基本用不到的一條USB線來處理的。用萬用表測出USB線紅黑白綠四條線中的紅為正極、黑為負極,電壓為5V,并將它們和單片機相連,用絕緣膠布進行固定。也順便學習到了USB線中的小知識。成品圖六、結 論這次(zh c)課程(kchng)設計的項目雖然(surn)不是很大,但用的技術和知識一點也不遜色于大的項目設計,熟練的掌握了相關的技術知識和軟件開發(fā)環(huán)境程序的設計,比如其中的編程軟件KEIL和制作原理圖的軟件Altium Designer就是比較常用的編程開發(fā)制作軟件。用到了SPI串行接口通信協(xié)議,STC89C51單片機的基本操作知識,C語言程序編輯等方面的知識。這次課程設計也是一次非常難得的理論和實際相結合的機會,通過這次比較完成的課程設計,使我擺脫了以往單純的理論知識的學習狀態(tài),并且在和實際實際的結合中鍛煉了我的綜合運用所學的專業(yè)基礎知識。不過這次設計中我也遇到了不少問題,比如在剛開始做的時候有些器件的具體使用都不知道怎樣操作和編程,程序編輯經(jīng)常達不到預期設計效果。后來我才漸漸的意識到是我在做設計之前沒有仔細的思考該怎樣去一步步的完成設計的方法和思路。查找相關的技術知識和理論知識。這些在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論