📄 dis_xl.c
字号:
{
r_p=0;
}
soe[w_p][0]=data_rx[5];
for(k=1;k<3;k++)
{
soe[w_p][k]=data_rx[2*k+4]+data_rx[2*k+5]*256;
}
w_p++;
w_p &= 0xf;
event=1;
}
void soe_zz()
{
if((r_p==w_p)&&(event==1))
{
if(s_b==0)
{
s_b=0xf;
}
else
{
s_b--;
}
}
else if((r_p!=w_p)&&(s_b!=r_p))
{
s_b--;
}
}
void soe_page()
{
if(r_p!=w_p)
{
total= (w_p + 1)/2;
}
else if((r_p==w_p)&&(event==1))
{
total = 8;
}
else
{
total = 0;
}
}
void int_samkey() interrupt 1
{
unsigned int tmp1, tmp2;
TH0 = 0xb8;
TL0 = 0x00;
cnt1++;
tmp1 = ~KEY9;
tmp1 = ((tmp1 & b0_msk)<<8);
tmp2 = ~KEY8;
tmp2 &= 0xff;
kscan = (tmp1 | tmp2);
kready = keya & keyb;
keya = keyb;
keyb = kscan;
tmp2 = (kready & kscan);
if(tmp2 != 0)
{
tmp1 = (kready ^ keybak);
if(tmp1 != 0)
{
keybak = kready;
if(!TKEY)
{
TKEY = kready;
}
}
}
else
{
keybak = 0;
}
}
void int_com() interrupt 4
{
unsigned char i,check1;
if(RI==1)
{
rx1=rx0;
rx0=SBUF;
if((rx1==0xeb)&(rx0==0x90)) flag_rx=1;
if(flag_rx==1) { p_rx++; data_rx[p_rx]=rx0;}
if(p_rx>(data_rx[4]+4))
{
check1=0xeb;
for(i=1;i<p_rx;i++)
{
check1=check1^data_rx[i];
}
if(check1==rx0)
{
rsymbol |= b2_msk; //整帧
data_led = (data_led ^ 0x01);
LED8 = data_led;
CLED = 0;
CLED = 1;/* LED8=1;CLED = 0;CLED = 1; */
P2 =0xff;
}
flag_rx=0;
p_rx=0;
}
RI=0;
}
TI=0;
}
void LCD_CLR()
{
unsigned int i,j;
for(i=0;i<6000;i++);
for(i=0;i<4;i++)
{
for(j=0;j<16;j++)
{
disp816(j*8,i*2,' ');
}
}
}
unsigned char check_pass()
{
unsigned char tem,j;
tem=4;
recode();
for(j=0;j<4;j++)
{
if(mm[j]!=kk[j])
{
tem--;
}
}
if(tem!=4)
{
tem=4;
for(j=0;j<4;j++)
{
if(mm[j]!=1)
{
tem--;
}
}
}
return tem;
}
void recode()
{
unsigned int y;
unsigned char x,z;
IE=0x0;
for(x=0,z=1;z<5;x++,z++)
{
kk[x]=rdbytespi(z);
if(kk[x]>9) { kk[x]=0; }
for(y=0;y<1000;y++);
}
IE=0x92;
}
/**********************************************************
按键处理:row为每屏定值的行数row=p_y/2;
***********************************************************/
void dealkey(unsigned char row,unsigned char colum)
{
unsigned int j;
if(page_change != 1)
{
switch(TKEY)
{
case up:
if(p_y>0)
{
disp816(p_x,p_y,ascdz[t_y--][t_x]);
p_y -=2;
if(ascdz[t_y][t_x]=='.')
{
t_x++;
p_x+=8;
}
if(p_y==0)
{
for(j=20000;j>0;j--);
}
}
break;
case down:
if(p_y<row)
{
disp816(p_x,p_y,ascdz[t_y++][t_x]);
p_y +=2;
if(ascdz[t_y][t_x]=='.')
{
t_x++;
p_x+=8;
}
if(p_y==6)
{
for(j=20000;j>0;j--);
}
}
break;
case left:
if(p_x>72)
{
disp816(p_x,p_y,ascdz[t_y][t_x--]);
p_x -=8;
if(ascdz[t_y][t_x]=='.')
{
t_x--;
p_x-=8;
}
}
break;
case right:
if(p_x<colum)
{
disp816(p_x,p_y,ascdz[t_y][t_x++]);
p_x +=8;
if(ascdz[t_y][t_x]=='.')
{
t_x++;
p_x+=8;
}
}
break;
case add:
if(ascdz[t_y][t_x]<'9')
{
ascdz[t_y][t_x]++;
rsymbol |= b4_msk;
tflag=1;
}
break;
case sub:
if(ascdz[t_y][t_x]>'0')
{
ascdz[t_y][t_x]--;
rsymbol |= b4_msk;
tflag=1;
}
break;
default:
break;
}
disp816n(p_x,p_y,ascdz[t_y][t_x]);
}
}
/**********************************************************
按键处理:row为每屏定值的行数row=p_y,start-位定值起始p_y=0或2;
***********************************************************/
void dealkey_kzz(unsi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -