📄 ad.c
字号:
/*************************************************************************
文件名: AD_result()
日期: 2008年1月3日
公司(作者): 马学平
描述和说明: AD_result()
*************************************************************************/
#include"F2407REGS_c.h"
#include"float.h"
extern unsigned char pa[];
extern unsigned char err;
extern float ad_result[]; //AD采样结果暂存
extern float ad_remember[]; //AD记忆,以便滤波
extern unsigned char ad_ok[]; //AD最终值
extern unsigned char look[]; //监控显示
extern unsigned long clock_t4=5000000;
unsigned char t4pr;
extern unsigned char run; //运行命令,=1为运行命令使能
extern unsigned char running; //运行标志,=1为运行状态
AD_result()
{
unsigned char i;
float Ue;
Ue=pa[13];
while((ADCTRL2 & 0x0202)==0)
;
ad_result[0]=RESULT0>>6;
ad_result[1]=RESULT1>>6;
ad_result[2]=RESULT2>>6;
ad_result[3]=RESULT3>>6;
ad_result[4]=RESULT4>>6;
ad_result[5]=RESULT5>>6;
ad_result[6]=RESULT6>>6;
ad_result[7]=RESULT7>>6;
ad_result[8]=RESULT8>>6;
ad_result[9]=RESULT9>>6;
ad_result[10]=RESULT10>>6;
ad_result[11]=RESULT11>>6;
ADCTRL2=ADCTRL2|0x0200;
ad_remember[0]=ad_result[0];//PL如果需要滤波另加
ad_remember[1]=ad_result[1];//ES
ad_remember[3]=ad_result[3];//vol
ad_remember[4]=ad_result[4];//heat
ad_remember[2]=ad_remember[2]*(pa[165]-1)/pa[165]+ad_result[2]/pa[165];
ad_remember[5]=ad_remember[5]*(pa[165]-1)/pa[165]+ad_result[5]/pa[165];
ad_remember[6]=ad_remember[6]*(pa[165]-1)/pa[165]+ad_result[6]/pa[165];
ad_remember[7]=ad_remember[7]*(pa[165]-1)/pa[165]+ad_result[7]/pa[165];
for(i=0;i<8;i++)
{
if(ad_remember[i]<10)
ad_ok[i]=0;
else if(ad_remember[i]>1010)
ad_ok[i]=1000;
else
ad_ok[i]=ad_remember[i]-10;
}
look[5]=ad_ok[3]; //直流母线
look[11]=ad_ok[3]*19/27; //输入电压有效值
look[8]=ad_ok[4]; //温度???待处理
if(look[11]>Ue*3/40) //>75%吸合
PBDATDIR=PBDATDIR & 0xffef;//jc=1
if(look[11]<Ue*13/200) //<65%断开
PBDATDIR=PBDATDIR | 0x0010;//jc=0
// if(look[11]<Ue*pa[58]/1000)
// if((run==1)||(running==1))
// err=err|8;//off
if(look[11]>Ue*pa[59]/1000)
if((run==1)||(running==1))
err=err|16;//ou
CMPR4=ad_ok[6]*5;//仅测试用
CMPR5=ad_ok[7]*5;//仅测试用
t4pr=clock_t4/(ad_ok[6]*50);
if(t4pr!=0)
t4pr=t4pr-1;
T4PER=t4pr;
T4CMP=T4PER/2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -