//ADC_Channel_7_Result=0x02;
//ADC_Channel_72_Result=0x01;
Deal_AD_Result() ;//10位高8与低2存储调整结果存入dis_0-dis_4变量
DisPlay();//显示到复位
}
}
void int_1() interrupt 2 // 外部中断1中断服务程序
{
/*EA=0;//关中断总开关
P1=0xFF;
ADC_Power_On();//开ADC 电源, 第一次使用时要打开内部模拟电源开ADC 电源, 可适当加延时,1mS 以内就足够了
set_P17_Open_Drain();//设置 P1.7为开漏/实际上开
Set_ADC_Channel_7(); //;设置 P1.7 作为A/D 转换通道
while(1)
{
Get_AD_Result();//测量电压并且取A/D 转换结果
//ADC_Channel_7_Result=0x02;
//ADC_Channel_72_Result=0x01;
Deal_AD_Result() ;//10位高8与低2存储调整结果存入dis_0-dis_4变量
DisPlay();//显示到复位
}
*/
unsigned char p,q;
EA="0";//关中断总开关
P1=0xFF;
ADC_Power_On();//开ADC 电源, 第一次使用时要打开内部模拟电源开ADC 电源, 可适当加延时,1mS 以内就足够了
set_P17_Open_Drain();//设置 P1.7为开漏/实际上开
Set_ADC_Channel_7(); //;设置 P1.7 作为A/D 转换通道
Get_AD_Result();//测量电压并且取A/D 转换结果
p=ADC_Channel_7_Result;//比较本次与前次的AD转换值,小于则退出AD转换
q=ADC_Channel_72_Result;
do {p=ADC_Channel_7_Result;
q=ADC_Channel_72_Result;
Get_AD_Result();
}
while((p>ADC_Channel_7_Result)||((p==ADC_Channel_7_Result)&&(q>ADC_Channel_72_Result)));
Set_P12_Normal_IO();//设置 P1.7 为普通IO
Deal_AD_Result() ;//10位高8与低2存储调整结果存入dis_0-dis_4变量
while(1)
{
DisPlay();//显示到复位
}
}
void main() //主程序
{
P3 = 0xff; // 关所有数码管
IT0 = 1; // 外部中断0下降沿触发
EX0 = 1; // 开外部中断0
IT1=1;
EX1=1;
EA = 1; // 开总中断
while(1)
{
// 等待中断
}
}
上一篇:STC单片机AD转换程序设计