📄 simstep.cpp
字号:
//---------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]]=3;//0X3;
break;
}
case '3':
{
kchx=3;
}
case 'E':
case 'e':
{
filv[simdatval[0]]=4;//0X4;
break;
}
case '4':
{
kchx=4;
}
case 'R':
case 'r':
{
filv[simdatval[0]]=5;//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 + -