MSP430-流水灯和key

发布者:烟雨江湖最新更新时间:2020-01-13 来源: eefocus关键字:MSP430  流水灯  key 手机看文章 扫描二维码
随时随地手机看文章

关于CCS 和 IAR两款软件同样的代码使用BSL烧写出来的代码不一样的问题:


可能因为编译器的问题,两者编译出来的结果不一样,从而导致生成的txt不同,进而产生下板子验证的错误。


我试了一晚上,依旧没有设置好,解决办法,,,使用IAR(真香!)


这里的流水灯和按键的方式与51单片机的相似


流水灯我这里就直接贴代码:


#include "io430.h"

#define uint unsigned int 

#define uchar unsigned char 

 

void delay(unsigned int counts)

{

    unsigned int i,j;

  for(j=0;j<10;j++)

  {

  for(i = 0; i < counts; i++);

  }

}

/****************主函数****************/

void main(void)

{

    uchar temp;

    temp=0x01;

    WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗

    P2DIR = 0xff;                   //设置P2口方向为输出

    P2OUT = 0xff;                   //设置P2口输出高电平

     while(1)

     {

       P2OUT=~temp;//点亮LED

       delay(65000);//延时

       temp<<=1;

       if(temp==0x10)

         temp=0x01;

     }

 

}

按键同样是进行按键的消抖延时检测按键按下的状态:


#include "io430.h"

#define keyin    (P1IN & 0x03) 

#define uchar unsigned char 

#define uint unsigned int 

 

void delay(void);

uchar key_can(void);

 

int main( void )

{

  uchar key_date = 0;

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  P1DIR &=~( BIT0 + BIT1);

  P2DIR = 0XFF;

  P2OUT = 0XFF;

  while(1)

    {

             key_date=key_can();

             switch(key_date)    //转换键值    

                {

                case 1:P2OUT&=~BIT0;break;

                case 2:P2OUT&=~BIT1;break;

                default:break;

                }

                delay();         

                delay();    

                P2OUT=0xff;

    }

  return 0;

}

 

uchar key_can(void)

{

uchar keyval,temp;

 if(keyin != 0x03)       //如果有键被按下

        {

            delay();            //延时消抖

            if(keyin != 0x03)   //再次检测按键状态

            {

                temp=keyin;

                while(keyin != 0x03);   //等待按键被放开

                switch(temp)    //转换键值    

                {

                case 0x01:

                            keyval = 1;break;

                case 0x02:

                            keyval = 2;break;

                default:

                            keyval = 0;break;

                }

            }

        }

return keyval;

}

 

void delay(void)

{

    uint tmp;

    

    for(tmp = 12000;tmp > 0;tmp--);

}

关键字:MSP430  流水灯  key 引用地址:MSP430-流水灯和key

上一篇:MSP430 AD模块笔记
下一篇:MSP430-中断的使用

推荐阅读最新更新时间:2024-11-08 15:01

