#include "p30f6010a.h"
#include "t72a2.h"
//#include <p30f6010a.h>
#define uchar unsigned char
#define uint unsigned int
//#define long uint unsigned long int
#define Nop asm("nop") /*定义空指令*/
#define t24c02 0xa0
#define RA9 PORTAbits.RA9
#define RA10 PORTAbits.RA10
#define RA14 PORTAbits.RA14
#define RA15 PORTAbits.RA15
uint UA,UC,UCH,UU1,UU2,UU3,EWCON,EWPLUS,CHADR,MAX,LEIHE,RST;
uchar DIODE,TL,TH,KS,SL,FLASHF,FLASHT,FLAST1,FLAST2,GL,GH,HL,HH,YL,YH;
uchar yah,i,KT,KTL,SG,KPF,ss,HI,PSHIH,SOUR1,SOUR1H,JJ,JJA,NTI,OTI,BVV,TONGD,US,JJ1,LMM,er00,PSHI;
uchar ye00,ye01,SU7,su27;
uint DP,CONT,BL,PX,SSN,PRGDP,KC,PLAG,SHI,CHN,SOUR,DEST,M1A1,M1A3,EDTI,EDTIA,IAA,IBB,ICC,LL,F4,F44;
uint ya,yc,ye,er0,er2,er4,er6,er8,erA,erC;
uint TLL,KK1,KK,SU1,SU2,SU3,SU4,SU5,SU6,T55A,SES,LL2,I1L,UU,HHII,TT0,TT2,TT4,TT6,TT8,K4;
uint GGM,PP,PP1,VVH,F117,T80,EDTIA,TIF;
unsigned long int f23a1,f23a2,f23a3;
uint lim[ ]={0,10,10,0,0,0,0,10,0};
uint him[ ]={600,200,200,99,1,1,1,200,1};
uint SINDA[ ]={871,1736,2588,3420,4226,5000,9063,9397,9659,9848,9962,9999,9999,9962,9848,9659,9397,9063};
uchar table[]={0x81,0xd7,0x23,0x43,0x55,0x49,0x09,0xc5,0x01,0x41,0x05,0x19,0xa9,0x13,0x29,0x2d,0xb9,0x91,0x15,0x3f, 0x1d,0x1b,0xff,0x25};//L,U,H,r,h,o, ,P
uint SINEA[ ]={ };
uint PLUSDA2[ ]={ };
uint PLUSDA1[ ]={ };
uint rd[];
uint td[];
uchar LED[4];
void CHK(void);
void DHK(void);
void DISP(void);
void CON1(void);
void KSEND(void);
void AAINT(void);
void BBINT(void);
void CCINT(void);
void DDINT(void);
void FFINT(void);
void DHKA(void);
void PRG(void);
void SHIFT(void);
void SET(void);
void RESET(void);
void RUN(void);
void STO(void);
void HSI(void);
void VOT(void);
void RHTD(void);
void PLUOUT1(void);
void PLUOUT1( )
{ uint j;
for(j=0;j++;j<36)
{ PLUSDA1[j]=PLUSDA2[j];
}
EWPLUS=ss;
EDTIA=EDTI;
SU5=SU4;;
PLAG=PLAG&&0xbf;
}
void CHK()
{ uint k,l;
uint tmpp;
for(k=0;k<4;k++)
{
l=k+k;
pageread(t24c02,l,rd, 0x02);
tmpp=rd[1]*256+rd[0];
if(tmpp > him[k])
{ tmpp=him[k];}
else if(tmpp < lim[k])
{ tmpp=lim[k];}
else
{tmpp=tmpp; }
td[1]=tmpp/256;
td[0]=tmpp%256;
pagewrite(t24c02,l,td,0x02);
}
}
void DHK()
{ uint k,l;
k=0;
pageread(t24c02,k,rd, 0x01);
l=rd[0];
if(F117>l)
F117=l;
}
void DISP()
{ TL=LED[BL];
TH=0xff;
PORTD=TH;
PORTE=SL;
if(BL!=4)
{ TH=0;
TL=table[TL];
if((PLAG&&0x01)!=0)
{ if(BL==DP)
{ if((SU7&&0x01)==0)
{ PORTD=TL;}
else
{ if((FLASHF&&0x01)==0)
{ TL=0xff;
if(BL==0)
TL=TL&&0xfe;
PORTD=TL;
}
else
{ if(BL==0)
{ TL=TL&&0xfe;
PORTD=TL;
}
else if(BL=PRGDP)
{ TL=TL&&0xfe;
PORTD=TL;
}
else
{ PORTD=TL;
}
}
}
}
}
else
{ if(SHI!=0)
{ CON1();
}
else
{ if((JJ1&&0x01)==0)
{ CON1(); }
else
{ if(BL==3)
{ CON1();}
else
{ if(JJ==0)
{ TL=table[0]; CON1();}
else if(JJ==1)
{ TL=0xff; CON1();}
else if(JJ==2)
{ CON1(); }
else
{ TL=0xff; CON1();
}
}
}
}
}
}
else
{ PORTD=TL;
}
Nop;
Nop;
Nop;
if((KT&&0x01)==0)
{ if(SG==0xfe)
{ SG=0;
if((su27&&0x08)==0)
{ KTL=KS;
KSEND();
}
else
{
if((su27&&0x10)==0)
{ KTL=KS+1;
KSEND();
}
else
{ KTL=0xff;
KT=0xff;
KPF=0;
KSEND();
}
}
}
else
{ SG++;
KSEND();
}
}
else
{ if((su27&&0x08)==0)
{ SG=0; KT=0;
KSEND();
}
else
{ if((su27&&0x10)==0)
{ SG=0; KT=0;
KSEND();
}
else
{ KPF=0;
KSEND();
}
}
}
}
void KSEND()
{ BL++;
KS=KS+2;
SL=SL+SL;
if(BL==4)
{ BL=0;
SL=1;
KS=0;
}
}
void CON1()
{ if(BL==DP)
{ if((SSN&&0x01)==0)
TL=TL&&0xfe;
PORTD=TL;
}
else
{ PORTD=TL;
}
}
void AAINT()
{ pageread(t24c02,2,rd, 0x02);
TT4=rd[1]*256+rd[0];
TT4=TT4*8;
pageread(t24c02,4,rd, 0x02);
TT8=rd[1]*256+rd[0];
TT8=TT8*8;
pageread(t24c02,12,rd, 0x02);
TT2=rd[1]*256+rd[0];
if((TT2&&0x01)==0)
{ if((PLAG&&0x08)!=0)
{if(F4<F117)
{ KK++;
if(KK>TT4)
{ KK=0;
F4++;
if(F4>F117)
F4=F117;
}
}
else if(F4>F117)
{ KK1++;
if(KK1>TT8)
{ KK1=0;
if(F4>F117)
F4--;
}
}
else
{
}
}
else if ((PLAG&&0x10)!=0)
{ if((F4!=0)&&(F4<=24))
{ Nop;
}
else if((F4!=0)&&(F4>24))
{ KK1++;
if(KK1>TT8)
{ KK1=0;
F4--;
}
else
{
}
}
else
{
}
}
}
else
{ if((PLAG&&0x80)!=0)
{ if(F4<US)
{ KK++;
if(KK>TT4)
{ KK=0;
F4++;
if(F4>US)
F4=US;
}
}
else if(F4>US)
{ KK1++;
if(KK1>TT8)
{ KK1=0;
if(F4>US)
F4--;
}
}
else
{
}
}
else if((PLAG&&0x10)!=0)
{ if(F4>0)
{ KK1++;
if(KK1>TT8)
{ KK1=0;
F4--;
}
}
Nop;
Nop;
}
else
{
}
}
}
void BBINT()
{
}
void CCINT()
{
}
void DDINT()
{ if(F4==0)
{ JJ1=0x00;}
else
{ JJ!=0xff;}
}
void FFINT()
{ uint k;
k=20;
td[1]=F117/256;
td[0]=F117%256;
pagewrite(t24c02,k,td,0x02);
}
void RESET()
{ uint t95;
if((PLAG&&0x01)!=0)
{ if((SU7&&0x01)!=0)
{ PSHI++;
if(PSHI>8)
PSHI=0;
DEST=PSHI*2;
LED[3]=PSHI;
pageread(t24c02,DEST,rd, 0x02);
SOUR1=rd[1]*256+rd[0];
RHTD();
}
else
{ if((PSHI!=8)|(F4==0))
{ KPF=0;
UA++;
if(UA>1000)
{ UA=0;
if(SOUR1!=UCH)
SOUR1++;
RHTD();
}
}
}
}
else
{ KPF=0;
UA++;
if(UA>1000)
{ UA=0;
if(F4==0)
{ K4=F117;
pageread(t24c02,0,rd, 0x02);
t95=rd[1]*256+rd[0];
if(K4<t95)
{ K4++;
GL=K4;
F1