📄 initial_main.h
字号:
#include "define_W77E058.h"
extern void delayms(unsigned int);
extern void ClrRXD(unsigned char *);
extern void Disdata(unsigned char);
extern bit write_I2C(unsigned char address,unsigned char c);
extern unsigned char read_I2C(unsigned char);
extern void Serial1_Send(unsigned char*);
//////***********************************************************
//参数设置函数
//****************************************************************
bit SetParameter()
{
unsigned xdata i;
for(i=0;i<555;i++)
{
delayms(80); Disdata(13); Disdata(10);Disdata(ADR1%10);Disdata(ADR1%100/10);Disdata(ADR1/100);
if(!Key_Dec&Key_Add) { if(!Key_Dec&Key_Add) ADR1=ADR1-1; i=0; while(!Key_Dec&Key_Add);write_I2C(0xf0,ADR1); }
if(Key_Dec&!Key_Add) { if(Key_Dec&!Key_Add) ADR1=ADR1+1; i=0; while(Key_Dec&!Key_Add);write_I2C(0xf0,ADR1); }
if(!Key_Dec&!Key_Add){ if(!Key_Dec&!Key_Add) ADR1=0; i=0; while(!Key_Dec&!Key_Add);write_I2C(0xf0,ADR1);}
if(!Key_Enter) { delayms(20); while(! Key_Enter);write_I2C(0xf0,ADR1); goto second1; }
if(i==450) goto second1;
}
///////////////////////////////AD11
second1:
for(i=0;i<555;i++)
{
delayms(80);Disdata(13); Disdata(13);Disdata(ADR2%10);Disdata(ADR2%100/10);Disdata(ADR2/100);
if(!Key_Dec&Key_Add) { delayms(20); if(!Key_Dec&Key_Add)ADR2=ADR2+1; i=0; while(!Key_Dec&Key_Add);write_I2C(0xf2,ADR2); }
if(Key_Dec&!Key_Add) { delayms(20); if(Key_Dec&!Key_Add)ADR2=ADR2-1; i=0; while(Key_Dec&!Key_Add);write_I2C(0xf2,ADR2); }
if(!Key_Dec&!Key_Add){ delayms(20); if(!Key_Dec&!Key_Add) ADR2=0; i=0; while(!Key_Dec&!Key_Add);write_I2C(0xf2,ADR2);}
if(! Key_Enter) { delayms(20); while(! Key_Enter);write_I2C(0xf2,ADR2); return 0;}
if(i==450) return 0;
}
}
//////***********************************************************
//主函数初始化
//****************************************************************
void Init_Main()
{
bit bdata Setflag;//设置符
// unsigned char code Txd0[12]={0xaa,0x05,0x01,0x01,0x0d,0x01,0x15,0x55};
ctr1=0;
// Serial_initial();//double Serial is Initial
// Watchdog_initial();//Watchdog is Initial
// Initial_I2C();
ADR2=read_I2C(0xf2);
ADR1=read_I2C(0xf0);
if( Key_Enter&&Key_Dec&&Key_Add)//让各位为1
{
buzzer=1;delayms(100); buzzer=0;delayms(200);buzzer=1;delayms(100);buzzer=0;delayms(400);buzzer=1;delayms(300);buzzer=0;
Disdata(17);Disdata(1);Disdata(0);Disdata(8);Disdata(0);ADR1=read_I2C(0xf0);ADR2=read_I2C(0xf2); //显示版本为V0801
//while(CheckError); delayms(10); while(!CheckError);
delayms(700);//buzzer is normal flag //while(Key_Add||Key_Dec|| Key_Enter);
}
kc1=kc0=0;//communication flag for the number of data
flag1=flag0=1;//Communication flag is complete flag
ClrRXD(rxdbuf0);//Clear the Receive buffer0
//ClrRXD(txdbuf0);
ClrRXD(rxdbuf1);//Clear the Receive buffer1
//ClrRXD(txdbuf1);
if(! Key_Enter&&!Key_Dec&&!Key_Add)//当第三个按键都为0时,进行系统参数的设置,显示为------,同时Setflag is 1
{
delayms(200);while(!Key_Enter&&!Key_Dec&&!Key_Add); Setflag=1;
//Disdata(23);Disdata(23);Disdata(23);Disdata(23);Disdata(23);while(!Key_Add&&!Key_Dec&&! Key_Enter);Setflag=1;
delayms(1500);
}
while(Setflag){Setflag=SetParameter();}//the most important flag
Disdata(ADR2%10);Disdata(ADR2/10);Disdata(27);Disdata(ADR1%10);Disdata(ADR1/10);delayms(2720);
//while(CheckError);delayms(10);while(!CheckError);
//Serial1_Send(Txd0);
//Disdata(1);Disdata(1);Disdata(4);Disdata(1);Disdata(1); delayms(500);// while(CheckError);delayms(10);while(!CheckError);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -