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

📄 main.c

📁 这是基于dsp编写的利用各种方法产生来启动AD,包含书上介绍的所有方法
💻 C
字号:
/*Main.c*/ 
#include "global.c" 
void SystemInit();
void KickDog();  
void ADINIT(); 
void Que();
unsigned int t0=0,i=0,j=0,numled0=1500;   
unsigned int RESULT_0=0,RESULT_8=0;  
unsigned int AD0[20],AD_0,AD8[20],AD_8;
float AD_SIG0=0.0,AD_SIG8=0.0;  

main()
{  
  SystemInit();         		//系统初始化
  ADINIT(); 
  asm(" CLRC	INTM ");	//开总中断 
  T1CON=T1CON|0x0040;       //启动定时器1
   while(1);
     
}     

void SystemInit() 
{  
 
	asm(" SETC	INTM ");	//关闭总中断 
	asm(" CLRC  SXM  ");	 //禁止符号位扩展 
	asm(" CLRC  CNF  ");    //B0块映射为 on-chip DARAM
	asm(" CLRC  OVM  ");    // 累加器结果正常溢出
	SCSR1=0x83FE;         // 系统时钟CLKOUT=20*1=20M 
	   						// 打开ADC,EVA,EVB,CAN和SCI的时钟
	WDCR=0x006F;			// 禁止看门狗,看门狗时钟64分频 
	IMR=0x0002;
	IFR=0x0FFFF;
	KickDog();    		// 初始化看门狗 
}  
   
void ADINIT()
{   
    GPTCONA=0x0100;
    T1CNT=0x0000;
    T1PR=4000;             //周期0.025*4000=100us
    T1CON=0x100C;
    EVAIFRA=0xFFFF;
    EVAIMRA=0x0080;
}
  

void c_int2()              
{
    if(PIVR!=0x27)
		{  	asm(" CLRC INTM ");
        	return;
		}
    numled0--;  
    if(numled0==0)
    {   numled0=1500;
		if((PBDATDIR & 0x0001)==0x0001) 
			PBDATDIR=PBDATDIR & 0xFFFE;    	//IOPB0=0;LED灭  
		else
			PBDATDIR=PBDATDIR |0x0101;     //IOPB0=1;LED亮 
    } 
    
    EVAIFRA=0x0080;     
    asm(" CLRC	INTM ");
}  
/*踢除看门狗 */
void KickDog()			
{
	WDKEY=0x5555;
	WDKEY=0xAAAA;
}

⌨️ 快捷键说明

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