📄 keyboard.c
字号:
#include<c8051f020.h>
void Delay1us(unsigned long int);
void delay(long int);
void senddata(unsigned char,unsigned char);
void setoff(unsigned char);
void tests(void);
sbit b1=P1^1;
sbit b2=P1^2;
sbit b3=P1^3;
sbit b4=P1^4;
unsigned char i=0,a[3]={0,0,0},n=1,n1=0,result=0,f=0;
unsigned int x[3]={0,0,0};
void T1_int(void) interrupt 3
{
// ET1 = 0;
TMOD |= 0x50;
TH1 = 0xFF;
TL1 = 0xFF;
while(!TF1)
{
if(n>0)
{
senddata((i+1),15);
Delay1us(100000);
senddata((i+1),a[i]);
Delay1us(100000);
n--;
}
while(!b3)
{
a[i]++;
if(a[i]>9)
a[i]=0;
senddata((i+1),a[i]);
Delay1us(100000);
}
while(!b4)
{
if(a[i]>0)
{
a[i]--;
senddata((i+1),a[i]);
Delay1us(100000);
}
else
{
senddata((i+1),0);
Delay1us(100000);
}
}
while(!b2)
{
i++;
if(i>2)
i=0;
senddata((i+1),15);
Delay1us(100000);
senddata((i+1),a[i]);
Delay1us(100000);
}
}
a[1] =a[1]*10;
a[2] =a[2]*100;
result =a[0]+a[1]+a[2];
f = 0;
TF1 =0;
}
/*****************************系统时钟初始化*******************************/
void sys_clk(void)
{
unsigned char e;
WDTCN = 0xde; //关 看 门 狗
WDTCN = 0xad;
OSCXCN = 0x67; //使用外部晶振
delay(10000);
delay(10000);
e=!OSCXCN&0x80;
while(e);
OSCICN|=0x08;
}
/****************************交叉开关初始化*********************************/
void xbr_set()
{
XBR2 = 0x40;
XBR1 = 0x0C;
XBR0 = 0xAC;
P0MDOUT = 0xFC;
P1MDOUT = 0xFF;
}
/********************************设 置**********************************/
void T1_key_set(void)
{
EA = 1;
ET1 = 1;
TMOD = 0x50;
TH1 = 0xFF;
TL1 = 0xFF;
TR1 = 1;
n = 1;
f = 1;
}
void test(void)
{
result = 0;
senddata(1,0);
senddata(2,0);
senddata(3,0);
}
void screen(unsigned int r)
{
senddata(1,r%10);
senddata(2,r%100/10);
senddata(3,r/100);
}
/********************************主 函 数***********************************/
main()
{
sys_clk();
xbr_set();
setoff(2);
// while(n1<3)
// {
test();
T1_key_set();
x[n1] =result;
while(f);
// }
Delay1us(10000000);
screen(x[0]+1);
/* Delay1us(1000000);
screen(x[1]);
Delay1us(1000000);
screen(x[2]);*/
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -