MSP430F149 时钟源选择

合集下载

MSP430F149的内部Flash

MSP430F149的内部Flash

MSP430F149的内部FlashMSP430F149 内部的memory 结构,60K Flash+2K RAM。

Flash 分为主存储区和信息存储区,操作都一样,只是主存储区每个段512 字节,而信息存储区为128 字节,方便擦写。

当我们有数据要保存到Flash 存储器时,要先对目标段进行整段擦除操作,擦除操作使的对应段FLASH 存储器变成全1。

应当注意的是,此flash 的操作频率为257 kHz 到476 kHz,时钟源可选择,因此我们做时钟分频时应当保证频率在这之间,以下为我编写的参考程序。

void Flash_erase(uint addr){//段擦除,512bytes 一段uchar s; s=__get_interrupt_state();//保存当前中断状态__disable_interrupt(); while(FCTL3&BUSY); FCTL3=FWKEY;FCTL1=FWKEY+ERASE; *(uchar*)addr=0; while(FCTL3&BUSY); FCTL3=FWKEY+LOCK; __set_interrupt_state(s);//恢复中断状态}void Flash_write(uint addr,uchar dat){//单字节写入uchar s; s=__get_interrupt_state(); __disable_interrupt(); while(FCTL3&BUSY); FCTL3=FWKEY; FCTL1=FWKEY+WRT; *(uchar*)addr=dat; while(FCTL3&BUSY); FCTL1=FWKEY; FCTL3=FWKEY+LOCK;__set_interrupt_state(s);}void Flash_read(uint addr,uint len){//读取到数组,此处堆栈应改大uint i; for(i=0;i *(R+i)=*(uchar*)(addr+i);}。

第二章 MSP430F149基本时钟系统

第二章 MSP430F149基本时钟系统

DCOR DIVS0 DIVS1 SELS DIVM0 DIVM1 SELM0 SELM1
(0x01) /* DCO 外部电阻使能 */ (0x02) /* SMCLK 2 分频 */ (0x04) /* SMCLK 4 分频*/ (0x08) /* SMCLK 时钟源选择 0:DCOCLK / 1:XT2CLK/LFXT1CLK */ (0x10) /* MCLK 2 分频 */ (0x20) /* MCLK 4 分频 */ (0x40) /* MCLK 时钟源选择 01:DCOCLK*/ (0x80) /* MCLK 时钟源选择 10:有 XT2 则选择 XT2CLK 否则选择 LFXT1CLK*/
/*************************************************
*BCSCTL2 控制位定义
**************************************************/
#define #define #define #define #define #define #define #define
/* Modulation Bit 0 */ /* Modulation Bit 1 */ /* Modulation Bit 2 */ /* Modulation Bit 3 */ /* Modulation Bit 4 */ /* DCO Select Bit 0 */ /* DCO Select Bit 1 */ /* DCO Select Bit 2 */
0——禁止中断
1——允许中断
说明:IE1 中其余位可能被其它模块使用。
5、IFG1:中断标志寄存器 1
7
6
5
4

第四章 MSP430F149看门狗定时器

第四章 MSP430F149看门狗定时器
程序如下:
#include <msp430x14x.h> void main(void) {
WDTCTL=WDT_ADLY_1000;//1000ms 定时 //WDT_ADLY_1000=WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL
P6DIR |=BIT0;//P6.0 输出 P6OUT |=BIT0;//P6.0 输出高电平关闭 LED 灯 IE1 |=WDTIE;//允许 WDT 中断 _EINT();//开放系统中断 while(1) {
例:设置看门狗间隔定时器模式,选择 ACLK(32768Hz)时钟源,定时 1s。
WDTCTL=WDTPW + WDTTMSEL + WDTCNTCL + WDTSSEL;
口令
定时工作模式 清除计数器
选择 ACLK
思考:
选择 ACLK(32786Hz)时钟源,定时 250ms/16ms/1.95ms,如何设置 WDTCTL?
说明:
WDTPW——口令,固定格式。
WDTCNTCL——计数器清零
WDTCTL.2(WDTSSEL)——WDTCTL 第二位时钟源选择位,
0:选择 SMCLK
1:选择 ACLK
WDTISx——定时间隔选择控制位,T 为时钟源时钟周期。
WDTISx=00,定时间隔 T×215 WDTISx=01,定时间隔 T×213
2、IE1 中断使能寄存器 1
7
6
5
4
3
2
1
0
NMIIE
WDTIE
rw-0
rw-0
NMIIE:非屏蔽中断允许控制位。
NMIIE=0,禁止 NMI 中断

MSP430F149的USART0的UART方式

MSP430F149的USART0的UART方式

MSP430F149的USART0的UART方式MSP430F149 的USART0 的UART 方式(UCTL0 中的SYNC 位清0)用于串口通信,以下是一段初始化过程:P3SEL |= 0x30;P3DIR |= BIT4;ME1 |= UTXE0 + URXE0; //允许USART0 接受和发送UCTL0 |= CHAR;U0TCTL|=SSEL1;UBR00 = 0x68;//波特率9600UBR10 = 0x00;UMCTL0 = 0x40;UCTL0 &= ~SWRST;IE1|=URXIE0;__enable_interrupt();首先是设置引脚的方向,RX 为输入,TX 为输出,所以TX 的DIR 位应设为1。

ME1 是功能模块,即允许UART 的接收和发送,CHAR 置1 是设置数据为8 位,SSELx 选择UART 的时钟源,波特率的设置可以用MSP430 波特率计算器来算。

IE1 中的UTXIE0 和URXIE0 分别用来使能接收和发送中断,中断标志分别为UTXIFG0 和URXIFG0,UTXIFG0 置1 表示等待新的数据写入发送寄存器,即上一次发送已完成,而URXIFG0 置1 表示已接收到数据并装入接收缓存寄存器中void main(){Init();while(1){for(num=0;num{//发数组TXBUF0=T[num];//数据被写入发送缓冲寄存器,发送中断标志清0while ((IFG1 & UTXIFG0)!=0x80);//等待中断标志置1,即等待接收完成}num=0;while(1);}}#pragma vector=USART0RX_VECTOR__interrupt void UART0RX (void){R[num]=RXBUF0;//当读接收寄缓冲存器时,接收中断标志清0num++;if(num==5) num=0;}tips:感谢大家的阅读,本文由我司收集整编。

MSP430时钟配置

MSP430时钟配置

MSP430 频率(时钟)配置MSP430时钟:1、在MSP430单片机中一共有四个时钟源:(1)LFXT1CLK,为低速/高速晶振源,通常接晶振(2)XT2CLK,可选高频振荡器,外接标准高速晶振,通常是接8Mhz,也可以接400kHz~16Mhz;(3)DCOCLK,数控振荡器,为内部时钟,由RC震荡回路构成,受温度和电压的影响较大;若外部不接稳定的晶振电路,直接由内部时钟工作,则会因环境变化而导致性能不稳定。

(4)VLOCLK,内部低频振荡器,12kHz标准振荡器。

(要得到标准的12k则必须外接32768等晶振)2、在MSP430单片机内部一共有三个时钟系统:(1)ACLK:辅助时钟,通常由LFXT1CLK或VLOCLK作为时钟源,可以通过软件控制更改时钟的分频系数;(2)MCLK:主时钟,为系统内核提供时钟,它可以通过软件从四个时钟源选择或者从四个时钟源分频后选择为主时钟;(3)SMCLK:子时钟,也是可以由软件选择时钟源。

3、MSP430的时钟设置包括3个寄存器,DCOCTL、BCSCTL1、BCSCTL2、BCSCTL3DCOCTL,DCO控制寄存器,地址为56H,初始值为60HDCO0~DCO2: DCO Select Bit,定义了8种频率之一,而频率由注入直流发生器的电流定义。

MOD0~MOD4: Modulation Bit,频率的微调。

一般不需要DCO的场合保持默认初始值就行了。

BCSCTL1,地址为57H,初始值为84HRSEL0~RSEL2: 选择某个内部电阻以决定标称频率.0最低,7最高。

XT5V: 1.DIVA0~DIVA1:选择ACLK的分频系数。

DIVA=0,1,2,3,ACLK的分频系数分别是1,2,4,8; XTS: 选择LFXT1工作在低频晶体模式(XTS=0)还是高频晶体模式(XTS=1)。

XT2OFF: 控制XT2振荡器的开启(XT2OFF=0)与关闭(XT2OFF=1)。

MSP430时钟分析

MSP430时钟分析

MSP430时钟分析最近开始学习MSP430,在所有单片机学习中,时钟的设置无疑是最基本的一项工作!尤其对于现在的单片机,外部有低速,高速两种晶振,内部还有PLL 的内部时钟源,设置好系统工作的时钟则是工作完美开始的表现。

我一共用了两种系列的430 单片机,MSP430F149 和MSP430F437,系列的不同,时钟的设置也略有不同,下面从149 的时钟一步一步来说吧!在f149 中,基础时钟是被叫做basic clock module,其一共有三个时钟源:一个LFXT1CLK,为低速/高速晶振源,通常接32.768khz,也可以接(400khz~8Mhz)一个为XT2CLK,外接标准高速晶振,通常是接8Mhz,也可以接(400khz~8Mhz)还有一个叫DCOCLK,为内部晶振,有RC震荡回路构成。

在430 内部一共有三个时钟系统一个为ACLK,通常由LFXT1CLK 作为时钟源,可以通过软件控制改时钟的分频系树。

一个为MCLK,即Main CLK,一听就知道是主时钟单元,为系统内核提供时钟,它可以通过软件从三个时钟源选择,一个为SMCLK,称作辅助主时钟,也是可以由软件选择时钟源。

Basic Clock Module Registers(基础时钟寄存器)DCO control register DCOCTLBasic clock system control 1 BCSCTL1Basic clock system control 2 BCSCTL2SFR interrupt enable register 1 IE1SFR interrupt flag register 1 IFG1DCOCTL 寄存器是用来配置DCOCLK 的,这里暂且不提BCSCTL1 与BCSCTL2 寄存器则显得比较重要,这两个寄存器控制了你整个系统中430 的工作时钟系统。

BCSCTL1 寄存器:7 654 3 210XT2OFF XTS DIVAx XT5V RSELxXT20FF:用来控制XT2 晶振的开启和关闭,置1 时关闭,置0 时,开启XTS:用来选择低速晶体的工作模式(可忽略)DIVAx:用来选择ACLK 的分频系数XT5V: 无用。

msp430f149 PWM

msp430f149 PWM

#include <msp430x14x.h>#define Exterior_8MHz 0x55 //MCLK和SMCLK选择外部8M高频晶振#define u8 unsigned char#define u16 unsigned short#define u32 unsigned longvoid Delay_ms(u16 Time) //软件ms延时,1MHz频率下{#ifdef Exterior_8MHzu16 i,j,z;for(i=0;i<Time;i++)for(j=0;j<10;j++)for(z=0;z<158;z++);#elseu16 i,j;for(i=0;i<Time;i++)for(j=0;j<200;j++);#endif}void Delay_us( u16 Time ) //软件us延时,1MHz频率下{u16 i;for(i=0;i<Time;i++){_NOP();_NOP();}}void System_Clock_Init(void) //系统时钟源配置{#ifdef Exterior_8MHz/*------选择系统主时钟为8MHz-------*/u8 z;BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器do{IFG1 &= ~OFIFG; //清除晶振失败标志for (z = 0xFF; z > 0; z--); //等待8MHz晶体起振}while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振#else/*------选择系统主时钟为DCO1MHz-------*/DCOCTL =0x00;BCSCTL1 &=~0x07; //清零DCOx,MODx,RSELx位DCOCTL |=DCO2+DCO1+MOD2+MOD1+MOD0; //DCO=6,MOD=7 BCSCTL1 |=RSEL2; //RSEL=4#endif}void main(void){WDTCTL = WDTPW + WDTHOLD; //关闭看门狗System_Clock_Init();//设置定时器A时钟源,1MHz#ifdef Exterior_8MHzTACTL = TACLR; //清零寄存器TACTL = TASSEL_2 + ID_3 + MC_1; //SMCLK,8分频,增计数#elseTACTL = TACLR; //清零寄存器TACTL = TASSEL_2 + ID_0 + MC_1 + TACLR; //SMCLK,0分频,增计数#endifCCR0 = 10000-1; //设定周期10000*1us=10ms,100K//PWM1CCR1 = 2500; //设定脉宽2500*1us=2.5msCCTL1 = OUTMOD_7; //PWM模式7,复位/置位P1DIR |= BIT2; //P1.2 输出P1SEL |= BIT2; //P1.2 TA1//PWM2CCR2 = 7500; //设定脉宽7500*1us=7.5msCCTL2 = OUTMOD_7; //PWM模式7,复位/置位P1DIR |= BIT3; //P1.3 输出P1SEL |= BIT3; //P1.3 TA2while(1){}}。

基于MSP430F149单片机的多功能电子时钟设计

基于MSP430F149单片机的多功能电子时钟设计

基于MSP430F149单片机的多功能电子时钟设计作者:胡彪田亚菲来源:《数字技术与应用》2015年第05期摘要:嵌入式系统设计中处于最核心的设计是嵌入式操作系统,本文采用的微处理器是MSP430F149,系统内核是μC/OS-II。

通过软件功能扩充和硬件功能扩展实现了一个较完整的嵌入式实时操作系统,并最终设计了一个多功能电子时钟。

本系统是利用MSP430F149单片机实现其具有计时、校时等多功能的数字时钟。

同时运用LCD12864液晶同时显示“时分秒、年月日、星期、温度”的现代计时装置。

关键词:微处理器MSP430F149 μC/OS-II 多功能电子时钟中图分类号:TP368.12 文献标识码:A 文章编号:1007-9416(2015)05-0000-001 引言随着电子技术的发展,微处理器在性能提升的同时功耗能够降得更低,功能也更加强大,16位和32位微处理器逐渐成为嵌入式系统设计的主流芯片。

一个较完整的系统不但要有微处理器,还需要在微处理器上运行一个比较稳定的操作系统;因此,系统要有比较良好的可移植性,能够运用于根据不同应用要求选择的微处理器中。

μCOS-II作为一个实时操作系统内核,由于其源代码公开、代码规范、价格便宜。

为了研究MSP430系列单片机支持多任务、并行、实时操作,移植的稳定性、可靠性等优越的功能。

本设计在运用MSP430单片机和μCOS-II的相关知识的基础上,设计了个多功能电子时钟。

通过软件功能扩充和硬件功能扩展设计了一个较完整的嵌入式实时操作系统,从而验证了μCOS-II操作系统移植在MSP430F149的可行性和稳定性。

2 总体电路设计与多功能时钟实现本设计采用MSP430F149作为整个电路的核心部件,运用4*4矩阵键盘作为输入设备,外接LCD12864进行显示,同时还连接一些扩展电路以便增加电子时钟功能。

本设计的硬件电路比较简单,计数、调时、译码显示等功能全部都由软件控制实现,准确性较高。

MSP430F149的时钟操作详解

MSP430F149的时钟操作详解

MSP430F149的时钟操作1)时钟图解图1 内部时钟图解2)内部时钟MSP430F149系统开启时,默认的时钟来源是内部的DCO,然后可以通过用户的软件设置切换到外部的晶体振荡器。

而MSP430F149可以选择的时钟来源可以有三个:1.来自外部高速晶振振动器。

2.来自外部的低速晶振振荡器,其实低速晶体振荡器也可以外接高速晶体振荡器跟第一个一样。

3.来自单片机内部的DCO时钟。

内部的DCO还可以通过DCOX和RSELX来选择其振荡频率。

而初始时,DCOX=3,RESLX=4。

其频率选择如下图:图2 DCO频率选择其中DCO一个为增加10%,RSEL一格增加25%。

MSP430F149内部有三种时钟:1.主系统时钟(MCLK);主系统时钟可以有三个来源。

2.子系统时钟(SMCLK);子系统时钟可以有两个来源:外部高速和DCO。

3.辅助系统时钟(ACLK);只有一个来源:外部低速。

他们都可以进行各自分频。

3)时钟的寄存器。

1.DCOCTLDCOx:选择DCO振荡频率(和RSELx共同决定)。

MODx:调制器的选择。

2.BCSCTL1XT2OFF:是否关闭高频震荡器。

0开;1关。

XTS:选择低速晶体振荡器的工作方式(其实低速晶体振荡器也可以接成高速晶体的)。

0为低;1为高。

DIVAx:选择对辅助系统时钟分频。

XT5V:无用。

RSELx:选择DCO的频率(和DCOx共同决定)。

3.BCSCTL2SELMx:选择主系统时钟的来源。

DIVMx:主系统时钟的分频。

SELS:选择子系统时钟来源。

DIVSx:选择子系统时钟的分频。

DCOR:DCO选择用片内电阻还是用外接电阻。

默认内接。

4.IE1OFIE:检测晶体振荡器是否正常工作使能控制。

0关;1开。

(产生的是非可屏蔽中断。

)5.IFG1:OFIFG:晶体振荡是否正常工作中断标志位。

(就算不打开使能端也只能置位,打开使能端只是能够进行打断CPU,使CPU进入中断程序。

MSP430F149开发板说明

MSP430F149开发板说明

MSP430F149开发板说明一,MSP430F149自带硬件资源:(1) 基础时钟模块,包括1个数控振荡器(DCO)和2个晶体振荡器;(2) 看门狗定时器Watchdog Timer,可用作通用定时器:(3) 带有3个捕捉/比较寄存器的16位定时器Timer-A;(4) 带有7个捕捉/比较寄存器的16位定时器Timer_B;(5) 2个具有中断功能的8位并行端口:P1与P21(6) 6个8位端口:P1、P2、P3、P4、P5、P6。

(7) 模拟比较器COMPARATOR_A;(8) 12位A/D转换器;(9) 2通道串行通信接口(软件选择UART/SPI模式);(10) 1个硬件乘法器;(11) 60KB+256字节FLASH,2KBRAM。

二,MSP430F149开发板外围电路和硬件:1、两种可选供电方式(标准5V稳压器接口、USB接口)2、3.3V和5V电平接口3、一个兼容USB2.0规范、符合USB1.1规范的标准USB接口4、一个12864液晶显示屏接口5、一个JTAG仿真调试下载端口6、一个蜂鸣器7、一个NRF905射频通信模块接口8、一个8位的LED指示灯模块9、一个8路12-Bit模数转换(ADC)接口10、一个ZIGBEE(型号SZ05)无线通信接口11、一个IR红外串口无线通信模块12、一个8位数码管显示和4X4键盘模块13、一个L298电机驱动模块(可驱动两个电机)14、一个IIC模块包含:PCF8563时钟、LM75温度传感器、AT24C02数据存储15、一个单路输出10位DA转换芯片(TLC5615)16、一个标准的MAX3232接口17、一个的MAX485接口三,MSP430F149的性能MSP430系列单片机最显著的特点就是它的超低功耗。

在1.8—3.6V 电压、1MHz的时钟条件下运行。

耗电电流在0.1—400mA.之间,RAM 在节电模式耗电为0.1mA,等待模式下仅为0.7mA。

MSP430F149的看门狗操作

MSP430F149的看门狗操作

MSP430F149的看门狗操作1)看门狗的图解图1 看门狗图解2)看门狗介绍看门狗由一个16位寄存器控制,高八位是密匙,密匙密码是05AH,读取是069H。

MSP430F149的看门狗是系统默认开启的,所有一般不用的时候,程序一开始就关闭看门狗。

看门狗有两种工作模式:1.看门狗模式。

2.定时器模式。

3)看门狗的控制寄存器1.WDTCTL●WDTPW:高八位是密匙。

