1877|2

19

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

谁可以写个这样的程序给我来参考参考啊 [复制链接]

有哪位大虾帮我这个新手编一下面的程序,小弟感觉不尽。
要求:1用msp430g2553.h实现。
           2实现如下功能,每十秒钟灯光闪烁一次,每2秒灯光亮度变化一次,按键按一次延时时间增加5秒灯光亮度变化相反。

最新回复

用定时器实现定时。相关状态用标识判断。  详情 回复 发表于 2014-7-29 21:00
 
点赞 关注

回复
举报

2781

帖子

417

TA的资源

五彩晶圆(中级)

沙发
 
用定时器实现定时。相关状态用标识判断。
 
个人签名
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
#include
void P1_IODect();
void P13_Onclick();
void GPIO_init();
volatile unsigned int n,m,i=0;
unsigned const PWMperiod=15000;
void main(void)
{   WDTCTL=WDTPW+WDTHOLD;
    int i=0;
    i=i+1;
   
    GPIO_init();
    DCOCTL=0x00;
    DCOCTL=CALDCO_1MHZ;
    BCSCTL1=CALBC1_1MHZ;
    TACTL=TASSEL_2+MC_1;
    TACCR0=PWMperiod;
    TACCTL1=OUTMOD_7;

    _EINT();
   LPM0;
   

}
void GPIO_init()
{
    P1DIR|=BIT6;
    P1SEL|=BIT6;
    P1REN|=BIT3;
    P1OUT|=BIT3;
    P1DIR&=~BIT3;
    P1IES|=BIT3;
    P1IE|=BIT3;
   
}

#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
    P1_IODect();
    P1IFG=0;
}
void P1_IODect()
{
  unsigned int Push_Key=0;
  Push_Key=P1IFG&(~P1DIR);
  __delay_cycles(10000);
  if((P1IN&Push_Key)==0)
  {
      switch(Push_Key)
      {
      case BIT3:  P13_Onclick(); i++;   break;
      default:                      break;
      }
  }
}
void P13_Onclick()
{
    if(i/2==1)
    {
      for(n=0;n       {
          TACCR1=n;
      }
   
    }
    if(i/2==1)
    {
        for(m=PWMperiod;m>0;m--)
        {
            TACCR1=m;
        }
    }
  

}
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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