資源簡介
基于TMS320VC5416芯片、TLV320AIC23音頻編解碼芯片的語音錄放程序,已生成.out可執行和.img燒寫文件完美仿真運行。
實驗內容主要完成以下幾點:
1.DSP初始化;
2.同步串口0(McBSP0)初始化為I2S模式;
3.同步串口1(McBSP1)初始化為SPI模式;
4.中斷控制寄存器初始化;
5.McBSP0發送中斷服務程序;
6.McBSP0接收中斷服務程序;
7.中斷向量表;
8.NANDFLASH驅動程序;
9.TLV320AIC23初始化為MIC IN;
10.TLV320AIC23初始化為LINE IN。
仿真運行時,實驗箱鍵盤各鍵功能設置如下:
1#鍵=0x01用于語音由麥克風輸入時語音播放(直接回放Loopback);
2#鍵=0x02用于語音由線性輸入時語音播放(直接回放Loopback);
3#鍵=0x03用于語音由麥克風輸入時語音播放(邊錄音回放Loopback);
4#鍵=0x04用于語音由線性輸入時語音播放(邊錄音邊回放Loopback);
5#鍵=0x05用于語音播放。

代碼片段和文件信息
/******************************************************************************/
/*main.c??????????????????????????????????????????????????? ??????????????*/
/*????????????????????????????????????????????????????????????????????????????*/
/*?This?is?proprietary?information?not?to?be?published?--?DIGIPRO?DATA??? ??*/
/*?Copyright?(C)?2002?DigiPro?Information?Co.Ltd.??All?Rights?Reserved.?????*/
/*????????????????????????????????????????????????????????????????????????????*/
/*?Author:?Wu?DingMing?&?Li?Fayue?????????????????????????????????????????????*/
/*?Date:?August?12-28?2002??????????????????????????????????????????????????????*/
/******************************************************************************/
#include?
#include?“mmdrv.h“
#include?“mcbsp.h“
#include?“cpu_reg.h“????
#include?“lcd_86.h“
?
ioport?unsigned?portefff;
#define? IO_374 ?portefff
void?init_exint1_interrupt();
void?init_GPIO(void);???
void?mic_bypass(void);
void?line_in_bypass(void);
void?mic_record(void);
void?line_in_record(void);
void?codec_play(void);
void?DEAL_RX(unsigned?int?i);
unsigned?int?DEAL_TX(void);
void?stop_interrupt();???//stop?receive?&?tranmit?interrupt
unsigned?int?flag=0xffff;
unsigned?long?secter_num;
unsigned?int?ping_buf1[0x2000];???
unsigned?int?ping_buf2[0x2000];
unsigned?int?enc_flag=0;??
unsigned?int?input_flag?=0;
unsigned?int?rl_flag=0;?????????????????????????????????
unsigned?int?count1=0?;
#define?max_secter_num 33
#define?init_secter_num 0
void?main(void)
{
unsigned?int?ij;
unsigned?int?key_val;
?
? SWWSR?=?0x7fff;
????SWCR?=?0x0001;
????BSCR?=?0x8006; ??
????CLKMD?=?PLL_DIV_INIT;
????waitloop(?0x0400?);
????CLKMD?=?PLL_LOCK_INIT_X(5);
????waitloop(?0x0400?);????????
PMST?=?0x0168;
Init_MCBSP_codec();
init_codec_linein();
init_exint1_interrupt();
????init_GPIO();???
????init_lcd();
?? LCD_clear(0);
cur_row=2;????????
cur_col=20;????????
????LCD_pr_chars(“RECORD_PLAY?TEST“16);
cur_row=3;????????
cur_col=1;????????
????LCD_pr_chars(“=======================“23);
?
IO_374=0xffff; //374?enable
????Close_LED_Data();
????Close_LED_Traf();
????Close_LED_sign();
????waitloop(?0x0400?);????????
? while(1)
{
? i=Get_Key();
????????waitloop(?0x04000?);
j=Get_Key();
????????if(i==j)
?????????{
flag=0xffff;
key_val=j; /*Save?key_val*/
?????????? ? ?
?? ?? ????switch(key_val)
?? ?????{
???????????default:?
???? ????break;
???????????case?1:
cur_row=4;????????
cur_col=10;????????
????LCD_pr_chars(“????Mic_Bypass???“17);
cur_row=5;????????
cur_col=15;????????
???? LCD_pr_chars(“?????????????????“17);
????? ????mic_bypass();??????
?????? break;
???????????case?2:
cur_row=4;????????
cur_col=10;????????
????LCD_pr_chars(“?Line_In_Bypass??“17);
cur_row=5;????????
cur_col=15;????????
???? LCD_pr_chars(“?????????????????“17);
?? ????????line_i
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2572??2004-07-07?12:33??codec\BRXINT0.C
?????文件????????200??2004-08-19?12:30??codec\cc_build_Debug.log
?????文件???????6001??2004-09-21?14:21??codec\codec.paf
?????文件???????1136??2004-05-12?14:50??codec\codec.pjt
?????文件??????10843??2004-04-01?17:17??codec\codec_main.c
?????文件???????3447??2002-09-05?12:05??codec\Debug\brxint0.obj
?????文件?????????74??2004-05-12?14:47??codec\Debug\codec.bat
?????文件??????25907??2004-05-12?14:47??codec\Debug\codec.i00
?????文件???????3170??2004-05-12?14:47??codec\Debug\codec.i10
?????文件?????131072??2004-05-12?14:47??codec\Debug\codec.img
?????文件??????12464??2004-08-19?12:30??codec\Debug\codec.map
?????文件??????38375??2004-08-19?12:30??codec\Debug\codec.out
?????文件???????6319??2004-07-09?12:16??codec\Debug\codeccfg.obj
?????文件??????13289??2004-07-09?12:14??codec\Debug\codec_main.obj
?????文件????????648??2004-07-09?12:14??codec\Debug\delay.obj
?????文件???????3001??2004-03-31?11:26??codec\Debug\dtmf.obj
?????文件???????6896??2004-03-31?11:03??codec\Debug\dtmfd.obj
?????文件???????6930??2004-04-02?10:17??codec\Debug\dtmf_dec.obj
?????文件???????3090??2004-04-02?10:17??codec\Debug\dtmf_enc.obj
?????文件???????3123??2004-03-31?11:28??codec\Debug\dtmf_enc1.obj
?????文件????????640??2004-07-09?12:14??codec\Debug\entry.obj
?????文件??????87469??1999-08-11?02:10??codec\Debug\HEX2IMG.EXE
?????文件?????102400??2001-05-08?13:18??codec\Debug\hex500.exe
?????文件???????1203??2004-07-09?12:14??codec\Debug\key_driver.obj
?????文件???????7904??2002-09-10?11:23??codec\Debug\lcd_86.obj
?????文件???????8373??2004-07-09?12:14??codec\Debug\lcd_driver.obj
?????文件???????2256??2004-07-09?12:14??codec\Debug\ldvects.obj
?????文件???????2726??2004-07-09?12:14??codec\Debug\led_driver.obj
?????文件??????12862??2002-09-10?09:21??codec\Debug\main.obj
?????文件???????2216??2002-09-06?17:45??codec\Debug\nandread.obj
............此處省略12個文件信息
- 上一篇:模糊PID控制的一個簡單
- 下一篇:8位CPU quartus 9.0版本
評論
共有 條評論