用按键控制LED灯地亮灭.docVIP

  • 54
  • 0
  • 约1.4万字
  • 约 7页
  • 2018-07-22 发布于江苏
  • 举报
用按键控制LED灯地亮灭

用按键控制LED灯的亮灭,当按键按下时,LED灯亮,当按键松开时,LED灯灭。#includemsp430f6638.hunsigned char flag;void main(void){WDTCTL = WDTPW+WDTHOLD; // Stop WDTP4DIR =~(BIT2);P4DIR |= BIT4+BIT5+BIT6; // P4.4,P4.5,P4.6 set as outputP4OUT =~(BIT4+BIT5+BIT6); // set led offP2IE |= BIT6; // enable P2.6 interruptP2IFG = ~(BIT6); // clean interrupt flag__enable_interrupt(); // enable interruptwhile(1){ if((P4IN 0x04)==0){ P2IFG |= BIT6;}else{P2IFG =~BIT6;}}} // PORT2 interrupt service routine#pragma vector=PORT2_VECTOR__interrupt void port_2(void){P4OUT ^=(BIT4+BIT5+BIT6); // set led onP2IFG =~BIT6; // clean interrupt flag}用按键控制LED灯的亮灭,当按键按下时,LED灯亮,当按键松开时,LED灯灭。(查询)#includemsp430f6638.hvoid main(void){WDTCTL = WDTPW+WDTHOLD; // Stop WDT //setting directionP4DIR = ~(BIT2); //setting IO for inputP4DIR |= BIT4+BIT5+BIT6; // P4.4,P4.5,P4.6 set as outputwhile (1){if ((P4IN 0x04) == 0) //If key is pressed{P4OUT |= BIT4+BIT5+BIT6; //led on}else{P4OUT =~(BIT4+BIT5+BIT6); // led off}}}将ACLK配置为VLOCLK(约为10K),并将ACLK通过P1.0口输出#includemsp430f6638.hvoid main(void){WDTCTL = WDTPW + WDTHOLD; //关看门狗UCSCTL4 |= SELA_1; //将ACLK时钟源配置为VLO;P1DIR |= BIT0;P1SEL |= BIT0; //将ACLK通过P1.0输出__bis_SR_register(LPM3_bits);//进入LPM3,SMCLK和MCLK停止,ACLK活动}设ACLK = XT1 = 32768Hz,并通过P1.0输出。#include msp430f6638.hvoid main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR |= BIT0; // ACLK set out to pin P1SEL |= BIT0; P5SEL |= BIT4+BIT5; // Select XT1while(BAKCTL LOCKIO) // Unlock XT1 pins for operation BAKCTL = ~(LOCKIO); UCSCTL6 = ~(XT1OFF); // XT1 On UCSCTL6 |= XCAP_3; // Internal load cap // Loop until XT1 fault fla

文档评论(0)

1亿VIP精品文档

相关文档