一般IAR的头文件里面都包含有。

●WDTHOLD:选择是否打开看门狗。

0开1关。

●WDTNMIES:当复位端用作NMI(外部的非可屏蔽中断)的时候,选择是上升沿触发中断还是下降沿触发中断。

0上升1下降。

●WDTNMI:选择复位端是作为复位端口还是NMI(外部的非可屏蔽中断)端口。

0复位1NMI。

●WDTTMSEL:选择看门狗模式还是定时器模式。

0看门狗1定时器。

●WDTCNTCL:看门狗计数清零。

1清零。

●WDTSSEL:看门狗的时钟来源选择。

0子系统时钟1主系统时钟。

●WDTISx:看门狗时钟分频选择。

2.IE1●NIMIE:外部非可屏蔽中断使能。

●WDTIE:看门狗中断使能。

(当看门狗做定时器的时候也是这个使能)3.IFG1(一般C语言不操作,都会有硬件置位)●NMIIFG:外部非可屏蔽中断标志。

●WDTIFG:看门狗中断标志。

4)当看门狗用作定时器使用的时候的操作。

1.把看门狗设置到定时器模式。

(也还可以设置触发边沿,选择时钟和分频)2.清零看门狗。

3.打开看门狗中断使能。

#include<msp430x14x.h>#define uint unsigned intvoid main(){WDTCTL=WDT_MDLY_32;//相当于WDTPW+WDTTMSEL+WDTCNTCL//也就是密匙+选择定时器模式+清零看门狗IE1|=WDTIE;//打开看门狗中断使能,由于看门狗是非可屏蔽中断所有不用//打开总中断IEwhile(1){LPM3;}}#pragma vector=WDT_VECTOR//看门狗的中断入口地址是WDT_VECTOR,NMI的入口地址是NMI_VECTOR __interrupt void P1RT(void){//中断程序,硬件自动清除中断标志所有不用软件清除。

