MSP430G2553学习笔记04-时钟系统

合集下载

MSP430G2553手记[寄存器详解]

MSP430G2553手记[寄存器详解]

ADC10CTL0; ADC10 Control Register 0SREF_x :基准电压ADC10SHT_x :采样时间(4,8,16,64)ADC10SR :设置采样频率REFOUT :参考输出REFBUST :0:连续参考信号1:采样和转换时候有参考MSC :多次采样REF2_5V :1_5或者2_5REFON :参考电压设置ADC10ON :开ADADC10IE :开中断ADC10IFG :中断标志ENC :转换使能ADC10SC :开始转换ADC10CTL1; ADC10 Control Register 1INCH_x :通道选择SHS_x :ADC10DF :0:二进制数据1:补码数据ISSH :1:翻转信号ADC10DIV_x :分频1-8ADC10SSEL_x :时钟选择ADC10OSC:ACLK:MCLK:SMCLKCONSEQ_x :转换模式ADC10BUSY :忙检测ADC10AE0, Analog (Input) Enable Control Register 0模拟启用0ADC10AE0_x :X模拟输入引脚使能ADC10MEM, Conversion-Memory Register, Binary Format内存ADC10DTC0, Data Transfer Control Register 0(8) ADC 数据传.控制寄存器1ADC10TB :0:一个传输模块1:两个传输模块(bit3)ADC10CT :0:有数据采集是停止1:数据传输继续,除非ADC10CT清除或者ADC10SA在写ADC10B1 :0:模块2失败1:模块1失败ADC10FETCH :为1ADC10DTC1, Data Transfer Control Register 1(8) ADC 数据传.控制寄存器1定义采样次数:00H-FFH 次,最高16次;ADC10SA, Start Address Register for Data TransferTACTL, Timer_A Control Register (bit15---bit10 unused)TASSEL_x : bit9--bit8 时钟源选择:TACLK ,ACLK,SMCLK,INCLKID_x :bit7--bit6 设置分频1/2/4/8MC_x :bit5--bit4 设置工作模式stop,up,continuous,up/downTACLR :bit2 置位计数器TAR清零TAIE :bit1 定时器A1中断使能TAIFG :bit0 定时器中断标志TAR, Timer_A Register计数器TARTACCRx, Timer_A Capture/Compare Register x比较/捕获模式寄存器。

MSP430系统时钟与低功耗讲义

