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

📄 key.h

📁 自己设计的5路定时器!用于公司。内附电路图(DXP)
💻 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 + -