MSP430F149寄存器整理

MSP430F149寄存器整理

各个模块的寄存器:1)CPU内部寄存器(状态寄存器SR)2)外围模块寄存器和特殊寄存器中断使能寄存器(IE1)UTXIE0USART0模块的传输中断使能控制比特。

置1时模块的中断使能,0时关闭URXIE0USART0接收中断控制。

1中断使能、0中断关闭ACCVIEFLASH 存储器非法访问中断使能控制比特位。

1使能、0时关闭。

NMIE 非屏蔽中断使能控制。

1使能、0关闭OFIE 晶体出错中断使能控制。

1使能、0关闭WDTIE看门狗中断使能控制。

1使能看门狗中断、0关闭中断使能寄存器(IE2)****UTXIE15URXIE14********UTXIE1USART1模块传输中断使能控制。

1使能、0关闭URXIE1USART1模块接收中断使能控制。

1使能、0关闭中断标志寄存器(IFG1)UTXIFG07URXIFG 06**NMIIFG4****OFIFG1WDTIFGUTXIFG0USART0传输中断标志位。

1时有中断产生、0没有URXIFG0USART0接收中断标志位。

1时有中断产生、0没有NMIIFG非屏蔽中断标志位。

1时有中断产生、0没有UTXIE07URXIE06ACCVIE5NMIIE4**3**2OFIE 1WDTIEOFIFG晶体出错中断标志位。

