单片机
返回首页

一、时钟【MSP430学习笔记】

2022-09-27 来源:csdn

1、复位系统

1.1 上电复位

 *复位后单片机的初始状态:*


RST引脚被设置为复位模式

所有的I/O口引脚被设置为输入

外围模块被初始化

状态寄存器SR复位

看门狗激活,进入工作模式

程序计数器PC装入0XFFFEH处的地址,从此地址开始执行程序

1.2 上电清除

 *产生情况:*


POR产生时

启动看门狗时,看门狗定时器计满

看门狗写入错误安全参数值

片内Flash写入错误的安全参数

2、时钟系统

2.1时钟知识图谱

在这里插入图片描述

2.2时钟系统结构原理图

在这里插入图片描述

2.3 时钟信号描述

通过这些基本的时钟模块,我们可以得到 3 个有用的时钟信号:

[1] ACLK 辅助时钟(Auxillary Clock)


ACLK 是 LFXT1CLK 时钟源经 1、2、4、8 分频后得到的。

ACLK 可由软件选择作为各个外围模块的时钟信号,一般用于低速外设。

[2] MCLK 主系统时钟(Main System Clock)

MCLK 可由软件选择来自 LFXT1CLK、XT2CLK、DCOCLK 三者之一,然后经 1、2、4、8 分频。

MCLK 通常用于 CPU 运行,程序的执行和其他使用到高速时钟的模块。

[3] SMCLK 子系统时钟(Sub System Clock)

SMCLK 可由软件选择来自 XT2CLK 或 DCOCLK,然后经 1、2 、4、8 分频。

SMCLK 通常用于高速外围模块。

寄存器

在这里插入图片描述

2.4 例程

时钟配置例程:


// 设 ACLK=MCLK=LFXT1=HF,将 MCLK 通过 P5.4 输出

#include

void main(void)

{

unsigned int i;

WDCTL = WDTPW + WDTHOLD; // 停看门狗

P5DIR |= 0x10; // P5.4 输出

P5SEL |= 0x10; // P5.4 = MCLK

BCSCTL1 |= XTS; // ACLK = LFXT1 = HF 模式

do

{

IFG1 &= ~OFIFG; // 清除振荡器失效标志

for(i = 0Xff;i > 0;i--); // 稳定时间

}

while((IFG1 & OFIFG) != 0); // 如果振荡器失效标志存在

BCSCTL2 |= SELM1 + SELM0; // MCLK = LFXT1

While(1){_NOP();}

}

// 时钟设置函数

// 系统时钟设定

// DCO 设置为 3030KHz

// ACLK 为 LFXT1(低频模式)

// MCLK 为 XT2CLK

// SMLCK 为 XT2CLK

void BCSInit (void)

{

DCOCTL = 0x60 + 0x00;

BCSCTL1 = DIVA_0 + 0x07;

BCSCTL2 = SELM_2 + DIVM_0 + SELS + DIVS_0;

}


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章