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

📄 simstep.cpp

📁 配合KEIL C的AGSI调试I2C的工具
💻 CPP
字号:
//---------siminit
//---------siminit
//---------siminit
//---------siminit
void siminit(void)
{
	if(!simrun)
	{
		hex2dat();
		simrun=TRUE;
		pc=0;
		spp=0;
		filv[TMR0]=0;
		tmr0x=0;
	}
}
//---------simmain
//---------simmain66
//---------simmain
//---------simmain
void simmain()
{	
		disasmpro(pc);
		gettmr0();
		getintr();
		getkch();
		if(frp01==at24xxrb)
		{
			getat24xx();
			frp01=0;
		}
}
//---------getkch
//---------getkch
//---------getkch
//---------getkch
void getkch(void)
{
	if((!kch)&&kchx)
	{
		kch=kchx+0x30;
	}
	kchx=0;
	switch(kch)
	{
	case '1':
		{
			
			kchx=1;
		}		
	case 'Q':
	case 'q':
		{
			filv[simdatval[1]]++;
			break;
		}
	case '2':
		{
			kchx=2;
		}		
	case 'w':
	case 'W':
		{
			filv[simdatval[1]]--;
			break;
		}
	case '3':
		{
			kchx=3;
		}		
	case 'E':
	case 'e':
		{
			filv[simdatval[2]]++;
			break;
		}
	case '4':
		{
			kchx=4;
		}		
	case 'R':
	case 'r':
		{
			filv[simdatval[2]]--;
			break;
		}
	case '5':
		{
			kchx=5;
		}		
	case 'T':
	case 't':
		{
			filv[simdatval[3]]++;
			break;
		}
	case '6':
		{
			kchx=6;
		}		
	case 'Y':
	case 'y':
		{
			filv[simdatval[3]]--;
			break;
		}
	default:
		{
			break;
		}
	}
	kch=0;
}
//-------------char * dspval(char ival);
//-------------char * dspval(char ival);
//-------------char * dspval(char ival);
//-------------char * dspval(char ival);
BOOL dspval(char ival)
{
	char str[10];
	char i,j;
	if(!ival)
	{
		i=i;
	}
	_itoa(filv[simdatval[ival]],str,16);			
	i=strlen(str);	
	while(i<5)
	{
		str[i++]=' ';
	}
	str[5]=0;
	if(strcmp(str,strsimDSP[ival]))
	{
		strcpy(strsimDSP[ival],str);
		return TRUE;
	}
	return FALSE;
}
//-------------char * getcode(int icode);
//-------------char * getcode(int icode);
//-------------char * getcode(int icode);
//-------------char * getcode(int icode);
char * getcode(int icode)
{
	char str[80];
	switch(icode)
	{
	case ZM0:
		{
			strcpy(str,"0");
			break;
		}
	case ZM1:
		{
			strcpy(str,"1");
			break;
		}
	case ZM2:
		{
			strcpy(str,"2");
			break;
		}
	case ZM3:
		{
			strcpy(str,"3");
			break;
		}
	case ZM4:
		{
			strcpy(str,"4");
			break;
		}
	case ZM5:
		{
			strcpy(str,"5");
			break;
		}
	case ZM6:
		{
			strcpy(str,"6");
			break;
		}
	case ZM7:
		{
			strcpy(str,"7");
			break;
		}
	case ZM8:
		{
			strcpy(str,"8");
			break;
		}
	case ZM9:
		{
			strcpy(str,"9");
			break;
		}
	case ZMA:
		{
			strcpy(str,"A");
			break;
		}
	case ZMB:
		{
			strcpy(str,"b");
			break;
		}
	case ZMC:
		{
			strcpy(str,"C");
			break;
		}
	case ZMD:
		{
			strcpy(str,"d");
			break;
		}
	case ZME:
		{
			strcpy(str,"E");
			break;
		}
	case ZMF:
		{
			strcpy(str,"F");
			break;
		}
	case ZM0D:
		{
			strcpy(str,"0.");
			break;
		}
	case ZM1D:
		{
			strcpy(str,"1.");
			break;
		}
	case ZM2D:
		{
			strcpy(str,"2.");
			break;
		}
	case ZM3D:
		{
			strcpy(str,"3.");
			break;
		}
	case ZM4D:
		{
			strcpy(str,"4.");
			break;
		}
	case ZM5D:
		{
			strcpy(str,"5.");
			break;
		}
	case ZM6D:
		{
			strcpy(str,"6.");
			break;
		}
	case ZM7D:
		{
			strcpy(str,"7.");
			break;
		}
	case ZM8D:
		{
			strcpy(str,"8.");
			break;
		}
	case ZM9D:
		{
			strcpy(str,"9.");
			break;
		}
	case ZMAD:
		{
			strcpy(str,"A.");
			break;
		}
	case ZMBD:
		{
			strcpy(str,"b.");
			break;
		}
	case ZMCD:
		{
			strcpy(str,"C.");
			break;
		}
	case ZMDD:
		{
			strcpy(str,"d.");
			break;
		}
	case ZMED:
		{
			strcpy(str,"E.");
			break;
		}
	case ZMFD:
		{
			strcpy(str,"F.");
			break;
		}
	case ZMP:
		{
			strcpy(str,"P");
			break;
		}
	case ZMR:
		{
			strcpy(str,"r");
			break;
		}
	case ZMY:
		{
			strcpy(str,"y");
			break;
		}
	case ZMT:
		{
			strcpy(str,"t");
			break;
		}
	case ZMM:
		{
			strcpy(str,"M");
			break;
		}
	case ZMH:
		{
			strcpy(str,"H");
			break;
		}
	case ZML:
		{
			strcpy(str,"L");
			break;
		}
	case ZM100:
		{
			strcpy(str,"%");
			break;
		}
	case ZMN:
		{
			strcpy(str,"N");
			break;
		}
	case ZMU:
		{
			strcpy(str,"U");
			break;
		}
	default:
		{
			str[0]=icode;
			str[1]=0;
			break;
		}
	}
	return str;
}
/////////////void simout(void)
/////////////void simout(void)
/////////////void simout(void)
void simout(void)
{
	unsigned int i;
//	if(pctest)
	{
//		pctest=FALSE;
			if(filv[simdatval[NPGTEMPN]]<40)
			{
				filv[simdatval[NPGTEMPN]]=70;
			}
			if(filv[simdatval[ROOMTEMPN]]<40)
			{
				filv[simdatval[ROOMTEMPN]]=70;
			}
		if(motoron)
		{
			if(stfon)
			{
				npgtl++;
				if(npgtl>1)
				{
					if(filv[simdatval[NPGTEMPN]]<220)
					{
						filv[simdatval[NPGTEMPN]]++;
					}
					npgtl=0;
				}
				roomtl++;
				if(roomtl>3)
				{
					if(filv[simdatval[ROOMTEMPN]]<180)
					{
						filv[simdatval[ROOMTEMPN]]++;
					}
					roomtl=0;
				}
			}
			else 
			{
				npgtl++;
				if(npgtl>11)
				{
					if(filv[simdatval[NPGTEMPN]]>40)
					{
						filv[simdatval[NPGTEMPN]]--;
					}
					npgtl=0;
				}
				roomtl++;
				if(roomtl>13)
				{
					if(filv[simdatval[ROOMTEMPN]]>40)
					{
						filv[simdatval[ROOMTEMPN]]--;
					}
					roomtl=0;
				}
			}
		}
		else
		{
			if(stfon)
			{
				npgtl++;
				if(npgtl>3)
				{
					if(filv[simdatval[NPGTEMPN]]>40)
					{
						filv[simdatval[NPGTEMPN]]--;
					}
					npgtl=0;
				}
				roomtl++;
				if(roomtl>5)
				{
					if(filv[simdatval[ROOMTEMPN]]>40)
					{
						filv[simdatval[ROOMTEMPN]]--;
					}
					roomtl=0;
				}
			}
			else 
			{
				npgtl++;
				if(npgtl>13)
				{
					if(filv[simdatval[NPGTEMPN]]<220)
					{
						filv[simdatval[NPGTEMPN]]++;
					}
					npgtl=0;
				}
				roomtl++;
				if(roomtl>15)
				{
					if(filv[simdatval[ROOMTEMPN]]<180)
					{
						filv[simdatval[ROOMTEMPN]]++;
					}
					roomtl=0;
				}
			}
		}
		if(filv[simdatval[PGSPDVHL0]]<30)
		{
			filv[simdatval[PGSPDVHL0]]=40;
		}
		i=(filv[simdatval[TRIG1H]]*256)+(filv[simdatval[TRIG1L]]);
		if((tra>(i+0x100))||(tra<0x800))
		{
			spd++;
			tra=i;
			if(spd>1)
			{
				if(filv[simdatval[PGSPDVHL0]]<255)
				{
					filv[simdatval[PGSPDVHL0]]++;
				}
				spd=0;
			}
		}
		else if((tra<(i-0x100))||(tra>0x4e00))
		{
			tra=i;
			spd--;
			if(spd>1)
			{
				if(filv[simdatval[PGSPDVHL0]]>0)
				{
					filv[simdatval[PGSPDVHL0]]--;
				}
				spd=0;
			}
		}
	}
}

⌨️ 快捷键说明

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