1时有中断产生、0没有WDTIFG看门狗中断标志。

1时有中断产生、0时没有中断标志寄存器(IFG2)****UTXIFG15URXIFG14********UTXIFG1USART1传输中断标志位。

1时有中断产生、0时没有URXIFG1USART1接收中断标志位。

1时有中断产生、0时没有模块使能寄存器1(ME1)UTXE07URXE0USPIE0************UTXE0USART0的传输使能。

1时USART0传输模块使能、0时不工作URXE0 USPIE0USART作为UART时,该比特控制UART的接收功能,设置为1时接收模块使能,0时不工作;作为SPI时,设置为1,则SPI使能,0时SPI不工作。

基于msp430f149和DS1302的12864时钟设计

基于msp430f149和DS1302的12864时钟设计

基于msp430f149和DS1302的12864时钟设计本设计系统由主控模块、时钟模块、显示模块、红外解码控制模块、温度模块、掉电存储模块共6个模块组成,主控芯片使用TI系列msp430f149单片机,时钟芯片使用美国DALLAs公司推出的一种高性能、低功耗、带RAM的实时时钟DSl302。

采用DSl 302作为主要计时芯片,可以做到计时准确。

更重要的是,DSl302可以在很小电流的后备电源(2.5—5.5v电源,在2.5v时耗电小于300 nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。

显示模块采用12864液晶,控制采用红外遥控器实现调整功能,温度模块采用DS18B20,掉电存储采用msp430f149内部自带的flash实现闹钟数据的掉电保存。

MSP430单片机概述MSP430 系列单片机是美国德州仪器(TI)1996 年开始推向市场的一种16 位超低功耗的混合信号处理器(Mixed Signal Pocessor)。

称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。

MSP430 系列单片机的特点虽然MSP430系列单片机推出时间不是很长,但由于其卓越的性能,在短短几年时间里发展极为迅速,应用也日趋广泛。

MSP430系列单片机针对各种不同应用,包括一系列不同型号的器件。

主要特点有:1.超低功耗MSP430系列单片机的电源电压采用~低电压,RAM 数据保持方式下耗电仅,活动模式耗电250pA/MIPS(MIPS:每秒百万条指令数),IO输入端口的漏电流最大仅50nA。

MSP430系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO 数字振荡器时钟系统。

由时钟系统产生CPU和各功能模块所需的时钟,并且这些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。

基于MSP430F149的数控直流电源

基于MSP430F149的数控直流电源

基于MSP430F149的数控直流电源更新于2012-06-08 13:33:55 文章出处:互联网MSP430F149的数控直流电源本设计以超低功耗单片机MSP430F149作为微控制器,利用MSP430F149 的定时器模块Timer_A和Timer_B 在比较模式下输出的脉宽调制(PWM)波形产生直流、正弦波、方波信号,通过运算放大器和功率三极管电路产生符合设计要求的电压和电流信号。

可以通过4*4键盘选择波形类型和输出信号的幅值和频率,并且应用液晶显示器实现数据输出。

ABSTRACT :This application report describes how to simultaneously create a sine wave, a ramp, and a dc level with pulse-width modulated (PWM) signals from Timer_A and Timer_B on the MSP430 ultralow power family of microcontrollers,and enlarge the voltage by the power triode transistor to meet the basic requests.with a 4*4 keyborad,we can choose the type ,range and frequency of the wave.关键字:MSP430F149,PWM,直流,正弦波,三角波keyword: MSP430F149,PWM,DC, sine wave, ramp一、设计任务设计出有一定输出电压范围和功能的数控电源。

其原理示意图如下:二、设计要求(1)输出电压:范围0~+10V,步进0.1V,纹波不大于10mV;(2)输出电流:500mA;(3)输出电压值由数码管显示;(4)由“+”、“-”两键分别控制输出电压步进增减;(5)为实现上述几部件工作,自制一稳压直流电源,输出±15V,+5V。

【设置】基于msp430f149和DS1302的12864时钟设计

【设置】基于msp430f149和DS1302的12864时钟设计

【关键字】设置基于msp430f149和DS1302的12864时钟设计本设计系统由主控模块、时钟模块、显示模块、红外解码控制模块、温度模块、掉电存储模块共6个模块组成,主控芯片使用TI系列msp149单片机,时钟芯片使用美国DALLAs 公司推出的一种高性能、低功耗、带RAM的实时时钟DSl302。

采用DSl 302作为主要计时芯片,可以做到计时准确。

更重要的是,DSl302可以在很小电流的后备电源(2.5—5.5v 电源,在2.5v时耗电小于300 nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。

显示模块采用12864液晶,控制采用红外遥控器实现调整功能,温度模块采用DS18B20,掉电存储采用msp149内部自带的flash实现闹钟数据的掉电保存。

MSP430单片机概述MSP430 系列单片机是美国德州仪器(TI)1996 年开始推向市场的一种16 位超低功耗的混合信号处理器(Mixed Signal Pocessor)。

称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。

1.1 MSP430 系列单片机的特点虽然MSP430系列单片机推出时间不是很长,但由于其卓越的性能,在短短几年时间里发展极为迅速,应用也日趋广泛。

MSP430系列单片机针对各种不同应用,包括一系列不同型号的器件。

主要特点有:1.超低功耗MSP430系列单片机的电源电压采用1.8~3.6V低电压,RAM 数据保持方式下耗电仅0.1uA,活动模式耗电250pA/MIPS(MIPS:每秒百万条指令数),IO输入端口的漏电流最大仅50nA。

MSP430系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO 数字振荡器时钟系统。

由时钟系统产生CPU和各功能模块所需的时钟,并且这些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。

MSP430F149的定时器A操作

MSP430F149的定时器A操作

MSP430F149的定时器A定时操作1)定时器A的图解图1 定时器A图解2)定时器A的四种计数模式。

