📄 control.c
字号:
#define control_c
#include "main.h"
//********************电源控制**************************//
void control_pow(void)
{
static uchar power_onf_sms=0;//应答器无应答计数
if((set_pown==1)&(adv_m>ADV_MIN))
{
set_pown=0; //电源1工作
signal_c=0;//重新搜索GSM信号
}
if(set_pown==0)
{
if((adv_m<ADV_MIN)&(batt_m>3000))
{
set_pown=1; //蓄电池工作
signal_c=0;//重新搜索GSM信号
}
}
//*****************************************电源变换后,稳定30秒发送短信
if(power_ls!=set_pown) //稳定30s发送短信
{
power_onf_sms++;
if(power_onf_sms>30)//
{
if(set_pown==0)
{
sms_counts(8);//系统上电
}
if(set_pown==1)
{
sms_counts(22);//系统断电
}
power_onf_sms=0;
power_ls=set_pown;
}
}
if(power_ls==set_pown)
{
power_onf_sms=0;
}
}
//****************************************
//**********************充电控制***********************//
void Charge_Control(void)
{
batt_m=15*AdcConvert(ADC_BATT_M); //电瓶电压(25*6)
if(batt_m>7500)
{
SET_BATT_C;//停止充电
DelayMs(500);
batt_m=15*AdcConvert(ADC_BATT_M); //电瓶电压(25*6)
}
if((batt_m<3000)|(batt_m>7500))
{
SET_BATT_C;//停止充电
}
if((batt_m<6500)&(batt_m>3000)&(adv_m>ADV_MIN))
{
CLR_BATT_C;// 充电
}
}
//***************模拟量检测******************//
void Simulation_examination(void)
{
read_temperature();//读温度
adv_m=27.5*AdcConvert(ADC_POW); //电源1电压(25*6)
batt_m=15*AdcConvert(ADC_BATT_M); //电瓶电压(25*6)
}
//********************************************//
/*****************************************/
void Condition_control(void) //灯器状态控制
{
Simulation_examination();//模拟量检测
control_pow();//电源控制
}
//******************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -