⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddj.h

📁 电动机保护测量程序,用的是DSP2407,
💻 H
📖 第 1 页 / 共 2 页
字号:
void SCIInit();
void TimerInit();
void ADCInit();
void DSPInit(void);			
void delay(int);
void softwareinit();
unsigned long ex_feedbk(unsigned long int dingzhi);            /*计算过量返回值*/ 

void ReadBHDingZhip(void);
void WriteBHDingZhi(void);/*往EEPROM中写保护定值*/
void DingZhiXiuGai(); 
unsigned long int DingZhiP[38];
unsigned long int DingZhi[38];

float Fzhz;      


//故障逻辑过程函数及变量
//void CKLJ();                   /*电压时间型和电压电流时间型处理控制逻辑*/
//void GZGLKG();               /*故障隔离开关*/
void GZJCSuanFaLJ();           /*故障检测算法逻辑*/ 

//int KaiGuan1HZOne_flag=0;      /*合闸一次检测--1有效*/    
int KaiGuan1HZover_flag=0;
int KaiGuan1FZover_flag=0;

int ADDfirstFW_flag=0;         /*开关分位,A侧首次带电标记--1有效*/
int BDDfirstFW_flag=0;         /*开关分位,B侧首次带电标记--1有效*/
int ABDDfirstHW_flag=0;        /*开关合位,首次带电标记--1有效*/  

int DD_flag=0x000;
int ABiSuo_flag=0;             /*A 向闭锁标记--1有效*/
int BBiSuo_flag=0;             /*B 向闭锁标记--1有效*/ 
int LLqd_flag=0;               /*联络允许--1有效*/ 

long int T1_timer=0;           /*逻辑T1时限--T1*/
long int T2_timer=0;           /*逻辑T2时限--T2*/
long int T21_timer=0;
long int T22_timer=0;
long int T3_timer=0;           /*逻辑T3时限--T3*/
long int YYtimer=0;            /*瞬时加压--38(150ms)*/
//long int GZGLMaiKuantimer=0;   /*故障隔离继电器脉冲宽度*/ 
 
int step_flag=0; 

int YYtimerqd_flag=0;    	          
int T1_timerqd_flag=0;
//int GZGLMaiKuantimerqd_flag=0;
int T2_timer_flag=0;      
int T3_timerqd_flag=0;

