msp430的时钟源有哪些
“msp430的时钟源有哪些”相关的资料有哪些?“msp430的时钟源有哪些”相关的范文有哪些?怎么写?下面是小编为您精心整理的“msp430的时钟源有哪些”相关范文大全或资料大全,欢迎大家分享。
MSP430之时钟源的选择
MSP430之时钟源的选择
学51的朋友刚转学MSP430时会感觉很多的不适应,这是理所当然的,因为MSP430的。
资源要比51丰富的多了,而且是16位。今天刚系统学完MSP430时钟源部分,在此写下,忘大家指正。
首先,MSP430不像51只有有一个外部晶振作为时钟源,MSP430又有3到4个时钟源!外部可接两个晶振,一个高频晶振XT2CLK(0.4M~16M),一个低平晶振LFXT1CLK(32768HZ).。内部有一个数字振荡器DCO。MSP430中规定了3种时钟信号:ACLK,MACLK,SMCLK。ACLK(辅助时钟信号),LFXT1CLK是该时钟信号的时钟源,ACLK主要用作一些低频模块。MACLK(主时钟信号),XT2CLK,LFXT1CLK,DCO都可以是该时钟信号的时钟源,MACLK主要给CPU和系统提供时钟信号。SMCLK(子时钟信号),XT2CLK,LFXT1CLK,DCO都可以是该时钟信号的时钟源,SMCLK主要用作一些低频模块。看到这里,看到有点乱了,别着急,
慢慢理清思路。下面的图片帮大家理解一下
下面对与时钟源有关的寄存器进行分析
1:DCOCTL
DCOX(BIT7~BIT5):这三位与下面提到的RSELX共同来决定DCO
MSP430之时钟源的选择
MSP430之时钟源的选择
学51的朋友刚转学MSP430时会感觉很多的不适应,这是理所当然的,因为MSP430的。
资源要比51丰富的多了,而且是16位。今天刚系统学完MSP430时钟源部分,在此写下,忘大家指正。
首先,MSP430不像51只有有一个外部晶振作为时钟源,MSP430又有3到4个时钟源!外部可接两个晶振,一个高频晶振XT2CLK(0.4M~16M),一个低平晶振LFXT1CLK(32768HZ).。内部有一个数字振荡器DCO。MSP430中规定了3种时钟信号:ACLK,MACLK,SMCLK。ACLK(辅助时钟信号),LFXT1CLK是该时钟信号的时钟源,ACLK主要用作一些低频模块。MACLK(主时钟信号),XT2CLK,LFXT1CLK,DCO都可以是该时钟信号的时钟源,MACLK主要给CPU和系统提供时钟信号。SMCLK(子时钟信号),XT2CLK,LFXT1CLK,DCO都可以是该时钟信号的时钟源,SMCLK主要用作一些低频模块。看到这里,看到有点乱了,别着急,
慢慢理清思路。下面的图片帮大家理解一下
下面对与时钟源有关的寄存器进行分析
1:DCOCTL
DCOX(BIT7~BIT5):这三位与下面提到的RSELX共同来决定DCO
msp430模块程序
基础时钟模块应用举例
例1 设MCLK=XT2,SMCLK=DCOCLK,将MCLK 由5.4 输出程序如下: #include unsigned int i; WDTCTL = WDTPW + WDTHOLD; //停止看门狗 P5DIR |= 0X10; P5SEL |= 0X10; BCSCTL1 &= ~XT2OFF; do{ IFG1 &= ~OFIFG; for(i = 0xFF;i>0;i--); } while((IFG1 & OFIFG) != 0); BCSCTL2 |= SELM1; for(;;); } 例2 设ACLK=MCLK=LFXT1=LF #include unsigned int i; WDTCTL = WDTPW + WDTHOLD; //停止看门狗 P5DIR |= 0X10; P5SEL |= 0X10; BCSCTL1 &= XTS; do{ IFG1 &= ~OFIFG; for(i = 0xFF;i>0;i--); } while((IFG1 & OFIFG) != 0); BCSCTL2 |= SELM1+SELM0;
MSP430学习笔记
第一版
MSP430G2553学习笔记
Created on: 2012-8-18 Author: zhang bin
学习笔记
for msp430g2553
redesigned by zhang bin 2012-08-18
versions:12_08_01
一,MSP430G2553单片机的各个功能模块 (一),IO口模块,
1,我们所用的MSP430G2553有两组IO口,P1和P2。
2,IO口的寄存器有:方向选择寄存器PxDIR,输出寄存器PxOUT,输入寄存器PxIN,IO口内部上拉或下拉电阻使能寄存器PxREN, IO口功能选择寄存器PxSEL和PxSEL2,IO口中断使能寄存器PxIE,中断沿选择寄存器PxIES,IO口中断标志寄存器PxIFG。
3,所有的IO都带有中断,其中所有的P1口公用一个中断向量,所有的P2口公用一个中断向量。所以在使用中断时,当进入中断后,还要判断到底是哪一个IO口产生的中断,判断方法可以是判断各个IO口的电平。
4,中断标志PxIFG需要软件清除,也可以用软件置位,从而用软件触发一个中断。 注意:在设置PxIESx时
MSP430 ADC10
MSP430单片机拥有内置的ADC功能,在一些高级单片机系列上是ADC12,在低级单片机系列上是ADC10,两者的主要区别是分辨率的不同,我们的G2553内置的就是ADC10,所以Cloud就在这里和大家一起学习ADC10。
一、ADC10特性
我们先来了解一下这个ADC10的特性,官方给出的: ·高达200ksps的转换速率; ·固定的10位转换;
·具有采样保持功能,并可选采样周期; ·可以通过软件代码或TimerA初始化转换; ·可选的片内(1.5V或2.5V)或片外参考电压; ·支持8个外部输入通道;
·内部输入通道支持温度检测,VCC和外部参考(+、—); ·可选的转换时钟源;
·单通道单次/多次、序列通道单次/多次,共4种转换模式; ·ADC内核和参考电压都可单独关闭;
·具有一个支持自动存储转换结果的数据转换控制器(DTC);
二、ADC10结构
OK,我们来引入ADC10的内部结构图来初步认识这个ADC10的内部结构。为了方便大家学习,Cloud将各部分用不同颜色区分开:
1、ADC10内核-SAR和采样保持电路:
首先我们看到中间两块橙色的区域,右边五边形的是一个“10-bit SAR”,翻译过来就是一个10位精度的
msp430程序模块
1、时钟初始化
/*msp430f169时钟初始化*/ void Init_bas_clk() {unsigned int i;
BCSCTL1 &=~XT2OFF;//开高速晶振
//BCSCTL1 |= XTS; 此项不要设置,因为单片机LFXT1外接32768Hz不是高速晶振
BCSCTL2 |=SELM_2+DIVM_1+SELS+DIVS_3;//MCLK选择高速晶振,两分频,SMCLK选择高速晶振8分频
do /*起振需在寄存器设置之后*/ {
IFG1 &= ~OFIFG; // 清除振荡器失效标志 for(i = 0Xff;i > 0;i--); // 稳定时间
} while((IFG1 & OFIFG)!= 0); // 如果振荡器失效标志存在
IFG1 &=~OFIFG; // 清除振荡器失效标志 }
2、ADC12初始化
A1、/*ADC12序列通道多次转换*/
void Init_ADC12_SequenceChannelSequenceConvert(void) {
P6SEL|=0x0f;//选择通
MSP430入门学习程序
1、 点亮LED
(1)、闪烁灯
/*************************************************** 程序功能:控制8个LED闪烁,用于测试下载功能是否正常 --------------------------------------------------- 测试说明:观察LED闪烁
***************************************************/ #include /****************主函数****************/ void main(void) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 BoardConfig(0xf0); //关闭数码管和电平转换,打开流水灯 CCTL0 = CCIE; //使能CCR0中断 CCR0 = 2047; //设定周期0.5S TACTL = TASS
msp430题库及答案
一、填空题 本题共5小题,每小题4分。 1.
// Port1 interrupt service routine #pragma vector = ( ) __interrupt void Port_1 (void) A.
PORT1_VECTOR [正确答案]: [试题解析]: [阅卷得分(4)]:4 2.
// Configure TimerA
TACTL = ( ); // Source: ACLK, UP mode CCR0 = 5100; //Timer count 5100 CCR1 = 100; //Timer count 100 CCTL0 = CCIE; //CCR0 interrupt enabled CCTL1 = CCIE; //CCR1 interrupt enabled A.
TASSEL_1 + MC_1; [正确答案]: [试题解析]: [阅卷得分(4)]:4 3.
// Configure Basic Clock
BCSCTL1 =(
msp430题库及答案
一、填空题 本题共5小题,每小题4分。 1.
// Port1 interrupt service routine #pragma vector = ( ) __interrupt void Port_1 (void) A.
PORT1_VECTOR [正确答案]: [试题解析]: [阅卷得分(4)]:4 2.
// Configure TimerA
TACTL = ( ); // Source: ACLK, UP mode CCR0 = 5100; //Timer count 5100 CCR1 = 100; //Timer count 100 CCTL0 = CCIE; //CCR0 interrupt enabled CCTL1 = CCIE; //CCR1 interrupt enabled A.
TASSEL_1 + MC_1; [正确答案]: [试题解析]: [阅卷得分(4)]:4 3.
// Configure Basic Clock
BCSCTL1 =(
IAR MSP430编译报错说明
IAR MSP430编译报错说明
无编号警告类型:
1、Sat Jun 23, 2012 17:41:05: The stack pointer for stack 'Stack' (currently Memory:0xF5336) is 原因:http://blog.sina.com.cn/s/blog_4c0cb1c0010153l9.html
IAR相关设置:Tools->Option->Stack->Warn when stack pointer is out of bounds.
2、无法查看结构体/共同体/联合体 变量[Syntax error, unexpected $end, expecting COLON2] column 1 struct drpoint {
uint16 x; uint16 y; }drpoint[10]; 改成: struct {
uint16 x; uint16 y; }drpoint[10]; 参考:
http://tech.groups.yahoo.com/group/lpc2000/messages/