如何测量MSP430功耗
众所周知,MSP430以其超低功耗而著称。但是很多用户反应,在实际应用中,测量MSP430的功耗时,测量结果和MSP430数据手册相差甚远。其实这里主要涉及到两方面的内容: 1. 如何使用MSP430合理的设计硬件和软件,使整个应用最大限度的达到低功耗? 2. 如何测量MSP430的功耗? 就如何测量MSP430功耗,我来分享一下我个人的经验。 一、未使用的GPIO的处理 为了使MSP430最大限度的达到低功耗,对于MSP430未使用的GPIO而言,应该将其设置为输出;或者是设置为输入,但是将管脚的电平固定,可以通过外部电路将管脚连接至Vcc或者GND,也可使能内部上下拉电阻,将管脚电平固定。 对于MSP4
[单片机]
如何测量<font color='red'>MSP430</font>功耗
超低功耗粮仓无线实时监测系统设计
0 引言     温度对粮食的存放起着至关重要的作用,国家粮食法规定,必须定期抽样检查粮库各点的温度,以便及时采取相应的措施保证粮食的安全。但我国大部分粮库采用人工的方式进行粮库温度测量,这样不但费时费力,而且不能做到对粮食温度的实时监测,导致我国每年都会有大面积粮食变质现象的发生。     近年来,我国的科研人员开发了一些无线传感网络检测系统,它们有的采用ARM+ZigBee,还有的采用Atmega128L+ZigBee。但是从功耗和成本以及粮仓环境的复杂程度多方面考虑,本文利用MSP430+nRF905设计了基于改进的TDMA通信协议的超低功耗无线传感网络。此系统具有成本低、超低功耗的特点,实现了对粮库温度的实时监控。
[嵌入式]
翻滚吧!MSP430 LaunchPad
日前,德州仪器宣布推出音频电容式触摸BoosterPack,这是以TMS320C5535开发板为核心的产品,支持耳机,MicroSD,OLED显示屏。而与C5535开发板不同的是,带有LaunchPad插槽,也就是说LaunchPad可以和C5535组合,通过UART将MSP430上的命令传至C5535上,比如播放,快进等几十种功能都已经内置。 这是首款完全由MCU控制DSP的TI解决方案,通过两者的合作,430有了新的简单的应用,而C5535也有了专门的控制器。 LaunchPad官方售价为4.3美元,BoosterPack为30美元。总而言之,如果有爱好者想做一套非常简单的C5535应用,便可以集中精力开发内部算法:诸如语
[单片机]
翻滚吧!<font color='red'>MSP430</font> LaunchPad
MSP430F5529 DriverLib 库函数学习笔记(十二)I2C实战
平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 上机实战 I2C给 DAC 芯片 DAC7571 写入数字量 DAC7571 介绍 DAC7571 是低功耗,单通道 12 位 DA 转换器.DAC7571 兼容 I2C 接口,通过这两条数据线和外部通信,时钟的最高速度为 3.4Mbps. DAC7571 的外观图和引脚定义 如上图所示: 1 脚:模拟电压输出脚. 2 脚:接地. 3 脚:电源输入脚. 4 脚:串行数据输入引脚. 5 脚:串行时钟输入引脚. 6 脚:地址选择脚. DAC
[单片机]
<font color='red'>MSP430</font>F5529 DriverLib 库函数学习笔记(十二)I2C实战
基于MSP430的嵌入式DTMF拨号解码器实现方案
摘 要: 本文介绍了一种基于MSP430的嵌入式DTMF拨号解码器实现方案。DTMF拨号部分使用4根I/O线的电阻网络,配合软件产生DTMF信号。利用 MSP430F133 内置的ADC,并采用改进的Goertzel算法,实现DTMF信号的实时解码。该方案成本低、性能可靠,已经得到了实际应用。 引言 DTMF(双音多频)信号是电话网中常用的信令,无论是家用电话、移动电话还是程控交换机上,多采用DTMF信号发送接收号码。DTMF技术还可以用于电力线载波通信等场合。可见,DTMF拨号和解码在通信系统及其它方面有着广泛的应用。通常DTMF信号的检测采用专用芯片或DSP来实现,但其成本较高。本文介绍了一种低成本的基于MSP430F13
[单片机]
基于<font color='red'>MSP430</font>的嵌入式DTMF拨号解码器实现方案
图解IAR开发msp430项目建立设置和下载
下面按部图解IAR开发msp430单片机项目建立设置和下载 第一步: 第二步 第三步 第四步 第五步 第六步 第七步: 第八步 第九步 第十步 第十一步
[单片机]
图解IAR开发<font color='red'>msp430</font>项目建立设置和下载
Key.h头文件下载-AVR系列单片机的4*4小键盘驱动头文件
/***************************************************************************** 文件名称:Key.h 文件标识:_KEY_H_ 摘 要:AVR系列单片机的4*4小键盘驱动头文件 当前版本:V1.0 *****************************************************************************/ #ifndef _KEY_H_ #define _KEY_H_ #include BaiYuAvrKuDataType.h #include BaiYuAvrKuP
[单片机]
MSP430f5529模拟IIC协议
读取数据之前需要释放总线,被这问题卡了好久 #include msp430f5529.h //P8.1 SCL //P8.2 SDA #define SCL_HIGH P8OUT|=BIT1 #define SCL_LOW P8OUT&=~BIT1 #define SDA_HIGH P8OUT|=BIT2 #define SDA_LOW P8OUT&=~BIT2 #define SDA_OUT P8DIR|=BIT2 #define SDA_IN P8DIR&=~BIT2 #define SCL_OUT P8DIR|=BIT1 #define SDA P8IN&BIT2 v
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved