📄 mktest.c
字号:
#include <STC12C5410AD.H>
#include <DATA.H>
#include <CODE.H>
#include <absacc.h>
extern unsigned char zcrmtime,zcrktime;
void mread_data1( void )
{
switch( mroption1 )
{
case 0:
{
if( mclkin1 == 0 && mdatain1 == 0)
{
mroption1 = 1;
}
break;
}
case 1:
{
if( mclkin1 == 1 )
{
mroption1 = 2;
}
break;
}
case 2:
{
if( mdatain1 == 0 )
{
mroption1 = 3;
mrtime1 = 0;
mrnum1 = 8;
}
else
{
mroption1 = 0;
}
break;
}
case 3:
{
if( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
mroption1 = 4;
}
break;
}
case 4:
{
if( mrtime1 >= Foy_us )
{
mrtime1 = 0;
mclkin1 = 1;
mroption1 = 5;
}
break;
}
case 5:
{
if( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mrcode1 /= 2;
if( mdatain1 == 1 )
{
mrcode1 |= 0x80;
}
mrnum1 --;
if( mrnum1 == 0 )
{
mroption1 = 6;
}
else
{
mroption1 = 3;
}
}
break;
}
case 6:
{
if( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
mroption1 = 7;
}
break;
}
case 7:
{
if( mrtime1 >= Foy_us )
{
mrtime1 = 0;
mclkin1 = 1;
mroption1 = 8;
}
break;
}
case 8:
{
if( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mcheckbit1 = mdatain1;
mroption1 = 9;
}
break;
}
case 9:
{
if( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
mroption1 = 10;
}
break;
}
case 10:
{
if( mrtime1 >= Foy_us )
{
mrtime1 = 0;
mclkin1 = 1;
mroption1 = 11;
}
break;
}
case 11:
{
if( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mroption1 = 12;
}
break;
}
case 12:
{
if( mdatain1 == 1 )
{
mrtime1 = 0;
mroption1 = 13;
}
break;
}
case 13:
{
if( mrtime1 >= Fin_us )
{
mrtime1 = 0;
mdatain1 = 0;
mroption1 = 14;
}
break;
}
case 14:
{
if( mrtime1 >= Fie_us )
{
mclkin1 = 0;
mrtime1 = 0;
mroption1 = 15;
}
break;
}
case 15:
{
if( mrtime1 >= Foy_us )
{
mrtime1 = 0;
mclkin1 = 1;
mroption1 = 16;
}
break;
}
case 16:
{
if( mrtime1 >= Fie_us )
{
mdatain1 = 1;
mroption1 = 17;
}
break;
}
case 17:
{
ltime = 1;
while(ltime > 0)
{
if( ltime & mrcode1 )
{
mcheckbit1 = !mcheckbit1;
}
ltime *= 2;
}
if( mcheckbit1 )
{
mrtime1 = 0;
mroption1 = 18;
}
else
{
mroption1 = 0;
}
break;
}
case 18:
{
if( mrtime1 >= FoyFie_us )
{
mroption1 = 0;
if(state == STATE_B)
{
cutime = 0;
cmwcodenum = 1;
cmwcodedata[0] = mrcode1;
cmwcode_p = 0;
}
else
{
mcoderok1 = 1;
}
}
break;
}
}
}
/* 键盘数据读取程序 */
void kread_data1( void )
{
switch( kroption1 )
{
case 0:
{
if( kclkin1 == 0 && kdatain1 == 0)
{
kroption1 = 1;
}
break;
}
case 1:
{
if( kclkin1 == 1 )
{
kroption1 = 2;
}
break;
}
case 2:
{
if( kdatain1 == 0 )
{
kroption1 = 3;
krtime1 = 0;
krnum1 = 8;
}
else
{
kroption1 = 0;
}
break;
}
case 3:
{
if( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
kroption1 = 4;
}
break;
}
case 4:
{
if( krtime1 >= Foy_us )
{
krtime1 = 0;
kclkin1 = 1;
kroption1 = 5;
}
break;
}
case 5:
{
if( krtime1 >= Twe_us )
{
krtime1 = 0;
krcode1 /= 2;
if( kdatain1 == 1 )
{
krcode1 |= 0x80;
}
krnum1 --;
if( krnum1 == 0 )
{
kroption1 = 6;
}
else
{
kroption1 = 3;
}
}
break;
}
case 6:
{
if( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
kroption1 = 7;
}
break;
}
case 7:
{
if( krtime1 >= Foy_us )
{
krtime1 = 0;
kclkin1 = 1;
kroption1 = 8;
}
break;
}
case 8:
{
if( krtime1 >= Twe_us )
{
krtime1 = 0;
kcheckbit1 = kdatain1;
kroption1 = 9;
}
break;
}
case 9:
{
if( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
kroption1 = 10;
}
break;
}
case 10:
{
if( krtime1 >= Foy_us )
{
krtime1 = 0;
kclkin1 = 1;
kroption1 = 11;
}
break;
}
case 11:
{
if( krtime1 >= Twe_us )
{
krtime1 = 0;
kroption1 = 12;
}
break;
}
case 12:
{
if( kdatain1 == 1 )
{
krtime1 = 0;
kroption1 = 13;
}
break;
}
case 13:
{
if( krtime1 >= Fin_us )
{
krtime1 = 0;
kdatain1 = 0;
kroption1 = 14;
}
break;
}
case 14:
{
if( krtime1 >= Fie_us )
{
kclkin1 = 0;
krtime1 = 0;
kroption1 = 15;
}
break;
}
case 15:
{
if( krtime1 >= Foy_us )
{
krtime1 = 0;
kclkin1 = 1;
kroption1 = 16;
}
break;
}
case 16:
{
if( krtime1 >= Fie_us )
{
kdatain1 = 1;
kroption1 = 17;
}
break;
}
case 17:
{
ltime = 1;
while(ltime > 0)
{
if( ltime & krcode1 )
{
kcheckbit1 = !kcheckbit1;
}
ltime *= 2;
}
if( kcheckbit1 )
{
krtime1 = 0;
kroption1 = 18;
}
else
{
kroption1 = 0;
}
break;
}
case 18:
{
if( krtime1 >= FoyFie_us )
{
kroption1 = 0;
if(state == STATE_B)
{
cuktime = 0;
ckwcodenum = 1;
ckwcodedata[0] = krcode1;
ckwcode_p = 0;
}
else
{
kcoderok1 = 1;
}
}
break;
}
}
}
void mwrite_data1( void )
{
BOOL lbit1;
switch( msoption1 )
{
case 0:
{
msoption1 = 18;
mclkin1 = 1;
break;
}
case 18:
{
if( mclkin1 == 1 )
{
mrtime1 = 0;
msoption1 = 1;
m1s_now = 1;
}
break;
}
case 1:
{
if( mrtime1 >= Fiy_us )
{
if( mclkin1 == 1 )
{
msoption1 = 2;
}
else
{
msoption1 = 0;
}
}
break;
}
case 2:
{
if( mdatain1 == 1 )
{
msoption1 = 15;
mrtime1 = 0;
msnum1 = 8;
mscheckbit1 = 1;
mscode1 = mcode1[ mcodenum1 - 1 ];
}
else
{
mroption1 = 2;
mcodenum1 = 0;
}
break;
}
case 3:
{
if ( mrtime1 >= Twe_us )
{
lbit1 = mscode1 & 0x01;
mdatain1 = lbit1;
mscheckbit1 ^= lbit1;
mscode1 /= 2;
mrtime1 = 0;
msoption1 = 4;
}
break;
}
case 4:
{
if ( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
msoption1 = 5;
}
break;
}
case 5:
{
if ( mrtime1 >= Foy_us )
{
mclkin1 = 1;
mrtime1 = 0;
msnum1 --;
if( msnum1 == 0 )
{
msoption1 = 6;
}
else
{
msoption1 = 3;
}
}
break;
}
case 6:
{
if ( mrtime1 >= Twe_us )
{
mdatain1 = mscheckbit1;
mrtime1 = 0;
msoption1 = 7;
}
break;
}
case 7:
{
if ( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
msoption1 = 8;
}
break;
}
case 8:
{
if ( mrtime1 >= Foy_us )
{
mclkin1 = 1;
mrtime1 = 0;
msoption1 = 10;
}
break;
}
case 10:
{
if ( mrtime1 >= Twe_us )
{
mdatain1 = 1;
mrtime1 = 0;
msoption1 = 11;
}
break;
}
case 11:
{
if ( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
msoption1 = 12;
}
break;
}
case 12:
{
if ( mrtime1 >= Foy_us )
{
mclkin1 = 1;
mrtime1 = 0;
msoption1 = 13;
}
break;
}
case 13:
{
if ( mrtime1 >= Twe_us )
{
mrtime1 = 0;
msoption1 = 14;
}
break;
}
case 14:
{
if ( mrtime1 >= Thy_us )
{
msoption1 = 0;
mrtime1 = 0;
mcodenum1 --;
/*if( cmrcodenum!= 0 && mcodenum1 == 0 && state == STATE_B)
{
mcodenum1 = 1;
cmrcodenum = 0;
mcode1[0] = cmrcodedata[0];
}*/
if( mcodenum1 == 0 )
{
m1s_now = 0;
}
}
break;
}
case 15:
{
if ( mrtime1 >= Twe_us )
{
mdatain1 = 0;
msoption1 = 16;
}
break;
}
case 16:
{
if ( mrtime1 >= Twe_us )
{
mrtime1 = 0;
mclkin1 = 0;
msoption1 = 17;
}
break;
}
case 17:
{
if ( mrtime1 >= Foy_us )
{
mclkin1 = 1;
mrtime1 = 0;
msoption1 = 3;
}
break;
}
}
}
void kwrite_data1( void )
{
BOOL lbit1;
switch( ksoption1 )
{
case 0:
{
ksoption1 = 18;
kclkin1 = 1;
break;
}
case 18:
{
if( kclkin1 == 1 )
{
krtime1 = 0;
ksoption1 = 1;
k1s_now = 1;
}
break;
}
case 1:
{
if( krtime1 >= Fiy_us )
{
if( kclkin1 == 1 )
{
ksoption1 = 2;
}
else
{
ksoption1 = 0;
}
}
break;
}
case 2:
{
if( kdatain1 == 1 )
{
ksoption1 = 15;
krtime1 = 0;
ksnum1 = 8;
kscheckbit1 = 1;
kscode1 = kcode1[ kcodenum1 - 1 ];
}
else
{
kroption1 = 2;
kcodenum1 = 0;
}
break;
}
case 3:
{
if ( krtime1 >= Twe_us )
{
lbit1 = kscode1 & 0x01;
kdatain1 = lbit1;
kscheckbit1 ^= lbit1;
kscode1 /= 2;
krtime1 = 0;
ksoption1 = 4;
}
break;
}
case 4:
{
if ( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
ksoption1 = 5;
}
break;
}
case 5:
{
if ( krtime1 >= Foy_us )
{
kclkin1 = 1;
krtime1 = 0;
ksnum1 --;
if( ksnum1 == 0 )
{
ksoption1 = 6;
}
else
{
ksoption1 = 3;
}
}
break;
}
case 6:
{
if ( krtime1 >= Twe_us )
{
kdatain1 = kscheckbit1;
krtime1 = 0;
ksoption1 = 7;
}
break;
}
case 7:
{
if ( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
ksoption1 = 8;
}
break;
}
case 8:
{
if ( krtime1 >= Foy_us )
{
kclkin1 = 1;
krtime1 = 0;
ksoption1 = 10;
}
break;
}
case 10:
{
if ( krtime1 >= Twe_us )
{
kdatain1 = 1;
krtime1 = 0;
ksoption1 = 11;
}
break;
}
case 11:
{
if ( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
ksoption1 = 12;
}
break;
}
case 12:
{
if ( krtime1 >= Foy_us )
{
kclkin1 = 1;
krtime1 = 0;
ksoption1 = 13;
}
break;
}
case 13:
{
if ( krtime1 >= Twe_us )
{
krtime1 = 0;
ksoption1 = 14;
}
break;
}
case 14:
{
if ( krtime1 >= Thy_us )
{
ksoption1 = 0;
krtime1 = 0;
kcodenum1 --;
if( ckrcodenum!= 0 && kcodenum1 == 0 && state == STATE_B )
{
kcodenum1 = 1;
ckrcodenum = 0;
kcode1[0] = ckrcodedata[0];
}
if( kcodenum1 == 0 )
{
k1s_now = 0;
}
}
break;
}
case 15:
{
if ( krtime1 >= Twe_us )
{
kdatain1 = 0;
ksoption1 = 16;
}
break;
}
case 16:
{
if ( krtime1 >= Twe_us )
{
krtime1 = 0;
kclkin1 = 0;
ksoption1 = 17;
}
break;
}
case 17:
{
if ( krtime1 >= Foy_us )
{
kclkin1 = 1;
krtime1 = 0;
ksoption1 = 3;
}
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -