📄 key._c
字号:
#include<iom8515v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
uchar key_read()
{
uchar num,i;
DDRA=0xff; // 都定义为输出
PORTA=0xf0; // 高位输出高电平,低位输出低电平
DDRA=0x0f; // 有键按下,把相应列(高位)的电平拉低
asm("nop");
i=PINA; //获取列的地址,即
DDRA=0xff;
PORTA=0x0f;
DDRA=0xf0; //把相应行的电平拉低
asm("nop");
i|=PINA; //获取行的地址 ,行与列的地址决定按键的位置
switch(i)
{
case 0xEE : num=0; break;
case 0xDE : num=1; break;
case 0xBE : num=2; break;
case 0x7E : num=3; break;
case 0xED : num=4; break;
case 0xDD : num=5; break;
case 0xBD : num=6; break;
case 0x7D : num=7; break;
case 0xEB : num=8; break;
case 0xDB : num=9; break;
case 0xBB : num=10; break;
case 0x7B : num=11; break;
case 0xE7 : num=12; break;
case 0xD7 : num=13; break;
case 0xB7 : num=14; break;
case 0x77 : num=15; break;
default : return num=16;
}
return num;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -