这个单片机程序的中断发生条件是什么?这个单片机程序的中断发生条件是什么? void sys_init() { EA=1; P1ASF=0x40;//将P1^7设置为模拟输入 ADC_CONTR=0xe7;//开启ADC电源,设置为最快转换速度,停止转换,选取P1^7作为ADC输入 ADC_RES=0;//清除结果寄存器 /*ADRJ=0;//ADC_RES[7:0]存放高8位ADC结果,ADC_RES[1:0]存放低2位ADC结果 EADC=1;//A/D转换中断允许 PADC=1;//设置A/D转换中断优先级为最高*/ //CLK_DIV=0X20; EADC=1; PADC=1; } ******************************************************************************************** 函数名称: main** 函数功能: 主函数** 入口参数: 无** 出口参数: 无*******************************************************************************************/ void main(){ buzz=0; fengshan=0; flag=0; CCON=0; CL = 0; CH = 0; CMOD = 0x02; CR = 1; stop(); sys_init();while(1){ ADC_CONTR=0xef;delay(1000);//这段暂停的时间用于等待AD转换完成} }void ADC_Routine() interrupt 5//中断发生证明AD转换的结束{ ADC_CONTR&=!0x10;//清除ADC中断标志,例程 ADC_DATA=ADC_RES*4+ADC_RESL;/*读取转换后的电压值,放入vin变量中*/ //vin=(float)ADC_DATA*5/1024; /*查表,获取按下的键值信息,存入ADC_value中,这个ADC_value不是转换后的键值,而是包括了没有按键按下的时候对应的设定值,根据设定值可以知道按键没有被按下,现假设这个设定值是16*/ if(ADC_DATA<90&&ADC_DATA>50){ qianjin_1(); } else (ADC_DATA<150&&ADC_DATA>112) { stop(); }}