⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key7279.c

📁 找了很久,这里的C8051F020的UCOS移植.020没有SFRPAGE. KEIL下的C8051F040的UCOS的源代码,用YY的改写的,增加了对页寄存器SFRPAGE和PSBANK寄存器的保
💻 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 + -