?? 鍵盤44.c.txt
字號:
#include <reg52.h>
//#include <math.h>
#include <intrins.h>
#define uchar unsigned char
#define TURE 1
#define FALSE 0
int key;
int del;
void Tkey(void);
void led(void);
/************主 程序*************/
void main(void)
{
void tkey(void);
void led(void);
void delay(int);
SCON=0x00;
TI=0;
while(TURE)
{
Tkey();
led();
delay(2000);
}
}
/********矩鍵查尋鍵值4*4程序******/按鍵為P1.0---P1.7
void Tkey(void)
{
uchar readkey;//rereadkey;
uchar x_temp,y_temp;
P1=0x0f;
x_temp=P1&0x0f;
if(x_temp==0x0f) goto keyout;
P1=0xf0;
y_temp=P1&0xf0;
readkey=x_temp|y_temp;
readkey=~readkey;
switch(readkey)
{
case 0x11:key=0; break;
case 0x21:key=1; break;
case 0x41:key=2; break;
case 0x81:key=3; break;
case 0x12:key=4; break;
case 0x22:key=5; break;
case 0x42:key=6; break;
case 0x82:key=7; break;
case 0x14:key=8; break;
case 0x24:key=9; break;
case 0x44:key=10;break;
case 0x84:key=11;break;
case 0x18:key=12;break;
case 0x28:key=13;break;
case 0x48:key=14;break;
case 0x88:key=15;break;
default: key=16;break;
}
keyout:_nop_();
}
/************顯示程序*************/
void led(void)
{uchar code LEDValue[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0-9
uchar data num[6];
uchar k;
num[0]=0;
num[1]=0;
num[2]=0;
num[3]=0;
num[4]=key/10;
num[5]=key-(key/10)*10;
for(k=0;k<=5;k++)
{
SBUF=LEDValue[num[5-k]];
while(TI==0);
TI=0;
}
}
/************延時程序*************/
void delay(del)
{
for(del;del>0;del--);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -