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

📄 main_soft_run.c

📁 单片机工业控制板,具备I/O,KEYBOARD,步进电机伺服电机等功能
💻 C
📖 第 1 页 / 共 4 页
字号:


#include <p30f4011.h>

#include "adr_port_define.h"

#include "extern_define.h"
unchar staus[8] _PERSISTENT;
unchar out _NEAR;//out LR0-LR7,out_buffer :out LR8-LR15



unchar read_y_message()
{
	if(!KR6)
	{
		if(!KR7)
		{
			var1=2;
			if(var1==var2)var2=var1;
			if(var2==1)
			{
				var=var-1;
				var2=var1;
				}
				
			if(var2==3)
			{
				var=var+1;
				var2=var1;}
				
		}
		else
		{
			var1=1;
			if(var1==var2)var2=var1;
			if(var2==4) 
			{
				var=var-1;
				var2=var1;}	
				
			if(var2==2)
			{
				 var=var+1;
				 var2=var1;}	
				 
		}
	}

	else
	{
		if(!KR7)
		{
			var1=3;
			if(var1==var2)var2=var1;
			if(var2==4)
			{
				 var=var+1;
				 var2=var1;}	
				 
			if(var2==2)
			{
				 var=var-1;
				 var2=var1;}	
		}
		else
		{
			var1=4;
			if(var1==var2)var2=var1;
			if(var2==1) 
			{
				var=var+1;
				var2=var1;}	
			if(var2==3)
			 {
				 var=var-1;
				 var2=var1;}	
		}
	}	

	return(var);



}