1.停止模式。

2.增计数模式。

(产生两个中断标志)也就是当计数到跟TACCR0一样的时候,就返回0,重新计数。

当计数到TACCR0的同时产生一个中断标志CCIFG,而当计数器溢出返回零的同时又同时产生一个中断标志TAIFG。

如图:图2 增计数模式的波形图3.连续计数模式。

(产生一个中断标志)也就是计数器将直接计数到计数器所能计数的最大值0FFFFH之后重新返回零,再次计数。

返回零的同时产生一个TAIFG中断标志。

如图:4.增减计数模式。

(产生两个中断标志)也就是当计数器计数到跟TACCR0一样的之后,然后从TACCR0开始又减少,直到为零,然后又开始增。

当计数跟TACCT0一样的时候产生一个中断标志CCIFG,当减到为零的时候又产生一个中断标志TAIFG。

如图:注意:当重新写入TACCR0数值的时候,当新的数据大于原来的数值的时候,计数器将计数到新的数值才重新返回零;当新的数据小于原来的数值的时候,计数器将直接返回零重新计数。

3)定时器A的寄存器。

1.TACTL●TASSELx:计时器A的时钟来源选择。

●IDx:计时器A时钟的分频选择。

●MCx:计时器A四种计数模式选择。

●TACLR:计数器A的TAR计数清零,同时也可以清楚时钟分频器和计数方向。

