void timer0_int() interrupt 1 //定时器0中断输出脉冲
{
cnt_t0++;
if(!flag_Hz)
{
switch(cnt_t0)
{
case 1 :pwm0=1;break;
case 26 :pwm0=0;break;
case 51 :pwm1=1;break;
case 76 :pwm1=0;break;
case 101:pwm2=1;break;
case 126:pwm2=0;break;
case 151:pwm3=1;break;
case 176:pwm3=0;break;
case 201:pwm4=1;break;
case 226:pwm4=0;break;
case 251:pwm5=1;break;
case 276:pwm5=0;break;
case 301:cnt_t0=0;cnt_times++;break;
default:break;
}
}
if(flag_Hz)
{
switch(cnt_t0)
{
case 1 :pwm0=1;break;
case 6 :pwm0=0;break;
case 11:pwm1=1;break;
case 16:pwm1=0;break;
case 21:pwm2=1;break;
case 26:pwm2=0;break;
case 31:pwm3=1;break;
case 36:pwm3= 0;break;
case 41:pwm4=1;break;
case 46:pwm4=0;break;
case 51:pwm5=1;break;
case 56:pwm5=0;break;
case 61:cnt_t0=0;cnt_times++;break;
default:break;
}
}
}
void timer1_int() interrupt 3 //定时器1中断 监控
{
cnt_t1++;
if(!flag_Hz)
{
switch(cnt_t1)
{
case 3 :flag_watch0=1;break;
case 23 :flag_watch0=0;break;
case 53 :flag_watch1=1;break;
case 73 :flag_watch1=0;break;
case 103:flag_watch2=1;break;
case 123:flag_watch2=0;break;
case 153:flag_watch3=1;break;
case 173:flag_watch3=0;break;
case 203:flag_watch4=1;break;
case 223:flag_watch4=0;break;
case 253:flag_watch5=1;break;
case 273:flag_watch5=0;break;
case 301:cnt_t1=0;break;
default:break;
}
}
if(flag_Hz)
{
switch(cnt_t1)
{
case 2 :flag_watch0=1;break;
case 5 :flag_watch0=0;break;
case 12:flag_watch1=1;break;
case 15:flag_watch1=0;break;
case 22:flag_watch2=1;break;
case 25:flag_watch2=0;break;
case 32:flag_watch3=1;break;
case 35:flag_watch3=0;break;
case 42:flag_watch4=1;break;
case 45:flag_watch4=0;break;
case 52:flag_watch5=1;break;
case 55:flag_watch5=0;break;
case 61:cnt_t1=0;break;
default:break;
}
}
}
void ADC_int() interrupt 5
{
ADC_CONTR &= ~ADC_FLAG;
}
/*----------------------------
Initial ADC sfr
----------------------------*/
void InitADC()
{
ADCCFG = 0x08; //设置ADC时钟为系统时钟/2/16/16
EADC = 1; //使能ADC中断
ADC_RES = 0; //Clear previous result
ADC_RESL = 0;
} 作者: lon15926 时间: 2019-4-10 21:02