摘要: 一、MSP430单片机FLASH存储器模块特点1.8~3.6V工作电压,2.7~3.6V编程电压;擦除/编程次数可达100000次:数据保持时间从10年到100年不等:60KB空间编程时间<5秒:保密熔丝烧断后不可恢复,不能再对JTAG进行任何访问;FLASH编程/擦除时间由内部硬件控制,无任何软件干预;二、FLASH存储器的操作由于FLASH存储器由很多相对独立的段组成,因此可在一个段中运行程序,而对另一个段进行擦除或写入操作。正在执行编程或擦除等操作的FLASH段是不能被访问的,因为这时该段是与片内地址总线暂时断开的。对FLASH模块的操作可分为3类:擦除、写入及读出。而擦除又可分为 阅读全文
posted @ 2012-08-18 15:49 sky1991 阅读(1677) 评论(0) 推荐(0) 编辑
摘要: //******************************************************************************// D13x 实例4 - 12位AD转换//// 描述:系统处于休眠状态LPM0// 如果AD采样值大于等于7FF小灯点亮;如果小于7FF小灯熄灭。// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k//// MSP430F13x// -------------------// /|\| XIN|- // | | | 32kHz// --|RST XOUT|-// | |// Vin-->| 阅读全文
posted @ 2012-08-18 15:46 sky1991 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 一、ADC12转换模式ADC12提供4种转换模式:单通道单次转换对选定的通道进行单次转换要进行如下设置:x=CSStartAdd,指向转换开始地址ADC12MEMx存放转换结果ADC12IFG.x为对应的中断标志ADC12MCTLx寄存器中定义了通道和参考电压转换完成时必须使ENC再次复位并置位(上升沿),以准备下一次转换。在ENC复位并再次置位之前的输入信号将被忽略。序列通道单次转换对序列通道进行单次转换要进行如下设置:x=CSStartAdd,指示转换开始地址EOS(ADC12MCTLx.7)=1标志序列中最后通道y,非最后通道的EOS位都是0,表示序列没有结束。ADC12MEMx,... 阅读全文
posted @ 2012-08-18 15:44 sky1991 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: //*******************************************************************************// D13x Demo - 利用Timer_A及中断实现RTC,观察LED灯的闪烁频率//// 描述:利用Timer_A及中断实现RTC;通过 P1 异或 来取反 P1.5;// 系统处于休眠状态LPM3,中断时唤醒执行P1.5切换// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k//// MSP430F13x// -------------------// /|\| XIN|- // | | 阅读全文
posted @ 2012-08-18 15:42 sky1991 阅读(349) 评论(0) 推荐(0) 编辑
摘要: //*******************************************************************************// D13x Demo - 在上一节基础上改变系统时钟,观察LED灯的闪烁频率//// 描述:通过改变系统时钟,来改变闪烁频率;通过 P1 异或 来取反 P1.5;软件循环延时// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k//// MSP430F13x// -----------------// /|\| XIN|- // | | |// --|RST XOUT|-// | |// | P 阅读全文
posted @ 2012-08-18 15:41 sky1991 阅读(411) 评论(0) 推荐(0) 编辑
摘要: CPU内状态寄存器SR中的SCG1、SCG2、OscOff和CPUOff位是重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可以恢复先前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些位;这样允许程序在中断返回(RETI)后,以另一种功耗方式继续运行。各控制位作用如下:SCG1:当SCG1复位时,使能SMCLK;SCG1置位则禁止SMCLK。SCG0:当SCG0复位时,直流发生器被激活,只有SCG0被置位且DCOCLK信号没有用于MCLK或SMCLK,直流发生器才能被禁止。OscOff:当OscOff复位时,LFXT晶体振荡器激活,只 阅读全文
posted @ 2012-08-18 15:38 sky1991 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 一、时钟源种类LFXT1CLK低频时钟源——MSP430每一种器件都有XT2CLK高频时钟源——存在于X13X、X14X、X15X、X16X、X43X、X44X等DCOCLK数字控制RC振荡器二、时钟源说明ACLK辅助时钟:ACLK是LFXT1CLK(低频时钟源)信号经过1、2、4、8分频得到的。ACLK可由软件选为各个外围模块的时钟信号,一般用于低速外设。MCLK系统主时钟:MCLK可由软件选择来自LFXT1CLK(低频时钟源)、XT2CLK(高频时钟源)、DCOCLK(数字控制RC振荡器)三者之一,然后经过1、2、4、8分频得到。MCLK主要用于CPU和系统。SMCLK子系统时钟:可由软件 阅读全文
posted @ 2012-08-18 15:37 sky1991 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 定时器A是一个16位的定时/计数器。它有3个捕获/比较寄存器;能支持多个时序控制、多个捕获/比较功能和多个PWM输出;有广泛的中断功能,中断可由计数器溢出产生,也可以由捕获/比较寄存器产生。一、TimerA的4种工作模式1.停止模式用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。2.增计数模式捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器。因为CCR0为16位寄存器,所以该模式适用于定时器周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0 阅读全文
posted @ 2012-08-18 15:34 sky1991 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 1 #include "msp430g2553.h" 2 unsigned int rate = 0; 3 unsigned char updown = 1; 4 5 void main(void) { 6 7 WDTCTL = WDT_MDLY_32; 8 9 TACTL = TASSEL1 + TACLR;10 TACTL |= MC0;11 12 CCR0 = 20; // PWM周期13 14 CCTL1 = OUTMOD_7;15 CCR1 = 0;16 17 P1DIR |= 0x40; // P1.6 输出18 ... 阅读全文
posted @ 2012-08-17 19:46 sky1991 阅读(645) 评论(0) 推荐(0) 编辑
摘要: STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下#define NVIC_PriorityGroup_0 ((u32)0x700)#define NVIC_PriorityGroup_1 ((u32)0x600)#define NVIC_PriorityGroup_2 ((u32)0x500)#define NVIC_PriorityGroup_3 ((u32 阅读全文
posted @ 2012-08-11 22:14 sky1991 阅读(256) 评论(0) 推荐(0) 编辑