●TAIE:TAIFG中断标志使能。

在捕获模式下可以打开所有CCIFG的中断使能。

●TAIFG:中断标志位。

2.TAR计数器的计数寄存器。

3.TACCTLx●CMx:捕获模式选择。

00:关闭;01:上升沿捕获;10:下降沿捕获;11:上升下降沿捕获。

●CCISx:捕获引脚选择。

●SCS:选择捕获电平方式。

0异步时钟;1同步时钟。

●SCCI:锁存同步时钟输入端。

也就是锁存EQUx的值,以供CPU读取。

●CAP:捕获模式和比较模式选择。

0比较;1捕获。

●OUTMODx:输出模式选择。

MSP430F149的模数转换模块ADC12

MSP430F149的模数转换模块ADC12

12-Bit ADC Core:ADC CORE将一个模拟量转化为12位的数字量,并且将数字量存储到ADC12存储器中。

ADC CORE需要软件编程选择V R-和V R+的参考输入源,作为转换的上限值和下限值。

当模拟量输入等于或大于V R+时,转换结果N ADC =0FFFH;当模拟量输入等于或小于V R-时,转换结果N ADC =0H。

ADC12ON位用于打开ADC Core,ENC位:在每次转化之前都要置1.Conversion Clock SelectionADC12CLK用做转换时钟;或者当SHP=1()时,用于生成采样周期。

采样的时钟源有多个。

ADC12OSC大约5M Hz左右,但是与设备,供电电压,温度相关,具体参照规格书而定。

ADC12 Inputs and MultiplexerADC12模块模拟量输入源有16个,通过INCHx控制。

16个输入元分别是A0-A7(P6口),Ve REF+(Pin10), Ve REF-(Pin11)和4个内部输入源。

Voltage Reference GeneratorREFON=1,打开参考电压发生器。

REF2_5V = 1,参考电压为2.5V; REF2_5V = 0,参考电压为1.5V;INCHX=0AH,是模拟量输入源是温度传感器。

为了去耦,在参考电压输出引脚VREF+,接10uF和0.1uF的电容到A VSS.Auto Power-Down为了低功耗的应用。

ADC Core当不使用时自动关闭,在使用时,可以自动恢复打开;首次需软件打开。

ADC12OSC 用时自动打开,不用自动关闭。

参考电源需软件打开和关闭,不具有自动功能。

Sample and Conversion TimingSHI上升沿时An analog-to-digital conversion is initiated。

SAMPCON控制采样周期和启动转换:SAMPCON高电平时,采样。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档