📄 szintr.c
字号:
#define DSP595W1 {/*DSPTM1 to 595OUT*/DSPTMP0=8;/*DSP595L:*/do{U595SCK=0;PDISP=OUTDISP;U595SIN=1;if(!bit_test(DSPTMP1,7)){U595SIN=0;}PDISP=OUTDISP;U595SCK=1;PDISP=OUTDISP;DSPTMP1<<=1;}while(--DSPTMP0);}
void interrupt intall_isr(void)
{
TWOINTR:
if(T0IF)
{
T0IF=0;
TMR0+=6;
T1MS++;//m.seconds++;
if(!kydly)
{
DSB&=0XF;
switch(DSB)
{
case 4:
DSPTMP1=0XFE;
break;
case 5:
DSPTMP1=0XFD;
break;
case 6:
DSPTMP1=0XFB;
break;
case 7:
DSPTMP1=0XF7;
break;
case 8:
DSPTMP1=0XEF;
break;
case 9:
DSPTMP1=0XDF;
break;
case 10:
DSPTMP1=0XBF;
break;
case 11:
DSPTMP1=0X7F;
break;
case 0:
case 1:
case 2:
case 3:
case 12:
case 13:
case 14:
default:
DSPTMP1=0XFF;
break;
}//0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff
// DSPTMP1=DSP595B[(DSB-1)&0XF];
DSP595W1;//();
U595SIN=0;
DSPTMP0=0X8;
//DSP595M:
do
{
U595SCK=0;
PDISP=OUTDISP;
U595SCK=1;
PDISP=OUTDISP;
}while(--DSPTMP0);
U595RCK=1;
PDISP=OUTDISP;
U595RCK=0;
PDISP=OUTDISP;
U595SCK=0;
PDISP=OUTDISP;
#ifndef simkvvv
if(!KEYIN)//if(!KEYIN)if(!KEYIN)
{
kyst=1;
}
#else
if(KVVV==DSB)
{
kyst=1;
}
#endif
}
if(DSB>=DSBXXX)
{
DSB=0;
}
switch(DSB)
{
case 3:
DSPTMP1=0XFE;
break;
case 4:
DSPTMP1=0XFD;
break;
case 5:
DSPTMP1=0XFB;
break;
case 6:
DSPTMP1=0XF7;
break;
case 7:
DSPTMP1=0XEF;
break;
case 8:
DSPTMP1=0XDF;
break;
case 9:
DSPTMP1=0XBF;
break;
case 10:
DSPTMP1=0X7F;
break;
case 0:
case 1:
case 2:
case 11:
case 12:
case 13:
case 14:
default:
DSPTMP1=0XFF;
break;
}
DSP595W1;//();
DSPTMP1=DSDABC[DSB];
DSP595W1;//();
DSPTMP1=DSB;
OUTRC|=DSB012S;
if(!DSPTMP1)
{
DSB0=0;
goto DXBX0;
}
if(!--DSPTMP1)
{
DSB1=0;
goto DXBX0;
}
if(!--DSPTMP1)
{
DSB2=0;
}
DXBX0:
PORTC=OUTRC;
U595RCK=1;
PDISP=OUTDISP;
U595RCK=0;
PDISP=OUTDISP;
U595SIN=0;
U595SCK=0;
PDISP=OUTDISP;
DSB++;
if(kyst)
{
kyst=0;
if(DSB==(KOLDV&0XF))
{
KCNT+=2;
}
else if(!KCNT)
{
KOLDV=DSB+(KOLDV&0X0F0);
}
}
if(DSB==1)
{
lpkf=1;
if(kydly)if(!(--KCNT))
{
kydly=0;
}
if(!kydly)
{
KCNT--;
if(bit_test(KCNT,7))
{
if(KCNT!=0XFF)
{
KCNT=0;
KEYV=0;
KOLDV=0;
KVPP=0;
}
}
else if(KCNT>5)//3)
{
if(KOLDV&0XF)
{
if(KEYV==(KOLDV&0XF))
{
if(!(++KVPP))
{
KVPP--;
}
}
KEYV=(KOLDV&0XF);
//dsdbnew=1;
//DSPB=KEYV;
//PARAMS3[MINP3]=KEYV;
kyold=1;
KCNT=17;//0XC;
kydly=1;
kyold=1;
p3ks=1;
}
}
}
}
}
else if(INTF)
{
INTF=0;
}
else
{
INTCON&=INTCONF;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -