欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
Key.h頭文件下載-AVR系列單片機的4*4小鍵盤驅動頭文件
[打印本頁]
作者:
daming
時間:
2014-12-30 12:51
標題:
Key.h頭文件下載-AVR系列單片機的4*4小鍵盤驅動頭文件
在代碼下方點復制代碼,然后另存到電腦磁盤即可下載.
/*****************************************************************************
單 位:廣西民族大學物理與電子工程學院07物本班
文件名稱:Key.h
文件標識:_KEY_H_
摘 要:AVR系列單片機的4*4小鍵盤驅動頭文件
當前版本:V1.0
作 者: 【白 羽】
完成日期:2010年5月1日
*****************************************************************************/
#ifndef _KEY_H_
#define _KEY_H_
#include <BaiYuAvrKu\DataType.h>
#include <BaiYuAvrKu\PORT.H>
/*****************************************************************************
編繹控制:以下條件編繹語句保證只有在IO端口正確配置的情況下,才引用并編繹本文件
*****************************************************************************/
#if !defined(KEY_PORT)&&!defined(KEY_LINE)&&!defined(KEY_ROW)
#define KEY_LINE P(PORTB,L)
#define KEY_ROW P(PORTB,H)
#elif defined(KEY_PORT)&&!defined(KEY_LINE)&&!defined(KEY_ROW)
#define KEY_LINE P(KEY_PORT,L)
#define KEY_ROW P(KEY_PORT,H)
#elif defined(KEY_LINE)&&defined(KEY_ROW)&&!defined(KEY_PORT)
#else
#error 您沒有正確設置key.h與AVR單片機的連接
#endif
/*****************************************************************************
常用控制命令
*****************************************************************************/
#define KeyInit() do{OUTS(KEY_LINE);OUTS(KEY_ROW);}while(0) //鍵盤初始化
UINT8 GetKey(void); //讀取按鍵值
/*****************************************************************************
獲取按鍵值
這種方法稍復雜,但抗干擾能力很強
*****************************************************************************/
UINT8 GetKey(void)
{
UINT8 i;
UINT8 temp;
UINT8 key=16;
SETS(KEY_ROW);
CLRS(KEY_ROW);
temp = (PBITS(KEY_LINE)==L) ? READS(KEY_LINE) : READS(KEY_LINE)>>4;
SETS(KEY_LINE);
CLRS(KEY_LINE);
temp |= (PBITS(KEY_ROW)==H) ? READS(KEY_ROW) : READS(KEY_ROW)<<4;
for(i = 0; i < 8; temp >>= 1, i++)
{
if((temp & BIT(0)) && (i < 4)) key = i << 2;
else if((temp & BIT(0)) && (i < 8)) key|=i-4;
}
return key;
}
#endif
復制代碼
作者:
zp17777
時間:
2019-3-2 22:12
謝謝分享
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1