keyb.h
来自「共享几个AVR单片机的常用代码」· C头文件 代码 · 共 43 行
H
43 行
#include <avr/io.h>
#include "Timer.h"
/* PORT DDR PIN
A 0x1B 0x1A 0x19
B 0x18 0x17 0x16
C 0x15 0x14 0x13
D 0x12 0x11 0x10
KeyBoard
Row 0..3 PA4..7
Col 0..3 PC4..7
*/
//#define KEYB_ROW_OUTPUT asm("sbi 0x14,0"::);asm("sbi 0x14,1"::);asm("sbi 0x14,2"::);asm("sbi 0x14,3"::)
//#define KEYB_ROW_INPUT asm("cbi 0x14,0"::);asm("cbi 0x14,1"::);asm("cbi 0x14,2"::);asm("cbi 0x14,3"::)
//#define KEYB_ROW_SETH asm("sbi 0x15,0"::);asm("sbi 0x15,1"::);asm("sbi 0x15,2"::);asm("sbi 0x15,3"::)
//#define KEYB_ROW_SETL asm("cbi 0x15,0"::);asm("cbi 0x15,1"::);asm("cbi 0x15,2"::);asm("cbi 0x15,3"::)
//#define KEYB_COL_OUTPUT asm("sbi 0x14,4"::);asm("sbi 0x14,5"::);asm("sbi 0x14,6"::);asm("sbi 0x14,7"::)
//#define KEYB_COL_INPUT asm("cbi 0x14,4"::);asm("cbi 0x14,5"::);asm("cbi 0x14,6"::);asm("cbi 0x14,7"::)
//#define KEYB_COL_SETH asm("sbi 0x15,4"::);asm("sbi 0x15,5"::);asm("sbi 0x15,6"::);asm("sbi 0x15,7"::)
//#define KEYB_COL_SETL asm("cbi 0x15,4"::);asm("cbi 0x15,5"::);asm("cbi 0x15,6"::);asm("cbi 0x15,7"::)
#define KEYB_ROW_PORT PORTB
#define KEYB_ROW_DDR DDRB
#define KEYB_ROW_PIN PINB
#define KEYB_ROW_SHIFT 0
#define KEYB_COL_PORT PORTB
#define KEYB_COL_DDR DDRB
#define KEYB_COL_PIN PINB
#define KEYB_COL_SHIFT 4
/*
low 4 bit: row
high 4 bit: col
*/
uint8_t KB_GetChar(uint8_t Sync,uint8_t WaitRelease);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?