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

📄 test.c

📁 发动机点火提前角的一个程序
💻 C
📖 第 1 页 / 共 4 页
字号:
						if(PQ_CUT.onebit.PZ0)
							if(PZ0_PQYC==0)
							{
								PQ_CUT.onebit.PZ0=0;
								PQ_REG.onebit.PZ0=1;
							}	
							else
								PZ0_PQYC--;

				//=====PZ1=======================================================================
						//===============计算喷油脉宽===================================
						if(PZ_OLD.onebit.PZ1)
						{
							if(PZ1_PYMK<0xFD)
								PZ1_PYMK++;
						}
						if(PZ_OVER.onebit.PZ1){
							PYMK=PZ1_PYMK;
							PZ1_PYMK=0;
						}
						//===============计算喷气延迟===========
						if(PZ_OVER.onebit.PZ1)
						{
			PQ1_TIMER=0;
			PQ_OVFL.onebit.PZ1=0;
							PQ0_TIMER=0;
							if(PQ_PERCENT<0)
								int_a=(-PQ_PERCENT)&0xff;
							else
								int_a=PQ_PERCENT;
							if(int_a>99)int_a=99;
							int_d=PYMK & 0xff;
							int_b=int_d;
							int_d=int_d * int_a;
							int_d=int_d/100;
							
							if(PERCENT_FLAG.onebit.sign)
								int_d=int_d;	
							else
								int_d=int_b+int_d;	
							if(int_d<=0)	int_d=1;
							if(int_d>0xff)	int_d=0xff;
							PQYC=int_d;
						}
					 //=============================执行喷气延迟============================
						if(PZ_COME.onebit.PZ1){
							PZ1_PQYC=PQYC;
							if(PERCENT_FLAG.onebit.sign){
								PQ_LAST.onebit.PZ1=0;
								PQ_CUT.onebit.PZ1=1;
								PQ_REG.onebit.PZ1=0;
							}
							else{
								PQ_LAST.onebit.PZ1=1;
								PQ_CUT.onebit.PZ1=0;
								PQ_REG.onebit.PZ1=1;
							}
						}

					//=======================喷气看门计数器====================
						if(PZ_OVER.onebit.PZ1){
							PQ_CUT.onebit.PZ1=0;
							if(PERCENT_FLAG.onebit.sign){
								PQ_REG.onebit.PZ1=0;
							}
						}	
						if(PQ_LAST.onebit.PZ1)							
							if(PZ1_PQYC!=0x00)				
								PZ1_PQYC--;
							else{
								PQ_REG.onebit.PZ1=0;
								PQ_LAST.onebit.PZ1=0;
							}
	
						if(PQ_CUT.onebit.PZ1)
							if(PZ1_PQYC==0)
							{
								PQ_CUT.onebit.PZ1=0;
								PQ_REG.onebit.PZ1=1;
							}	
							else
								PZ1_PQYC--;

				//=====PZ2=======================================================================
						//===============计算喷油脉宽===================================
						if(PZ_OLD.onebit.PZ2)
						{
							if(PZ2_PYMK<0xFD)
								PZ2_PYMK++;
						}
						if(PZ_OVER.onebit.PZ2){
							PYMK=PZ2_PYMK;
							PZ2_PYMK=0;
						}
						//===============计算喷气延迟===========
						if(PZ_OVER.onebit.PZ2)
						{
			PQ2_TIMER=0;
			PQ_OVFL.onebit.PZ2=0;
							PQ0_TIMER=0;
							if(PQ_PERCENT<0)
								int_a=(-PQ_PERCENT)&0xff;
							else
								int_a=PQ_PERCENT;
							if(int_a>99)int_a=99;
							int_d=PYMK & 0xff;
							int_b=int_d;
							int_d=int_d * int_a;
							int_d=int_d/100;
							
							if(PERCENT_FLAG.onebit.sign)
								int_d=int_d;	
							else
								int_d=int_b+int_d;	
							if(int_d<=0)	int_d=1;
							if(int_d>0xff)	int_d=0xff;
							PQYC=int_d;
						}
					 //=============================执行喷气延迟============================
						if(PZ_COME.onebit.PZ2){
							PZ2_PQYC=PQYC;
							if(PERCENT_FLAG.onebit.sign){
								PQ_LAST.onebit.PZ2=0;
								PQ_CUT.onebit.PZ2=1;
								PQ_REG.onebit.PZ2=0;
							}
							else{
								PQ_LAST.onebit.PZ2=1;
								PQ_CUT.onebit.PZ2=0;
								PQ_REG.onebit.PZ2=1;
							}
						}

					//=======================喷气看门计数器====================
						if(PZ_OVER.onebit.PZ2){
							PQ_CUT.onebit.PZ2=0;
							if(PERCENT_FLAG.onebit.sign){
								PQ_REG.onebit.PZ2=0;
							}
						}	
						if(PQ_LAST.onebit.PZ2)							
							if(PZ2_PQYC!=0x00)				
								PZ2_PQYC--;
							else{
								PQ_REG.onebit.PZ2=0;
								PQ_LAST.onebit.PZ2=0;
							}
	
						if(PQ_CUT.onebit.PZ2)
							if(PZ2_PQYC==0)
							{
								PQ_CUT.onebit.PZ2=0;
								PQ_REG.onebit.PZ2=1;
							}	
							else
								PZ2_PQYC--;
				//=====PZ3=======================================================================
						//===============计算喷油脉宽===================================
						if(PZ_OLD.onebit.PZ3)
						{
							if(PZ3_PYMK<0xFD)
								PZ3_PYMK++;
						}
						if(PZ_OVER.onebit.PZ3){
							PYMK=PZ3_PYMK;
							PZ3_PYMK=0;
						}
						//===============计算喷气延迟===========
						if(PZ_OVER.onebit.PZ3)
						{
			PQ3_TIMER=0;
			PQ_OVFL.onebit.PZ3=0;
							PQ0_TIMER=0;
							if(PQ_PERCENT<0)
								int_a=(-PQ_PERCENT)&0xff;
							else
								int_a=PQ_PERCENT;
							if(int_a>99)int_a=99;
							int_d=PYMK & 0xff;
							int_b=int_d;
							int_d=int_d * int_a;
							int_d=int_d/100;
							
							if(PERCENT_FLAG.onebit.sign)
								int_d=int_d;	
							else
								int_d=int_b+int_d;	
							if(int_d<=0)	int_d=1;
							if(int_d>0xff)	int_d=0xff;
							PQYC=int_d;
						}
					 //=============================执行喷气延迟============================
						if(PZ_COME.onebit.PZ3){
							PZ3_PQYC=PQYC;
							if(PERCENT_FLAG.onebit.sign){
								PQ_LAST.onebit.PZ3=0;
								PQ_CUT.onebit.PZ3=1;
								PQ_REG.onebit.PZ3=0;
							}
							else{
								PQ_LAST.onebit.PZ3=1;
								PQ_CUT.onebit.PZ3=0;
								PQ_REG.onebit.PZ3=1;
							}
						}

					//=======================喷气看门计数器====================
						if(PZ_OVER.onebit.PZ3){
							PQ_CUT.onebit.PZ3=0;
							if(PERCENT_FLAG.onebit.sign){
								PQ_REG.onebit.PZ3=0;
							}
						}	
						if(PQ_LAST.onebit.PZ3)							
							if(PZ3_PQYC!=0x00)				
								PZ3_PQYC--;
							else{
								PQ_REG.onebit.PZ3=0;
								PQ_LAST.onebit.PZ3=0;
							}
	
						if(PQ_CUT.onebit.PZ3)
							if(PZ3_PQYC==0)
							{
								PQ_CUT.onebit.PZ3=0;
								PQ_REG.onebit.PZ3=1;
							}	
							else
								PZ3_PQYC--;
				//=====PZ4=======================================================================
						//===============计算喷油脉宽===================================
						if(PZ_OLD.onebit.PZ4)
						{
							if(PZ4_PYMK<0xFD)
								PZ4_PYMK++;
						}
						if(PZ_OVER.onebit.PZ4){
							PYMK=PZ4_PYMK;
							PZ4_PYMK=0;
						}
						//===============计算喷气延迟===========
						if(PZ_OVER.onebit.PZ4)
						{
			PQ4_TIMER=0;
			PQ_OVFL.onebit.PZ4=0;
							PQ0_TIMER=0;
							if(PQ_PERCENT<0)
								int_a=(-PQ_PERCENT)&0xff;
							else
								int_a=PQ_PERCENT;
							if(int_a>99)int_a=99;
							int_d=PYMK & 0xff;
							int_b=int_d;
							int_d=int_d * int_a;
							int_d=int_d/100;
							
							if(PERCENT_FLAG.onebit.sign)
								int_d=int_d;	
							else
								int_d=int_b+int_d;	
							if(int_d<=0)	int_d=1;
							if(int_d>0xff)	int_d=0xff;
							PQYC=int_d;
						}
					 //=============================执行喷气延迟============================
						if(PZ_COME.onebit.PZ4){
							PZ4_PQYC=PQYC;
							if(PERCENT_FLAG.onebit.sign){
								PQ_LAST.onebit.PZ4=0;
								PQ_CUT.onebit.PZ4=1;
								PQ_REG.onebit.PZ4=0;
							}
							else{
								PQ_LAST.onebit.PZ4=1;
								PQ_CUT.onebit.PZ4=0;
								PQ_REG.onebit.PZ4=1;
							}
						}

					//=======================喷气看门计数器====================
						if(PZ_OVER.onebit.PZ4){
							PQ_CUT.onebit.PZ4=0;
							if(PERCENT_FLAG.onebit.sign){
								PQ_REG.onebit.PZ4=0;
							}
						}	
						if(PQ_LAST.onebit.PZ4)							
							if(PZ4_PQYC!=0x00)				
								PZ4_PQYC--;
							else{
								PQ_REG.onebit.PZ4=0;
								PQ_LAST.onebit.PZ4=0;
							}
	
						if(PQ_CUT.onebit.PZ4)
							if(PZ4_PQYC==0)
							{
								PQ_CUT.onebit.PZ4=0;
								PQ_REG.onebit.PZ4=1;
							}	
							else
								PZ4_PQYC--;
				//=====PZ5=======================================================================
						//===============计算喷油脉宽===================================
						if(PZ_OLD.onebit.PZ5)
						{
							if(PZ5_PYMK<0xFD)
								PZ5_PYMK++;
						}
						if(PZ_OVER.onebit.PZ5){
							PYMK=PZ5_PYMK;
							PZ5_PYMK=0;
						}
						//===============计算喷气延迟===========
						if(PZ_OVER.onebit.PZ5)
						{
			PQ5_TIMER=0;
			PQ_OVFL.onebit.PZ5=0;
							PQ0_TIMER=0;
							if(PQ_PERCENT<0)
								int_a=(-PQ_PERCENT)&0xff;
							else
								int_a=PQ_PERCENT;
							if(int_a>99)int_a=99;
							int_d=PYMK & 0xff;
							int_b=int_d;
							int_d=int_d * int_a;
							int_d=int_d/100;
							
							if(PERCENT_FLAG.onebit.sign)
								int_d=int_d;	
							else
								int_d=int_b+int_d;	
							if(int_d<=0)	int_d=1;
							if(int_d>0xff)	int_d=0xff;
							PQYC=int_d;
						}
					 //=============================执行喷气延迟============================
						if(PZ_COME.onebit.PZ5){
							PZ5_PQYC=PQYC;
							if(PERCENT_FLAG.onebit.sign){
								PQ_LAST.onebit.PZ5=0;
								PQ_CUT.onebit.PZ5=1;
								PQ_REG.onebit.PZ5=0;
							}
							else{
								PQ_LAST.onebit.PZ5=1;
								PQ_CUT.onebit.PZ5=0;
								PQ_REG.onebit.PZ5=1;
							}
						}

					//=======================喷气看门计数器====================
						if(PZ_OVER.onebit.PZ5){
							PQ_CUT.onebit.PZ5=0;
							if(PERCENT_FLAG.onebit.sign){
								PQ_REG.onebit.PZ5=0;
							}
						}	
						if(PQ_LAST.onebit.PZ5)							
							if(PZ5_PQYC!=0x00)				
								PZ5_PQYC--;
							else{
								PQ_REG.onebit.PZ5=0;
								PQ_LAST.onebit.PZ5=0;
							}
	
						if(PQ_CUT.onebit.PZ5)
							if(PZ5_PQYC==0)
							{
								PQ_CUT.onebit.PZ5=0;
								PQ_REG.onebit.PZ5=1;
							}	
							else
								PZ5_PQYC--;


	//PQ_REG.AllBits= PQ_REG.AllBits )& 0x3F;

	if(!PQ_OVFL.onebit.PZ0)
		if(PQ_REG.onebit.PZ0)
			if(PQ0_TIMER<0xFF)
				PQ0_TIMER++;
			else
				PQ_OVFL.onebit.PZ0=1;
		else
		{
			PQ0_TIMER=0;
			PQ_OVFL.onebit.PZ0=0;
		}

	if(!PQ_OVFL.onebit.PZ1)
		if(PQ_REG.onebit.PZ1)
			if(PQ1_TIMER<0xFF)
				PQ1_TIMER++;
			else
				PQ_OVFL.onebit.PZ1=1;
		else
		{
			PQ1_TIMER=0;
			PQ_OVFL.onebit.PZ1=0;
		}

	if(!PQ_OVFL.onebit.PZ2)
		if(PQ_REG.onebit.PZ2)
			if(PQ2_TIMER<0xFF)
				PQ2_TIMER++;
			else
				PQ_OVFL.onebit.PZ2=1;
		else
		{
			PQ2_TIMER=0;
			PQ_OVFL.onebit.PZ2=0;
		}

⌨️ 快捷键说明

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