⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyb.h

📁 共享几个AVR单片机的常用代码
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -