📄 scankey.c
字号:
#include "io.h"
#include "ioscan.h"
#include "ioport.h"
#include "i2c.h"
#include "recframe.h"
#include "process.h"
void io_cmp(uchar io_num)
{
io_status[io]=1;
bak_status[io_num]=io_status[io_num];
}
void io_Scan1(void)
{
recode=(port2&0xF0)|0x0F;
io_temp=(~sccode)+(~recode);
if((io_temp&0x11)==0x11)
{
io = 0x00;
io_cmp(io);
}
else io_status[0]=0;
if((io_temp&0x21)==0x21)
{
io = 0x01;
io_cmp(io);
}
else io_status[1]=0;
if((io_temp&0x41)==0x41)
{
io = 0x02;
io_cmp(io);
}
else io_status[2]=0;
if((io_temp&0x81)==0x81)
{
io = 0x03;
io_cmp(io);
}
else io_status[3]=0;
}
void io_Scan2(void)
{
recode=(port2&0xF0)|0x0F;
io_temp=(~sccode)+(~recode);
if((io_temp&0x12)==0x12)
{
io = 0x04;
io_cmp(io);
}
else io_status[4]=0;
if((io_temp&0x22)==0x22)
{
io = 0x05;
io_cmp(io);
}
else io_status[5]=0;
if((io_temp&0x42)==0x42)
{
io = 0x06;
io_cmp(io);
}
else io_status[6]=0;
if((io_temp&0x82)==0x82)
{
io = 0x07;
io_cmp(io);
}
else io_status[7]=0;
}
void io_Scan3(void)
{
recode=(port2&0xF0)|0x0F;
io_temp=(~sccode)+(~recode);
if((io_temp&0x14)==0x14)
{
io = 0x08;
io_cmp(io);
}
else io_status[8]=0;
if((io_temp&0x24)==0x24)
{
io = 0x09;
io_cmp(io);
}
else io_status[9]=0;
if((io_temp&0x44)==0x44)
{
io = 0x0A;
io_cmp(io);
}
else io_status[10]=0;
if((io_temp&0x84)==0x84)
{
io = 0x0B;
io_cmp(io);
}
else io_status[11]=0;
}
void io_Scan4(void)
{
recode=(port2&0xF0)|0x0F;
io_temp=(~sccode)+(~recode);
if((io_temp&0x18)==0x18)
{
io = 0x0C;
io_cmp(io);
}
else io_status[12]=0;
if((io_temp&0x28)==0x28)
{
io = 0x0D;
io_cmp(io);
}
else io_status[13]=0;
if((io_temp&0x48)==0x48)
{
io = 0x0E;
io_cmp(io);
}
else io_status[14]=0;
if((io_temp&0x88)==0x88)
{
io = 0x0F;
io_cmp(io);
}
else io_status[15]=0;
}
void count(uchar i)
{
sum[i][5]++;
if((sum[i][5]&0x0f)>0x09)
sum[i][5]=((sum[i][5]&0xf0)+0x10);
if(sum[i][5]>0x99)
{
sum[i][4]++;
if((sum[i][4]&0x0f)>0x09)
sum[i][4]=((sum[i][4]&0xf0)+0x10);
if(sum[i][4]>0x99)
{
sum[i][3]++;
if((sum[i][3]&0x0f)>0x09)
sum[i][3]=((sum[i][3]&0xf0)+0x10);
if(sum[i][3]>0x99)
{
sum[i][2]++;
if((sum[i][2]&0x0f)>0x09)
sum[i][2]=((sum[i][2]&0xf0)+0x10);
if(sum[i][2]>0x99)
{
sum[i][1]++;
if((sum[i][1]&0x0f)>0x09)
sum[i][1]=((sum[i][1]&0xf0)+0x10);
if(sum[i][1]>0x99)
{
sum[i][0]++;
if((sum[i][0]&0x0f)>0x09)
sum[i][0]=((sum[i][0]&0xf0)+0x10);
if(sum[i][0]>0x99)
sum[i][0]=0x00;
sum[i][1]=0x00;
}
sum[i][2]=0x00;
}
sum[i][3]=0x00;
}
sum[i][4]=0x00;
}
sum[i][5]=0x00;
}
}
void freezecount(uchar i)
{
freezesum[i][5]++;
if((freezesum[i][5]&0x0f)>0x09)
freezesum[i][5]=((freezesum[i][5]&0xf0)+0x10);
if(freezesum[i][5]>0x99)
{
freezesum[i][4]++;
if((freezesum[i][4]&0x0f)>0x09)
freezesum[i][4]=((freezesum[i][4]&0xf0)+0x10);
if(freezesum[i][4]>0x99)
{
freezesum[i][3]++;
if((freezesum[i][3]&0x0f)>0x09)
freezesum[i][3]=((freezesum[i][3]&0xf0)+0x10);
if(freezesum[i][3]>0x99)
{
freezesum[i][2]++;
if((freezesum[i][2]&0x0f)>0x09)
freezesum[i][2]=((freezesum[i][2]&0xf0)+0x10);
if(freezesum[i][2]>0x99)
{
freezesum[i][1]++;
if((freezesum[i][1]&0x0f)>0x09)
freezesum[i][1]=((freezesum[i][1]&0xf0)+0x10);
if(freezesum[i][1]>0x99)
{
freezesum[i][0]++;
if((freezesum[i][0]&0x0f)>0x09)
freezesum[i][0]=((freezesum[i][0]&0xf0)+0x10);
if(freezesum[i][0]>0x99)
freezesum[i][0]=0x00;
freezesum[i][1]=0x00;
}
freezesum[i][2]=0x00;
}
freezesum[i][3]=0x00;
}
freezesum[i][4]=0x00;
}
freezesum[i][5]=0x00;
}
}
void io_process(uchar tmp)
{
register uchar i;
for(i=tmp;i<tmp+4;i++)
{
if (io_status[i]==0&&bak_status[i]==1)
{
bak_status[i]=0;
count(i);
if(FreezeFlag)
freezecount(i);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -