zoukankan      html  css  js  c++  java
  • MSP430F149学习之路——按键与LED

    代码

     1 /***********************************
     2 程序功能:用按键控制LED状态
     3 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^
     4 *************************************/
     5 #include <msp430x14x.h>
     6 
     7 int k,i=0;
     8 void int_clk();
     9 void led(int n);
    10 void main()
    11 {
    12   WDTCTL = WDTPW + WDTHOLD;
    13   int_clk();
    14   P1DIR = 0Xf0;
    15   P1OUT = 0XFF;
    16   P6DIR = 0XFF;
    17   P6OUT = 0XFF;
    18   
    19   while(1)
    20   {
    21     P1OUT = 0X0F;
    22     if(P1IN != 0X0F)
    23     {
    24       for(int i=100;i>0;i--)
    25         _NOP();
    26       if(P1IN != 0X0F)
    27       {
    28         switch(P1IN & 0X0F)
    29         {
    30         case 0x0e:led(0);break;
    31         case 0x0d:led(1);break;
    32         case 0x0b:led(2);break;
    33         case 0x07:led(3);break;
    34         }
    35       }
    36     }
    37   }
    38 }
    39 
    40 void int_clk()
    41 {
    42   BCSCTL1 &= ~XT2OFF;
    43   BCSCTL2 |= SELM_1 + SELS;
    44   do
    45   {
    46     IFG1 &= ~OFIFG;
    47     for(int i=100;i>1;i--)
    48       _NOP();
    49   }while((IFG1 & OFIFG)!=0);
    50   IFG1 &= ~OFIFG;
    51 }
    52 
    53 void led(int n)
    54 {
    55   k=n;
    56   TACCTL0 = CCIE;
    57   TACCR0  = 50000;
    58   TACTL   = MC_1 + TASSEL_2;
    59  
    60   _EINT(); 
    61 }
    62 #pragma vector = TIMERA0_VECTOR
    63 __interrupt void TimerA(void)
    64 {
    65   if(k==0)
    66     P6OUT = ~(0X80>>(i++));
    67   else if(k==1)
    68     P6OUT = ~(0X01<<(i++));
    69   else if(k==2)
    70     P6OUT = 0XFF;
    71   else
    72     P6OUT = 0X00;
    73   
    74   if(i==8)
    75     i=0;
    76   
    77   for(int j=5000;j>1;j--)
    78       _NOP();
    79 }
  • 相关阅读:
    this 关键字
    Win10 删除“此电脑-文件夹”中的七个快捷方式
    ESLint 配置(三)Vue 项目
    ESLint 配置(二)Standard 和 Prettier
    ESLint 配置(一)基础配置
    简易FTP
    选课系统
    ATM+购物车
    ATM+购物车导图
    函数作业
  • 原文地址:https://www.cnblogs.com/boyiliushui/p/4626866.html
Copyright © 2011-2022 走看看