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

📄 isr.c

📁 2005年全国大学生电子设计竞赛论文集
💻 C
字号:
//=============================================================
//  文件名称: ISR.c
//  实现功能: 读取AD的结果,进行DA,输出
//  完成日期:  2003,5,28
//==============================================================
#include	"SPCE061V004.H"
#define     DC_zero       512            //输入信号不能为负值,抬高一个直流电平1.7V
										 //输入信号最大峰峰
unsigned long int Difference = 0,tempfrequence = 0;										 
extern unsigned long int   frequence,fo;
extern unsigned int Sound,pinpian;
unsigned int  H_16bit,L_16bit;
//=======================================================================================
//
//=======================================================================================
void BREAK(void) __attribute__ ((ISR));
void BREAK(void)
{
}
//=======================================================================================
//
//=======================================================================================
void FIQ(void) __attribute__ ((ISR));
void FIQ(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ0(void) __attribute__ ((ISR));
void IRQ0(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ1(void) __attribute__ ((ISR));
void IRQ1(void)
{
	
	    frequence = fo;
		GetSound();                		    //读取A/D转换的数值
	    if(Sound > DC_zero)
	    {
	    	Difference = Sound - DC_zero;
//	    	Difference = Difference<<8;
//	    	Difference = Difference<<2;
			Difference = Difference * pinpian;
	    	frequence += Difference;
	    	tempfrequence = frequence >>8;
	        H_16bit = (unsigned int)(tempfrequence>>8);
	        L_16bit = (unsigned int)(frequence & 0x0000ffff);
	        WriteFreq(H_16bit,H_16bit); 
	    		
		}	
		else
		{
			Difference = DC_zero - Sound;
//	    	Difference = Difference<<8;
//	    	Difference = Difference<<2;
	    	Difference = Difference * pinpian;
	    	frequence -= Difference;
	    	tempfrequence = frequence >>8;
	        H_16bit = (unsigned int)(tempfrequence>>8);
	        L_16bit = (unsigned int)(frequence & 0x0000ffff);
	        WriteFreq(H_16bit,H_16bit); 
			
		}
            *P_INT_Clear=0x1000;	
			*P_Watchdog_Clear=1;
}
//=======================================================================================
//
//=======================================================================================
void IRQ2(void) __attribute__ ((ISR));
void IRQ2(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ3(void) __attribute__ ((ISR));
void IRQ3(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ4(void) __attribute__ ((ISR));
void IRQ4(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ5(void) __attribute__ ((ISR));
void IRQ5(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ6(void) __attribute__ ((ISR));
void IRQ6(void)
{
}
//=======================================================================================
//
//=======================================================================================
void IRQ7(void) __attribute__ ((ISR));
void IRQ7(void)
{
}

⌨️ 快捷键说明

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