MSP430入门级程序:定时闪烁

来源:本站
导读:目前正在解读《MSP430入门级程序:定时闪烁》的相关信息,《MSP430入门级程序:定时闪烁》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MSP430入门级程序:定时闪烁》的详细说明。
简介:对于从51转身msp430的新手来说,个人认为,msp430定时器这一块,是它的特点,也是基础的部分,甚至可以说,是任何新手,在开始时,无法逃避的一个重点!接下来是自己根据mspf149写的几个定时程序,在实验板上亲测均能通过。

刚学完51,还没来得及消化的自己,转身开始进军msp430。在起初的几天里,感觉msp的一切都是那么的苦涩难懂,与51有截然不同的感觉。在文字之中挣扎了两天,受到的打击不小。然后,拈来几个简单的程序,想开始学会自己点灯闪烁,就像学51的编程起点一样。于是,慢慢的看着程序啃代码,弄清每一条语句。此间,有些书上的知识与代码开始串在一起。才发现,最初几天的功夫,没有白费。

点灯闪烁固然简单,会做也说明不了自己达到了一定的高度,但作为一名初学者,能熟练“玩转”各种不同的定时,说明自己对msp430已然不再陌生。对于从51转身msp430的新手来说,个人认为,msp430定时器这一块,是它的特点,也是基础的部分,甚至可以说,是任何新手,在开始时,无法逃避的一个重点!

接下来是自己根据mspf149写的几个定时程序,在实验板上亲测均能通过。

(注:proteus仿真可能无法到达其效果,因为其中使用的是msp430f249,请注意其头文件与149的区别)

一、/* 定时:LFXT1CLK作为ALCK的时钟源,频率:32768HZ */

#include<msp430x14x.h>

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; //关闭看门狗

//TIMER_A相关设置

CCTL0 = CCIE; //使能CCR0中断

CCR0 = 2047; //设定周期0.5S

TACTL = TASSEL_1 + ID_3 + MC_1; //定时器A的时钟源选择ACLK,增计数模式

P2DIR = 0x04; //设置P2口方向为输出

_EINT(); //使能全局中断

}

#pragma vector = TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

P2OUT ^= 0xff;

}

二、/* 掌握XT2、DCO两种时钟源情况下SMCLK的定时 */

#include <msp430x14x.h>

void main()

{

// Stop watchdog timer to prevent time out reset

WDTCTL = WDTPW + WDTHOLD;

//基础时钟方面的设置

BCSCTL1&=~XT2OFF; //启动XT2

BCSCTL2=SELS+DIVS1+DIVS0; //XT2CLK作为SMCLK的时钟,八分频

//TIMER_A各种寄存器设置

TACTL=TACLR+TASSEL1+ID1+ID0; //清除TAR,时钟源SMCLK,八分频

TACTL|=MC0; //增计数模式

CCTL0=CCIE;

CCR0=62500;

/*特别注意:当XT2没有开启或没有选择XT2作为SMCLK的时钟,

SMCLK的默认时钟源为DCO:800KHZ,若定时0.5s,CCR0=50000; */

P2DIR|=BIT7;

_EINT();

while(1);

}

//interrupt[TIMERA0_VECTOR]void Timer_A(void)

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A(void)

{

P2OUT^=BIT7;

}

三、关于看门狗的两种表达起定时效果

#include <msp430x14x.h>

void main( void )

{

// Stop watchdog timer to prevent time out reset

WDTCTL =WDT_ADLY_1000;//即:WDTCTL=WDTPW+WDTTMSEL+WDTSSEL+WDTCNTCL;

IE1|=WDTIE;

P2DIR|=BIT0;

_EINT();

while(1);

}

#pragma vector=WDT_VECTOR

__interrupt void WDT()

{

P2OUT^=BIT0;

}

提醒:《MSP430入门级程序:定时闪烁》最后刷新时间 2024-03-14 01:05:51,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MSP430入门级程序:定时闪烁》该内容的真实性请自行鉴别。