MSP430系统时钟与低功耗讲义
MSP430系统时钟与低功耗
低频振荡器VLO
内部集成了一个低频振荡器VLO,值是12kHz,频率受温度和 供电电压影响(范围4kHz~20kHz)。 一般用于对频率精度要求不高的场合。
MSP430系统时钟与低功耗
MSP430G2553引脚图
MSP430系统时钟与低功耗
举例
例1:将MSP430G2553的时钟设置为MCLK和SMCLK,且均为8MHz ,ACLK设为32.768kHz。(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ;
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗定时器
GPIO_Init();
//初始化GPIO
_enable_interrupts();
//等同_EINT,使能总中断
while(1)
{
__delay_cycles(1000000); //与CPU时钟相关的长延时
例4:将MSP430G2553的时钟设置:MCLK为4MHZ,SMCLK为2MHZ, ACLK设为32.768kHz.(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ; BCSCTL2|=DIVM_1+DIVS_2;
MSP430系统时钟与低功耗
MSP430系统时钟与低功耗
P1OUT ^= BIT0;
//LED亮灭状态改变
P1OUT ^= BIT6;
//LED亮灭状态改变
}
}
MSP430系统时钟与低功耗
void GPIO_Init()

电设工作小结之 MSP430G2553学习笔记―2

电设工作小结之   MSP430G2553学习笔记―2

电设工作小结之 MSP430G2553学习笔记―2电设工作小结之-msp430g2553学习笔记―2电设工作小结之――msp430g2553学习笔记――2接通一篇:(四),adc101,adc10就是十位的ad,在g2553上加a0~a7八个可以外接的ad地下通道,a10收到片上的温度传感器上,其他的地下通道都直奔在内部的vcc或gnd上。

因为就是10为的ad所以计算公式如下:2,adc参考电压的选择:adc的参考电压可以为:由adc掌控寄存器0adc10ctl0掌控。

但是必须提升adc的精度的话,尽量不要用内部的参照电压,最出色外接一个比较稳定的电压做为参照电压,因为内部的产生的参照电压不是特别平衡或精度不是特别的高。

比如我在采用时碰到的情况如下:vref设为2.5v但实际的值大概为2.475v,选择vccvss作为参考,用电压表测得大概为3.58v还是不小的偏差的。

另外,在有可能的情况下,尽量使用很大的vr+和vr-,以增大纹波对取样结果的影响。

3,adc10的取样方式存有:单通道单次取样,单通道多次取样,多通道单次取样,多通道多次取样。

4,dtc:因为adc10只有一个采样结果存储寄存器adc10mem,所以除了在单通道单次采样的模式下,其他的三个模式都必须使用dct,否则转换结果会不停地被新的结果给覆盖。

dtc是转换结果传送控制,也就是转换结果可以不用cpu的干预,就可以自动地存储在指定的存储空间内。

使用这种方式转换速度快,访问方便,适用于高速采样模式中。

dtc的使用可以从下面的例子中很容易看明白:#include#include\uchars1[]={\uchars2[]={\voidadc_init(){adc10ctl1=conseq_3+inch_1;//2通道多次转换,最大转换通道为a1adc10ctl0=adc10sht_2+msc+adc10on+adc10ie;//adc10on,interruptenabl参照电压选默认值vcc和vss//采样保持时间为16xadc10clks,adc内核开,中断使能msc多次转换选择开//如果msc置位,则第一次开始转换时需要触发源触发一次,以后的转换会自动进行中断使能//采用dtc时,当一个块传输完结,产生中断//数据传送控制寄存器0adc10dtc0设置为默认模式:单传送块模式,单块传送完停止adc10dtc1=0x04;//数据传送控制寄存器14conversions定义在每块的传送数目一共采样4次所以单块传送4次//以后就暂停了传输因为就是两地下通道的,所以就是每个地下通道取样数据传输2次adc10ae0|=bit0+bit1;//p1.0p1.1adcoptionselect使能模拟输入脚a0a1//不晓得为什么,当p10p11都悬空时,取样值相同,用电压表测得悬空电压相同,但是当都接通取样源的时候,//取样就是相同的}voidmain(void){uintadc_sample[8]={0};//存储adc序列取样结果wdtctl=wdtpw+wdthold;bcsctl1=calbc1_12mhz;//设定cpu时钟dco频率为12mhzdcoctl=caldco_12mhz;p2dir|=bit3+bit4;//液晶的两条线init_lcd();adc_init();wr_string(0,0,s1);wr_string(0,3,s2);for(;;){adc10ctl0&=~enc;//adc不使能够其实这句话可以放到紧接着cpu唤起之后的,因为cpu唤起了,表明我们想的//转换数据传送完成了,如果adc继续转换,那么转换结果也不再传输,是无用的。

G2553时钟设置

G2553时钟设置

时钟操作模式时钟源:1、ACLK:系统辅助时钟,来自 LFXT1CLK 为32768HZ。

2、MCLK:系统主时钟,有以下5种选择:1、32768HZ,来自ACLK。

2、1MHZ: BCSCTL1 = CALBC1_1MHZ;DCOCTL = CALDCO_1MHZ;3、8MHZ: BCSCTL1 = CALBC1_8MHZ;DCOCTL = CALDCO_8MHZ;4、12MHZ: BCSCTL1 = CALBC1_12MHZ;DCOCTL = CALDCO_12MHZ;5、16MHZ: BCSCTL1 = CALBC1_16MHZ;DCOCTL = CALDCO_16MHZ;3、SMCLK:子系统时钟,一般为16MHZ。

MSP430具有一种运行模式及5种可利用软件来选择的低功耗操作模式。

一个中断事件能够将器件从任一低功耗模式唤醒、处理请求、并在接收到来自中断程序的返回信号时恢复至低功耗模式。

以下6种操作模式可利用软件来配置:•激活模式(AM)–所有时钟处于激活状态•低功耗模式0 (LPM0)–CPU被禁用–ACLK和SMCLK仍然有效,MCLK被禁用•低功耗模式1 (LPM1)–CPU被禁用–ACLK和SMCLK仍然有效,MCLK被禁用–如果DCO不是在激活模式下被使用,则DCO的dc生成器被禁用•低功耗模式2 (LPM2)–CPU被禁用–MCLK和SMCLK被禁用–DCO的dc生成器保持启用–ACLK保持激活•低功耗模式3 (LPM3)–CPU被禁用–MCLK和SMCLK被禁用–DCO的dc生成器保持启用–ACLK保持激活•低功耗模式 4(LPM4)–CPU被禁用–ACLK被禁用–MCLK和SMCLK被禁用–DCO的dc生成器保持启用–晶体振荡器被停止时钟结构图CPU。

MSP430系统实时时钟RTC学习日志

MSP430系统实时时钟RTC学习日志

MSP430系统实时时钟RTC学习日志读取实时时钟:1、RTCRDY 为0 时,不能取读取实时时钟RT0PS 源于ACLK,为了实时时钟日历的正确的运行,ACLK 必须是32768Hz。

(易出错)定时:一、每小时闹一次:每一小时的15 分钟闹一次:1、将RTCAMIN 设置成15;2、设置RTCAMIN 的AE 位和清除闹钟寄存器的其它所有AE 位3、AF 会在:00:14:59 到00:15:00、01:14:59 到01:15:00、02:14:59 到02:15:00 等等时刻被置位。

二、在每天04:00:00 时刻闹:1、RTCAHOUR 位置位成4;2、设置RTCHOUR 的AE 位和复位闹钟寄存器的所有其它AE 位3、AF 就会在03:59:59 到04:00:00 时刻被置位。

三、在每天06:30:00 时刻闹:1、将RTCAHOUR 设置成6,将RTCAMIN 设置成30。

2、设置RTCAHOUR 和RTCAMIN 的AE 位,即可使能闹钟3、AF 位将会在每一个06:29:59 到06:30:00 的过渡时刻被置位四、在每周二06:30:00 时刻闹:1、RTCADOW 位设置成2,RTCAHOUR 设置成6,RTCAMIN 将要被设置成30。

2、设置RTCADOW、RTCAHOUR 和RTCAMIN 的AE 位,闹钟即被使能。

3、AF 位将会在RTCDOW 位从1 到2 的过渡后和06:29:59 到06:30:00 的过渡时刻被置位。

五、在每月第五天的06:30:00 时刻闹:1、RTCADAY 位将要设置成5,RTCAHOUR 位将要被设置成6,RTCAMIN 位将要被设置成30。

2、设置RTCADAY 位、RTCAHOUR 位和RTCAMIN 位的AE 位,闹钟即被使能。

3、AF 位将要在06:29:59 到06:30:00 的过渡时刻和RTCADAY 等于5 的时刻被置位。

MSP430时钟系统详解

MSP430时钟系统详解

2
while(1) { P1OUT = 0x40; _delay_cycles(100); P1OUT = 0; _delay_cycles(5000); } }
// 开启 LED // 关闭 LED
2、CPU 运行在晶振(32768Hz)时钟下: 时钟下: 晶体频率为 32768 赫兹,约 3 倍的 VLO。如果我们在前面的代码中使用晶振,指示灯应闪 烁大约每秒一次。 你知道为什么 32768 赫兹是一个标准?这是因为这个数字是 2 的 15 次方, 因此很容易用简单的数字计数电路,以每秒一次获得率 ——手表和其他时间时基。认识到 ACLK 来自外部晶振时钟。 #include <msp430g2231.h> void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗定时器 P1DIR = 0x41; // P1.0 和 P1.6 配置输出 P1OUT = 0x01; // 开启 P1.0 BCSCTL3 |= LFXT1S_0; // LFXT1 = 32768Hz 晶振 while(IFG1 & OFIFG) { IFG1 &= ~OFIFG; // 清除 OSCFault 标志 _delay_cycles(100000); // 为可见的标志延时 } P1OUT = 0; // 关闭 P1 __bis_SR_register(SCG1 + SCG0); // 关闭 DCO BCSCTL2 |= SELM_3 + DIVM_3; // MCLK = 32768/8 while(1) { P1OUT = 0x40; // 开启 LED _delay_cycles(100); P1OUT = 0; / / 关闭 LED _delay_cycles(5000); } } 3、CPU 运行在晶振(32768Hz)和 DCO 时钟下: 时钟下: 最慢的频率,我们可以运行 DCO 约在 1MHz(这也是默认速度) 。因此,我们将开始切换 MCLK 到 DCO 下。在大多数系统中,你会希望 ACLK 上运行的 VLO 或 32768 赫兹晶振。 由于 ACLK 在我们目前的代码是在晶体上运行,我们会打开 DCO 计算。

