完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include "config.h" void key_process_0(void); void key_process_1(void); void key_process_2(void); void key_process_3(void); void key_check(void); uint key_value=0x00; void main() { WDT_Init(); Clock_Init(); Port_init(); delay_ms(100); key_value=0x00; _EINT(); LPM3; while(1){ P1IE &=~0x0f; P1IFG &=~0x0f; key_check(); if(key_value==0x01) { key_process_0(); } if(key_value==0x02) { key_process_1(); } if(key_value==0x03) { key_process_2(); } if(key_value==0x04) { key_process_3(); } key_value=0x00; P1IE |=0x0f; P1IFG &=~0x0f; LPM3; } } void key_check(void) { delay_ms(100); if(0xff!=P1IN|0xf0) { while(0xff!=P1IN|0xf0); } else { key_value=0x00; } } #pragma vector=PORT1_VECTOR __interrupt void PORT_1(void) { switch(P1IFG&0x0f) { case 0x01:key_value=0x01; break; case 0x02:key_value=0x02; break; case 0x04:key_value=0x03; break; case 0x08:key_value=0x04; break; default:P1IFG=0x00; break; } P1IFG &=~0x0f; LPM3_EXIT; } void key_process_0(void) { P6OUT &=~BIT0; delay_ms(1000); P6OUT |=BIT0; delay_ms(1000); P6OUT &=~BIT0; delay_ms(1000); P6OUT |=BIT0; } void key_process_1(void) { P6OUT &=~BIT1; delay_ms(1000); P6OUT |=BIT1; delay_ms(1000); P6OUT &=~BIT1; delay_ms(1000); P6OUT |=BIT1; } void key_process_2(void) { P6OUT &=~BIT2; delay_ms(1000); P6OUT |=BIT2; delay_ms(1000); P6OUT &=~BIT2; delay_ms(1000); P6OUT |=BIT2; } void key_process_3(void) { P6OUT &=~BIT3; delay_ms(1000); P6OUT |=BIT3; delay_ms(1000); P6OUT &=~BIT3; delay_ms(1000); P6OUT |=BIT3; } 希望对应的按键按下时对应LED亮起,无按键时进入低功耗模式,出现中断再唤醒 |
|
相关推荐
1个回答
|
|
既然你有按键中断了,就可以不需要按键检测了。建议先去掉低功耗模式,在非低功耗模式下把程序调清楚,再加入低功耗
|
|
|
|
只有小组成员才能发言,加入小组>>
2936个成员聚集在这个小组
加入小组2678 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
2998 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2270 浏览 1 评论
4701 浏览 1 评论
2482 浏览 1 评论
948浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
2998浏览 2评论
2678浏览 1评论
1079浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-31 07:22 , Processed in 1.191049 second(s), Total 48, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191