key2._h

来自「AVR单片机」· _H 代码 · 共 45 行

_H
45
字号
unsigned char read_key(void);

#include "delay.h"

	
unsigned char read_key(void)
{	
	unsigned char key_set[]=
	{
	'1',	'2',  '3',  '4',
	'4',   '5',   '6',  '7',
	'8',   '9',	  'A',	'B',
	'C',   'D',   'E',	'F'
	};
	unsigned char key;
	DDRB=0xf0;
	PORTB=0x0f;
	delay_nms(10);
	
	if (PINB&0x01)
		key=0;	//第1行
	else if(PINB&0x02)
		key=4;	//第2行
	else if(PINB&0x04)
		key=8;	//第3行
	else if(PINB&0x80)
		key=12;	//第4行
	
	DDRB=0x0f;
	PORTB=0xf0;
	delay_nms(10);
	
	if(PINB&0x10)
		key+=0;
	else if(PINB&0x20)
		key+=1;
	else if(PINB&0x40)
		key+=2;
	else if(PINB&0x80)
		key+=3;
	
	return key_set[key];

	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?