MSP430G2553学习笔记(数据手册)

MSP430G2553学习笔记(数据手册)

MSP430G2553学习笔记(数据手册)MSP430G2553性能参数(DIP—20) 工作电压范围:1.8~3。

6V。

5种低功耗模式。

16位的RISC结构,62。

5ns指令周期.超低功耗:运行模式—230µA;待机模式—0.5µA;关闭模式—0.1µA;可以在不到1µs的时间里超快速地从待机模式唤醒.基本时钟模块配置:具有四种校准频率并高达16MHz的内部频率;内部超低功耗LF振荡器;32。

768KHz晶体;外部数字时钟源。

两个16 位Timer_A,分别具有三个捕获/比较寄存器。

用于模拟信号比较功能或者斜率模数(A/D)转换的片载比较器。

带内部基准、采样与保持以及自动扫描功能的10位200—ksps 模数(A/D)转换器。

16KB闪存,512B的RAM。

16个I/O口。

注意:MSP430G2553无P3口!MSP430G2553的时钟基本时钟系统的寄存器DCOCTL—DCO控制寄存器DCOxDCO频率选择控制1MODxDCO频率校正选择,通常令MODx=0注意:在MSP430G2553上电复位后,默认RSEL=7,DCO=3,通过数据手册查得DCO频率大概在0.8~1。

