X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
微控制器 MCU
[求助] msp430f149呼吸灯程序有问题
winter_2013
2014-8-9 17:21
楼主
自己不会编,在网上修改了一个,但是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增强效果
}
}
点赞
回复评论 (4)
沙发
lonerzf
乍一看没看出来啥问题啊。
这孩子,成熟的象征,理智的典范。
点赞
2014-8-9 19:05
板凳
lonerzf
楼主,没发现P2.6有PWM输出的第二功能。应该换个IO口试试吧。
好久没弄430,很多东西忘得差不多了。可能我查的资料有偏差。
这孩子,成熟的象征,理智的典范。
点赞
2014-8-9 19:32
4楼
winter_2013
引用:
lonerzf 发表于 2014-8-9 19:32
楼主,没发现P2.6有PWM输出的第二功能。应该换个IO口试试吧。
好久没弄430,很多东西忘得差不多了。可能我 ...
换了另一个IO,果真呼吸了!多谢大神
但是只呼吸了6下然后就一直亮着不变了,程序还有点小问题。。。。。
点赞
2014-8-9 21:39
5楼
吓于侠义
P2.3或者 P1.2 试试。都有ta1的第二功能口
点赞
2014-9-17 21:13
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
EEWORLD大学堂----隔离式调制器简介
大型项目急求有开发红外自学习发射模块经验的高手
我的蓝牙键盘到了。
简化散热设计
关于继电器
用gcc生成的程序就可以在2440上跑,用armlink搞得就不行,为什么呢?
用Nandflash+Arm7做U盘,是否一定要在NandFlash上建立文件系统?
吉时利三款最新型2600B系列数字源表
目标设计平台白皮书.pdf
FPGA PCI-e x1开发板转让
优化移动多媒体传输链的功耗
单片机学习实例,非常经典的教程
来自Hackster.io的祝福动画
SIM900A通过GPRS向服务器发送数据
组建家庭智能化之传感器无线传输系统
am1808emif口配置问题
st的片上eeprom读写有没有c语言的代码
MSP430 fr2110 进行序列通道采集问题
EVC4.0开发ocx如果选择模拟器,这个ocx能直接在pda上注册 吗?
DIY电调的细节以及算法讨论
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复