//*******************************************************************************
// 描述:MSP430实现PWM。反映在LED灯上,可以看到LED灯的亮度不断变化
//
// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k
//
// MSP430F13x
// -------------------
// /|\| XIN|-
// | | | 32kHz
// --|RST XOUT|-
// | |
// | P1.2|-->LED
//
//
// 硬件电路:MSP430F135核心实验板-I型
// 硬件连接:
//
// 调试器:MSP430FET全系列JTAG仿真器
// 调试软件: IAR Embedded Workbench Version: 3.41A 编译
//******************************************************************************
#include
void Init_CLK(void);
void Init_TimerA(void);
unsigned int nCount;
void Init_CLK(void)
{
unsigned int i;
//将寄存器的内容清零
//XT2震荡器开启
//LFTX1工作在低频模式
//ACLK的分频因子为1
BCSCTL1 = 0X00;
do
{
// 清除OSCFault标志
IFG1 &= ~OFIFG;
for (i = 0x20; i > 0; i--);
}
while ((IFG1 & OFIFG) == OFIFG);
BCSCTL2 = 0X00;
//MCLK的时钟源为TX2CLK:2.048MHz,分频因子为0
BCSCTL2 += SELM1 + DIVM_0;
//SMCLK的时钟源为TX2CLK:2.048MHz,分频因子为1
BCSCTL2 += SELS + DIVS_0;
return;
}
void Init_TimerA(void)
{
nCount = 0;
TACTL = TASSEL1 + TACLR; // 选择SMCLK,清除TAR
CCTL0 = CCIE; // CCR0 中断允许
CCR0 = 65535 - 1; // PWM周期为256
CCTL1 = OUTMOD_7; // CCR1输出模式为“复位/置位”模式
TACTL |= MC1; // 增记数模式
return;
}
#pragma vector=TIMERA0_VECTOR //Timer_A中断函数
__interrupt void TimerA_ISR()
{
nCount += 655;
CCR1 = nCount;
}
int main(void)
{
// 关闭看门狗
WDTCTL = WDTPW + WDTHOLD;
P1DIR |= BIT2; // P1.2为输出
P1SEL |= BIT2; // 选择P1.2为TA1管脚
// 关闭中断
_DINT();
// 初始化
Init_CLK();
Init_TimerA();
// 打开中断
_EINT();
for(;;)
{
//CUP进入低功耗模式
_BIS_SR(LPM0_bits);
_NOP();
}
}
关键字:MSP430 单片机 PWM操作
引用地址:
MSP430单片机的PWM操作
推荐阅读最新更新时间:2024-03-16 15:28
PIC12C671单片机鼠标
简 介 PIC12CXXX单片机将是伟大的鼠标控制器,但它的I/O口不足。你需要两个I/O用于X轴编码器,两个用于Y轴编码器,一个用于串行输出,以及2或3个I/O用于鼠标按键,但我们仅有6个I/O口。 解决的方式是通过对按钮使用A/D转换。2或3个开关是可以编码的,依据连接它们通过电阻器和使用A/D转换读取所产生的结果。A/D脚可以周期性的改变深入到编码LED。请参阅电原理图。 电路示意图
[单片机]
如何快速设计红外体温检测仪?TI来支招!
体温检测是我们居家,出入社区或工作场所以及出行中的必要监测。红外体温检测仪通过非接触式测温有助于减少接触传染。在这里我们来和大家谈谈这个系统和主要的设计方案。 MSP430系列单片机是德州仪器(TI)公司1996年开始推向市场的一种16位超低功耗RISC混合信号处理器,基于该系列产品开发出来的应用不计其数,数不胜数,尤其是面向传感与检测类终端应用,因其在片上集成有高性能ADC、LCD驱动、串口通讯、PWM输出等模块,成为了红外体温检测仪厂商的不二之选。配合TI提供的丰富的线上软硬件设计资源,使得开发人员可以大大简化设计流程,快速开发红外体温检测仪原型机,同时节省电路板空间从而降低成本。 下图提供了基于MSP43
[单片机]
如何使用C语言来编写MSP430的高质量代码
微处理器一般用于特定环境和特定用途,出于成本、功耗和体积的考虑,一般都要求尽量节省使用资源,并且,由于微处理器硬件一般都不支持有符号数、浮点数的运算,且运算位有限,因此,分配变量时必须仔细。另外要说明的是,速度和存储器的消耗经常是2个不可兼顾的目标,在多数情况下,编程者必须根据实际情况作出权衡和取舍。 需要注意的事项如下: 1) 通常在满足运算需求的前提下,尽量选择为变量定义字节少的数据类型。 比如最常用的int和char,int是16位的,char是8位的,如果没有必要,不要使用int,而且使用char也最好使用unsigned char。运行时,可以在变量窗口看到,使用类型为unsigned char的变量是16进制的格式,
[单片机]
基于51单片机的vs1003 MP3模块原理图
电路原理图如下: 单片机源程序如下: /* * MP3模块测试程序 * * 用途:MP3模块测试程序 * vs1003 的硬件测试程序,主控芯片为STC12LE5A60S2 * 其他的微处理器(带SPI接口的)只需稍加修改即可适用 * 对于不带硬SPI接口的微处理器可以用IO进行SPI的时序模拟 * * 作者 日期 备注 * Huafeng Lin 20010/09/10 新增 * Huafeng Lin 20010/09/10 修改 * */
[单片机]
基于89S52单片机的三相桥式可控触发电路的设计
1 引言 晶闸管作为一种半控性功率半导体器件,其基本功能是对电压进行整流、调压和斩波等进行控制,以满足实际需求。目前,晶闸管整流器装置已在工农业生产中得到了广泛的应用,特别是在直流调速系统中。触发电路是晶闸管电力变流技术的一种核心技术,触发电路应具有可靠性高,对称性好等要求。以分立元件及专用集成电路为主的触发电路,其性能不尽如人意,其具有电路复杂、易受电网电压影响、触发脉冲对称度不好等缺点。由单片机组成的控制,其触发电路具有性能良好、触发电路结构简单、控制灵活、温漂影响小、控制精度高、移相范围可任意调节等特点; 因其移相触发角通过软件计算完成,由于软件的可编程性,使微机数字触发器的调速范围更加灵活,能满足更多方面的需要。另外,本
[单片机]
单片机常用输入/输出电路设计方法
引 言 随着微电子技术和计算机技术的发展,原来以强电和电器为主、功能简单的电气设备发展成为强、弱电结合,具有数字化特点、功能完善的新型微电子设备。在很多场合,已经出现了越来越多的单片机产品代替传统的电气控制产品。属于存储程序控制的单片机,其控制功能通过软件指令来实现,其硬件配置也可变、易变。因此,一旦生产过程有所变动,就不必重新设计线路连线安装,有利于产品的更新换代和订单式生产。 传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关,操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。
[单片机]
基于MSP430单片机的步进电机控制系统设计
单片机实现的步进电机控制系统具有成本低、使用灵活的特点,广泛应用于数控机床、机器人,定量进给、工业自动控制以及各种可控的有定位要求的机械工具等应用领域。步进电机是数字控制电机,将脉冲信号转换成角位移,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超载状态下,根据上述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路是根据单片机产生的控制信号进行工作。因此,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。 1 系统设计原理
[单片机]
在进行单片机设计时需要注意哪些事项
1.降低外时钟频率 外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,以8051单片机为例最短指令周期1μs时,外时钟是12MHz。而同样速度的Motorola单片机系统时钟只需4MHz微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2.低噪声系列单片机 改进的技术将电源、地安排在两个相邻的引脚上,外部去耦电容在PCB设计上更容易安排。 3.时钟监测电路、看门狗技术与低电压复位 时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。由于单片机技术的发展,单片机本身对电源电压
[单片机]