?? wt-mosport-new
字號:
if(PU2!=(0x3f&P2)) {ng=1;break;}
d>>=1;
}
P1|=0x3f;
if(ng) break;
break;
}
if(ng)
{
LightLed=0x40;TwingleLed=0;
continue;
}
//Jack test
LightLed=0;TwingleLed=0x8;
PBYTE[CS3+1]=0x8;Delay10ms(20);PBYTE[CS3+1]=0x4;Delay10ms(20); //3.3V on
PBYTE[CS1]=0x8;
for(n=0;n<5;n++)
{
if((dd=PBYTE[CS4])&0x82) n=0;
if(ng) break;
Delay10ms(1);
}
PBYTE[CS1]=0;
//方波測試
PIO1=PIO2=PIO3=PIO4=PIO5=PIO6=0;
Initial8255A();
#define LCH 0x11
#define RCH 0x44
//L changle
for(n=0;n<3;n++)
{
//L
PIO1&=((~LCH)&(~RCH));PBYTE[CS1]=PIO1;
while((PBYTE[CS4]&LCH)!=LCH&&ng==0) {PIO1&=~LCH;PBYTE[CS1]=PIO1;Delay10ms(1);}
Delay10ms(30);
PIO1|=(LCH&0xf0);PBYTE[CS1]=PIO1;
if((dd=PBYTE[CS4])&(LCH&0xf0))
{
ng=1;
break;
}
PIO1&=~LCH;PBYTE[CS1]=PIO1;
//R
while((PBYTE[CS4]&RCH)!=RCH&&ng==0) {PIO1&=~RCH;PBYTE[CS1]=PIO1;Delay10ms(1);}
Delay10ms(30);
PIO1|=(RCH&0xf0);PBYTE[CS1]=PIO1;
if((dd=PBYTE[CS4])&(RCH&0xf0))
{
ng=1;
break;
}
PIO1&=~RCH;PBYTE[CS1]=PIO1;
}
/* for(n=0;n<3;n++)
{
while((PBYTE[CS4]&0x50)!=0x50&&ng==0) {PIO1&=~0x50;PBYTE[CS1]=PIO1;Delay10ms(1);}
Delay10ms(20);
PIO1|=0x40;PBYTE[CS1]=PIO1;
Delay10ms(1);
if(PBYTE[CS4]&0x10) {ng=1;break;}
PIO1&=~0x40;PBYTE[CS1]=PIO1;
}*/
if(ng)
{
LightLed=0x40;TwingleLed=0;
continue;
}
//USB test
LightLed=0;TwingleLed=0x4;
PBYTE[CS3+1]=0x8;Delay10ms(20);PBYTE[CS3+1]=0;Delay10ms(1); //BELL
for(n=0;n<5;n++)
{
if(P1&0x3f) n=0;
if(ng) break;
}
Delay10ms(20);
//1394 test
LightLed=0;TwingleLed=0x2;
PBYTE[CS3+1]=0x8;Delay10ms(20);PBYTE[CS3+1]=0;Delay10ms(20); //BELL
for(n=0;n<5;n++)
{
if(P2&0x3f) n=0;
if(PBYTE[CS5+2]&0x30) n=0; //2006-09-20
if(ng) break;
}
//LED test
LightLed&=0x0;TwingleLed=0x1;
PBYTE[CS3+1]=0x8;Delay10ms(20);PBYTE[CS3+1]=0;Delay10ms(20);
if(ln==0)
{
PIO2=0xe; //Set 3Color destroy
PIO1=PIO3=PIO4=PIO5=PIO6=0;
PIO8=0x7;
Initial8255A();
PBYTE[CS3+1]=0x7; //3.3V 5V 5Vaux on
ln=1;
}
while(ng==0)
{
if(!CN1) {ok=1;break;}
}
}
}
void Initial(void)
{
P1=P2=P3=0xff;
// RECLED=1;
INPORT=P3;
TMOD=0X11;
TR0=1;
EX0=EX1=0;
ET0=1;
EA=1;
TL0=T10MS & 256;
TH0=T10MS/256;
}
void Initial8255(void)
{
PBYTE[CS1+3]=PMODE0&PAOUT&PBOUT&PCLOUT&PCHOUT;
PBYTE[CS2+3]=PMODE0&PAOUT&PBOUT&PCLOUT&PCHOUT;
PBYTE[CS3+3]=PMODE0&PAOUT&PBOUT&PCLOUT&PCHOUT;
PBYTE[CS4+3]=PMODE0|PAIN|PBIN|PCLIN|PCHIN;
PBYTE[CS5+3]=PMODE0|PAIN|PBIN|PCLIN|PCHIN;
PBYTE[CS6+3]=PMODE0|PAIN|PBIN|PCLIN|PCHIN;
Initial8255A();
}
void Initial8255A(void)
{
ET0=0;
PBYTE[CS1+0]=PIO1;
PBYTE[CS1+1]=PIO2;
PBYTE[CS1+2]=PIO3;
PBYTE[CS2+0]=PIO4;
PBYTE[CS2+1]=PIO5;
PBYTE[CS2+2]=PIO6;
PBYTE[CS3+0]=LightLed;
// PBYTE[CS3+0]=0;
PBYTE[CS3+1]=0;
PBYTE[CS3+2]=0;
P1=0xff;
P2=0xff;
P3|=0x3c;
ET0=1;
}
void InitialH8255A(void)
{
ET0=0;
PBYTE[CS1+0]=0xff;
PBYTE[CS1+1]=0xff;
PBYTE[CS1+2]=0xff;
PBYTE[CS2+0]=0xff;
PBYTE[CS2+1]=0xff;
PBYTE[CS2+2]=0xff;
PBYTE[CS3+0]=0;
PBYTE[CS3+1]=0;
PBYTE[CS3+2]=0;
P1=0;
P2=0;
ET0=1;
}
/*
void PowerOff (void) interrupt INT0INT
{
// StopPwrdn();
EA=0;
ET0=0;
P0=P1=P2=P3=0;
PCON|=0x2;
}*/
void Time10ms (void) interrupt TIMER0INT
{
#define LightLedA(a,b,c,d,e) {if(light) {(b)|=(c);PBYTE[a]=(b);lt=d;}else{if(e>0) {(b)&=~(c);PBYTE[a]=(b);lt=e;}}}
#define LightLedA2(a,b,c,d,e) {if(light) {(b)&=~(c);PBYTE[a]=(b);lt=d;}else{if(e>0) {(b)|=(c);PBYTE[a]=(b);lt=e;}}}
#define tt 30
// #define PNO 6
static char cn=tt;
static char InP1=0,InP2=0;
char pp,p1;
char InP,InP3;
static bit light=0;
static char lt=0;
// kn=0;
// static char jn1,jn2;
// static char pn;
// static char un;
// static char jn;
// static bit hl=0;
// bit st;
TL0=T10MS & 256;
TH0=T10MS/256;
InP=INPORT^P3;
InP3=InP&InP2;
InP2=InP&InP1&(~InP3);
InP1=InP&(~InP3);
InP^=INPORT;
InP&=InP3;
INPORT&=~InP3;
INPORT|=InP;
if(!CN2) {ng=1;ok=0;}
if(ln)
{
if(lt<=0)
{
light=!light;
switch(ln)
{
case 1:
// if(!Jack1394Ok2) LightLedA(CS1+1,PIO2,0x80,80,1); //DLED_4
LightLedA(CS1+1,PIO2,0x80,80,1); //DLED_4
break;
case 2:
// if(!UsbOk2) LightLedA(CS1+2,PIO3,0x80,80,1); //LAN_LED
LightLedA(CS1+2,PIO3,0x80,80,1); //LAN_LED
break;
case 3:
// if(!UsbOk2) LightLedA(CS1+2,PIO3,0x4,80,1); //DLED_3
LightLedA(CS1+2,PIO3,0x4,80,1); //DLED_3
break;
case 4:
// if(PBYTE[DP1B]&JACK1) {LightLedA(DP4C,PC4,0Xfd,5,8);} //DLED_2 twinkle
// if(!HP_JackOk3)
{LightLedA(CS1+2,PIO3,0X2,80,1);} //DLED_2 twinkle
break;
case 5:
// if(PBYTE[DP1B]&JACK2) {LightLedA(CS1+2,PIO3,1,80,1);} //HD_LED twinkle
{LightLedA(CS1+2,PIO3,1,80,1);} //HD_LED twinkle
break;
case 6:
// if(!PowerBtnOk2) LightLedA(CS1+1,PIO2,0x40,80,1); //DLED_1
LightLedA(CS1+1,PIO2,0x40,80,1); //DLED_1
break;
case 7:
LightLedA(CS1+2,PIO3,0x8,80,1); //PWR_LED1
break;
case 8:
LightLedA(CS1+2,PIO3,0x20,80,1); //PWR_LED2
break;
default:lt=0;
}
switch(ln)
{
case 1:
case 5:
if(!(PBYTE[CS4+1]&1))
{
LightLedA2(CS1+1,PIO2,0x2,80,1); //J1-10
}
else
{
PBYTE[CS1+1]=(PIO2|=0xe); //Destroy the LED
}
if(!(PBYTE[CS6+1]&0x80))
{
LightLedA(CS3+1,PIO8,0x40,80,1);
}
else
{
PBYTE[CS3+1]=(PIO8&=0xf); //Destroy the LED
}
break;
case 2:
case 6:
if(!(PBYTE[CS4+1]&1))
{
LightLedA2(CS1+1,PIO2,0x4,80,1); //J1-11
}
else
{
PBYTE[CS1+1]=(PIO2|=0xe); //Destroy the LED
}
if(!(PBYTE[CS6+1]&0x80))
{
LightLedA(CS3+1,PIO8,0x20,80,1);
}
else
{
PBYTE[CS3+1]=(PIO8&=0xf); //Destroy the LED
}
break;
case 3:
case 7:
if(!(PBYTE[CS4+1]&1))
{
LightLedA2(CS1+1,PIO2,0x8,80,1); //J1-12
}
else
{
PBYTE[CS1+1]=(PIO2|=0xe); //Destroy the LED
}
if(!(PBYTE[CS6+1]&0x80))
{
LightLedA(CS3+1,PIO8,0x10,80,1);
}
else
{
PBYTE[CS3+1]=(PIO8&=0xf); //Destroy the LED
}
break;
default:
if(!(PBYTE[CS4+1]&1))
{
LightLedA2(CS1+1,PIO2,(2|4|8),80,1);
}
else
{
PBYTE[CS1+1]=(PIO2|=0xe); //Destroy the LED
}
if(!(PBYTE[CS6+1]&0x80))
{
LightLedA(CS3+1,PIO8,(0x40|0x20|0x10),80,1);
}
else
{
PBYTE[CS3+1]=(PIO8&=0xf); //Destroy the LED
}
}
if(ln>6)
{
LightLedA(CS1+1,PIO2,0x80,80,1); //DLED_4
LightLedA(CS1+2,PIO3,0x80,80,1); //LAN_LED
LightLedA(CS1+2,PIO3,0x4,80,1); //DLED_3
LightLedA(CS1+2,PIO3,0X2,80,1); //DLED_2 twinkle
LightLedA(CS1+2,PIO3,1,80,1); //HD_LED twinkle
LightLedA(CS1+1,PIO2,0x40,80,1); //DLED_1
}
if(!light) if(++ln>8) ln=1;
}
}
if(lt) lt--;
if(td) td--;
if((--cn)==0)
{
cn=tt;
LightLed^=TwingleLed;
PBYTE[CS3]=LightLed;
}
}
void Delay10ms(unsigned int a)
{
td=a;
while(td);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -