📄 qgsky.c
字号:
#include "redkey.h"
#include "main.h"
#define uchar unsigned char
sbit line=P3^2;
sbit COM=P3^3;
sbit YC=P3^4;
sbit ZHT=P3^5;
uchar k,KeyValue;
uchar dat[4]={0,0,0,0};
void main(void)
{
line=1;
TMOD=0x01;
EA=1;
EX0=1;
YC=1;
ZHT=1;
COM=1;
P1=0xFF;
while(1);
}
void int0(void) interrupt 0
{ uchar i,j;
EX0=0;
i=13;
while(--i)
{
TH0=0xfc;
TL0=0x90;
TR0=1;
while(!TF0); //延时8.8毫秒
TF0=0;
TR0=0;
if(line) {EX0=1; return ;}
}
while(!line);
//----------------------------------------
TH0=0xff;
TL0=0x06;
TR0=1;
while(!TF0);
TF0=0;
TR0=0; //延时2.5毫秒
if(!line){EX0=1;return;}
while(line);
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
while(!line);
dat[i]>>=1;
TH0=0xfc;
TL0=0xb8;
TR0=1;
while(!TF0);
TR0=0;
TF0=0; //延时860us
if(line)
{
dat[i]|=0x80;
while(line);
}
}
}
KeyValue = dat[2];
switch(KeyValue)
{
case SELECT_ZERO_KEY_G:
{ P1=0x00;} break;
case SELECT_ONE_KEY_G:
{ P1=0x01;} break;
case SELECT_TWO_KEY_G:
{ P1=0x02;} break;
case SELECT_THREE_KEY_G:
{ P1=0x03;} break;
case SELECT_FOUR_KEY_G:
{ P1=0x04;} break;
case SELECT_FIVE_KEY_G:
{ P1=0x05;} break;
case SELECT_SIX_KEY_G:
{ P1=0x06;} break;
case SELECT_SEVEN_KEY_G:
{ P1=0x07;} break;
case SELECT_EIGHT_KEY_G:
{ P1=0x08;} break;
case SELECT_NINE_KEY_G:
{ P1=0x09;} break;
case SELECT_A_KEY_G:
{ P1=0x0A;} break;
case SELECT_B_KEY_G:
{ P1=0x0B;} break;
case SELECT_C_KEY_G:
{ P1=0x0C;} break;
case SELECT_D_KEY_G:
{ P1=0x0D;} break;
case SELECT_E_KEY_G:
{ P1=0x0E;} break;
case SELECT_F_KEY_G:
{ P1=0x0F;} break;
case SELECT_YC_KEY_G:
{ YC=~YC;} break;
case SELECT_BUF_KEY_G:
{ ZHT=~ZHT;} break;
case SELECT_COM_KEY_G:
{ COM=~COM;} break;
case SELECT_RESTART_KEY_G:
{
YC=1;
ZHT=1;
COM=1;
P1=0xFF;
} break;
}
EX0=1;
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -