根据控制430f149单片机pwm的输出以及延时的时间来控制呼吸灯的亮暗程度及时间:
#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,j; //变量
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
BCSCTL1=RSEL0+RSEL1+RSEL2; //1M内部时钟,其他也可以
DCOCTL =DCO0+DCO1+DCO2;
P1DIR |=BIT2;
P1SEL |=BIT2;
P1DIR |=BIT3;
P1SEL |=BIT3;
TACCR0 = PWMPeriod; // 设置PWM 周期
TACCTL1 = OUTMOD_7; // 设置PWM 输出模式为:7 - PWM复位/置位模式,
TACCTL2 = 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;
CCR2 = 1000;
for(i=0;i
{
CCR1=i;
delay_nms(4-(i/500)); //占空比变化的延时,调整延迟时间可改变呼吸灯变暗的速度
//在暗的时候延长delay时间,可增强效果
}
for(j=PWMPeriod;j>0;j-=1)
{
CCR2=j;
delay_nms(4-(j/500)); //占空比变化的延时,调整延迟时间可改变呼吸灯变暗的速度
//在暗的时候延长delay时间,可增强效果
}
CCR1=1000;
CCR2=0;
delay_nms(600); //暗0.6S增强效果
}
}
关键字:msp430f149 呼吸灯
引用地址:
msp430f149的呼吸灯的制作
推荐阅读最新更新时间:2024-03-16 15:44
MSP430F149定时数据采集程序
#include msp430x14x.h #define RS_H P5OUT |=BIT3 //Data Register is selected #define RS_L P5OUT &=~BIT3 //Instruction Register is selected #define READ P5OUT |= BIT2 //读LCD #define WRITE P5OUT &= ~BIT2 //写LCD #define EN_H P5OUT |= BIT1 //Enable Read/Write Operation #define EN_L P5OUT
[单片机]
msp430g2553单片机 感应温度的呼吸灯
//程序烧进板子后先进入led灯交替闪烁的待机模式;按下按键后,进入应用模式,绿灯开始呼吸;此时温度上升后绿灯呼吸加快,温度下降后呼吸又会变慢。当温度过高时红灯亮 #include msp430g2553.h #define LED1 BIT0 #define LED2 BIT6 #define LED_DIR P1DIR #define LED_OUT P1OUT #define BUTTON BIT3 //P1.3为板上按键S2 #define BUTTON_OUT P1OUT //端口输出
[单片机]
MSP430单片机上使用M430/OS对系统的意义解析方案
引 言 1 在MSP430上使用RTOS的意义 一般的观点认为,MSP430上使用RTOS是没有意义的这是可以理解的。因为MSP430的硬件资源有限(以MSP430F149为例,只有2KB RAM),任何商业操作系统都不可能移植到MSP430上。目前在MSP430上得到应用的RTOS,只有μC/OS-II,但使用μC/OS-II 必须有昂贵的C编译器,这严重地限制了其在MSP430上的使用。 正是基于以上情况,笔者在应用MSP430过程中,编写了一个基于MSP430F149的RTOS,暂定名为M430/OS。它占用RAM量少、代码短小,稍加改动就可适用于大多数其它MSP430单片机。 在MSP430单片机系统上使用M430
[单片机]
基于MSP430F149的数据转发器设计
摘要:以MSP430F149单片机为核心,设计一种双串行通信的电能表自动抄收系统的转发器,给出转发器的硬件结构框架与软件设计方案。转发器通过三种通信方式实现主机与电表抄表器的数据通信。
关键词:转发器 串行通信 MSP430 微控制器
概述
目前大量存在的人工抄表的方法已远不能适应现代化管理的需要,并由此带来的线损率的增高也必然影响电力行业的发展。线损率较高的主要原因之一就是抄表、计算和管理手段的落后,管理损耗增大。如果采用电能表自动抄收系统,不仅可以大大提高电网运行的可靠性,而且可以充分利用现有设备的能力,降低劳动强度。该系统主要由电表抄表器(数据采集)、数据转发器(数据传输)和主机(数据处理)三大部分组成。本文主要设计
[应用]
一种高性能便携型电子血压计的设计
1引言 测量血压的传统仪器是机械式水银血压计.电 子血压计近几年才在市场上出现。电子血压计与传 统血压计相比,虽然操作简单、使用方便,但准确 性、稳定性往往不太理想。本设计力求准确、稳定, 以适用于老年人或病人随时监测自己血压情况及 临床医学检测。 在研究国内外已有产品或设计构思 的基础上” ,使用先进的信号处理技术与智能控 制技术,尽量消除脉搏提取处理中的噪声干扰与非 线性失真,提高血压测量的准确性与稳定性,并提 高了测量的自动化和智能化。 2系统的硬件设计 本设计采用Motorola公司的MPX53GC硅压式 传感器和TI公司MSP430F149单片机为主要器件, 构成电子血压计,系统构成如图1。系
[单片机]
STM32F103_TIM3输出PWM波实现全彩呼吸灯
一、LED灯 1. 必须是全彩RGB_LED灯 2. 通过不同的红绿蓝三色LED混合出256种颜色,同电脑画图里的调色RGB888,每个灯各用8位控制其亮度,其中全灭表示黑色。 二、 1. LED亮度等级表 /* LED亮度等级 PWM表,指数曲线 ,此表使用工程目录下的python脚本index_wave.py生成*/ const uint16_t indexWave = { 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 12
[单片机]
MSP430F149在电力测控保护产品中的应用
摘要:介绍使用MSP430F149在电力测控保护产品研制中实现基本参数测量的软硬件设计方法,及该芯片在使用中应用注意的问题和相应的处理措施。
关键词:MSP430F149 电力测控 抗干扰
MSP430F149(以下简称“F149”)是德州仪器(TI)公司推出超低功耗Flash型16位RISC指令集单片机。F149有丰富的内部硬件资源,是一款性价比极高的工业级芯片。在应用中,F149不需做过多的扩展,适合要求快速处理的实时系统,故可在电力系统微机测量和保护方面得以应用。详细的F149资料可参阅有关文献,本文主要对电力系统中基本参数测量的实现方法和开发中一些应注意的问题进行论述。
1 F149外围模拟信号调理
在电力系统微机
[单片机]
基于MSP430F149单片机的多路无线温度检测系统
温度在人类日常生活中扮演着极其重要的角色,同时在工农业生产过程中,温度检测具有十分重要的意义。现阶段温度检测主要是有线定点温度检测,其温度检测原理为单片机利用温度传感器检测温度,并在数码管或LCD 上进行温度显示。同时由于系统没有报警功能,故需要人为来判断是否需要进行升温或者降温,这使系统的检测丧失了实时性。另外,在某些环境恶劣的工业环境,以人工方式直接操作设置仪表测量温度也不现实,因此采用无线方式进行温度检测尤为必要。 目前有些设计能够实现无线温度采集,但功耗过高是其最大的缺点。在实际温度控制过程中既要求系统具有稳定性、实时性,又需要使系统功耗低及保证温度的均匀性,因此设计一种低功耗的多点无线温度检测系统很有意义。本文
[单片机]