//通讯模块定义
#define _REQUIRE        0x04
#define  _COMPLETE      0xa5
void (*FuncPtr)();
void made_resetlianlu();
void made_dingzhi();
void made_endrequire();
void made_execute();
void made_cancle();
void made_choise();
void made_reset();
void made_resetcu();
void made_time();
void made_soe();
void made_statuschange();
void made_signal1();
void made_signal2();
void made_dzchenggong();
void made_dzshibai();
void made_lubo(); 
void made_endlianlu();
void DingZhiLoad();
void dealdata();
unsigned int isrepeat();
unsigned int isreqiredata();
unsigned int dealcommand();
void resend(void);
void made_zongzhaocom();
void made_messure3();
void made_messure2();
void made_messure1();
void made_measurechange();
void made_nodata();
void made_netstatus();
unsigned int ADC; //控制域中ADC位
unsigned int DFC=0; 
unsigned int DCS;
unsigned int QUEST;
unsigned int ACT;
unsigned int len_flag=0;
unsigned int len=0;
unsigned int JS_counter=0;
unsigned int CSDian_flag=0;
unsigned int SOEFind_flag=0;
unsigned int TwoData_flag=0;
unsigned int DingZhiZhen_changdu,ZuHao;
unsigned int xfdzchenggong_flag;
unsigned int DingZhiXiuGai_flag[6];
unsigned int YCNum;
unsigned int cImVala[31],cImValp[31],cImValb[31]; 
unsigned int cImVal[77];
unsigned int receive_data[256]; /* 接收缓冲区 */
unsigned int receive_datap[256];//临时接收缓冲
unsigned int senddata[256];     /* 发送缓冲区 */
unsigned int FCB;          /* 控制域 */
unsigned int BS=0;
unsigned int control_flag;     /* 控制状态 */
unsigned int flag_485;         /* 一个完整接收——发送过程的执行状态 */
unsigned int GUreset_flag=0;
unsigned int CPUreset_flag=0x5555;
unsigned int resetcu_flag=0x5555;
unsigned int dataIndex;
unsigned int XinXiADDr;
unsigned int channel;           /* 上位机遥控命令的通道号 */
unsigned int d_command_status;  /* 上位机遥控命令的双点信息 */
unsigned int YaoXin[16],YaoXinp[16];
unsigned int YaoXin0,YaoXin1,YaoXin2,YaoXin3,YaoXin4,YaoXin5,YaoXin6,YaoXin7;
unsigned int YaoXin8,YaoXin9,YaoXin10,YaoXin11,YaoXin12,YaoXin13,YaoXin14,YaoXin15;
unsigned int soe_xuhao[17];
unsigned int soe_value[17];
unsigned int soe_millisecond[17];
unsigned int soe_second[17];
unsigned int soe_minute[17];
unsigned int soe_day[17];
unsigned int soe_hour[17];
unsigned int soe_month[17];
unsigned int soe_year[17];
unsigned int soe_no;
unsigned int send_length=1;
unsigned int senddata_length=0;
unsigned int senddata_over=0xaaaa;
///SPI读写操作
//补偿寄存器定义
//与0X80进行或运算,(因bit7=1表示命令,用于更新校表数据)
/*
#define	Iregion1		0x02
#define Iregion2		0x03
#define Iregion3		0x04
#define	Iregion4		0x05
#define	PgainA0			0x06//
#define	PgainB0			0x07
#define PgainC0			0x08
#define PgainA1			0x09
#define PgainB1			0x0A
#define PgainC1			0x0B       
#define PhsregA0		0x0C          
#define PhsregA1		0x0D          
#define PhsregA2		0x0E          
#define PhsregA3		0x0F          
#define PhsregA4		0x10 
#define PhsregB0		0x11         
#define PhsregB1		0x12          
#define PhsregB2		0x13          
#define PhsregB3		0x14          
#define PhsregB4		0x15 
#define PhsregC0		0x16          
#define PhsregC1		0x17          
#define PhsregC2		0x18          
#define PhsregC3		0x19          
#define PhsregC4		0x1A          
#define UgainA			0x1B
#define UgainB			0x1C
#define UgainC			0x1D
#define Iregchg			0x1E
#define Istartup		0x1F
#define HFConst			0x20
#define IgainA			0x26
#define IgainB			0x27
#define IgainC			0x28
#define FailVoltage		0x29
#define EnergyAddMode	        0x2A
*/
#define	Iregion1		0x82
#define Iregion2		0x83
#define Iregion3		0x84
#define	Iregion4		0x85
#define	PgainA0			0x86//
#define	PgainB0			0x87
#define PgainC0			0x88
#define PgainA1			0x89
#define PgainB1			0x8A
#define PgainC1			0x8B       
#define PhsregA0		0x8C          
#define PhsregA1		0x8D          
#define PhsregA2		0x8E          
#define PhsregA3		0x8F          
#define PhsregA4		0x90 
#define PhsregB0		0x91         
#define PhsregB1		0x92          
#define PhsregB2		0x93          
#define PhsregB3		0x94          
#define PhsregB4		0x95 
#define PhsregC0		0x96          
#define PhsregC1		0x97          
#define PhsregC2		0x98          
#define PhsregC3		0x99          
#define PhsregC4		0x9A          
#define UgainA			0x9B
#define UgainB			0x9C
#define UgainC			0x9D
#define Iregchg			0x9E
#define Istartup		0x9F
#define HFConst			0xa0
#define IgainA			0xa6
#define IgainB			0xa7
#define IgainC			0xa8
#define FailVoltage		0xa9
#define EnergyAddMode	        0xaA

/*-----------------------------------------------------------------------------------
I2C子程序相关定义
-------------------------------------------------------------------------------------*/
/*I2C操作*/
#define SDA_1() {PFDATDIR = PFDATDIR|0x2000;PFDATDIR = PFDATDIR|0x0020;} /* SDA_1( ) */	
#define SDA_0() {PFDATDIR = PFDATDIR|0X2000;PFDATDIR = PFDATDIR&0XFFDF;} /* SDA_0( ) */
#define SCL_1() {PFDATDIR = PFDATDIR|0X0100;PFDATDIR = PFDATDIR|0X0001;} /* SCL_1( ) */
#define SCL_0() {PFDATDIR = PFDATDIR|0X0100;PFDATDIR = PFDATDIR&0XFFFE;} /* SCL_0( ) */
void writeI2C();
void readI2C();
void I2C_delay(void);
void I2CStart(void);
void I2CStop(void);
int WaitAck(void);
void SendAck(void);
void SendNotAck(void);
void I2CSendByte(int ch);
int I2CReceiveByte(void);
/*时钟*/
void SetPCF8583(); 
void GetPCF8583();
void PCF8583Init_time();
void SetTimeToPCF8583();
void GetTimeFromPCF8583();
void write_iic(unsigned int timetype,unsigned int value);
void transmit(unsigned int ch);
void read_iic();
void slave_ack();
void tingzhi();
void start();
unsigned int receive();
void iic_dly();
void master_ack();
void no_ack();
unsigned int millisecond_set,millisecond_get;
unsigned int millisecond_gewei;
unsigned int millisecond_js=0;
unsigned int second_set,second_get;
unsigned int minute_set,minute_get;
unsigned int hour_set,hour_get;
unsigned int week_set,week_get;
unsigned int day_set,day_get;
unsigned int month_set,month_get;
unsigned int year_set,year_get; 
unsigned int yearflag=0;
unsigned int Time[32];
unsigned int  DiShiQi_1S=0;
/*-----------------------------------------------------------------------------------
其它子程序相关定义
-------------------------------------------------------------------------------------*/
/*延时*/
void ys(unsigned int sum);