main_scan()
{
Nop();
//Cont.bits.R_INPUT1=1;
//
//Cont.bits.R_INPUT1_MANAGE=1;
//Cont.bits.R_INPUT2=1;
//Cont.bits.R_INPUT2_MANAGE=1;
//Cont.bits.R_245=1;
//Cont.bits.R_245_MANAGE=1;
//Cont.bits.W_OUTPUT1_MANAGE=1;
//Cont.bits.W_OUTPUT1=1;
//Cont.bits.W_OUTPUT2_MANAGE=1;
//Cont.bits.W_OUTPUT2=1;
//Cont.bits.W_LED1_MANAGE=1;
//Cont.bits.W_LED1=1;
//Cont.bits.W_LED2=1;
//Cont.bits.W_KEYSCAN=1;
//Cont.bits.W_KEYBOARD=1;
	if(Cont.bits.R_INPUT1==1)
	{
//		DelayUmSec(5);
		Back_xx_photo=xx_photo;//back xx_photo
		TRISF=0XFF;
		_TRISE5=1;
		TRISD=0X00;
		_TRISE8=0;
		PORTD=0x04;			//138 Y4	=IN1_EN
		_RE8=0;
		_RD3=1;
		Nop();

		in_buffer=PORTF;
		KR4=_RF4;
		KR5=_RF5;
		KR7=_RE5;
		_RD3=0;
		Nop();
		//******************************
		chk_busy();

		if(!BUSY)
		{
			if(KR_input==1)
			{
				wr_lcd(comm,0x30);
				KR_input=2;

			}	

		}
		//********************************
		chk_busy();
		if(!BUSY)
		{
			if(xx_photo==1)			
			{
	
				if(TAB==1)							//tab key down
				{
					wr_lcd(comm,0x30);
					TAB=2;
				}
	
				//**************************************************************
	
				else if(EXCHANGE==1)					//EXCHANGE PHOTO_1
				{
					wr_lcd(comm,0x30);
					EXCHANGE=2;
				}
	
				else if(EXCHANGE==16)
				{
					chn_disp2(tab2);
	//					j=1;
	//					wr_lcd(dat,chn2[j]);
					EXCHANGE=17;
				
				}
				else if(EXCHANGE==31)
				{
					wr_lcd(comm,0x84);
	
					EXCHANGE=32;
				
				}
	
				else if(EXCHANGE==46)
				{
					j=3;
					number(j);
					EXCHANGE=47;
				
				}
				//*******************************************************
				else if(LCD_jingei_staus==1)		//lcd refresh	
				{
	
					wr_lcd(comm,0x30);
					LCD_jingei_staus=2;
					}
				else if(y_distance_staus==1)		//y_distance_refresh
				{
	
					wr_lcd(comm,0x30);
					y_distance_staus=2;
					}
				else if(y_totallength_staus==1)		//y_totallength_refresh
				{
	
					wr_lcd(comm,0x30);
					y_totallength_staus=2;
					}
				
	
	
	
	
			}
			
			else if (xx_photo==2)
			{
	
				if(TAB==1)
				{
					wr_lcd(comm,0x30);
					TAB=2;
				}
	
				else if(EXCHANGE==1)
				{
					wr_lcd(comm,0x30);
					EXCHANGE=2;
				}
				else if(EXCHANGE==16)
				{
					chn_disp5(tab5);
	//					j=3;
	//				wr_lcd(dat,chn5[j]);
					EXCHANGE=17;
				}
	
				else if(EXCHANGE==31)
				{	
					j=2;
					number(j);
					EXCHANGE=32;
				}
	
				else if(EXCHANGE==45)
				{	
					wr_lcd(comm,0x30);
					EXCHANGE=46;
				}
				else if(guangmo_times_staus==1)
				{
					wr_lcd(comm,0x30);
					guangmo_times_staus=2;
					}
	
				else if(z_waitpostion_staus==1)
				{
					wr_lcd(comm,0x30);
					z_waitpostion_staus=2;
					}
	
	
	
			}
	
			else if(xx_photo==3)
			{
				if(EXCHANGE==1)
				{
					wr_lcd(comm,0x30);
					EXCHANGE=2;
				}
	
				else if(EXCHANGE==16)
				{
					chn_disp8(tab8);
	//					j=3;
	//				wr_lcd(dat,chn8[j]);
					EXCHANGE=17;
				}
	
				else if(EXCHANGE==31)
				{
					wr_lcd(comm,0x30);
					EXCHANGE=32;
				}
				else if(y_postion_staus==1)
				{
					wr_lcd(comm,0x30);
					y_postion_staus=2;
					}
		
				else if(z_postion_staus==1)
				{
					wr_lcd(comm,0x30);
					z_postion_staus=2;
	
					}
	
	
				}
	
			else if(xx_photo==4)
			{
	
				if(TAB==1)
				{
					wr_lcd(comm,0x30);
					TAB=2;
				}
	
	
				else if(EXCHANGE==1)
				{
					wr_lcd(comm,0x30);
					EXCHANGE=2;
				}
	
				else if(EXCHANGE==16)
				{
					chn_disp11(tab11);
	//					j=3;
	//				wr_lcd(dat,chn8[j]);
					EXCHANGE=17;
				}
	
				else if(EXCHANGE==31)
				{
					
					j=2;
					number(j);
					EXCHANGE=32;
				}
	
				else if(EXCHANGE==46)
				{
					j=6;
					number(j);
					
					EXCHANGE=47;
				}
				else if(z_up_speed_staus==1)
				{
					wr_lcd(comm,0x30);
					z_up_speed_staus=2;
	
					}
				else if(z_down_speed_staus==1)
				{
					wr_lcd(comm,0x30);
					z_down_speed_staus=2;
	
					}
	
	
	
			}

		}





	Cont.bits.R_INPUT1=0;



	}		

	if(Cont.bits.R_INPUT1_MANAGE==1)
	{
//		DelayUmSec(5);
		Back_xx_photo=xx_photo;//back xx_photo
		KR0=in_buffer&0X01;
		KR1=in_buffer&0X02;
		KR2=in_buffer&0X04;
		KR3=in_buffer&0X08;
		KR4=in_buffer&0X10;
		KR5=in_buffer&0X20;
		
		KR6=in_buffer&0X40;

		Nop();	
		read_y_message();
		if(var>9999) var=9999;//var 可能有负数
		if(var<0) var=0;//

		y_postion=var;			//for test

		//**************************************err message
		chk_busy();

		if(!BUSY)
		{

			if(KR_input==2)
			{
				wr_lcd(comm,0x98);
				KR_input=3;
			}

		}
		//***************************************

		chk_busy();
		if(!BUSY)
		{
			if(xx_photo==1)
			{
	
				if(TAB==2)						//tab key down
				{
					if(instruction==0)
					{
						wr_lcd(comm,0x84);			//function
						TAB=3;
						}
	
	
	
					else if(instruction==0x84)			//9B
					{
	
						wr_lcd(comm,0x0C);				//view staus switch
						TAB=0;
						ADDR=0;							//CLR ADDR FLAG ==INIT ADDR
						instruction=0;
						}
				}
	
	
				//******************************************************************
	
				 else if(EXCHANGE==2)
			 	  {
					wr_lcd(comm,0x01);
					EXCHANGE=3;
				  }
	
				else if(EXCHANGE==17)
				{
					chn_disp2(tab2);
	//					j=2;
	//					wr_lcd(dat,chn2[j]);
					EXCHANGE=18;
				
				}
	
				else if(EXCHANGE==32)
				{
						
					j=1;
					number(j);
					EXCHANGE=33;
				
				}
				else if(EXCHANGE==47)
				{
					j=4;
					number(j);
					EXCHANGE=48;
				
				}
	
				//**************************************************************
				else if(LCD_jingei_staus==2)//lcd refresh
				{
	
					wr_lcd(comm,0x84);
					LCD_jingei_staus=3;
					}
				else if(y_distance_staus==2)		//y_distance_refresh
				{
	
					wr_lcd(comm,0x94);
					y_distance_staus=3;
					}
	
				else if(y_totallength_staus==2)		//y_totallength_refresh
				{
	
					wr_lcd(comm,0x8C);
					y_totallength_staus=3;
					}
	
			}
	
			else if(xx_photo==2)
			{
	
				if(TAB==2)
				{
					if(instruction==0)
					{
						wr_lcd(comm,0x94);			//function
						TAB=3;
						}
					else if(instruction==0x94)
					
					{
						wr_lcd(comm,0x8B);			//function
						TAB=3;
						}
					else if(instruction==0x8B)			//9B
					{
						//ADDR=0;							//
						wr_lcd(comm,0x0C);				//view staus switch
						TAB=0;
						instruction=0;
						}
				}
	
				else if(EXCHANGE==2)
			 	  {
					wr_lcd(comm,0x01);
					EXCHANGE=3;
				  }
				else if(EXCHANGE==17)
				{
					chn_disp5(tab5);
	//					j=4;
	//				wr_lcd(dat,chn5[j]);
					EXCHANGE=18;
				}
	
				else if(EXCHANGE==32)
				{	
					j=3;
					number(j);
					EXCHANGE=33;
				}
	
				else if(EXCHANGE==46)
				{	
					wr_lcd(comm,0x0C);
					EXCHANGE=47;
				}
	
	
				else if(guangmo_times_staus==2)
				{
					wr_lcd(comm,0x94);
					guangmo_times_staus=3;
					}
	
				else if(z_waitpostion_staus==2)
				{
					wr_lcd(comm,0x8B);
					z_waitpostion_staus=3;
					}
	
	
	
	
	
			}
	
	
			else if(xx_photo==3)
	
			{
	
				 if(EXCHANGE==2)
			 	  {
					wr_lcd(comm,0x01);
					EXCHANGE=3;
				  }
	
				else if(EXCHANGE==17)
				{
					wr_lcd(comm,0x30);
					EXCHANGE=18;
				}
				else if(EXCHANGE==32)
				{
					wr_lcd(comm,0x8B);
					EXCHANGE=33;
				}
	
				else if(y_postion_staus==2)///////////////////////
				{
					wr_lcd(comm,0x93);
					y_postion_staus=3;
					}
	
				else if(z_postion_staus==2)
				{
					wr_lcd(comm,0x8B);
					z_postion_staus=3;
	
					}
	
	
	
	
	
	
	
	
	
	
	
	
			}
	
			else if(xx_photo==4)
			{
				if(TAB==2)
				{
					if(instruction==0)
					{
						wr_lcd(comm,0x94);			//function
						TAB=3;
						}
					else if(instruction==0x94)
					
					{
						wr_lcd(comm,0x8C);			//function
						TAB=3;
						}
					else if(instruction==0x8C)			//9B
					{
	
						wr_lcd(comm,0x0C);				//view staus switch
						TAB=0;
						ADDR=0;
						instruction=0;
		
						}
			    	}
			     else if(EXCHANGE==2)
			 	  {
					wr_lcd(comm,0x01);
					EXCHANGE=3;
				  }
				else if(EXCHANGE==17)
				{
					chn_disp11(tab11);
	//					j=4;
	//				wr_lcd(dat,chn8[j]);
					EXCHANGE=18;
				}
	
				else if(EXCHANGE==32)
				{
					
					j=3;
					number(j);
					EXCHANGE=33;
				}
				else if(EXCHANGE==47)
				{
					j=7;
					number(j);
					
					EXCHANGE=48;
				}
				else if(z_up_speed_staus==2)
				{
					wr_lcd(comm,0x94);
					z_up_speed_staus=3;
	
					}
	
				else if(z_down_speed_staus==2)
				{
					wr_lcd(comm,0x8C);
					z_down_speed_staus=3;
	
					}
	
	
	
	
			}
		}


		Cont.bits.R_INPUT1_MANAGE=0;


	}		


	if(Cont.bits.R_INPUT2==1)
	{
//		DelayUmSec(5);
		Back_xx_photo=xx_photo;//back xx_photo
		TRISF=0XFF;
		_TRISE5=1;
		TRISD=0X00;
		_TRISE8=0;

		PORTD=0x05;				//138	Y5=IN2_EN		
		_RE8=0;
		_RD3=1;
		Nop();
	
		in_buffer=PORTF;
		KR15=_RE5;
		_RD3=0;
		Nop();
		//*********************************err message
		chk_busy();

		if(!BUSY)
		{

			if(KR_input==3)
			{	//j=0;
				if(!KR0)chn_disp15(tab15);	//x left limit
				else if(!KR1)chn_disp16(tab16);	// x right limit 
				else if(!KR2)chn_disp17(tab17);	//z up limit
				else if(!KR4)chn_disp13(tab13);	//y first limit
				else if(!KR5)chn_disp14(tab14);	//y back limit

				KR_input=4;
			}
		}

		//****************************************











		chk_busy();
		{

			if(xx_photo==1)
			{
	
	
				if(TAB==3)						//tab key down
				{
					if(instruction==0)
					{
						wr_lcd(comm,0x0F);			//function
						TAB=0;
						ADDR=1;						//
						instruction=0x84;
						}
	
				}
	
				//*******************************************************************
	
			 	else if(EXCHANGE==3)
				{
					wr_lcd(comm,0x06);
					EXCHANGE=4;
				}
	
				else if(EXCHANGE==18)
				{
					chn_disp2(tab2);
	//					j=3;
	//					wr_lcd(dat,chn2[j]);
					EXCHANGE=19;
				
				}
				else if(EXCHANGE==33)
				{
						
					j=2;
					number(j);
					EXCHANGE=34;
				
				}
	
				else if(EXCHANGE==48)
				{
					wr_lcd(comm,0x30);
					EXCHANGE=49;
				
				}
	
				//**********************************************************
				else if(LCD_jingei_staus==3)//lcd refresh
				{
	
					array(jingei_times,100);
					LCD_jingei_staus=4;
					}
	
				else if(y_distance_staus==3)		//y_distance_refresh
				{
	
					array(y_distance,100);
					y_distance_staus=4;
					}
	
				else if(y_totallength_staus==3)		//y_totallength_refresh
				{
	
					array(y_totallength,1000);
					y_totallength_staus=4;
					}


	
			}
	
			else if(xx_photo==2)
			{
	
				if(TAB==3)
				{
					if(instruction==0)
					{
						wr_lcd(comm,0x0F);
						TAB=0;
						ADDR=1;						//first tab key
						instruction=0x94;
					}
					else if(instruction==0x94)
					{
						wr_lcd(comm,0x0F);	
						TAB=0;
						ADDR=2;						//second tab key
						instruction=0X8B;
					}
				}
	
	
			 	else if(EXCHANGE==3)
				{
					wr_lcd(comm,0x06);
					EXCHANGE=4;
				}
	
				else if(EXCHANGE==18)
				{
					chn_disp5(tab5);
	//					j=5;
	//				wr_lcd(dat,chn5[j]);
					EXCHANGE=19;
				}
	
				else if(EXCHANGE==33)
				{	
					array_num(z_waitpostion,100);
					EXCHANGE=34;
				}
				else if(guangmo_times_staus==3)
				{
					array(guangmo_times,100);
					guangmo_times_staus=4;
				}
	
				else if(z_waitpostion_staus==3)
				{
					array_num(z_waitpostion,100);
					z_waitpostion_staus=4;
					}
	
	
			}
	
			else if(xx_photo==3)
			{
	
			 	if(EXCHANGE==3)
				{
					wr_lcd(comm,0x06);
					EXCHANGE=4;
				}
	
				else if(EXCHANGE==18)
				{
					wr_lcd(comm,0x88);
					EXCHANGE=19;
				}
				else if(EXCHANGE==33)
				{
					j=1;
					number(j);
					EXCHANGE=34;
				}

⌨️ 快捷键说明

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