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

📄 isr.c

📁 水温控制系统,凌阳的61板做的
💻 C
字号:
#include "hardware.h"
#define P_IOB_Data         		(volatile unsigned int *)0x7005
#define P_INT_Ctrl				(volatile unsigned int *)0x7010
#define P_INT_Clear				(volatile unsigned int *)0x7011
#define ClearWDog				*(volatile unsigned int *)0x7012=1
#define P_ADC_MUX_Ctrl			(volatile unsigned int *)0x702B
#define P_ADC_MUX_Data			(volatile unsigned int *)0x702C

extern unsigned int  TempPress;		//  1:按下"输入温度";  0:没按
extern unsigned int  ResetPress;		//  1:按下"复位";  0:没按
extern unsigned int DispIt;			//  1:刷新LCD;  0:不刷新 (0.5s)
extern unsigned int ADOK;			//  1:AD转换完成;  0:没完成
extern unsigned int DingShi;		//  1:5分钟定时报音;  0:不定时报音
extern unsigned int DingShiTime;	//定时报音时间累计
extern unsigned int UpTime;			//上传时间累计
extern unsigned int  HeatTime;			//加热时间(毫秒)
extern unsigned int ADCDataSave[10];//读取的10次AD值

void ReadAD();		//读取10次AD,存在ADCDataSave[]

//=============================================
//函数: IRQ5
//说明: IRQ5_2Hz中断
//=============================================
void IRQ5(void) __attribute__ ((ISR));
void IRQ5(void)
{

if(*P_INT_Ctrl&0x0004)
	{ 
	ClearWDog;			//IRQ5_2Hz
	*P_INT_Clear=0x0004;
	
	ReadAD();
	
	DispIt=1;
	UpTime++;			//上传时间计数
	if(DingShi==1)DingShiTime++;		//定时报音计数
	}
else
	{ 
	*P_INT_Clear=0x0008;				//IRQ5_4Hz
	}
}


//=============================================
//函数: IRQ1
//说明: IRQ1_TMA中断,10ms
//=============================================
void IRQ1(void) __attribute__ ((ISR));
void IRQ1(void)
{
*P_INT_Clear=0x1000; //clear INT flag
if(HeatTime)
	HeatTime--;
if(HeatTime==0)
	*P_IOB_Data&=0xffdf;	//关继电器
}



//=============================================
//函数: ReadAD
//语法: void ReadAD(void)
//参数: 无
//说明: 读取10次AD,存在ADCDataSave[]
//=============================================
void ReadAD()
{
unsigned int i;
for(i=0;i<10;i++)
	{
	ClearWDog;
	while(!(*P_ADC_MUX_Ctrl&0x8000)); 		//wait,until ADC complete
	ADCDataSave[i]=*P_ADC_MUX_Data;
	ADCDataSave[i]&=0xffc0;
	}
ADOK=1;
}

⌨️ 快捷键说明

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