📄 try0.c
字号:
break ;
}
else
{
if(y+1==2)
{
adtemp[0][address].adh=0xaa;
adtemp[0][address].adl=0xaa;
adtemp[0][address].adig=0x0f;
address++;
}
}
}
// address++;
if((address==4))
{
b=point1;
c=point2;
point1=(point1+12)%0x7fef;
point2=(point2+12)%0x7fef;
for(a=0;a<4;a++)
{
eepwrite(c/256,c%256,adtemp[0][a].adh);
//addate[9][a].adh=adtemp[0][a].adh;
check();
c=c++;
c=c%0x7fef;
//if(c==0x7fef)
// c=0;
eepwrite(c/256,c%256,adtemp[0][a].adl);
//addate[9][a].adl=adtemp[0][a].adl;
check();
c++;
c=c%0x7fef;
//if(point2==0x7fef)
// point2=0;
eepwrite(c/256,c%256,adtemp[0][a].adig);
//addate[9][a].adig=adtemp[0][a].adig;
check();
c++;
//if(point2==0x7fef)
// point2=0;
c=c%0x7fef;
}
address=0;
ms50=0;
/*if(qi==0)
{ adp1++;
adp2++;
adp1=adp1%10; //十路中的循环
adp2=adp2%10;//十路循环
}*/
}
}
}
void ext1() interrupt 2
{
}
void time1() interrupt 3
{
}
void serial() interrupt 4 //串行中断 接收数据
{
//读回来的数据还没有保存到eeprom
uchar ud=0;
if(TI==1)
;
else
{ if(RI==1)
{
// qi++;
switch(qi)
{
case 0:
adtemp[0][address].adh=SBUF; //这里应该与上一个数
qi++;
se=0;
break;
case 1:
adtemp[0][address].adl=SBUF;
se=0;
qi++;
break;
case 2:
adtemp[0][address].adig=SBUF;
se=0;
qi++;
break;
case 3:
ud=SBUF;
if(adtemp[0][address].adh+adtemp[0][address].adl+adtemp[0][address].adig==ud)
{
se=1;
ms6=1;
}
qi=0;
break;
}
RI=0;
}
}
}
void main(void)
{ uchar i,j,led,mul,m;
uint n;
//***********************************************************************************//
{ //一般的初始化
SP=0x60;
con=0; // 开液晶屏
cs=1; // iic eeprom 有效
delay(100);
disinit(); //液晶显示初始化
//adp2=9; //指向最后一点数据
//adp1=0; //指向第一点数据
} // 一般的初始化结束
// eepwrite(0x7f,0xff,0x00);
// check();
// eepwrite(0x7f,0xfa,0x1);
// check();
//point1=eepread(0x7f,0xff);
// point1<<=8;
// point1=point1|eepread(0x7f,0xfe);
point2=eepread(0x7f,0xff);
point2<<=8;
point2=point2|eepread(0x7f,0xfe);
point1=(point2-0x78)%0x7fef;
which=eepread(0x7f,0xfb); //读出上次掉电前转换的是哪一路
select=eepread(0x7f,0xfa);//读出上次掉电前是什么模式
move=eepread(0x7f,0xf9);
pause=eepread(0x7f,0xf8); //初始值可以写进去
n=point1;
//****************************************读出数据最后一次写入的10点数据***********************************//
// point1=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{ // addate[10][4];
addate[i][j].adh=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adl=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adig=eepread(n/256,n%256);
n++ ;
n=n%0x7fef;
}
for(i=7;i<14;i++)
for(j=0;j<4;j++)
{
addate[i][j].adh=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adl=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adig=eepread(n/256,n%256);
n++ ;
n=n%0x7fef;
}
maxinit();//总线485通信初始化
ET0=1;
TR0=1;
IE0=0;
EX0=1; //kai wai bu zhong duan
select=1;
// pause=0;
while(1)
{ //which
ms2=1;
if(select==1)
{
if(ms2==1)
{
ms2=0;
m=(mul)%10;
j=m;
if(j>=3)
j=j+4;
//z中断应不应该关掉呢?? 不能关的
for(i=0;i<4;i++)
{
if(i==1)
write(0x90,0);
else
if(i==2)
write(0x88,0);
else
write(0x80+i*8,0);
write(0x30+i,1);
write(':',1);
write(' ',1);
write(0x30+addate[j][i].adh/10,1);
write('.',1);
write(0x30+addate[j][i].adh%10,1);
write(0x30+addate[j][i].adl/10,1);
write(0x30+addate[j][i].adl%10,1);
write('(',1);
write('V',1);
write(')',1);
write(' ',1);
write(0x30+addate[j][i].adig,1);
// write(0x30+addate[j][i].adig%10,1);
write(' ',1);
write(0x30+m,1);
} //for
} //ms2
led=key();
if(led!=0xff)
{
if(led==10)
{
select=0;
pause=0;
}
else
if(led==11)
{
;//pause=!pause;
}
else
mul=led;
}
} //select
else
{
if(pause==1)
{
led=key();
if(led!=0xff)
{
if(led==10)
{ mul=0;
select=1;
ET0=0;
n=point1;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{ // addate[10][4];
addate[i][j].adh=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adl=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adig=eepread(n/256,n%256);
n++ ;
n=n%0x7fef;
}
for(i=7;i<14;i++)
for(j=0;j<4;j++)
{
addate[i][j].adh=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adl=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adig=eepread(n/256,n%256);
n++ ;
n=n%0x7fef;
}
ET0=1;
}
else
if(led==11)
{
pause=!pause;
}
else
mul=led;
}
continue ;
}
else
{
if(ms2)
{ ms2=0;
for(i=0;i<4;i++)
{
if(i==1)
write(0x90,0);
else
if(i==2)
write(0x88,0);
else
write(0x80+8*i,0);
write(0x30+i,1);
write(':',1);
//write(' ',1);
write(' ',1);
write(0x30+adtemp[0][i].adh/10,1);
write('.',1);
write(0x30+adtemp[0][i].adh%10,1);
write(0x30+adtemp[0][i].adl/10,1);
write(0x30+adtemp[0][i].adl%10,1);
write('(',1);
write('V',1);
write(')',1);
write(' ',1);
write(0x30+adtemp[0][i].adig,1);
//write(0x30+adtemp[0][i].adig%10,1);
write(' ',1);
write(0x30+9,1);
} //for i=0
} //if ms2
} //else2
led=key();
if(led!=0xff)
{
if(led==10)
{
mul=0;
select=1;
ET0=0;
n=point1;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{ // addate[10][4];
addate[i][j].adh=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adl=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adig=eepread(n/256,n%256);
n++ ;
n=n%0x7fef;
}
for(i=7;i<14;i++)
for(j=0;j<4;j++)
{
addate[i][j].adh=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adl=eepread(n/256,n%256);
n++;
n=n%0x7fef;
addate[i][j].adig=eepread(n/256,n%256);
n++ ;
n=n%0x7fef;
}
ET0=1;
}
else
if(led==11)
{
pause=!pause;
}
else
mul=led;
}
} // else1
} // while
} // main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -