📄 key.h
字号:
/*********************************************************************
目 的: 键盘扫描程序
目标系统:
应用软件: GCCAVR
版 本:
圆版时间: 2008-05-22
开发人员: crt
说 明: 若用于商业用途,请保留此段文字或注明代码来源
*********************************************************************/
#ifndef _KEY_H_
#define _KEY_H_
#include <avr/io.h>
#include <util/delay.h>
#define key_DDR DDRB
#define key_PORT PORTB
#define key_PIN PINB
volatile unsigned char key=0; //全局变量,所有程序有效
void scankey();
void scankey()
{
_delay_ms(20); //防抖延时函数,可以适当增加减少,改变按键反应时间
key_DDR = 0X08;
key_PORT=0XF7;
_delay_us(10);
if(key_PIN==0xF3)
key=1;
if(key_PIN==0xF5)
key=2;
if(key_PIN==0xF6)
key=3;
key_DDR = 0X10;
key_PORT = 0xEF;
_delay_us(10);
if(key_PIN==0xEB)
key=4;
if(key_PIN==0xED)
key=5;
if(key_PIN==0xEE)
key=6;
key_DDR = 0X20;
key_PORT = 0xDF;
_delay_us(20);
if(key_PIN==0xDB)
key=7;
if(key_PIN==0xDD)
key=8;
if(key_PIN==0xDE)
key=9;
key_DDR = 0X40;
key_PORT = 0xBF;
_delay_us(20);
if(key_PIN==0xBB)
key=10;
if(key_PIN==0xBD)
key=11;
if(key_PIN==0xBE)
key=12;
key_DDR = 0X80;
key_PORT = 0x7F;
_delay_us(20);
if(key_PIN==0x7B)
key=13;
if(key_PIN==0x7D)
key=14;
if(key_PIN==0x7E)
key=15;
_delay_ms(10);
DDRB=0X00;
PORTB=0X00;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -