📄 matrixkey._c
字号:
/*********************************************************************
微 雪 电 子 WaveShare http://www.waveShare.net
功能目的: 测试"MatrixKeyBoard"模块
目标系统: 基于任何AVR单片机
应用软件: ICCAVR
版 本: Version 1.0
圆版时间: 2005-03-01
开发人员: SEE
说 明: 若用于商业用途,请保留此段文字或注明代码来源
深 圳 微 雪 电 子 保 留 所 有 的 版 权
*********************************************************************/
/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
版本更新记录:
----------------------------------------------------------------------
接入模块: MatrixKeyBoard
接口说明: MatrixKeyBoard M16SmartGuider
K0 --------- PD0
K1 --------- PD1
.
.
K7 --------- PD7
----------------------------------------------------------------------
注意事项:
*
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/
#include <iom16v.H>
#include "E:\ICC_H\CmmICC.H"
#define LED_DDR DDRB
#define LED_PORT PORTB
#define KEY_DDR DDRA
#define KEY_PORT PORTA
#define KEY_PIN PINA
/*--------------------------------------------------------------------
函数名称:
函数功能:查询按键
注意事项:
提示说明:
输 入:
返 回:
--------------------------------------------------------------------*/
/*
K4-----K5-----K6-----K7
| | | |
03H----02H----01H----00H -K0
07H----06H----05H----04H -K1
0BH----0AH----09H----08H -K2
0FH----0EH----0DH----0CH -K3
*/
const uint8 setSta_[4]={0xfe,0xfd,0xfb,0xf7};
const uint8 getSta_[4]={0x70,0xb0,0xd0,0xe0};
uint8 GetKeyVal()
{
uint8 i,j,getSta,keyVal;
for(i=0;i<4;i++)
{
KEY_PORT = setSta_[i];
delay50us(1);
if(KEY_PIN!=setSta_[i])
{
getSta=KEY_PIN&0xf0;
for(j=0;j<4;j++)
if(getSta==getSta_[j])
{
keyVal=j+i*4;
return keyVal;
}
}
}
return 0xFF;
}
/*--------------------------------------------------------------------
函数名称:
函数功能:
注意事项:
提示说明:
输 入:
返 回:
--------------------------------------------------------------------*/
void main()
{
uint8 keyVal;
LED_DDR = 0XFF;
KEY_DDR = 0X0F;
while(1)
{
keyVal = GetKeyVal();
if( keyVal!=0xFF )
LED_PORT = keyVal;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -