📄 t_shuanglong.c
字号:
time_counter_main_fan_motor=0x00;
main_fan_motor_bit=1;
error_counter++;
}
}
if(step_main_fan==0x09)
{
led[1]&=~main_fan_motor_testing_led_at1;
led[1]|=main_fan_motor_6_led_at1;
led[2]|=main_fan_motor_1_led_at2;
led[2]|=main_fan_motor_2_led_at2;
led[2]|=main_fan_motor_3_led_at2;
led[2]|=main_fan_motor_4_led_at2;
led[1]|=main_fan_motor_5_led_at1;
main_fan_motor_bit=1;//finish ed
time_counter_xinfeng_motor=0x00;
main_motor_relay=0;
step_main_fan=0x00;
}
refrush_led();
//--------------------------------------------------------------------
//common section
//------------------------------------------
if((wendu_motor_bit==1)&(mode_motor_bit==1)&(xinfeng_motor_bit==1)&(main_fan_motor_bit==1)&(wendu_senser_bit==1)&(zhengfa_senser_bit==1))
{
if(error_counter>0x00)
{
led[0]&=~auto_test_pass_led_at0;
led[0]|= auto_test_test_fail_led_at0 ;
}
else
{
led[0]&=~auto_test_test_fail_led_at0 ;
led[0]|=auto_test_pass_led_at0;
}
refrush_led();
lock_bit=0;//quite out
step_wendu=0x00;
step_mode=0x00;
step_xinfeng=0x00;
wendu_motor_bit=0;
mode_motor_bit=0;
xinfeng_motor_bit=0;
wendu_motor_testing_bit=0;
mode_motor_testing_bit=0;
xinfeng_motor_testing_bit=0;
main_fan_motor_bit=0;//finish ed
main_fan_motor_testing_bit=0;
zhengfa_senser_bit=0;
wendu_senser_bit=0;
error_counter=0x00;
dingshi_qi_bit=1;
}
}
}
//***************************
//key_scan-function
//***************************
void keyscan(void)
{
key_input();
if(KEY_VALUE.bits.bit6==0)//100ma 150ma sel
{
curent_bit=0;
}
else
{
curent_bit=1;
}
if(KEY_VALUE.bits.bit0==0)//auto_mode_test
{
if(KEY_VALUE.bits.bit5==0)//Press_start_test?开始测量按键检测涵数
{
auto_test_process(); //Auto_test_function
}
led[1]|=main_fan_motor_current_sound_led_at1; //led for hand or auto
led[1]&=~main_fan_motor_zhengfa_sense_led_at1; //clr led for senser
led[1]&=~main_fan_motor_wendu_sense_led_at1; //clr led for senser
}
else //hand_mode_test
{
unsigned data_temp=0x00;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[1]&=~main_fan_motor_current_sound_led_at1;
if(KEY_VALUE.bits.bit1==0)//Press_hand_mode_motor_test?
{
static bit start_test=0;
if(togle_1)
{
unsigned data_temp=0x00;
led[0]=0;led[1]=0;led[2]=0;led[3]=0;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[3]|=MODE_MOTOR_OPEN_LED_AT3;
led[3]|=mode_motor_testing_led_at3;
MODE_P=1; //启动模式马达
NOP();
MODE_N=0;
NOP();
}
else
{
unsigned data_temp=0x00;
led[0]=0;led[1]=0;led[2]=0;led[3]=0;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[3]|=mode_motor_close_led_at3;//set close light
led[3]|=mode_motor_testing_led_at3;
MODE_P=0; //启动模式马达
NOP();
MODE_N=1;
NOP();
}
togle_1=!togle_1;
refrush_led();
delay_500mS(2);
start_test = measure_function(test_mode_motor_channel);
if(start_test) //if_success
{
led[3]&=~mode_motor_testing_led_at3;//clr testing light
}
else //if fail set led
{
led[3]=0;
led[3]|=mode_motor_test_fail_led_at3;
}
MODE_P=0; //stop_motor_and_test
NOP();
MODE_N=0;
NOP();
refrush_led();//refrush display light
}
if(KEY_VALUE.bits.bit3==0)//Press_hand_mode_wendu_motor_test?
{
static bit start_test=0;
if(togle_1)
{
unsigned data_temp=0x00;
led[0]=0;led[1]=0;led[2]=0;led[3]=0;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[2]|=wendu_motor_open_led_at2;
led[2]|=wendu_motor_testing_led_at2;
MIX_P=1; //启动温度马达
NOP();
MIX_N=0;
NOP();
}
else
{
unsigned data_temp=0x00;
led[0]=0;led[1]=0;led[2]=0;led[3]=0;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[2]|=wendu_motor_close_led_at2;//set close light
led[2]|=wendu_motor_testing_led_at2;
MIX_P=0; //启动温度马达
NOP();
MIX_N=1;
NOP();
}
togle_1=!togle_1;
refrush_led();
start_test = measure_function(test_wendu_motor_channel);
if(start_test) //if_success
{
led[2]&=~wendu_motor_testing_led_at2;//clr testing light
}
else //if fail set led
{
led[2]=0;
led[2]|=wendu_motor_test_fail_led_at2;
}
MIX_P=0; //stop温度马达
NOP();
MIX_N=0;
NOP();
refrush_led();//refrush display light
}
if(KEY_VALUE.bits.bit2==0)//Press_hand_mode_xinfeng_motor_test?
{
static bit start_test=0;
if(togle_1)
{
unsigned data_temp=0x00;
led[0]=0;led[1]=0;led[2]=0;led[3]=0;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[3]|=xinfeng_motor_open_led_at3;
led[3]|=xinfeng_motor_testing_led_at3;
RF_P=1; //启动新风马达
NOP();
RF_N=0;
NOP();
}
else
{
unsigned data_temp=0x00;
led[0]=0;led[1]=0;led[2]=0;led[3]=0;
//-------------------------------------------
//-----add senser test section
//-------------------------------------------
data_temp=ad_sampling(AD9);//温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_wendu_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_wendu_sense_led_at1;
}
data_temp=ad_sampling(AD10);//蒸发器温度传感器
if((data_temp>100)&(data_temp<250))
{
led[1]|=main_fan_motor_zhengfa_sense_led_at1;
}
else
{
led[1]&=~main_fan_motor_zhengfa_sense_led_at1;
}
//-----------------------------------------------
led[3]|=xinfeng_motor_close_led_at3;//set close light
led[3]|=xinfeng_motor_testing_led_at3;
RF_P=0; //启动新风马达
NOP();
RF_N=1;
NOP();
}
togle_1=!togle_1;
refrush_led();
start_test = measure_function(test_xinfeng_motor_channel);
if(start_test) //if_success
{
led[3]&=~xinfeng_motor_testing_led_at3;//clr testing light
}
else //if fail set led
{
led[3]=0;
led[3]|=xinfeng_motor_test_fail_led_at3;
}
RF_P=0; //关闭新风马达
NOP();
RF_N=0;
NOP();
refrush_led();//refrush display light
}
if(KEY_VALUE.bits.bit4==0)//Press_hand_mode_main_fan_motor_test?
{
static bit start_test=0;
if(blo_step_counter>5)blo_step_counter=0x00;//主电机测试一共六挡超过六复位为零
led[2]=0x00;
led[1]=0x00;
if(blo_step_counter==0x00)
{
led[2]|=main_fan_motor_1_led_at2;
}
else if(blo_step_counter==0x01)
{
led[2]|=main_fan_motor_2_led_at2;
}
else if(blo_step_counter==0x02)
{
led[2]|=main_fan_motor_3_led_at2;
}
else if(blo_step_counter==0x03)
{
led[2]|=main_fan_motor_4_led_at2;
}
else if(blo_step_counter==0x04)
{
led[1]|=main_fan_motor_5_led_at1;
}
else if(blo_step_counter==0x05)
{
led[1]|=main_fan_motor_6_led_at1;
}
CCPR1L=PWM[blo_step_counter];//主风扇测试涵数计数器
led[1]|=main_fan_motor_testing_led_at1;
main_motor_relay=1;//turn on power of main fan
refrush_led();
delay_500mS(10);//give time for main fan runing
start_test = measure_function(test_main_fan_motor_channel);
led[1]&=~main_fan_motor_testing_led_at1;
blo_step_counter++;
if(start_test) //if_success
{
;
}
else //if fail set led
{
led[2]=0;
led[1]=0;
led[1]|=main_fan_motor_test_fail_led_at1;
}
main_motor_relay=0;//turn off power of main fan
refrush_led();//refrush display light
}
}
}
void diingshiqi(void)//dingshi for beep
{
if(dingshi_qi_bit==1)
{
dingshiqi++;
if(dingshiqi>6)
{
led[1]&=~main_fan_motor_current_over_led_at1;
led[0]&=~auto_test_pass_led_at0;
led[0]&=~auto_test_test_fail_led_at0 ;
refrush_led();//refrush display light
dingshi_qi_bit=0;
dingshiqi=0x00;
}
delay_500mS(1);
}
else
{
dingshiqi2++;
if(dingshiqi2>0x7ff)
{
dingshiqi2=0x00;
refrush_led();//refrush display light
}
NOP();
}
}
void main()
{
TRISA=0xFF;
TRISB=0xFF;
TRISC=0x00;
TRISD=0x80;
// TRISE=0x07;
PORTC=0x00;
PORTD=0x00;
ADCON0=0x41;
ADCON1=0x80;
CCP1CON=0X0F; //设置PWM模式
PR2=0XFF; //Timer2周期(占空比总长度)
T2CON=0X7F;
CCPR1L=0x00;
INTCON=0x00; /* bit7-bit0:关总中断*/
PIR1=0X00; //清除所有中断
T1CON=0X01; //使能Timer1定时器、内部时钟*/
bitset(INTCON,6); //set PEIE bit
bitset(INTCON,7); //set GIE bit
// KEY_VALUE.byte=0x00;
refrush_led();//initial_all_led_to_off_status
while(1)
{
keyscan();
diingshiqi();
}
}
//***************************
//time1_interrupt_function
/***************************
void interrupt ISR(void) //中断处理函数
{
if(TMR1IF) //Timer1中断
{
TMR1IF=0;
TMR1H=0X3C; //Timer1=0xC350=50000
TMR1L=0XAF;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -