您当前的位置:五五电子网电子知识单片机-工控设备51单片机STC单片机AD转换,外部触发,数码管显示电路 正文
STC单片机AD转换,外部触发,数码管显示电路

STC单片机AD转换,外部触发,数码管显示电路

点击数:7813 次   录入时间:03-04 11:54:00   整理:http://www.55dianzi.com   51单片机
    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();//显示到复位
    }
}  


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)  
    {  
           // 等待中断  
    }  
}



上一页  [1] [2] 


本文关键字:单片机  数码管  51单片机单片机-工控设备 - 51单片机