📄 szintr41.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++;
// T3MS++;
/* if(!dsponi)
{
dsponi=1;
;
#asm
movf saved_fsr,w
movwf _saved_fsr1
movf saved_pclath,w
movwf _saved_pclath1
movf 0x73,w
movwf _saved_tmp01
movf 0x6f,w
movwf _saved_tmp11
movf saved_status,w
movwf _saved_status1
movwf 3
movf saved_w,w
movwf _saved_w1
clrf 3
#endasm
;*/
// ei();
/* DSKYWKI();
void DSKYWKI(void)//OUTPUT(DSDT)+READ(KEY)
{*/
if(!kydly)
{
/* DSP595K();//
void DSP595K(void)
{*/
//READ KEY BY 595OUT
;
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;
//DSP595R:
//DSP595END:
//}
#ifndef simkvvv
if(!KEYIN)//if(!KEYIN)if(!KEYIN)
{
kyst=1;
// DSDA0++;
}
//if(KEYIN)//if(!KEYIN)if(!KEYIN)
{
//kyst=0;
// DSDA1++;
}
#else
if(KVVV==DSB)
{
kyst=1;
}
#endif
}
//while(!KEYIN);
/*DSP595I();
void DSP595I(void)
{*/
//DISPLAY OUTPUT
// dspon=0;
#ifdef simulate
CHK1++;
if(!CHK1)
{
CHK2++;
if(!CHK2)
{
CHK3++;
}
}
if((CHK1-T1MS)>0)
{
CHK1=T1MS;
}
#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;
}
// DSPTMP1=DSP595B[DSB];
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;
}
}
}
}
//}
/* di();
dsponi=0;
;
#asm
movf _saved_tmp01,w
movwf 0x71//73
movf _saved_tmp11,w
movwf 0x70//6f
movf _saved_fsr1,w
movwf 4
movf _saved_pclath1,w
movwf 10
movf _saved_status1,w
movwf 3
swapf _saved_w1
swapf _saved_w1,w
retfie
#endasm
;*/
}
// }
else if(INTF)
{
INTF=0;
}
else
{
INTCON&=INTCONF;
}
}
void DSP595W(void)
{
//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);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -