📄 functions.c
字号:
#include"SPCE061A.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// 4X4键盘扫描测试程序
//
////////////////////////////////////////////////////////////////////////////////////////////////////////
int key;
const int LED7CODE[16]={//七段码编码(待定)
0x3F00, // 0
0x0600, // 1
0x5B00, // 2
0x4F00, // 3
0x6600, // 4
0x6D00, // 5
0x7D00, // 6
0x0700, // 7
0x7F00, // 8
0x6F00, // 9
0x7700, // A
0x7C00, // B
0x3900, // C
0x5E00, // D
0x7900, // E
0x7100 // F
};
void delay(int i);
void key_scan()
{//键盘扫描程序。。。。
key=-1;
*P_IOA_Data = 0x00f0;
if((*P_IOA_Data & 0x00f0)==0x00f0)return;//如果没有键按下,退出程序key_scan
//如果有键按下了,,,,,
delay(100);
//扫描第一行,
*P_IOA_Data=0x00fe;
switch(*P_IOA_Data&0x00f0)
{
case 0x0070:key=0;break;
case 0x00b0:key=1;break;
case 0x00d0:key=2;break;
case 0x00e0:key=3;break;
}
if(key>=0)return;
//扫描第二行,
*P_IOA_Data=0x00fd;
switch(*P_IOA_Data&0x00f0)
{
case 0x0070:key=4;break;
case 0x00b0:key=5;break;
case 0x00d0:key=6;break;
case 0x00e0:key=7;break;
}
if(key>=0)return;
//扫描第三行,
*P_IOA_Data=0x00fb;
switch(*P_IOA_Data&0x00f0)
{
case 0x0070:key=8;break;
case 0x00b0:key=9;break;
case 0x00d0:key=10;break;
case 0x00e0:key=11;break;
}
if(key>=0)return;
//扫描第四行,
*P_IOA_Data=0x00f7;
switch(*P_IOA_Data&0x00f0)
{
case 0x0070:key=12;break;
case 0x00b0:key=13;break;
case 0x00d0:key=14;break;
case 0x00e0:key=15;break;
}
}
////////////////////////////
void key_display()
{
*P_IOA_Data=LED7CODE[key];
}
void delay(int i)
{
while(i--)*P_Watchdog_Clear=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -