版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> ISD1420語音模塊課程設計</p><p><b> 一、實驗內容</b></p><p> 1、ISD1420語言模塊(B1區(qū)):</p><p> (1)20秒錄放音長度,具有不掉電存儲功能;</p><p> ?。?)可分1—160段錄放音片段</p><p>
2、;<b> 2、具體操作</b></p><p> (1)手動控制方式,通過B1區(qū)按鍵REC和按鍵PLAYE、PLAYL放音</p><p> ?。?)MCU控制方式,通過G6區(qū)8個按鍵控制錄、放音:1—4號鍵錄音各五秒;然后通過5—8號鍵放音,放音內容順序對應1—4號鍵的錄音內容</p><p><b> 二、實驗原理圖<
3、;/b></p><p> 1、錄音、放音的工作原理:(1)錄音時,聲音使話筒內紙盤發(fā)生振動,由電磁磁感應可使話筒內的線圈將產生隨聲音而變化的感應電流---音頻電流---聲音的模擬信號,然后經過A/D轉換器將模擬信號轉換為數字信號,然后將其存儲在語音存儲模塊的存儲空間里。 (2)放音時,語音存儲模塊里的數字信號,經過D/A轉換器將數字信號轉換為模擬信號---音頻電流,然后再經過一個音頻電流放大器,將一
4、個較弱的電流信號放大足以驅動喇叭,喇叭內的線圈流過不斷變化的電流,喇叭內的紙盤發(fā)生振動從而發(fā)出聲音。三、ISD1420語音模塊程序框圖</p><p> 延時250毫秒子程序: </p><p> 本次設計的硬件系統(tǒng)是在80C51的基礎上由ISD1420語音芯片、直流電源模塊、揚聲器等部分組成。利用80C51單片機作為CPU來進行總體控制,通過語音芯片ISD1420組成的語音控制電路
5、能夠建立多段語音庫信息,并且可以對這些段的語音信息進行自由的組合,形成變化多樣的語音提示信息,能夠實現(xiàn)公交車的語音報站。在CPU控制模式下,鍵盤電路采用子程序調用模式,當有鍵按下時,系統(tǒng)調用子程序,通過軟件來實現(xiàn)該鍵號所對應鍵的功能。ISD1420系列單片語音錄放集成電路是美國Winbond公司產品,集成度較高,內部包括前置放大器、內部時鐘、定時器、采樣時鐘、濾波器、自動增益控制、邏輯控制、模擬收發(fā)器、解碼器和480K字節(jié)的E2PRO
6、M等。</p><p><b> 四、實驗步驟及現(xiàn)象</b></p><p><b> 1、主線連線說明</b></p><p> STAR ES598PCI</p><p> 2、將JP13,JP14,JP15跳向“MANUAL”,即手動錄、放音。三個控制按鍵(在B1區(qū)左邊)REC(錄音)
7、、PLAYE(電平放音)和PLAYL(邊沿放音)控制錄音和放音。</p><p> 3、將JP13,JP14,JP15跳向“MCU”,單片機控制,運行演示程序,1—4號鍵錄音,5—8號鍵放音。</p><p><b> 五、演示程序</b></p><p> ISD1420語音模塊實驗說明</p><p>
8、 實驗目的:1.掌握錄音,放音的基本控制</p><p> 2.掌握分段錄音,放音控制</p><p> 實驗內容:由MCU控制,通過G6區(qū)8個按鍵控制錄、放音,每個按鍵控制錄放音各5秒</p><p> 錄音按鍵:G6區(qū)1,2,3,4號鍵分別可錄音5秒;錄音時,B1區(qū)DS6發(fā)光管亮</p><p> 放音按鍵:G6區(qū)5,6,7,8
9、號鍵分別可放音5秒,與放音內容與1,2,3,4號鍵相對應</p><p><b> 接線說明</b></p><p> 按鍵:G6區(qū),8個按鍵,順序連接到P1口,例如P1.0對應1號鍵</p><p> ISD1420:B1區(qū)-->A3區(qū)</p><p> REC--->P3.2(INT0)</
10、p><p> PLAYE->P3.3(INT1)</p><p> PLAYL->P3.4(T0)</p><p> CP---->CS1(0F000H)片選地址</p><p> ISD1420_AD1EQU00H;1號鍵錄放音起始地址,每次錄音5s
11、</p><p> ISD1420_AD2EQU28H;2號鍵錄放音起始地址</p><p> ISD1420_AD3EQU50H;3號鍵錄放音起始地址</p><p> ISD1420_AD4EQU78H;4號鍵錄放音起始地址</p><p> RECBITP3.2 ;錄音接口<
12、;/p><p> PLAYEBITP3.3 ;電平觸發(fā)放音接口</p><p> PLAYLBITP3.4 ;邊沿觸發(fā)放音接口</p><p> ISDCOMM XDATA0F000H ;錄放音地址/操作模式輸入地</p><p> 址,0F000H是接到CS1上的地址 &l
13、t;/p><p><b> ORG0</b></p><p> LJMPSTART</p><p> ORG 100H</p><p> START:LCALLMainInit ;主程序初始化</p><p> Main:LCALLScanKey ;掃描
14、按鍵</p><p><b> JNC Main</b></p><p> Main1:LCALLKeyRun ;按鍵處理</p><p> JNB F0,Main ;是否有新的鍵按下</p><p> CLR F0 ;清按鍵標志</p><p>
15、SJMPMain1</p><p> JMP MAIN ;循環(huán)進行實驗內容介紹與ISD1420功能測試</p><p><b> 主程序初始化</b></p><p> MainInit:CLR F0 ;有鍵按下標志位,清0-無鍵按下</p><p> MOVP1,#0FFH
16、</p><p> LCALLISD_INIT ;ISD1420初始化</p><p><b> RET</b></p><p> 錄放音子程序</p><p> KEY1:MOV A,#ISD1420_AD1 ;錄音首地址</p><p> LJMPKEY_R
17、EC</p><p> KEY2:MOVA,#ISD1420_AD2</p><p> LJMPKEY_REC</p><p> KEY3: MOV A,#ISD1420_AD3</p><p> LJMPKEY_REC</p><p> KEY4: MOV A,#ISD142
18、0_AD4</p><p> LJMP KEY_REC</p><p> KEY_REC: MOV R7,#20 ;錄音時間長度,5s</p><p> LCALL ISD_REC ;調用錄音子程序</p><p> KEY_REC1:LCALL Delay_025S
19、 ;延時</p><p> JB F0,KEY_REC2 ;檢測按鍵是否有鍵按下</p><p> DJNZ R7,KEY_REC1 ;錄音時間,根據R7的值決定</p><p> LCALL ISD_STOP ;停止錄音</p><p> KEY_REC2:RET</p>
20、;<p><b> 放音子程序</b></p><p> KEY5:MOV A,#ISD1420_AD1 ;放音首地址</p><p> LJMPKEY_PLAY</p><p> KEY6:MOV A,#ISD1420_AD2</p><p> LJMPKEY_PL
21、AY</p><p> KEY7:MOVA,#ISD1420_AD3</p><p> LJMPKEY_PLAY</p><p> KEY8:MOV A,#ISD1420_AD4</p><p> LJMPKEY_PLAY</p><p> KEY_PLAY:MOV R7,#20&l
22、t;/p><p> LCALLISD_PLAY ;調用錄用子程序</p><p> KEY_PLAY1:LCALLDelay_025S ;用于進度顯示的時間參照</p><p> JB F0,KEY_PLAY2 ;檢測按鍵是否有鍵按下</p><p> DJNZ R7,K
23、EY_PLAY1 </p><p> KEY_PLAY2:RET</p><p> KeyRun: MOV DPTR,#KeyTab ;有鍵按下,跳到相應處理程序</p><p> MOV A,B</p><p><b> RL A</b></p><
24、;p> JMP @A+DPTR</p><p> KeyTab: SJMP KEY1 ;1--4號鍵,分別各錄音5秒,ISD1420可錄音20秒</p><p> SJMP KEY2</p><p> SJMP KEY3</p><p> SJMP KEY4&
25、lt;/p><p> SJMP KEY5 ;5--8號鍵,對應分別放音各5秒</p><p> SJMP KEY6</p><p> SJMP KEY7</p><p> SJMP KEY8</p><p><b> 按鍵掃描</b></p
26、><p> ScanKey: MOV A,P1 ;鍵掃描</p><p> CJNE A,#0FFH,ScanKey1</p><p> ScanKey4: CLR C</p><p><b> RET</b></p><p> ScanKey1: A
27、CALLScanKey2</p><p> JNC ScanKey4</p><p> ScanKey3: MOV B,A</p><p> ACALLDelay20ms ;消抖動</p><p> ACALLDelay20ms</p><p> ACALLScanKey2</
28、p><p> JNC ScanKey4</p><p> CJNE A,B,ScanKey3</p><p> ScanKey5: MOV A,P1</p><p> CJNE A,#0FFH,ScanKey5</p><p><b> SETB C</b></p&
29、gt;<p><b> RET</b></p><p> ScanKey2: CLR A</p><p> JNB P1.0,ScanKey21</p><p><b> INC A</b></p><p> JNB P1.1,ScanKey21<
30、/p><p><b> INC A</b></p><p> JNB P1.2,ScanKey21</p><p><b> INC A</b></p><p> JNB P1.3,ScanKey21</p><p><b> INC
31、A</b></p><p> JNB P1.4,ScanKey21</p><p><b> INC A</b></p><p> JNB P1.5,ScanKey21</p><p><b> INC A</b></p><p> J
32、NB P1.6,ScanKey21</p><p><b> INC A</b></p><p> JNB P1.7,ScanKey21</p><p><b> CLR C</b></p><p><b> RET</b></p>&l
33、t;p> ScanKey21:SETBC</p><p><b> RET</b></p><p> Delay20ms: MOV R6,#10</p><p> Delay1: MOV R7,#100</p><p><b> DJNZR7,$</b></
34、p><p> DJNZR6,Delay1</p><p><b> RET</b></p><p><b> 延時0.25s</b></p><p> Delay_025S:PUSH05H</p><p><b> PUSH06H</b>&l
35、t;/p><p><b> PUSH07H</b></p><p> MOV R5,#6</p><p> DL1S_1: MOV R6,#100</p><p> DL1S_2: MOV R7,#200</p><p> DJNZ R7,$</p>
36、<p> DJNZ R6,DL1S_2</p><p> DJNZ R5,DL1S_1</p><p> ACALL ScanKey</p><p> JNC DL1S_3</p><p> SETB F0 ;F0有鍵按下標志,F(xiàn)0=1,有鍵按下</p><p&g
37、t; DL1S_3: POP 07H</p><p> POP 06H</p><p> POP 05H</p><p><b> RET</b></p><p><b> 錄音子程序</b></p><p> A--存放操作方式設置值,R7
38、--錄幾秒</p><p> ISD_INIT:SETBREC ;語音模塊初始化,關閉錄放音功能</p><p> SETBPLAYE</p><p> SETBPLAYL</p><p> MOVDPTR,#ISDCOMM</p><p><b> CLRA</b>
39、;</p><p> MOVX@DPTR,A ;允許手動錄放音,當A6,A7為高時,無法手動放音</p><p><b> RET</b></p><p> 操作模式,A-操作模式設置值</p><p> ISD_MODE: PUSH ACC</p><p> LCAL
40、LISD_STOP ;語音模塊初始化,將REC,PLAYE,PLAYL置位,并設置操作模式</p><p> MOV DPTR,#ISDCOMM ;設置操作模式:分段錄音 </p><p> POP ACC</p><p> MOVX @DPTR,A ;設置操作模式命令在A中</p><p>
41、 CLR PLAYL ;給一個上升沿,鎖存命令</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB PLAYL</p>&l
42、t;p><b> RET</b></p><p><b> 錄音</b></p><p> ISD_REC: MOV DPTR,#ISDCOMM ;設置錄音起始地址</p><p> MOVX @DPTR,A</p><p> CLR REC
43、 ;REC變低,即開始錄音</p><p><b> RET</b></p><p><b> 放音子程序</b></p><p><b> A--放哪段音</b></p><p> ISD_PLAY: PUSH ACC</p><p>
44、 LCALL ISD_STOP ;暫停之前的錄放音操作</p><p><b> POP ACC</b></p><p> MOV DPTR,#ISDCOMM ;設置放音起始地址</p><p> MOVX @DPTR,A</p><p> CLR PLAYE
45、;開始放音,邊沿放音模式</p><p><b> NOP</b></p><p> SETB PLAYE</p><p><b> RET</b></p><p><b> 停止錄放音</b></p><p> ISD_STOP: CL
46、R PLAYL ;一個負脈沖停止放音</p><p><b> NOP</b></p><p> SETB PLAYL</p><p> LCALLDelay50ms</p><p> SETB REC ;關閉所有操作指令</p><p> S
47、ETB PLAYE</p><p> MOV DPTR,#ISDCOMM</p><p><b> CLR A</b></p><p> MOVX @DPTR,A;允許手動錄放音,當A6,A7為高時,無法手動放音</p><p><b> RET</b><
48、/p><p><b> 延時</b></p><p> Delay50ms:PUSH 06H</p><p> PUSH 07H</p><p> MOV R6,#100</p><p> Delay50ms_1:MOV R7,#200</p>&
49、lt;p> DJNZ R7,$</p><p> DJNZ R6,Delay50ms_1</p><p> POP 07H</p><p> POP 06H</p><p><b> RET</b></p><p><b> END&
50、lt;/b></p><p><b> 六、實驗結果</b></p><p> JP13、JP14、JP15:設置操作模式,MCU:CPU控制方式;MANUAL:手動(REC、PLAYL、PLAYE)控制方式。</p><p> REC:錄音按鍵,低電平有效;</p><p> PLAYE:電平放音按鍵,低
51、電平有效,直到放音內容結束停止放音;</p><p> PLAYL:邊沿放音按鍵,下降沿有效,并在下一個上升沿停止放音。</p><p> MCU控制方式,通過G6區(qū)8個按鍵控制錄、放音:1—4號鍵錄音各五秒;然后通過5—8號鍵放音,放音內容順序對應1—4號鍵的錄音內容</p><p><b> 七、心得體會</b></p>
52、<p> 通過本次課程設計,不僅使我更加了解了單片機設計的過程和基本方法,而且也親身體驗到了單片機的可靠性高、控制功能強、結構簡單、體積小、能耗低等顯著特點。</p><p> 總之,本次課程設計,鍛煉了我的自學,摸索,鉆研能力。我們要熟練地掌握課本上的知識,而且必須要有足夠的耐心,要有堅持的毅力。在整個設計過程中,在老師的耐心指導下,我仔細地查找資料,深刻地體會到整個設計需要反復實踐。</
53、p><p> 本次課程設計使我明白了在以后的生活中應更加注重理論和實際的結合。這樣才能學以致用,并且也可以更好的學習知識,并增強了實踐動手能力,是我受益匪淺!</p><p><b> 八.參考文獻</b></p><p> 1.李全利,單片機原理及接口技術第二版,高等教育出版社</p><p> 2.何立民,單片機
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ISD1420語音芯片在單片機系統(tǒng)中的應用.pdf
- isd4004語音錄課程設計
- isd1110-isd1420語音錄放電路中文資料
- 單片機語音錄放模塊課程設計
- isd1820錄放模塊
- 數字語音處理課程設計
- 語音告警電路課程設計
- 課程設計--語音錄放器
- 語音放大電路課程設計
- 基于pbl38710的語音通信用戶接口模塊課程設計
- isd1820錄放模塊
- dsp課程設計--語音噪聲濾波
- 語音濾波器課程設計
- 語音濾波器課程設計
- 語音錄放器電子課程設計
- 語音信號處理課程設計
- 課程設計---語音放大電路的設計
- isd語音錄放系統(tǒng)大學課題論文
- 語音濾波器課程設計
- 課程設計--語音放大電路的設計
評論
0/150
提交評論