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

📄 simstep.cpp.bak

📁 数字面板开发的单片机的软件仿正程序
💻 BAK
字号:
//---------siminit
//---------siminit
//---------siminit
//---------siminit
void siminit(void)
{
	char i;
	if(!simrun)
	{
		hex2dat();
		simrun=TRUE;
		pc=0;
		spp=0;
		filv[TMR0]=0;
		tmr0x=0;
		in74165simdat=0x55aacc33;
		for(i=0;i<60;i++)
		{
			filv[0x129+i]=0xff;
			filv[0x199+i]=0xff;
		}
		strcpy(strOUT74595,"---");
	}
}

	
//---------simmain
//---------simmain66
//---------simmain
//---------simmain
void simmain()
{	
	char scc[2];
		disasmpro(pc);
		gettmr0();
		gettmr1();
		gettmr2();
		getintr();
		getkchx();
		if(frp01==ADCON0)
		{
			getadc();
		}
		if(frp01==EECON1)
		{
			geteeprom();
		}
		if(frp01==ds1302rb)
		{
			getds1302();
		}
		if(frp01==dsp74595rd)
		{
			getdsp74595();
		}
		if(frp01==TXREG)
		{
			scc[0]=filv[TXREG];
			subfFile.Write(scc,1);
		}
}
//---------getkch
//---------getkch
//---------getkch
//---------getkch
void getkch(void)
{
	switch(kch)
	{
	case '1':
		{
			kchx=1;
		}		
	case 'Q':
	case 'q':
		{
			filv[simdatval[0]]=1;//0X2;
			break;
		}
	case '2':
		{
			kchx=2;
		}		
	case 'w':
	case 'W':
		{
			filv[simdatval[0]]=2;//0X3;
			break;
		}
	case '3':
		{
			kchx=3;
		}		
	case 'E':
	case 'e':
		{
			filv[simdatval[0]]=3;//0X4;
			break;
		}
	case '4':
		{
			kchx=4;
		}		
	case 'R':
	case 'r':
		{
			filv[simdatval[0]]=4;//0X5;
			break;
		}
	case '5':
		{
			kchx=5;
		}		
	case 'T':
	case 't':
		{
			filv[simdatval[0]]=0X4;
			break;
		}
	case '6':
		{
			kchx=6;
		}		
	case 'Y':
	case 'y':
		{
			filv[simdatval[0]]=0X5;
			break;
		}
	default:
		{
			break;
		}
	}
	kch=0;
}
//---------getkchx
//---------getkchx
//---------getkchx
//---------getkchx
void getkchx(void)
{
	if(kchx)
	{
		if(filv[simdatval[4]]&0X8)
		{
			if((filv[simdatval[0]]+1)==filv[simdatval[1]])
			{
				kchx=0;
				filv[simdatval[0]]=0;
			}
		}
	}		
}
//-------------char * dspval(char ival);
//-------------char * dspval(char ival);
//-------------char * dspval(char ival);
//-------------char * dspval(char ival);
BOOL dspval(char ival)
{
	//BOOL newstr;
	char str[10];
	char str1[10];
	char i,j;
	switch(ival)
	{
	case 1:
		{
			strcpy(str,getcode(xdspdat[DSDA3-0XE1]));
			strcat(str,getcode(xdspdat[DSDA2-0XE1]));
			strcat(str,getcode(xdspdat[DSDA1-0XE1]));
			strcat(str,getcode(xdspdat[DSDA0-0XE1]));
			break;
		}
	case 2:
		{
			strcpy(str,getcode(xdspdat[DSDB3-0XE1]));
			strcat(str,getcode(xdspdat[DSDB2-0XE1]));
			strcat(str,getcode(xdspdat[DSDB1-0XE1]));
			strcat(str,getcode(xdspdat[DSDB0-0XE1]));
			break;
		}
	case 3:
		{
			strcpy(str,getcode(xdspdat[DSDC0-0xe1]));
//			strcat(str,getcode(xdspdat[DSDC0-0xe1]));
			break;
		}
	case 4:
		{
			strcpy(str,getcode(xdspdat[DSDD0-0XE1]));
//			strcat(str,getcode(xdspdat[DSDD0-0XE1]));
			break;
		}
	case 5:
		{
			strcpy(str,getcode(xdspdat[DSDE0-0XE1]));
			break;
		}
	case 6:
		{
			_itoa(kch,str,10);
			break;
		}
	case 10:
		{
			break;
		}
	default:
		{
			return FALSE;
			break;
		}
	}
	if(ival==10)
	{
		j=9;
	}
	else if(ival>5)
	{
		j=5;
	}
	else
	{
		j=8;
	}
	i=strlen(str);	
	while(i<j)
	{
		str[i++]=' ';
	}
	str[j]=0;
	switch(ival)
	{
	case 1:
		{
			if(strcmp(str,strA))
			{
				strcpy(strA,str);
				return TRUE;
			}
			break;
		}
	case 2:
		{
			if(strcmp(str,strB))
			{
				strcpy(strB,str);
				return TRUE;
			}
			break;
		}
	case 3:
		{
			if(strcmp(str,strC))
			{
				strcpy(strC,str);
				return TRUE;
			}
			break;
		}
	case 4:
		{
			if(strcmp(str,strD))
			{
				strcpy(strD,str);
				return TRUE;
			}
			break;
		}
	case 5:
		{
			if(strcmp(str,strE))
			{
				strcpy(strE,str);
				return TRUE;
			}
			break;
		}
	case 6:
		{
			if(strcmp(str,strKCH))
			{
				strcpy(strKCH,str);
				return TRUE;
			}
			break;
		}
	case 10:
		{
			break;
		}
	default:
		{
			break;
		}
	}
	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;
}

⌨️ 快捷键说明

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