5MHz之间。

BCSCTL1—基本时钟控制寄存器1XT2OFF不用管,因为MSP430G2553内部没有XT2提供的HF时钟XTS不用管,默认复位后的0值即可DIV Ax设置ACLK的分频数00 /101 /210 /411 /8RSELxDCO频率选择控制2BCSCTL2-基本时钟控制寄存器2SELMxMCLK的选择控制位00 DCOCLK01 DCOCLK10 LFXT1CLK或者VLOCLK11 LFXT1CLK或者VLOCLK DIVMx设置MCLK的分频数00 /101 /210 /411 /8SELSSMCLK的选择控制位0 DCOCLK1 LFXT1CLK或者VLOCLK DIVSx设置SMCLK的分频数00 /101 /210 /411 /8DCORDCO直流发生电阻选择,此位一般设00 内部电阻1 外部电阻BCSCTL3—基本时钟控制寄存器3XT2Sx不用管LFXT1Sx00 LFXT1选为32。

基本时钟模块_MSP430G2553

基本时钟模块_MSP430G2553

基本时钟模块_MSP430G2553G2xxx系列DCO校准数据(校正寄存器)1MHz:CALBC1_1MHZCALDCO_1MHZ8MHz:CALBC1_8MHZCALDCO_8MHZ12MHz:CALBC1_12MHZCALDCO_12MHZ16MHz:CALBC1_16MHZCALDCO_16MHZ例:设置DCO频率为1MHzif(CALBC1_1MHZ==0xFF || CALDCO_1MHZ==0xFF)while(1);//校准数据是否被擦除,若是则CPU挂起。

BCSCTL1 = CALBC1_1MHZ;DCOCTL = CALDCO_1MHZ;基本时钟模块寄存器寄存器缩写形式类型初始状态DCO控制寄存器DCOCTL 读/写0x60(PUC)基本时钟系统控制器1 BCSCTL1 读/写0x87(POR)基本时钟系统控制器2 BCSCTL2 读/写由PUC复位基本时钟系统控制器3 BCSCTL3 读/写0x05(PUC)中断使能寄存器(特殊功能寄存器)IE1 读/写由PUC复位中断标致寄存器(特殊功能寄存器)IFG1 读/写由PUC复位说明:DCO的频率可以通过软件设定DCOx、MODx、RSELx相应位来调整,DCO频率是通过将f DCO和f DCO+1混频得到。

1、DCOCTL:DCO控制寄存器7 6 5 4 3 2 1 0DCOx MODxrw-0 rw-1 rw-1 rw-0 rw-0 rw-0 rw-0 rw-0 DCOx:DCO频率范围选择位,这些位可以用来在由RESLx设置决定的8个离散的频率范围中选择哪一个。

MODx:调制系数选择位,这些位用来决定在32个DCO时钟周期中f DCO+1占多少个,f DCO 占多少个。

注意:当MODx=0时调制器关闭,DCOx=7时,由于此时没有下一个更高的频率范围f DCO+1可用,因此MODx无效不可用。

2、BCSCTL1:基本时钟系统控制寄存器17 6 5 4 3 2 1 0 XT2OFF XTS(1)(2)DIVAx RSELxrw-(1) rw-(0) rw-(0) rw-(0) rw-0 rw-1 rw-1 rw-1 XT2OFF:第二晶振XT2(可选高频晶振)关闭控制位。

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