MSP430F149学习之路——按键与LED

2020-06-30来源: eefocus关键字:MSP430F149  按键  LED

代码


 1 /***********************************

 2 程序功能:用按键控制LED状态

 3 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^

 4 *************************************/

 5 #include

 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 }


关键字:MSP430F149  按键  LED 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic501630.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机通电后所有接口到底是不是全是高电平
下一篇:msp430f5529独立按键(中断)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430F149内部Flash操作
的型号才能突破64k(如:FG461x系列)。绝大多数的msp430单片机都编址在64kB范围内。地址的大概编码方式如下:这是msp430f425的存储器分配图,其他在64k范围内的存储器的单片机编址方式与此类似:低256B是寄存器区,然后是RAM;空白;1000H到10FFH是信息Flash区;大于1100H-0FFFFH是主存储器区(从0FFFFH开始往低地址有单片机的主Flash,多余的部分空白)。MSP430F14x的Flash分布: MSP430F16x的Flash分布: 主Flash部分和信息Flash部分如下(60kB Flash对应的单片机,如msp430f149、msp430f149):主Flash
发表于 2020-05-07
<font color='red'>MSP430F149</font>内部Flash操作
基于MSP430F149的超声波测距
#include <msp430.h>void ultrasound_trig();unsigned char segdata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};#define ComOut() P5OUT|= BIT5#define ComLatch() P5OUT&= ~BIT5#define SegmentLatch() P6OUT &= ~BIT6#define SegmentOut() P6OUT |= BIT6int main(void){WDTCTL
发表于 2020-04-29
MSP430F149学习之路——捕获/比较模式
1.捕获模式 1 #include <msp430x14x.h> 2 unsigned int last0=0,last1=0; 3 unsigned int k=0,j=0; 4 void mian(void) 5 { 6   WDTCTL = WDTPW + WDTHOLD; 7   TACTL  = TACLR + TASSEL_2 + ID_3 + MC_3; 8    9   TACCTL0 = CM_3 + CCIS_0
发表于 2020-04-28
MSP430F149程序——12864液晶
一、引脚说明1.1 接口定义1.2 硬件连接1.3 总线协议IO口软件模拟SPI1.4 软件控制流程①IO初始化。②根据时序初始化LCD。③显示。二、移植文件将 LCD.c 、 LCD.h文件加入到工程文件夹下2.1 LCD.c#define  mLCD_GLOBALS#include <msp430x14x.h>#include  <STRING.h>#include  <math.h>#include  "LCD.h"extern void WDTFeed( void );typedef struct { 
发表于 2020-04-27
<font color='red'>MSP430F149</font>程序——12864液晶
MSP430F149与ESP8266串口通信(上)
一、前言针对网上90%的例程都是针对51单片机(或者STM32)和ESP8266模块进行串口通信,故开此帖记录MSP430与ESP8266对接的过程,希望大家不要走弯路,及时实现自己所需要的功能。本帖分为MSP430F149与ESP8266串口通信(上)、MSP430F149与ESP8266串口通信(中)和 MSP430F149与ESP8266串口通信(下)三部分,其中,在(上)部分主要介绍ESP8266的基本使用及利用"USB转串口工具"对ESP8266进行AT指令的操作;(中)部分主要介绍,MSP430F149与ESP8266进行对接的注意事项,主要讲解MSP430下发数据给ESP8266,并给出相应
发表于 2020-04-27
<font color='red'>MSP430F149</font>与ESP8266串口通信(上)
MSP430F149的TIMERA定时中断理解
代码如下://本平台 msp430f149#include <io430.h>#include <in430.h> volatile unsigned char count = 0,flag = 0;void select_xt2(void){ unsigned char i; /*------选择系统主时钟为8MHz-------*/    BCSCTL1 &= ~XT2OFF;                  do{     
发表于 2020-04-21
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved