📄 main.c.bak
字号:
#include <stdio.h>
//#include <reg51.h>
#include <absacc.h>
#include <intrins.h>
#include "me.h"
#include "LCD1602.h"
unsigned char code ASCII[] ="0123456789ABCDEF";
#define key0 0x12
#define key1 0x81
#define key2 0x82
#define key3 0x84
#define key4 0x41
#define key5 0x42
#define key6 0x44
#define key7 0x21
#define key8 0x22
#define key9 0x24
#define keym1 0x88
#define keym2 0x48
#define keym3 0x28
#define keym4 0x18 //确定
#define keymx 0x11 //*
#define keym_ 0x14 //#
void Delay(int x)
{
int i,j;
for(j=0;j<x;j++)
{
for(i=0;i<250;i++);
}
}
/*键盘扫描函数*/
uchar keyscan(void)
{
uchar scancode ,tmpcode;
P1=0xf0;
if((P1&0xf0)!=0xf0)
{
Delay(20);
if((P1&0xf0)!=0xf0)
{
scancode=0xfe;
while((scancode&0x10)!=0)
{
P1=scancode;
if((P1&0xf0)!=0xf0)
{
tmpcode=(P1&0xf0)|0x0f;
return((~scancode)+(~tmpcode));
}
else
{
scancode=(scancode<<1)|0x01;
}
}
}
}
return (0);
}
uchar newKey;
bit KeyFlag=0;
void Key_proess(void)
{
// static unsigned char dispbit=0; //显示的位置
static unsigned char funset=0;
unsigned char inkeyascii;
// uchar i;
LCD_write_char(1,0,ASCII[inkeyascii>>4]);
LCD_write_char(1,1,ASCII[inkeyascii & 0x0f]);
switch( newKey )
{
case key0: inkeyascii=0; break;
case key1: inkeyascii=1; break;
case key2: inkeyascii=2; break;
case key3: inkeyascii=3; break;
case key4: inkeyascii=4; break;
case key5: inkeyascii=5; break;
case key6: inkeyascii=6; break;
case key7: inkeyascii=7; break;
case key8: inkeyascii=8; break;
case key9: inkeyascii=9; break;
case keym1: inkeyascii=0xff; break;
case keym2: inkeyascii=0xff; break;
case keymx: inkeyascii=0xff; break;
case keym_: inkeyascii=0xff; break;
case keym3: inkeyascii=0xff; break;
case keym4:
default: inkeyascii=0xff; break;
}
if (inkeyascii!=0xff)
{
// for(j=0;j<14;j++)
//{
LCD_write_char(0,0,ASCII[inkeyascii]);
// }
//送显示
switch( funset )
{
case 0:
break;
case 1:
break;
default: inkeyascii=0xff; break;
}
}
}
void main(void)
{
unsigned char key;
LCD_init();
LCD_write_string(LINE1,0,"Add");
while(1)
{
key=keyscan();
if (key)
{
newKey=key;
KeyFlag=1;
}
if(!key&&KeyFlag==1)
{
KeyFlag=0;
Key_proess();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -