MSP430单片机的时钟系统
关于(单片机)msp430的时钟资料
msp430f5419/38学习笔记之时钟系统(2011-11-30 10:41:30)分类: msp430标签:msp430f541xmsp430f543xucs时钟系统注:msp5419/38中,如果你使用SMCLK做TIMER_A的时钟,那么进入低功耗3或低功耗4是不会把SMCLK关掉的,这点5系列和其他系列的不一样。
UCS模块是一个低成本超低功耗系统,通过选择使用3个内部时钟信号,用户可以得到性能和功耗的最佳平衡点。
UCS可以由软件配置其工作模式,如配置成:不需要任何外部器件、使用1或 2个外部晶振等。
一、时钟系统UCS模块具有5个时钟源:XT1CLK:低频/高频振荡器,既可以与低频 32768HZ钟振、标准晶振、外部振荡器,又可以与外部4M-32MHZ时钟源一起使用,XT1CLK可以作为FLL模块内部的参考时钟。
有些芯片XT1CLK只允许使用外部的低频晶振,具体可参考数据手册;XT2CLK:可选高频振荡器,可与标准晶振,振荡器或者 4MHZ~32MHZ外部时钟源一起使用;VLOCLK:内部低功耗、低频振荡器,频率典型值为10KHZ;REFOCLK:内部低频振荡器,典型值为 32768HZ,可作为 FLL基准时钟源;DCOCLK:可以通过 FLL来稳定的内部数字控制振荡器(DCO);DCOCLK经过 FLL分频后可得DCOCLKDIV。
UCS模块可以提供3种时钟信号:ACLK:辅时钟;MCLK:系统主时钟;SMCLK:子系统主时钟。
二、UCS操作PUC之后,UCS的默认配置模式如下:XT1CLK 选择LF模式下的XT1作为时钟源,ACLK 选择 XT1CLK 作为时钟源;MCLK 选择DCOCLKDIV作为时钟源;SMCLK 选择DCOCLKDIV作为时钟源;FLL操作使能,FLL基准时钟(FLLREFCLK)选择XT1CLK;XIN 和 XOUT作普通IO 口使用,禁止了 XT1 功能,直到 I/O 口重新配置为 XT1 模式;如果有 XT2IN 和XT2OUT,则一并配置为普通 IO 口,禁止 XT2 功能。
MSP430的时钟设置
MSP430的时钟设置MSP430大部分都有三时钟脉冲可供运行时选择,这三个时钟是,1)辅助时钟ACLK;2)系统主时钟MCLK;3)子系统时钟SMCLK。
这三种时钟脉冲的选择主要靠下面三个控制寄存器来完成,这三个控制寄存器是1)控制寄存器DCOCT其存储单元地址是56h;2) 基本始终控制寄存器1,BCSCTL1,地址57h;3) 基本始终控制寄存器2,BCSCTL2,地址58h。
下面对这三个寄存器的控制的软件状态状态进行介绍。
1)控制寄存器DCOCTLDCO2;DCO1;DCO0这三位共八个状态,控制时钟脉冲的8个频段。
000~111对应0~7;频率由低到高8个频段。
MOD.4~MOD.0这5为共32种状态,定义在32个周期中插入插入其他频率。
DCO2=0x80;DCO1=0x40;DCO0=0x20;MOD4=0x10;MOD3=0x08;MOD2=0x04;MOD1=0x02;MOD0=0x01其中TX2OFF为0,开启TX2振荡器,为1关闭;XTS=0开启低频模式,1开启高频模式;DIVA1和DIVA0控制分频模式0 0 不分频0 1 2分频1 0 4分频1 1 8分频TX5V一般设置为0RSEL2~RSEL0三位决定八个频段的不同频率,这样,RSEL2~RSEL0和DCO2~DCO0共可实现8*8=64个不同的频率。
由于430没有位操作,所以定义了每一位状态对应的名称:TX2OFF=0x80TXS=0x40DIVA1=0x20DIVA0=0x10TX5V=0x08RSEL2=0x04RSEL1=0x02RSEL0=0x01也就是每位所在的位置为1,其余位为0,这样,要对某一位操作,就可通过运算,在不改变其他位的情况下,对某一位进行置1或清0(如何做后面讲)。
SELM.1- SELM.0DIVM.1- DIVM.0SELS时钟源选择DIVS.1-DIVS.0 DCOR0 0 默认DCOCLK0 0默认MCLK=DCOCLK00 默认SMCLK=MCLK选择电阻0 1选择DCOCLK0 1 2分频选择SMCLK01 MCLK 2分频内电阻1 0 选择XT2CLK1 0 4分频默认选择DCOCLK10 MCLK 4分频或外电阻1 1 选择LFXTICLK1 18分频11 MCLK 8分频SELM1=0x80;SELM0=0x40;DIVM1=0x20;DIVM0=0x10;SELS=0x08;DIVS1=0x04;DIVS0=0x02;DCOR=0x01;下面看如何让在保证其他位不变的情况下给某一位清0或置1.例1要给BCSCTL2的bit3清0。
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 计算。
第二讲:430的时钟与定时器
5
南京航空航天大学大学生科技中心
说明: 上图中 INCLK 为外部输入信号。 3.工作模式 3.1 定时/计数工作模式 共四种模式:如下表
图 3.1.1 定时模式可用来执行精确的定时。并且,在定时过程中,CPU 可以用来执行其他 的事情,而使用软件延时,是靠 CPU 空运行实现。 3.1.1 Up 模式
void UCS_init(void)
{ P7SEL |= 0x03; P5SEL |= 0x0C; UCSCTL6 &= ~(XT1OFF + XT2OFF);
// 选择 XT1 = 32.768KHz // 选择 XT2 = 16MHz // XT1 & XT2 开
// Loop until XT1,XT2 & DCO stabilizes
//定时执行部分,计时频率 1ms 一次
{
nowTime = TimeBase;
if(nowTime % 1000 == 0) //定时执行任务 1:每 1ms 执行一次
{
P4OUT ^= BIT7;
}
}
if(!(P2IN & BIT0)) P5OUT |= BIT4; //一直执行的任务
else P5OUT &=~BIT4;
do
{ UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG;
// Clear fault flags
}while (SFRIFG1&OFIFG);
msp430 时钟与休眠模式
第一节时钟与休眠模式3.1.1 时钟系统简介MSP430G2系列单片机的时钟系统需要支持系统低功耗运行的需要。
通过对三个内部时钟信号的运用,用户可很容易的选择功耗最低,效率最高的系统时钟方案。
在软件的控制下,MSP430G2系列单片机运行时可以不接外接晶振,也可接一只外接电阻或者接一到两只外接晶振,也可以外接频率发生器,如图3.1.1所示为G2系列的时钟系统。
图3.1.1 时钟模块组成框图基本时钟模块包括二至四个时钟源:◆LFXT1CLK:外接低频或高频振荡器,如手表晶振,频率发生器,外部时钟源(400kHz 至16MHz).◆XT2CLK:外接高频晶振,范围在400kHz至16MHz◆DCOCLK:内部时钟震荡◆VLOCLK:内部低频低功耗晶振,标准频率是12kHz三种时钟信号可被CPU和外设所使用:◆ACLK:辅助时钟,ACLK可被软件配置成从LFXT1CLK或VLOCLK输入震荡ACLK可以被1,2,4,8分频。
ACLK可以被选用作为外围模块的时钟输入。
◆MCLK:主时钟,主时钟可以从LFXT1CLK或VLOCLK,XT2CLK或DCOCLK输入MCLK用在CPU系统之中。
◆SMCLK:辅助主时钟。
SMCLK可被选择从LFXT1CLK,VLOCLK,XT2CLK或DCOCLK输入。
SMCLK可以被1,2,4,8分频。
SMCLK可被选用为外围模块的时钟。
如图3.1.1所示为G2系列的时钟系统。
需要说明的是并非每一款G2系列的单片机都具有如上的时钟系统,以下做详细说明:MSP430G22x0:无LFXT1,无XT2,不支持ROSCMSP430G21x1,MSP430G2xx2,MSP430G2xx3:LFXT1不支持HF模式,无XT2,不支持ROSC。
MSP430x21x2:无XT23.1.2 时钟系统的操作在一个PUC信号之后,MCLK和SMCLK开始从DCO(大约在1.1MHz),ACLK从LFXT1CLK (内部电容为6pF)获取时钟。
MSP430单片机的时钟周期和机器周期与指令周期之间的关系解析
MSP430单片机的时钟周期和机器周期与指令周期之间的关系解析时钟简介:时钟周期也称为振荡周期:定义为时钟脉冲的倒数(时钟周期就是直接供内部CPU使用的晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。
时钟频率越高,工作速度就越快。
机器周期:在计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。
每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。
8051系列单片机的一个机器周期由6个S周期(状态周期)组成。
一个S周期=2个时钟周期,所以8051单片机的一个机器周期=6个状态周期=12个时钟周期。
指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。
指令不同,所需的机器周期也不同。
MSP430单片机上电后,如果不对时钟系统进行设置,默认800 kHz的DCOCLK为MCLK和SMCLK 的时钟源,LFXTl接32768 Hz晶体,工作在低频模式(XTS=O)作为ACLK的时钟源。
CPU的指令周期由MCLK决定,所以默认的指令周期就是1/800 kHz=“1”.25μs。
要得到lμs的指令周期需要调整DCO频率,即MCLK=1 MHz,只需进行如下设置:BCSCTLl=XT20FF+RSEL2;//关闭XT2振荡器,设定DCO频率为1 MHz。
DCOCTL=DCO2//使得单指令周期为lμsMSP430的时钟周期(振荡周期)、机器周期、指令周期之间的关系在430中,一个时钟周期= MCLK晶振的倒数。
如果MCLK是8M,则一个时钟周期为1/8us;一个机器周期= 一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期= 1~6个机器周期,具体根据具体指令而定。
另:指令长度,只是一个存储单位与时间没有必然关系。
msp430设置基本时钟系统
/* DCOCTL 的位定义 */ #define MOD0 (0x01) /* Modulation Bit 0 */ #define MOD1 (0x02) /* Modulation Bit 1 */ #define MOD2 (0x04) /* Modulation Bit 2 */ #define MOD3 (0x08) /* Modulation Bit 3 */ #define MOD4 (0x10) /* Modulation Bit 4 */ #define DCO0 (0x20) /* DCO Select Bit 0 */ #define DCO1 (0x40) /* DCO Select Bit 1 */ #define DCO2 (0x80) /* DCO Select Bit 2 */ /* BCSCTL1 的位定义 */ #define RSEL0 (0x01) /* Resistor Select Bit 0 */ #define RSEL1 (0x02) /* Resistor Select Bit 1 */ #define RSEL2 (0x04) /* Resistor Select Bit 2 */ #define XT5V (0x08) /* XT5V should always be reset */ #define DIVA0 (0x10) /* ACLK Divider 0 */ #define DIVA1 (0x20) /* ACLK Divider 1 */ #define XTS (0x40) /* LFXTCLK 0:Low Freq. / 1: High Freq. */ #define XT2OFF (0x80) /* Enable XT2CLK */ /* BCSCTL1 的 DIVA 的功能定义 */ #define DIVA_0 (0x00) /* ACLK Divider 0: 0x20) /* MCLK Divider 2: /4 */ #define DIVM_3 (0x30) /* MCLK Divider 3: /8 */ /* BCSCTL1 的 SELM 的功能定义 */ #define SELM_0 (0x00) /* MCLK Source Select 0: DCOCLK */ #define SELM_1 (0x40) /* MCLK Source Select 1: DCOCLK */ #define SELM_2 (0x80) /* MCLK Source Select 2: XT2CLK/LFXTCLK */ #define SELM_3 (0xC0) /* MCLK Source Select 3: LFXTCLK */ #endif ///////////////////////////////////////////////// ///////////////////////////////////////////////// //////////////// #include; #include "BoardConfig.h" #include "SetClock.h" // 时钟设置函数// 系统时钟设定 void BCSInit (void) {
基于MSP430单片机的电子时钟设计说明
基于MSP430单片机的电子时钟设计说明
一、需求分析
本设计的目标是基于MSP430单片机来设计一款电子时钟。
电子时钟
可以用来显示当前的时间,比如时、分、秒;同时还具有闹钟功能,即可
以设置每天一些时刻提醒用户,提醒用户做件事情。
设计时,要注意以下
几个方面:
1、时间流逝的准确性:电子时钟的核心功能是准确显示当前的时间,即时针、分针、秒针在正确地流逝;同时也要考虑时间的准确性,用户可
以设置任意时间,时钟计时要按照设置的时间进行计时。
2、系统稳定性:电子时钟的系统稳定性极其重要,不能因为短暂的
停电等扰动,导致系统失去稳定,时间乱跳。
3、外观设计:在外观设计方面,电子时钟要求具有精美、简约的外观,而且要求清晰显示时间内容,用户可以视觉上感受时间的运行,同时
操作简单,操作界面友好;同时,为了满足用户的要求,要能够设置闹钟,并且有红色指示灯和蜂鸣器来提醒。
二、设计要求
1、MSP430单片机:采用MSP430F169作为主控制器,芯片的16位CPU具有较强的数据处理能力,可以有效调整时间性能,满足电子时钟计
时要求。
2、时间及闹钟设置:采用4×4键盘模块作为时间及闹钟设置。
MSP430F5系列单片机时钟系统
UCS 模块方框图
3.2 UCS 模块的操作
PUC 复位后,UCS 模块的默认配置如下:
XT1 处于 LF(低频)模式且 模式且被选为 XT1CLK 时钟源。 时钟源。XT1CLK 被选作 ACLK
MCLK 选择 DCOCLKDIV
SMCLK 选择 DCOCLKDIV
FLL 操作使能, 操作使能,XT1CLK 作为 FLL 的参考时钟 FLLREFCLK
式下 XIN 可以连接外部时钟信号输入,XOUT 可以被配置成普通 I/O 口,PSEL 中与 XOUT 相关的位不予考虑。 一旦 PSEL 中与 XIN 相关的位被清零, 则 XIN 和 XOUT 引脚将会被 配置为普通 I/O 口,XT1 功能被禁止。 当地 XT1 被用作 ACLK、 MCLK 或 SMCLK(SELA=0、 SELM=0 或 SELS=0) 或 FLLREFCLK(SELREF=0)和 (XT1OFF=1) 从 LMP3 模式进入 AM (活动) 模 式 时 XT1 被 允 许 , 否 则 XT1 被 禁 止 。 当 XT1OFF=1 时 置 位 OSCOFF(LMP4),将禁止 XT1。如果应用中希望不管 OSCOFF 置位与否都 要使能 XT1,则只需清零 XT1OFF 就可以了。从 LMP4 模式进入 AM 模 式将是 XT1 使能。
对UCS模块进行配置。 UCS模块可以在程序执行过程中的任意时刻被软件进行配置或重 新配置。 3.2.1 UCS模块低功耗应用特点 UCS模块低功耗应用特点 冲突的要求典型的存在于电池供电的MSP430x5xx系列单片机的 应用中:
较低的时钟频率可以实现 较低的时钟频率可以实现节省能源并保持计时 实现节省能源并保持计时
MCLK 可以被配置为片上 DCO 或由 FLL 稳定后的随意频率的时钟, 当要求中断驱动事件时将被激活。 灵活的时钟分配和分频系统调整频 率使之满足个别的时钟要求。 MCLK 可以选择 XT1CLK、 VLOCLK、 REFOCLK、 DCO 或 XT2CLK 中的任何一个有效的时钟。 SMCLK 可以根据外围的要求被配置为来源于晶振或片上 DCO。灵 活的时钟分配和分频系统调整频率使之满足个别的时钟要求。SMCLK 可以选择 XT1CLK、VLOCLK、REFOCLK,DCO 或 XT2CLK 中的任何一个有 效的时钟。
第三章 MSP430基本外设1(时钟系统)
MSP430X5XX / 6XX系列时钟系统模块(2/3)
从上图可以看出,MSP430F5XX / 6XX时钟模块有 5 个时 钟输入源: XT1CLK 低频或高频时钟源:可以使用标准晶振,振荡 器或者外部时钟源输入4MHz~32MHz。XT1CLK可以作为 内部FLL模块的参考时钟。 XT2CLK 高频时钟源:可以使用标准晶振,振荡器或者 外部时钟源输入4MHz~32MHz。 VLOCLK 低功耗低频内部时钟源:典型值为10KHZ; REFOCLK 低频修整内部参考时钟源:典型值为 32768Hz,作为FLL基准时钟源; DCOCLK 片内数字控制时钟源:通过FLL模块来稳定。
SMCLK
时钟模块应用举例(MSP430F5XX / 6XX)(2/2)
UCSCTL6 &= ~XT2OFF; // 使能 XT2 UCSCTL6 &= ~(XT1OFF); // 使能 XT1 UCSCTL6 |= XCAP_3; // 配置内接电容值, // 若使输出为32.768KHz,则需要选择XCAP_3 do { UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // 清零XT1、XT2、DCO故障标志位 SFRIFG1 &= ~OFIFG; // 清零SFR中的故障标志位 }while (SFRIFG1&OFIFG); // 检测振荡器故障标志位 UCSCTL6 &= ~XT2DRIVE0; // 根据预期的频率,减小XT2的驱动 UCSCTL4 |= SELA_0 + SELS_5; // 选择 SMCLK和ACLK的时钟源 while(1); // 循环等待 }
基于MSP430单片机的时钟系统设计
数寻址 。它采用精 简指令集 结构 , 有 2 拥 7条 内核指 令 、 量的 大
模 拟 指 令 、 量 的 寄 存 器 以及 片 内 数 据 存 储 器 , 以 用 来 参 加 大 可
多 种 运 算 。另 外 , 有 高 效 率 的查 表 指 令 , 8MH 还 在 z晶体 的 驱 2
系统 硬 件 设 计
s j n h Fx e uei i y
塑
基于 MS 4 0单 片机 的时钟 系统设 计 P3
雷恩 思 .
( 西 省通 用技 术 工程 学 校 , 江 江西 九 江 30 0) 3 36 摘 要: 简要 介 绍 了 MS 4 0单 片机 及 利用 这 种 单 片机 进行 时钟 系统 设 计 的意 义 , 一 步详 细探 讨 了 MS 4 0 片机 时 钟 系统 的设 P3 进 P3单
上 改 变 了 传 统 的 控 制 系 统 设 计 思 想 , 以 前 必 须 由模 拟 电 路 构 如 图 1 示 。 所 和 数字 电路 实现 的大 部 分 功 能 ,现 在 都可 以用 单 片机 通 过 软 件 的 方 法 来 实 现 , 件 代 替 硬 件 逐 渐 成 为 一 种 潮 流 和 趋 软
能 力 , 和 设 计 时 的 防 水 闸 门一 致 , 且 必 须 做 到 密 封 良好 , [] 陈梁. 山井 下防水 门的结构型式 与特点 [ 矿 山机械 ,9 61 要 而 避 3 矿 力. 19 () 免漏 水。 []姚 正 宽 . 4 煤矿 开采 与井 下防 治水 [ . 刀 同煤 科 技 ,96s ) 19 (1 () 水 门一 定 要 装 有 观 测 水 压 的 设 备 , 设 置 放 水 管 和 [ ] 刁志 军 , 恩 强, 国星 . 5防 要 5 张 苏 水体 下 开采 中 防水 墙 的设计 应 用 [] J. 防水 闸门。
MSP430时钟设置及应用总结
MSP430时钟设置及应用总结*******************基于MSP430F1612************************** 在MSP430单片机中,一个时钟周期= MCLK晶振的倒数。
如果MCLK是8MHz,则一个时钟周期为1/8us。
一个机器周期= 一个时钟周期,即430每个动作都能完成一个基本操作。
一个指令周期= 1~6个机器周期,具体根据具体指令而定。
另外,指令长度只是一个存储单位,与时间没有必然的关系。
MSP430单片机的时钟模块主要包括:三个时钟:辅助时钟ACLK 、主时钟MCLK 、子系统时钟SMCLK三个振荡器:低频时钟源LFXT1 、高频时钟源XT2 、数字控制RC振荡器DCO而MSP430单片机工作所需时钟就是由这些振荡器振荡后经处理产生的。
(1)ACLK:是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低速外围的时钟(2)MCLK:是LFXT1CLK,XT2CLK,DCOCLK的三者之一决定,由软件选择,然后经1/2/4/8分频后得到,主要用于CPU和系统(3)SMCLK:可由LFXT1CLK和DCOCLK,或者XT2CLK与DCOCLK决定,然后经1/2/4/8分频后得到,主要用于高速外围模块MSP430的时钟模块由DCOCTL,BCSCTL1,BCSCTL2,IE1,IFG1这五个寄存器来确定,具体的功能如下所示:DCOCTL:控制DCO振荡器BCSCTL1:控制XT2,LFXT1,DCO振荡,并控制ACLK的分频情况BCSCTL2:设置三个时钟源分别选择什么振荡器我们在程序里对寄存器的设置,也就是对三个振荡器进行设置,时钟振荡器设置好了,还要对时钟模块进行设置,也就是让三个时钟模块MCLK SMCLK ACLK选择相应的时钟振荡器以得到不同频率的时钟。
PUC信号后,系统选择内部电阻以实现频率的输出。
RSELx = 4 与DCOx = 3,开始时使DCO有一个适中的频率。
基于MSP430单片机的实时时钟设计
基于MSP430单片机的实时时钟设计基于MSP430单片机的实时时钟设计是一个简单而有趣的项目,可以将当前的时间以数码管的形式显示出来。
本文将介绍如何使用MSP430单片机和数码管来实现实时时钟,包括时钟芯片、显示部分的接线和编程等方面。
首先,我们需要准备的材料和工具有:1. MSP430单片机开发板(例如MSP-EXP430G2 LaunchPad)2.DS1302实时时钟芯片3.4位共阳数码管(例如TM1640)4.杜邦线若干5.面包板6.12MHz晶振7.调试器和编程软件(例如MSP-FET430UIF和MSP430-GCC)接下来,我们开始进行实时时钟的设计。
1.硬件连接:a.将MSP430单片机开发板连接到计算机,并打开编程软件。
b.将DS1302实时时钟芯片插入面包板,并根据其引脚定义连接到MSP430单片机的端口。
c.将4位共阳数码管插入面包板,并根据其引脚定义连接到MSP430单片机的端口。
2.编程设计:a.在编程软件中创建一个新的项目,选择MSP430单片机的适当型号,并设置时钟频率为12MHz。
b.导入DS1302和TM1640的相关库文件,并进行必要的初始化设置。
c.配置MSP430单片机的端口,使其与DS1302和TM1640的引脚连接匹配。
d.编写程序代码,实现实时时钟的功能,包括获取当前时间、将时间转换为数码管的显示格式以及控制数码管进行显示。
3.调试和测试:a.将MSP430单片机从计算机中断开,并将其与电源连接,确保其正常运行。
b.观察数码管是否正确显示当前时间,包括小时、分钟和秒数。
c.如果有错误或不完善的地方,重新调试和修改程序代码,直到实时时钟正常工作。
通过上述步骤,我们可以成功地设计一个基于MSP430单片机的实时时钟(数码管显示)。
这个项目可以作为学习和实践嵌入式系统和单片机编程的绝佳机会,同时也可以作为一个有用和有趣的作品展示给别人。
这个设计还可以进一步扩展和改进,例如添加日期显示功能、设置闹钟功能等。
基于MSP430单片机的电子时钟设计
基于MSP430单片机的电子时钟设计电子时钟是一种使用数字显示时钟时间的设备,它通常基于单片机这样的微控制器。
本文将介绍基于MSP430单片机的电子时钟设计。
首先,我们需要确定设计的目标和功能。
电子时钟主要有如下的功能:1.显示时间:时、分、秒2.显示日期:年、月、日3.设置时间和日期4.声控灯光:根据环境光线亮度调节屏幕亮度5.闹钟功能:设定闹钟时间并响铃提醒6.温度显示:显示当前室内温度接下来,我们将逐步设计和实现这些功能。
1.选择硬件平台MSP430是一款基于16位RISC架构的低功耗单片机,它被广泛应用于嵌入式系统的开发。
我们选择MSP430单片机作为我们的硬件平台。
具体型号可以根据自己的需求进行选择。
2.硬件设计电子时钟设计中的硬件包括MSP430单片机、显示模块、温度传感器、声音传感器、时钟电路等。
通过合适的接口将这些模块连接起来。
3.软件设计电子时钟的软件设计包括两个部分:主控程序和外围设备的驱动程序。
我们将使用C语言进行编程。
主控程序主要包括以下几个功能模块:-时钟模块:通过MSP430单片机的定时器模块实现时钟的计时和显示。
-温度模块:通过温度传感器获取当前室内温度,并将其显示在屏幕上。
-日期和时间模块:通过设置模块实现对日期和时间的设置和显示功能。
-声控灯光模块:通过声音传感器检测环境光线亮度,并自动调节屏幕亮度。
-闹钟模块:设置闹钟时间并在指定的时间响铃提醒。
外围设备的驱动程序主要是对显示模块、温度传感器和声音传感器的驱动和接口设计。
4.软硬件调试和测试5.系统封装和优化完成软硬件调试测试后,我们可以将所有的电子设备安装在一起,并进行系统封装。
在封装过程中,我们需要确保电子设备的连接稳定和正确,并保持良好的通风和散热。
在封装完成后,我们还可以对系统进行一些优化,例如增加使用者友好的界面、优化显示效果等。
综上所述,基于MSP430单片机的电子时钟设计涉及硬件和软件两个方面。
通过合理的硬件连接和编写高效的控制程序,我们可以实现时钟的显示、日期和时间的设置、闹钟功能、温度显示等功能。
MSP430时钟设置及应用总结
// 7 6 5 4 3 2 1 0
// XT2OFF XTS DIVA1 DIVA0 XT5V RSEL2 RSEL1 RSEL0
//
// RSEL2~RSEL0:选择某个内部电阻以决定标称频率(0最低,7最高)
// XT5V:1,该比特未用,必须选择复位
//DIVA0~DIVA1:选择ACLK的分频系数。
一个指令周期= 1~6个机器周期,具体根据具体指令而定。
另外,指令长度只是一个存储单位,与时间没有必然的关系。
MSP430单片机的时钟模块主要包括:
三个时钟:辅助时钟ACLK、主时钟MCLK、子系统时钟SMCLK
三个振荡器:低频时钟源LFXT1、高频时钟源XT2、数字控制RC振荡
器DCO
而MSP430单片机工作所需时钟就是由这些振荡器振荡后经处理产生的。
(1)ACLK:是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低速外围
(1)DCOCTL:DCO控制寄存器,地址为56H,初始值为60H
// 7 6 5 4 3 2 1 0
// DCO2 DCO1 DCO0 MOD4 MOD3 MOD2 MOD1 MOD0
//
//DCO0~DCO2:DCOSelectBit,定义了8种频率之一,而频率由注入直流发
通过DCOCTL寄存器中DCOx在标称频率基础上分段粗调,选择频率;
通过DCOCTL寄存器中MODx的值对频率进行细调,选择DCOx与
DCOx+1之间的频率
//注意:DCO工作在最高频率时,内部电阻正常值大约为200k,此时
DCO的工作频率大约为5MHz。
例子:
//DCOCTL初始值为60H,即DCOCTL |= DCO1 + DCO2;
MSP430 时钟
MSP430单片机的时钟结构是其一大特点,像配置IO口一样,对MSP430单片机的时钟配置同样由很多的寄存器来完成。
我们引入官方的一张图片来描述MSP430单片机的时钟结构:让Cloud为大家解释一下这张图,MCLK是MSP430单片机的主系统时钟,用作CPU的时钟源,它由两个入口可选择,一个是来自上面的选择器,还有一个来自下面的DCO。
DCO翻译过来就是数字控制的RC振荡器,也就是一个可以通过编程来调节其震荡频率的RC振荡器,范围是0-16MHz。
MCLK上面是ACLK,用于外围慢速设备的时钟,MCLK下面是SMCLK,也叫子系统时钟,用于外围快速设备的时钟。
图片中蓝色的文字向我们说明了当MSP430上电后主系统时钟和子系统时钟都是由这个DCO来提供的,默认为1.1MHz (可以通过进一步修改来改变频率)。
而ACLK默认由外部的晶振来提供(LFXT1其实就是我们电路板上可焊接的32.768KHz的晶振,至于为什么是32768大家可以百度,这里并不关心)。
上面还有一个叫做VLO的超低功耗/低频振荡器,用户也可以通过设置来使用它。
一、和以往一样,我们先了解一下MSP430的时钟相关寄存器:1、DCOCTL:DCO控制寄存器这个寄存器用来定义DCO的频率;2、BCSCTL1:基本时钟系统控制寄存器1这个寄存器可以控制XT2的开启关闭,LFXT1的工作模式,ACLK的分频系数,还有DCO振荡器的内部电阻阻值(可以用以调节频率);3、BCSCTL2:基本时钟系统控制寄存器2这个寄存器用来定义MCLK、SMCLK的时钟来源和分频系数,另外还可以定义DCO 的电阻来自内部还是外部;4、BCSCTL3:基本时钟系统控制寄存器3这个寄存器用来定义LFXT1和XT2的工作模式还有外部晶振的负载电容以及LFXT1和XT2振荡器的错误标志(注意:由于G系列单片机没有XT2所以大家不必关心XT2)。
另外还有两个是中断寄存器,但是也和时钟配置相关,在这里我们也拿出几位来学习,在下面的详细说明中就不再加入这两个寄存器的说明了:5、IE1:中断使能寄存器1这个寄存器中第1位OFIE(晶振故障中断使能寄存器)用来允许或禁止晶体故障中断0-禁止中断1-使能中断6、IFG1:中断标志寄存器1这个寄存器中第1位OFIFG(晶振故障中断标志寄存器)用来指示是否有晶振故障的中断产生0-没有发生中断1-有中断事件发生二、下面详细说明每个寄存器的相关配置:1、DCOCTL寄存器配置:DCOCTL DCO控制寄存器76543210 DCO.2DCO.1DCO.0MOD.4MOD.3MOD.2MOD.1MOD.0·7~5-DCO:用来定义DCO的8中不同频率,相邻两种频率相差10%·4~0-MOD:定义在32个DCO周期中插入的Fdco+1周期个数,而在下的DCO周期中为Fdco周期,控制改换DCO和DCO+1选择的两种频率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fDCOCLK=D×(N+1) ×fFLLREFCLK/n 其中,D由3位FLLD控制位确定,取值为1,2,4,8,16,32;
N由10位FLLN控制位确定,取值范围为1~1023;
n由3位FLLREFDIV控制位确定,取值为1,2,4,8,12,16。
DCO模块操作(1/4)
DCOCLK频率调整过程:
➢稳定的频率。以满足定时应用,如实时时钟RTC;
➢低Q值振荡器。用于保证开始及停止操作最小时间延迟。
MSP430X5XX / 6XX系列时钟系统模块(1/3)
夜 空 中 最 亮的 星,在 广播声 中响起 ,我正 独自漫 步在小 道上, 回忆着 最美的 星 空 。 那 一 年翻惊 摇落, 破釜沉 舟,用 尽了所 有力气 。我改 变了自 己,我 收获了 最 美 好 的 经 历。我 在星空 的见证 下,翻 开这段 岁月, 酸甜苦 辣,待 君品尝 。生活
➢XT2CLK 高频时钟源:可以使用标准晶振,振荡器或者 外部时钟源输入4MHz~32MHz。
➢VLOCLK 低功耗低频内部时钟源:典型值为10KHZ;
➢REFOCLK 低频修整内部参考时钟源:典型值为 32768Hz,作为FLL基准时钟源;
➢DCOCLK 片内数字控制时钟源:通过FLL模块来稳定。
时钟系统模块设计要求(1/1)
单片机各部件能有条不紊自动工作,实际上是在其系统时 钟作用下,控制器指挥芯片内各个部件自动协调工作,使内部 逻辑硬件产生各种操作所需的脉冲信号而实现的。
为适应系统和具体应用需求,单片机的系统时钟必须满足 以下不同要求:
➢高频率。用于对系统硬件需求和外部事件快速反应;
➢低频率。用于降低电流消耗;
➢UCS模块还有一个内部的振荡器(MODOSC)。它主要 给FLASH模块控制器或其他任意需要的模块提供时钟。
➢MODOSC产生时钟信号MODCLK。
例:ADC12_A可以选择使用MODOSC作为转换时钟 源,用户选择ADC12OSC作为转换时钟源时,ADC12OSC 就来自MODOSC。
故障安全逻辑操作(1/2)
三、低功耗低频内部振荡器(VLO)
➢低频低功耗内部振荡器 (VLO)能够提供典型10kHz的振 荡频率(具体参数见数据手册),而不需要外接任何晶振。
➢VLO可以对时钟精确要求不高的的应用提供低成本和超 低功耗的时钟源。
五个时钟输入源振荡器模块(6/8)
四、低频修整内部参考振荡器(REFO)
➢REFO可以产生一个比较稳定的频率,其典型值为 32768Hz,它可以用作FLLREFCLK。
➢系统频率和系统的工作电压密切相关,某些应用需要较 高的工作电压,所以也需要系统提供相应较高的频率。系 统频率和系统工作电压之间的关系下图所示:
五个时钟输入源振荡器模块(4/8)
频率 (MHz)
在阴影中的数字表示所支持PMMCOREVx配置。
频率和工作电压的关系
电压(V)
五个时钟输入源振荡器模块(5/8)
➢FLL通过在两个最相近的邻居频率之间进行切换,产生两 个频率的加权频率,最终获得我们所需的频率。(如下图所 示)
DCO模块操作(4/4)
外设模块请求时钟系统(1/2)
➢外设模块可以控制3个时钟请求信号中的一个来获得时钟 ACLK_REQ、MCLK_REQ、SMCLK_REQ。
➢不管在任何模式下,外设模块的正常操作都可以从标准 时钟系统(UCS)请求时钟信号。
无须用户干预。当调制位计数器从31减到0时,DCOx的值自动增加。当调制位计数器从0增加到31时 ,DCOx的值自动减少。
时钟系统
2.时钟模块控制寄存器1(UCSCTL1) DCORSEL:第4~6位,DCO频率范围选择。 DISMOD: 第0位,调制器禁止使能控制位。
0:使能调制器; 1:禁止调制器。
➢在一些设备中当XT1选择高频(HF)模式时(XTS=1) 也支持高频晶振或者振荡器。高频晶振或谐振器连接到 XIN和XOUT引脚,需要在两个端口配置电容。
五个时钟输入源振荡器模块(3/8)
二、XT2 振荡器
➢一般称之为第二振荡器XT2,它产生时钟信号XT2CLK, 它的工作特性与XTl振荡器工作在高频模式时类似。
➢设置DCORSELx这3位可以从8个DCO额定频率中选择一 个频率。
➢5位的DCO用来在DCORSEL的32个频率级别中选择,相 邻两个的频率相差约8%。
➢5位的MOD用于控制在DCO中的32个频率中选择切换两 种频率。如果DCO=31,表示DCO已经选择最高频率,此 时不能利用MOD进行频率调整。(如下图所示)
时钟系统
3.时钟模块控制寄存器2(UCSCTL2) FLLD:第12~14位,FLL预分频器。这些位设置DCOCLK的分频系数D,即DCOCLK经过D次
分频后得到DCOCLKDIV时钟。 000:fDCOCLK/1; 001: fDCOCLK/2; 010:fDCOCLK/4; 011:fDCOCLK/8; 100:fDCOCLK/16; 101:fDCOCLK/32; 110:保留为以后使用,默认值fDCOCLK/32; 111:保留为以后使用,默认值fDCOCLK/32。 FLLN:第0~9位,倍频系数。设置倍频值N,N必须大于0,如果FLLN=0,则N被自动设置为1。
(N+1)分频后输入频率积分器的“-”输入端,频率积分器的运算结果又输出给数控振荡器,
改变数控振荡器的输出频率DCOCLK,构成反馈环。经过反馈调整,最终的结果使频率
积分器的“+”输入端的频率与“-”输入端的频率相同,即 f f DCOCLK FLLREFCLK
所以,数控振荡器的最终输出频率为
D(N1) n
本节内容
• 时钟系统模块设计要求 • MSP430X5XX / 6XX系列时钟系统模块 • 五个时钟输入源振荡器模块 • DCO模块操作 • 外设模块请求时钟系统(低功耗运行模式下) • 模块振荡器(MODOSC) • 故障安全逻辑操作 • 时钟模块应用举例(MSP430F5XX / 6XX) • 时钟模块库函数
MSP430X5XX / 6XX系列时钟系统模块(3/3)
基础时钟模块可提供3种时钟信号:
➢ACLK 辅助时钟:ACLK可由软件选择来自XT1CLK、REFOCLK、
VLOCLK、DCOCLK、DCOCLKDIV、XT2CLK(由具体器件决定)这几 个时钟源之一。然后经1、2、4、8、16、32分频得到。ACLK可由软件选 作各个外设模块的时钟信号,一般用于低速外设模块。
➢低频修整内部参考振荡器(REFOห้องสมุดไป่ตู้可以在没有外部晶 振,对成本又比较敏感的场合得到很好的应用。
五、片内数字控制振荡器(DCO)
➢DCO振荡器是一个可数字控制的RC振荡器,它的频率随 供电电压、环境温度变化而具有一定的不稳定性。
➢DCO频率可以通过选择FLL的频率(FLLRENCLK/n)来 增强振荡频率的稳定性。
➢时钟系统模块包含有晶振故障保护的功能。这个功能可以 检测XT1、XT2、DCO的振荡器故障。
➢当晶体振荡器启用后,没有正常工作时,则相应的故障位 XT1LFOFFG、XT1HFOFFG、XT2OFFG将被置位。
➢如下图所示,可检测的故障有:
XT1的LF模式下低频晶振故障(XT1LFOFFG) XT1的HF模式下高频晶振故障(XT1HFOFFG) XT2高频晶振故障(XT2OFFG) DCO故障标志(DCOFFG)
五个时钟输入源振荡器模块,包括: ➢XT1 振荡器 ➢XT2 振荡器 ➢低功耗低频内部振荡器(VLO) ➢低频修整内部参考振荡器(REFO) ➢片内数字控制振荡器(DCO)
五个时钟输入源振荡器模块(2/8)
一、XT1 振荡器
➢XT1工作在低频(LF)模式时(XTS=0),提供支持 32768HZ时钟的超低功耗模式。晶振只需经过XIN和 XOUT两个引脚连接,不需要其他外部器件,所有保证工 作稳定的元件和移相电容都集成在芯片中。
仍 在 不 紧 不 慢地进 行着, 我带着 那段岁 月昂首 阔步地 行进着 。 “ 叮 铃 铃 ”上 课的铃 声响起 ,我怀 着各种 复杂、 纠结的 情绪端 坐在教 室里, 亦 如 我 端 坐 在此后 的联考 考场里 。这是 第一天 ,高三 的第一 天。此 后还有 很多个 “ 第 一 天 ” ,却远 远不如 这个“ 第一天 ”那般 刻骨铭 心。在 这天, 我做出 了一个 令 人 咋 舌 的 决定。 没错, 我打算 去学画 画,然 后考上 好的大 学。同 学里有 祝福我 的 , 其 中 也 不乏幸 灾乐祸 的。我 已无暇 顾及那 些眼神 ,只希 望尽快 的开始 新的生 活 。 高 一 高 二浑浑 噩噩的 生活已 经把我 打压得 不成样 子,高 三,我 要孤注 一掷,
五个时钟输入源振荡器模块(8/8)
锁频环是一种非常巧妙的电路,它的核心部件是数控振荡器和一个频率积分器。数
控振荡器能够产生DCOCLK时钟,频率计数器实际上是一个加减计数器,“+”输入端上
的每个脉冲将使计数值加1,“-”输入端上的每个脉冲将使计数值减1。FLLREFCLK经过
1/2/4/8/12/16分频后输入频率积分器的“+”输入端(分频系数为n),DCOCLKDIV经过
重新站起来。 于 是 , 就 这样 开始了 我的逆 袭之路 。我独 自拖着 沉重的 行李去 培训学 校报道 , 大 包 小 包 的拿着 ,走去 办公室 的路上 被许多 眼神奇 怪的看 着,整 个路程 充满艰 辛 充 满 折 磨 。走了 有一会 儿,突 然出现 了一个 穿着志 愿服的 ,齐刘 海高马 尾,笑 容 温 暖 干 净 ,犹如 初升的 旭日, 看似同 龄的女 生走过 来,有 礼貌的 问道: “同学
故障安全逻辑操作(2/2)
晶振故障逻辑
时钟模块控制寄存器
UCS时钟模块控制寄存器列表如表所示。