2803|4

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

msp430f149呼吸灯程序有问题 [复制链接]

自己不会编,在网上修改了一个,但是led灯都不亮

#include "msp430x14x.h"


//*************************************************************
// 延时函数,对于1M主频,约延时1ms
//*************************************************************
void delay_1ms(void)
{
unsigned int k;
for (k=0;k<195;k++);
}

// *************************************************************
// 延时函数,延时n*ms
//*************************************************************
void delay_nms(unsigned int n)
{
unsigned int j;
for (j=0;j {
delay_1ms();
}
}

//*************************************************************
// 主程序
//*************************************************************
void main(void)
{
unsigned const PWMPeriod = 1500; //设置PWMPeriod参数
volatile unsigned int i; //变量
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
BCSCTL1=RSEL0+RSEL1+RSEL2; //1M内部时钟,其他也可以 (我修改了这里)
DCOCTL =DCO0+DCO1+DCO2; (我修改了这里)
P2DIR |=BIT6; // 设置 P1.6为输出 (我修改了这里)
P2SEL |=BIT6; // 设置 P1.6为TA0.1输出 (我修改了这里)
TACCR0 = PWMPeriod; // 设置PWM 周期
TACCTL1 = OUTMOD_7; // 设置PWM 输出模式为:7 - PWM复位/置位模式,
// 即输出电平在TAR的值等于CCR1时复位为0,当TAR的值等于CCR0时置位为1,改变CCR1,从而产生PWM。其实模式2也可以
TACTL = TASSEL_2 +MC_1; // 设置TIMERA的时钟源为SMCLK, 计数模式为up,到CCR0再自动从0开始计数
while(1)
{
CCR1=0;//确保开始是暗的
//渐亮过程:不断设置CCR1的值,使翻转的时间变长,改变PWM的占空比
//由于只有1个定时器,编程有些你困难,故仍引入delay函数

for(i=0;i {
CCR1=i;
delay_nms(4-(i/500)); //占空比变化的延时,调整延迟时间可改变呼吸灯变暗的速度
//在暗的时候延长delay时间,可增强效果
}
//渐暗过程:不断设置CCR1的值,使翻转的时间变短,改变PWM的占空比
for(i=PWMPeriod;i>0;i-=1)
{
CCR1=i;
delay_nms(4-(i/500)); //占空比变化的延时,调整延迟时间可改变呼吸灯变暗的速度
//在暗的时候延长delay时间,可增强效果
}
CCR1=0; //确保灯暗
delay_nms(600); //暗0.6S增强效果
}
}





最新回复

P2.3或者 P1.2  试试。都有ta1的第二功能口  详情 回复 发表于 2014-9-17 21:13
 
点赞 关注

回复
举报

1560

帖子

24

TA的资源

五彩晶圆(初级)

沙发
 
乍一看没看出来啥问题啊。
 
个人签名这孩子,成熟的象征,理智的典范。
 

回复

1560

帖子

24

TA的资源

五彩晶圆(初级)

板凳
 
楼主,没发现P2.6有PWM输出的第二功能。应该换个IO口试试吧。
好久没弄430,很多东西忘得差不多了。可能我查的资料有偏差。

点评

换了另一个IO,果真呼吸了!多谢大神 但是只呼吸了6下然后就一直亮着不变了,程序还有点小问题。。。。。  详情 回复 发表于 2014-8-9 21:39
 
个人签名这孩子,成熟的象征,理智的典范。
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

4
 
lonerzf 发表于 2014-8-9 19:32
楼主,没发现P2.6有PWM输出的第二功能。应该换个IO口试试吧。
好久没弄430,很多东西忘得差不多了。可能我 ...

换了另一个IO,果真呼吸了!多谢大神

但是只呼吸了6下然后就一直亮着不变了,程序还有点小问题。。。。。

 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(中级)

5
 
P2.3或者 P1.2  试试。都有ta1的第二功能口
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表