历史上的今天
今天是:2025年05月17日(星期六)
2020年05月17日 | 单片机 MSP430 独立按键检测
2020-05-17 来源:eefocus
可以不用while等待。
定义函数
#define CPU_F ( (double) 8000000)
#define delay_us( x ) __delay_cycles( (long) (CPU_F * (double) x / 1000000.0) )
#define delay_ms( x ) __delay_cycles( (long) (CPU_F * (double) x / 1000.0) )
#define CO 1
#define SET 2
#define UP 3
#define DOWN 4
#define key_01 (P2IN&BIT5)
#define key_02 (P2IN&BIT4)
#define key_03 (P2IN&BIT3)
#define key_04 (P2IN&BIT2)
//初始化按键IO
void initKeyIO(void)
{
P2DIR &= ~(BIT2 + BIT3 + BIT4 + BIT5); ///引脚方向
P2REN |= (BIT2 + BIT3 + BIT4 + BIT5); //引脚上拉使能
P2OUT |= (BIT2 + BIT3 + BIT4 + BIT5); //上拉
}
uchar last = 1;
//四个按键的检测函数
//有按键则返回1 2 3 4
//无按键则返回 0
unsigned char scanKey(void)
{
if ((key_01 == 0 || key_02 == 0 || key_03 == 0 || key_04 == 0) && (last == 1))
{
delay_ms(10); //去抖动
last = 0;
if (key_01 == 0)
{
return 1;
}
else if (key_02 == 0)
{
return 2;
}
else if (key_03 == 0)
{
return 3;
}
else if (key_04 == 0)
{
return 4;
}
}
if ((key_01) && (key_02))
{
if ((key_03) && (key_04))
last = 1;
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
使用:
int main(void)
{
initSystemWdtAndIOAndClock(); //8MHZ
while (1)
{
delay_ms(10);
keyValue = scanKey(); //检测按键
if (keyValue != 0)
{
if (keyValue == CO)
{
}else if (keyValue == SET)
{
}else if (keyValue == UP )
{
}else if (keyValue == DOWN )
{
}
}
}
}
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 公司以代理台湾禾瑞亚 【EMPIA】全系列芯片为主导,兼营多家国内外半导体公司【TI、PHILIPS、FMD等】消费类IC的增值方案服务商。客户和产品类型涵盖视频与图像采集领域。如:视频采集类 ...… 查看全部问答> |
|
关键字:宽动态摄像机 根据调查统计,2008年中国宽动态摄像机市场总量约300万台,占全部摄像机市场的25%,约30亿人民币。较2007年,2008年宽动态摄像机市场增幅超过30%。在对2009年1月~3月的三个月调查中,统计出宽动态摄像机生产了约2 ...… 查看全部问答> |
|
应用程序放在NAND FLASH,开机让WINCE启动应用程序怎么实现啊,以前是把应用程序编译到内核采用下边方法实现的 1、 将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行; 2、 直 ...… 查看全部问答> |
|
请路过的大虾给菜鸟解疑了。。 在嵌入式方面是java用的多还是c/c++要多? java嵌入式除了j2me还有哪些方向? java嵌入式的前景看好吗? 干java嵌入式除了j2se还要学那些东西,软件方面的? 请给初学者点入门建议? 谢谢大虾们,一下问了这么多 ...… 查看全部问答> |
|
现场施工用的发电机,为什么只有N先输出?这样的话,一相接地时,由于没有地线,会造成危险,就是站在地上,不小心碰到零线,但是我认为,既然发电机这么做,肯定有它的道理,但是为什么?… 查看全部问答> |
|
启动edk时发现license过期了,但是貌似还能用,哪有最新的破解文件?WARNING:EDK:2842 - Your license for \'ISE\' expires in -27 days.WARNING:EDK:2842 - Your license for \'XPS\' expires in -27 days.WARNING:EDK:2842 - Your license for \' ...… 查看全部问答> |
|
代理商,贸易商谁优势大?采购方需要怎么选择?这样的话题永远没有结果,根本是购销双方你情我愿意,和谐合作就可以! 贸易商不可缺少的两个生存条件应该是:代理没有货的,你有;代理 ...… 查看全部问答> |




