关于msp430G2553单片机的按键中断的编程。我自己编的老不对。帮看看。

关于msp430G2553单片机的按键中断的编程。我自己编的老不对。帮看看。,第1张

#include<msp430g2553.h>

void Init_Port()

{

P1DIR|=BIT0+BIT6

P1DIR&=~BIT3

P1REN|=BIT3

P1IES|=BIT3//选择下降沿触发

P1IE|=BIT3

P1OUT&=~BIT0

P1OUT|=BIT6

}

void main()

{

WDTCTL = WDTPW + WDTHOLD

Init_Port()

_EINT()

while(1)

}

#pragma vector=PORT1_VECTOR//按键响应处理函数

__interrupt void Port1(void)

{

unsigned char PushKey

unsigned int i

PushKey=P1IFG&BIT3

for(i=0i<50000i++)

if(!(P1IN&PushKey)==PushKey)//没有按下,则为抖动,标志清零

{

P1IFG=0

return

}

if(PushKey&BIT3)

{

P1OUT^=BIT0

P1OUT^=BIT6

}

P1IFG=0

return

}

不知道你现在调试通了没,这是我改的网上的试了通过。希望帮到你!

设置io端口需要看手册来进行设置哦。看这款芯片带不带内部上拉电阻的,如果没有还要加上外部上拉电阻。

P2SEL=选择功能;

P2DIR=设置成输入;

if(P2IN&0x10==0x00)

{

//按下后的处理代码

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11299811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存