完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
void main(void) { WDTCTL=WDTPW+WDTHOLD; unsigned long int i; P2DIR = 0XfF; P2OUT = 0Xff; P1DIR = 0xf0; // All pins but button to output P1OUT = 0xfF; P1IES = 0x0f; // Button int on falling edge P1IFG = 0; P1IE = 0x0f; // enable P1.0--P1_3 interrupt _EINT(); // 开总中断 while(1) //_BIS_SR(LPM4_bits); // 进入低功耗模式4 { i=500000; P2OUT ^=0X01; while(i--); } } #pragma vector = PORT1_VECTOR __interrupt void PORT1_ISR(void) // 键盘中断 { unsigned int i; unsigned char temp; temp = P1IFG; for(i=0;i<0x1fff;i++); // 消抖 //if((P1IN&temp)==(!temp)) //{ switch(temp) { case 1: P2OUT ^=0X01;break; //P2.0状态改变,即LED1状态改变 case 2: P2OUT ^=0X02;break; //P2.1状态改变,即LED2状态改变 case 4: P2OUT ^=0X04;break; //P2.2状态改变,即LED3状态改变 case 8: P2OUT ^=0X08;break; //P2.3状态改变,即LED4状态改变 } //} P1IFG = 0; // 清除中断请求位 } 其中的 if((P1IN&temp)==(!temp)) 去掉行吗,如果不能的话,为什么?谢谢大神 |
|
相关推荐
2个回答
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3039个成员聚集在这个小组
加入小组2938 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3615 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2350 浏览 1 评论
4813 浏览 1 评论
2579 浏览 1 评论
1335浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3615浏览 2评论
2938浏览 1评论
1524浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 15:52 , Processed in 1.556377 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号