void YaoTiaoDingZhiP(void);
void YiaoTiaoIni(void);
float Fzhzold1,Fzhzold2;
int   Fzhztimer=0; 
unsigned int   repare_he=0x5555;  
unsigned int   repare_fen=0x5555;
/*-----------------------------------------------------------------------------------
测试程序相关定义
-------------------------------------------------------------------------------------*/
int qq;
void send_data(int num);
unsigned int fstwo_flag=0xaa;//用来轮换发送二级数据遥测和SOE顺序
unsigned int JDQqudou_timer=0;//去抖计数器
unsigned int JDQqudou_flag=0x5555;
void JDQ_doudong(unsigned int qudou_x,unsigned int qudou_y);//去抖

/*-----------------------------------------------------------------------------------
测试程序相关定义
-------------------------------------------------------------------------------------*/
int qq;
void send_data(int num);
//unsigned int senddata_over=0xaaaa;     

int cao[50];
int tempcao=0;
//int caobak[24]={30000,37765,45000,51213,55981,58978,60000,58978,55981,51213,45000,37765,30000,22235,15000,8787,4019,1022,0,1022,4019,8787,15000,22235};
//int caobak1[24]={30000,37765,45000,51213,55981,58978,60000,58978,55981,51213,45000,37765,30000,22235,15000,8787,4019,1022,0,1022,4019,8787,15000,22235};

//int caobak[24]={30000,30776,31500,32121,32598,32897,33000,32898,32598,32121,31500,30776,30000,29224,28500,27879,27402,27102,27000,27102,27401,27879,28500,29224};
//int caobak1[24]={30000,30776,31500,32121,32598,32897,33000,32898,32598,32121,31500,30776,30000,29224,28500,27879,27402,27102,27000,27102,27401,27879,28500,29224};
int caobak[24]={30000,30155,30300,30424,30520,30580,30600,30580,30520,30424,30300,30155,30000,29844,29700,29576,29480,29420,29400,29420,29480,29576,29700,29845};
int caobak1[24]={30000,30155,30300,30424,30520,30580,30600,30580,30520,30424,30300,30155,30000,29844,29700,29576,29480,29420,29400,29420,29480,29576,29700,29845};



int testlgc=0;
int ADjgpt_pt; 
int a,b;  
long int tempr,tempi;  
unsigned long int tempIr,tempIi;
unsigned int timer1t,timer2t,testlgc1,testlgc2[20],t=0;  
#define  CAO_SHOUDIZHI     *(int *)0x09C0 
#define  AR_DIZHI     *(int *)0x0C80 


//X5643
#define  en_wstatus   0x01     //写状态寄存器相应指令代码
#define  en_writead   0x02     // 向指定地址单元写数
#define  en_readad    0x03     // 从指定地址读数指令代码 
#define  res_wel      0x04     //复位写使能指令代码
#define  en_rstatus   0x05     //读状态寄存器指令代码
#define  en_wel       0x06     //写使能指令代码

//void delay(int );
void init_X5643();//初始化与串行EEPROM有关的寄存器
void X5643_send(int data);
void X5643_enable(void);
void X5643_R_busy();
int  X5643_recieve();
void X5643_write(int addr, int data_w);
int  X5643_read(int addr);
void delay(int );

//屏幕相关变量
#define CZP_linenum 6

unsigned int CZP_line,status,current_screen,CZP_display_flag,xianshi_display_flag;  
unsigned int xianshi_line,dingzhi_display_flag,kouling_display_flag,canshu_display_flag;
unsigned int cursor_pw,dingzhi_set_flag,DZP_line,suduan_display_flag,guodianya_display_flag;
unsigned int kouling_set_flag,CS_line;
unsigned int bupingheng_display_flag,ziqidong_display_flag,tiaoya_display_flag,fenpin_display_flag;
unsigned int DZP_line;

void KaiJiPing(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -