📄 key7279.c
字号:
#include "KEY7279.h"
void delay(unsigned int cnt);
uchar ab[8];
void delay(unsigned int cnt)
{
while(cnt--);
}
void wbyte(uchar x)
{uchar i;
SFRPAGE=0x0f;
delay(25);
delay(50);
for(i=0;i<8;i++)
{
dat=(bit)(x&0x80);
clk7279 =1;
delay(6);
clk7279 =0;
x<<=1;
delay(2);
}
dat=1;
}
void write7279b(uchar x)
{//cs=0;
wbyte(x);
//cs=1;
}
void write7279w(uchar com,uchar shu)
{//cs=0;
wbyte(com);
wbyte(shu);
delay(50);
// cs=1;
}
uchar readkey()
{uchar i,x;
SFRPAGE=0x0f;
//cs=0;
//delay(25);
delay(50);
wbyte(0x15);
// delay(12);
delay(20);
clk7279=1;
// delay(4);
delay(6);
for(i=0;i<8;i++)
{ x<<=1;
if(dat)x|=0x01;
clk7279=0;
// delay(4);
delay(7);
clk7279=1;
delay(7);
}
// clk7279=0;
// cs=1;
return x;
}
void ddtq()
{uchar i,j,k=160;
while(k)
{ j=250;
while(j)
{ i=250;
while(i){if(key)return;i--;}
j--;
}
k--;
}
return;
}
void play7279(uchar *p)
{uchar i;
for(i=0;i<8;i++)
{write7279w(i|0x80,p[i]);
}
}
void qp7279(uchar *p)
{uchar i;
for(i=0;i<8;i++)
{ p[i]=0x0f;
}
}
void displ(uchar *p,uchar x)
{uchar i;
for(i=7;i>0;i--)
{ p[i]=p[i-1];
}
p[i]=x;
}
void keypend()
{
key=1;
if(!key)
{ delay(5000);//去抖动
if(!key)
{ displ(ab,readkey());
// write7279b(0xa4);
play7279(ab);
ddtq();
}
}
}
/*
void main()
{uchar ab[8];
//P2=0xff;
SFRPAGE=0x0f;
//cs=1;
clk=0;
write7279b(0xa4);
//delayms(10);
Delay(6000);
//write7279b(0xbf);
qp7279(ab);
play7279(ab);
write7279w(0x84,9);
write7279w(0x85,7);
write7279w(0x86,2);
write7279w(0x87,7);
//while(1);
while(1)
{key=1;
while(key);
// delayms(100);
Delay(25000);
if(!key)
{ displ(ab,readkey());
write7279b(0xa4);
play7279(ab);
ddtq();
}
}
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -