⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 TMS32VC5402+aAIC23立体声语音控制采集处理程序
💻 C
字号:
//#include "C:\AD50\include\type.h"
//#include "C:\AD50\include\board.h"
//#include "C:\AD50\include\codec.h"
//#include "C:\AD50\include\mcbsp54.h"
#include "C:\AD50\include\regs54xx.h"

unsigned int AIC23_ADDR=0x1b;     //AIC23_ADDR=0011011b when cs=1.
//unsigned int AIC23_ADDR=0x1a;     //AIC23_ADDR=0011010b when cs=0.

unsigned int DSP_WORKING_FREQUENCY,ERROR_COUNT=0;

#include "F:\Graduate    Design++++\PROGRAM_FOR_DSP\IIC\IIC.H"

int 	ms,f=1;
int 	DA_wptr,DA_rptr,y;
int		Flag = 0;
int		play_mode;



void main()
{
//	unsigned int temp,i;
	asm("  STM #0000h,CLKMD ");  
	while(CLKMD & 0x01 );
	asm("  STM #40c7h,CLKMD ");
	DSP_WORKING_FREQUENCY=100;//单位MHZ//一定要与寄存器CLKMD相匹配。影响到IIC的时钟周期!
/*  40C7h:5*clkin  =100M
    30c7h:4*clkin  =80M
    20c7h:3*clkin  =60M
    10C7h:2*clkin  =40M
*/

	 asm("  stm   #0000h, SWWSR ");//asm("  stm   #4240h, SWWSR ");
     //2 wait except for on-chip program 1
     asm("  stm   #00a0h, PMST  "); //MP/MC = 0, IPTR = 001,ovly=1  
     asm("  stm   #0802h, BSCR  "); 
     asm("  STM #0h,IMR ");
     
     asm("  STM #0010h,TCR  "); //关定时器
     asm("  STM #0186ah,PRD  ");//1ms
     asm("  STM #0C2fh,TCR  "); //TCR=最后四位
     asm("  STM #0408h,IFR  ");
     asm("  ORM #0408h,*(IMR) ");/*开时间中断与BRINT1中断*/
 
  DA_wptr=0;
  DA_rptr=0;
     

 
 //FORMAT:	 SEND_IIC(AIC23_ADDR,AIC23_REG_ADDR,AIC23_REG_DATA);
/*/evm_mode_A+++++++++++++++++++++++++++++++++
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x0f,0x00);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x09,0x01);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x08,0x22);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x07,0x43);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x06,0x00);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x05,0x05);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x04,0x7d);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x03,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x02,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x01,0x17);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x00,0x17);
//evm_mode_A++++++++++++++++++++++++++++++++*/


//evm_mode_B+++++++++++++++++++++++++++++++
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x0f,0x00);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x09,0x01);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x08,0x18);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x07,0x43);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x06,0x02);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x05,0x05);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x04,0x12);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x03,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x02,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x01,0x17);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x00,0x17);
//evm_mode_A++++++++++++++++++++++++++++++++*/
    
     
     McBsp1_init();             //串口初始化
  
     asm("  RSBX  INTM ");      /*开中断*/ 
   
     play_mode=1;              //发警报声
     
     while(1)
     {
     	/*for(temp=30000;temp>0;temp-=100)
       		for(i=0;i<2;i++)
       			{
         			y=5000;       
         			delay(temp);
         			y=-5000;       
         			delay(temp);
       			}*/
      } 			 
}  


interrupt void  timer0()
{
     ms++;    	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -