MSP430用IAREmbeddedWorkbench软件编写程序和编译代码。
MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。
扩展资料:
MSP430系列部分产品具有闪存,在系统设计、开发、调试和实际应用中具有明显优势。TI公司引入了具有闪存和JTAG边界扫描技术的廉价开发工具MSP-Fet430x110,并将国际先进的JTAG技术和Flash在线编程技术引入到MSP430中。
这种将Flash技术与FET开发工具相结合,具有方便、便宜、实用等优点,为用户提供了更理想的原型开发方式。
#include<msp430x14x.h>#define uint unsigned int
delay(uint);
void main()
{
WDTCTL = 0x5A80
uint ch[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}
uint i,j
P2DIR = 0xff
P2OUT = 0xff//低电平点亮
while(1)
{
for(i=0i<8i++)
{
P2OUT = ch[i]
delay(50000)
}
for(j=6j>0j--)
{
P2OUT = ch[j]
delay(50000)
}
}
}
void delay(uint z)
{
uint a
for(a=0a<za++)
}
1.这是较为简单的流水灯程序,没有使用定时器,只是简单的延时;
若要精确延时,需要设置定时器A或B.
2.也可以通过移位 *** 作来实现流水灯,移位 *** 作放入中断内最好
#include <msp430x41x.h> //系统文件夹内找#include "main.h" //当前文件夹内找
main( void )
{
WDTCTL = WDTPW + WDTHOLD // Stop watchdog timer to prevent time out reset
Sys_Init()
while(1)
{
if((P1IN&BIT0) == BIT0)
P1OUT |= BIT1
else
P1OUT &= ^BIT1
}
}
/*****************************************************************************
* SYS初始化 *
*****************************************************************************/
void Sys_Init(void)
{
WDTCTL = WDTPW + WDTHOLD // Stop watchdog timer
/*时钟初始化 //MCLK:2031616Hz*/
FLL_CTL0 |= XCAP14PF // Configure load caps
SCFI0 |= FN_2 //频率范围
SCFQCTL =30 //N,如不设置默认=31
SCFI0 |= FLLD_2 //D=2,PUC后的默认值=2
//FLL_CTL1 |= FLL_DIV_4 //4分频,P1.5输出:f=32768/4
FLL_CTL0 |= DCOPLUS//在MCLK前分频 f=D*(N+1)*faclk,2*(30+1)*32768=2031616Hz
/*端口初始化*/
P1DIR |= BIT1 + BIT2 + BIT3+ BIT4+ BIT5 + BIT6+ BIT7
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)