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

📄 wt-mosport.c

📁 测试手机面板安装是否正确
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <AT89X52.h>
#include <wt-mosport.h>
void main(void)
{
//	bit oldLAST=0;
//	bit oldNEXT=0;
//	unsigned char b;
	unsigned char n,d,dd;
//	bit st=0;
	ln=0;
	INPORT=P3;
	Initial();
	Initial8255();
	Delay10ms(1);
	LightLed=0;
	TwingleLed=0;
/*	for(n=0;n<20;n++)
	{
		PBYTE[CS3]=0xff;
		Delay10ms(50);
		PBYTE[CS3]=0;
		Delay10ms(50);
	}*/
	LightLed=0;
	while(1)
	{

		PIO1=PIO2=PIO3=PIO4=PIO5=PIO6=0;
		Initial8255();
		InitialH8255A();
		if(ng)
		{
			LightLed=0x40;TwingleLed=0;
			PBYTE[CS3+1]=0x8;Delay10ms(5);PBYTE[CS3+1]=0;Delay10ms(5);
			PBYTE[CS3+1]=0x8;Delay10ms(5);PBYTE[CS3+1]=0;Delay10ms(5);
			PBYTE[CS3+1]=0x8;Delay10ms(5);PBYTE[CS3+1]=0;Delay10ms(5);
		}
		if(ok)
		{
			LightLed=0x80;TwingleLed=0;
			PBYTE[CS3+1]=0x8;Delay10ms(50);PBYTE[CS3+1]=0;
		}
//		if(!(ok|ng)) {LightLed=0;TwingleLed=0xc0;}
		ln=0;		
		PIO2=~0x20;
//		PIO6=~0x10;
		PIO6=~0x11;
		PBYTE[CS1+1]=PIO2;
		PBYTE[CS2+2]=PIO6;
		if(ng||ok)
		{
			ng=ok=0;
			for(n=0;n<20;n++)
			{
				if(!(PBYTE[CS4+1]&(~PIO2))) n=0;
				if(!(PBYTE[CS5+2]&(~PIO6))) n=0;
				if(ng) break;
				if(!CN3) break;
			}
		}
		else
		{
			LightLed=0;
			TwingleLed=0xff;
			Delay10ms(300);
			TwingleLed=0xc0;
		}
		if(ng) continue;
		ng=ok=0;
		LightLed=0;
		for(n=0;n<20;n++)
		{
			if((dd=PBYTE[CS4+1])&(~PIO2)) n=0;
			if((dd=PBYTE[CS5+2])&(~PIO6)) n=0;
			if(ng) break;
		}
		if(ng) continue;
		//Power switch test
		PBYTE[CS3+1]=0;
		PIO1=PIO2=PIO3=PIO4=PIO5=PIO6=0;
		Initial8255A();
//		Delay10ms(50);
		LightLed=0;
		TwingleLed=0x20;
		PBYTE[CS3+1]=0x8;Delay10ms(20);PBYTE[CS3+1]=0;Delay10ms(20);
		for(n=0;n<5;n++)
		{
			if(!(PBYTE[CS4+2]&0x40))              //0x40 power switch
			{
				ng=1;
				break;
			}
			Delay10ms(1);
		}
		if(ng)
		{
			LightLed|=0x40;
			continue;
		}
		for(n=0;n<5;n++)
		{
			if(PBYTE[CS4+2]&0x40) n=0;
			if(ng) break;
			Delay10ms(1);
		}
		while(!(PBYTE[CS4+2]&0x40)&&ng==0);
		Delay10ms(10);

		//Shortcut test 
		PBYTE[CS3+1]=0;
		PIO1=PIO2=PIO3=PIO4=PIO5=PIO6=0;
		Initial8255();
		LightLed&=0x0;TwingleLed=0x10;
		PBYTE[CS3+1]=0x8;Delay10ms(20);PBYTE[CS3+1]=0;Delay10ms(20);
		n=PBYTE[CS4];
		n=PBYTE[CS4+1];
		n=(0xef&PBYTE[CS4+2]);
		n=PBYTE[CS5];
		n=PBYTE[CS5+1];
		n=PBYTE[CS5+2];
		PIO1=0xff;
		PIO2=0xdf;
//		PIO3=0xff;
		PIO3=0xef;		//2006-9-21
		PIO4=0xf7;
		PIO5=0x36;
//		PIO6=0x8c;
//		PU2=0x3f;
		PIO6=0xfc;		//2006-9-20
		PU2=0x33;		//2006-9-20
		PU1=0x3f;
		while(1)
		{
			if(PIO1!=(dd=PBYTE[CS4])) {ng=1;break;}

			if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
			PBYTE[CS1+1]=0xe;Delay10ms(1);	
			if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
			PBYTE[CS1+1]=0;	

			if(PIO3!=(dd=(0xef&PBYTE[CS4+2]))) {ng=1;break;}
			if(PIO4!=(dd=PBYTE[CS5])) {ng=1;break;}
			if(PIO5!=(dd=PBYTE[CS5+1]))  {ng=1;break;}
			if(PIO6!=(dd=PBYTE[CS5+2])) {ng=1;break;}
			if(PU2!=(0x3f&P2)) 
			{
				ng=1;
				break;
			}
			if(PU1!=(0x3f&P1)) {ng=1;break;}
			d=0x1;
			for(n=0;n<8;n++)
			{
				PBYTE[CS1]=d;
				Delay10ms(3);
//				dd=PBYTE[CS4];
				if(d==8||d==0x20)
				{
					if((~8&~0x20&PIO1)!=PBYTE[CS4]) {ng=1;break;}
				}
				else
				{
					if((~d&PIO1)!=PBYTE[CS4]) {ng=1;break;}
				}
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if(PIO4!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if(PIO6!=PBYTE[CS5+2]) {ng=1;break;}
				if(PU2!=(0x3f&P2)) {ng=1;break;}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d<<=1;
			}
			PBYTE[CS1]=0;
			if(ng) 	break;
			d=0x1;
			for(n=0;n<8;n++)
			{
				PBYTE[CS1+1]=d;
				Delay10ms(3);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
				if(d==0x10)
				{
		
					if((~d&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
					PBYTE[CS1+1]=0xe|d;Delay10ms(1);	
					if((0xf1&~d&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
					PBYTE[CS1+1]=d;	
		
				}
				else
				{
		
					if((~d&PIO2)!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
					PBYTE[CS1+1]=0xe|d;Delay10ms(1);	
					if((0xf1&~d&PIO2)!=(dd=PBYTE[CS4+1])) {ng=1;break;}
					PBYTE[CS1+1]=d;	
		
				}
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if(PIO4!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if(PIO6!=PBYTE[CS5+2]) {ng=1;break;}
				if(PU2!=(0x3f&P2)) {ng=1;break;}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d<<=1;
			}
			PBYTE[CS1+1]=0;
			if(ng) 	break;
			d=0x1;
			for(n=0;n<8;n++)
			{
				PBYTE[CS1+2]=d;
				Delay10ms(3);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
	
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if((~d&PIO3)!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if(PIO4!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if(PIO6!=PBYTE[CS5+2]) {ng=1;break;}
				if(PU2!=(0x3f&P2)) {ng=1;break;}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d<<=1;
			}
			PBYTE[CS1+2]=0;
			if(ng) 	break;
			d=0x1;
			for(n=0;n<8;n++)
			{
				PBYTE[CS2]=d;
				Delay10ms(3);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
	
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if((~d&PIO4)!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if((d==4?PIO6&0xf7:PIO6)!=(dd=PBYTE[CS5+2])) {ng=1;break;}
				if(PU2!=(0x3f&P2)) {ng=1;break;}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d<<=1;
			}
			PBYTE[CS2]=0;
			if(ng) break;
			d=0x1;
			for(n=0;n<8;n++)
			{
				PBYTE[CS2+1]=d;
				Delay10ms(3);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
	
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if(PIO4!=PBYTE[CS5]) {ng=1;break;}
				if((~d&PIO5)!=PBYTE[CS5+1]) {ng=1;break;}
				if(PIO6!=PBYTE[CS5+2]) {ng=1;break;}
				if(PU2!=(0x3f&P2)) {ng=1;break;}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d<<=1;
			}
			PBYTE[CS2+1]=0;
			if(ng) break;
			d=0x1;
			for(n=0;n<7;n++)
			{
				PBYTE[CS2+2]=d;
				Delay10ms(3);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
	
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if((d!=8?PIO4:PIO4&0xfb)!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if(d==0x10||d==0x20)
				{
					if((~0x30&PIO6)!=PBYTE[CS5+2]) {ng=1;break;}		//2006-09-21
				}
				else
				{
					if((~d&PIO6)!=PBYTE[CS5+2]) {ng=1;break;}
				}
				if(PU2!=(0x3f&P2)) {ng=1;break;}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d<<=1;
			}
			PBYTE[CS2+2]=0;
			if(ng) break;
			d=0x20;
			for(n=0;n<6;n++)
			{
				P2=(P2|0x3f)&(~d);
				Delay10ms(10);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
	
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if(PIO4!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if(PIO6!=PBYTE[CS5+2]) {ng=1;break;}
//				if(d==1||d==2)
//				{
//					if((~3&PU2)!=(0x3f&P2)) {ng=1;break;}
//				}
//				else
//				{
					if((~d&PU2)!=(0x3f&P2)) {ng=1;break;}
//				}
				if(PU1!=(0x3f&P1)) {ng=1;break;}
				d>>=1;
			}
			P2|=0x3f;
			if(ng) break;
			d=0x20;
			for(n=0;n<6;n++)
			{
				P1=(P1|0x3f)&(~d);
				Delay10ms(3);
				if(PIO1!=PBYTE[CS4]) {ng=1;break;}
	
				if(PIO2!=(0x10|PBYTE[CS4+1])) {ng=1;break;}
				PBYTE[CS1+1]=0xe;Delay10ms(1);	
				if((0xf1&PIO2)!=PBYTE[CS4+1]) {ng=1;break;}
				PBYTE[CS1+1]=0;	
	
				if(PIO3!=(0xef&PBYTE[CS4+2])) {ng=1;break;}
				if(PIO4!=PBYTE[CS5]) {ng=1;break;}
				if(PIO5!=PBYTE[CS5+1]) {ng=1;break;}
				if(PIO6!=(dd=PBYTE[CS5+2])) {ng=1;break;}
				if(d==1||d==2)
				{
					if((~3&PU1)!=(0x3f&P1)) {ng=1;break;}
				}
				else
				{
					if((~d&PU1)!=(0x3f&P1)) {ng=1;break;}
				}

⌨️ 快捷键说明

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