Msp430f5529时钟系统与定时器以及中断PPT

合集下载

MSP430定时器

MSP430定时器

比较输出电路
x=0,1,2
OUTx
x=0,1,2
输出方式选择 除方式0外,OUTx在Timer Clock
(8种)
的上升沿处改变
OUTx
OUTMODx = 000,输出方式0,OUTx = OUT
OUT=TACCTLx.2
1
输出方式 0 可用于输出信号的初始化
OUTx
x=0,1,2
OUTMODx ≠ 000,输出方式1~7 OUTx 与 OUT 无关
定时器 A 的四种计数方式(Count Mode)
MCx count mode
0 0: stop mode 0 1: up mode 1 0: continuous mode 1 1: up/down mode
Mode Control
Stop mode : the timer is halted
0: 比较方式 1: 捕捉方式
输出方式,8种
输出方式0的 直接输出编程位
中断标志
1: 中断允许
1: 捕捉溢出
Capture/Compare Block , 以 CCR2 为例
CAP=0 : Compare Mode 比较方式 CAP=1 : Capture Mode 捕捉方式
捕捉方式( Capture Mode , CAP=1 )
当不使用Timer时, 应将Timer配置为Stop mode , 这样可以降低芯片的功耗
Up Mode 锯齿波方式,需要CCR0(比较方式)协助
在Timer Clock的上升沿处TAR=TAR+1, 当TAR≥TACCR0时,自动清零TAR
period=(TACCR0+1)×T
T
Continuous Mode

Mspf时钟系统与定时器以及中断

Mspf时钟系统与定时器以及中断
主讲人:蒋良茂
时钟信号
ACLK 辅助时钟,其时钟源可由软件控制XT1、REFOC、VLO、DCO、 DCOCLKDIV、XT2里面选取。其中DCOCLKDIV是由DCO经1、2、4、 8、16或者32分频得到。注意,ACLK同样可以再次被1、2、4、8、 16或者32分频,主要用于低速外设。
MCLK 主时钟,MCLK和ACLK 来源相同,MCLK专为CPU提供主频。 SMCLK 子系统时钟,与ACLK来源相同。主要用于高速外设。
主讲人:蒋良茂
中断响应过程
1. 当前指令执行完毕,且满足响应条件; 2. 入栈保护断点:相当于执行 PUSH PC; 3. 入栈保护SR:相当于执行 PUSH SR; 4. 优先级裁决:若有多个中断同时请求,则CPU选
择优先级最高的中断请求进行响应; 5. 中断请求标志的处理:对于单一中断标志的中断
主讲人:蒋良茂
DCORSEL
主讲人:蒋良茂
DCO Type Value
主讲人:蒋良茂
时钟系统示例程序
主讲人:蒋良茂
第二部分:定时器
实际应用中,经常需要对外部事件进行计 数、定时控制、PWM等定制波形输出、脉冲宽度测 量、速度测量、周期/频率测量、事件发生时刻的 捕捉……,这些测量与控制功能均可借助定时器/ 计数器来实现。因此MCU中通常均设计有多个定时 器/计数器。
主讲人:蒋良茂
210 NZC
关中断指令
对 SR 的影响: Status Bits: are not affected Mode Bits: GIE=0
OSCOFF and CPUOFF are not affected 因此等同于__bic_SR_register(GIE);
15

单片机第四章定时器串行口及中断系统ppt课件

单片机第四章定时器串行口及中断系统ppt课件
第4章 定时器、串行口及中断系统
4.1 MCS-51单片机的中断系统 4.2 MCS-51单片机片内定时器/计数 4.3 MCS-51单片机片内串行口
.
1
定时/计数器(Timer/Counter)是单片机的一个重要 组成部分,在实际的应用中,通过定时或计数可以实现很 多重要的功能。
单片机应用系统中,经常需要和其它计算机进行数据通 信。MCS-51片内设立了一个可编程的全双工串行通信接 口,可作为通用异步接收/发送器UART,也可作为同步移 位寄存器。
1、 中断允许控制
CPU对中断系统所有中断,以及某个中断源的开放和屏蔽 是由中断允许寄存器IE控制的。IE字节地址A8H,位地址 为AFH~A8H,IE位结构如下表所示:
位地址 AFH 位名称 EA
ACH ABH AAH A9H A8H ES ET1 EX1 ET0 EX0
.
9
各位的含义如下:
EX0(IE.0) 外部中断0允许位。EX0=0,禁止外部中断0 中断;EX0=1允许外部中断0中断。 ET0(IE.1) 定时/计数器T0中断允许位。ET0=0,禁止T0 中断;ET0=1,允许T0中断。 EX1(IE.2) 外部中断1允许位。EX1=0,禁止外部中断1 中断;EX1=1,允许外部中断1中断。 ET1(IE.3) 定时/计数器T1中断允许位。ET1=0,禁止T1 中断;ET1=1,允许T1中断。 ES(IE.4) 串行口中断允许位。ES=0,禁止串行口中 断;ES=1允许串行口中断。 EA (IE.7) CPU中断允许(总允许)位。EA=0,屏蔽所 有的中断请求;EA=1,开放中断。
4.1.1.1 中断系统的基本概念
中断是指CPU正在处理某任 务的过程中, 由于计算机系统内、 外的某种原因,发生的某一事件 请求CPU及时处理,于是CPU 暂时中止当前的工作,自动转 去处理所发生的事件。处理完 该事件后,再返回到原来被中 止的断点处继续工作,这样的 过程称为中断。

Msp430f5529时钟系统与定时器以及中断

Msp430f5529时钟系统与定时器以及中断
在MCU中,无论是定时功能还是计数功能,实 际上都是由n位(8位、16位、32位等)的加法/减 法计数器实现,区别仅在于计数输入信号的不同 。
一般地讲,计数器的计数输入信号是外部事 件(脉冲信号),而定时器的计数输入信号则是 MCU中的时钟信号或经过分频后的时钟信号。
MSP430F5529定时器分为看门狗定时器、定时 器A和定时器B。
00: stop mode 01: up mode 10: continuous mode 11: up/down mode
1: interrupt pending
1: TA interrupt enabled
1: reset TAR ,clock divider and count direction for up/down mode. The TACLR bit is automatically reset and is always read as zero.
定时器 A 的四种计数方式(Count Mode)
MCx count mode
0 0: stop mode 0 1: up mode 1 0: continuous mode 1 1: up/down mode
Mode Control
Stop mode : the timer is halted
中断响应过程
1. 当前指令执行完毕,且满足响应条件; 2. 入栈保护断点:相当于执行 PUSH PC; 3. 入栈保护SR:相当于执行 PUSH SR; 4. 优先级裁决:若有多个中断同时请求,则CPU选
择优先级最高的中断请求进行响应; 5. 中断请求标志的处理:对于单一中断标志的中断
源请求,则由CPU自动清零该中断标志;对于有 多个中断标志的中断源请求,则中断标志的清零 处理交由中断服务子程完成(以便于中断服务子 程区分本次中断到底是由哪一个/哪些中断标志 请求的); 6. 清零SR(关中断,结束低功耗方式); 7. 装载中断向量至PC,转去执行中断服务子程。

msp430中断定时器

msp430中断定时器

#define VECTOR_NAME(name) #define EMIT_PRAGMA(x)
name##_ptr _Pragma(#x)
#define CREATE_VECTOR(name)
void (* const VECTOR_NAME(name))(void) = &name
#define PLACE_VECTOR(vector,section) EMIT_PRAGMA(DATA_SECTION(vector,section)) #define ISR_VECTOR(func,offset) CREATE_VECTOR(func); \
/* 0xFFFE Reset [Highest Priority] */
2015-5-24
MSP430单片机的IO输入中断
一些高级的单片机的全部IO口都带外部中断功能,比如 ARM系列。MSP430 单片机只有P1和P2口带外部中断功能。 输入中断一般为IO口给出高电平,通过外部动作使电平跳 变为低电平,并以此作为中断源 寄存器配置步骤: 1.通过PxDIR将IO方向设置为输 入 2.通过PxIES配置中断边沿 3.通过PxREN配置上下拉电阻 4.配置PxIE开启中断 最后还要注意开启总中断。
2015-5-24
PLACE_VECTOR(VECTOR_NAME(func), offset) #define PORT1_VECTOR #define PORT2_VECTOR #define ADC10_VECTOR #define USCIAB0TX_VECTOR #define USCIAB0RX_VECTOR #define TIMER0_A1_VECTOR #define TIMER0_A0_VECTOR #define WDT_VECTOR (2 * 1u) (3 * 1u) (5 * 1u) (6 * 1u) (7 * 1u) (8 * 1u) (9 * 1u) (10 * 1u) (11 * 1u) /* 0xFFE4 Port 1 */ /* 0xFFE6 Port 2 */ /* 0xFFEA ADC10 */ /* 0xFFEC USCI A0/B0 Transmit */ /* 0xFFEE USCI A0/B0 Receive */ /* 0xFFF0 Timer0)A CC1, TA0 */ /* 0xFFF2 Timer0_A CC0 */ /* 0xFFF4 Watchdog Timer */ /* 0xFFF6 Comparator A */ /* 0xFFF8 Timer1_A CC1-4, TA1 */ /* 0xFFFA Timer1_A CC0 */ /* 0xFFFC Non-maskable */

MSP430F5529实验指导书(V1.0)

MSP430F5529实验指导书(V1.0)

MSP430F5529 实验指导书(V1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验1、熟悉2、掌握3、掌握1、2、PC【实验原理】CCS(Code Composer Studio)是 TI 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。

CCSv5.1 为 CCS 软件的最新版本,功能更强大、性能更稳定、可用性更高,是 MSP430 软件开发的理想工具。

SEED-EXP430F5529v1.0开发板上的有8个可操作的LED灯,与MCU的IO口对应关系如图1-1所示:图1-1 LED与MCU的IO对应关系电路我们可以通过控制单片机IO口的输出电平状态来控制各个LED灯的亮灭。

开发板上还有2个可操作的按键S1,S2。

如图1-2所示。

图1-2 按键电路我们可以通过读取与按键相连的IO口的输入电平状态来执行相应的操作。

此外,S1,S2还可以作为外部中断源,触发中断。

【实验内容】1、用调用头文件的方法,使能MSP430F5529开发板上的8个LED灯依次按顺序循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法);3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。

【实验步骤】family,Finish。

__delay_cycles(500000); //延时P8OUT &= ~BIT2;for(i=BIT1;i<=BIT5; i=i<<1){P1OUT = i;__delay_cycles(500000); //延时}}}6、保存程序后Bulid(单击菜单中,或快捷键Ctrl+B)编译程序。

7、调试程序(单击菜单中)自动进入调试界面并下载程序。

8、运行程序(单击菜单中)进行程序的运行、暂停、停止、单步运行等操作。

MSP430F5529资料培训课件

MSP430F5529资料培训课件

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。

MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。

该系列单片机多应用于需要电池供电的便携式仪器仪表中。

什么是单片机?单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),英文缩写:MCU。

它是把中央处理器、存储器、定时/计数器、各种输入输出接口等都集成在一块芯片上的微型计算机。

什么是嵌入式?IEEE(国际电气和电子工程师协会) 对嵌入式系统的定义:用于控制、监视或者辅助操作机器和设备的装置.Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants.国内普遍认同的嵌入式系统定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

MSP430单片机内核是16位RISC处理器的超低功耗混合信号处理器丰富的片内外设灵活的开发手段MSP430单片机特点◆超低功耗低电压工作1.8~3.6V,RAM数据不丢失情况下耗电仅0.1μA,活动模式耗电290μA/MIPS,I/O输入最大漏电流仅为50nA灵活的时钟系统采用向量中断,需要运行时通过中断唤醒CPU,只需3.5μs◆强大的处理能力指令速度高达25MIPS◆高性能模拟技术及丰富的片上外设时钟模块、Flash控制器、RAM控制器、通用I/O端口、定时器、数模转换器、比较器、UART、SPI、I2C、USB等MSP430单片机的应用领域◆能量收集太阳能、热能、振动能、人体运动的动能等;◆计量仪表水表、电表、流量表等;◆安全与安防烟雾探测器、破损玻璃检测系统等;◆便携式医疗血糖计、个人血压监控器、心率检测计等;MSP430F5529单片机特性◆低工作电压:1.8V到3.6V;◆超低功耗:--活动模式(AM):所有系统时钟活动290 μA/MHz在8MHz,3.0V,Flash Program150 μA/MHz在8MHz,3.0V,RAM Program--待机模式(LPM3):实时时钟、看门狗、电源监控、RAM数据保持、快速唤醒:1.9μA在2.2V,2.1μA在3.0V(典型)低功耗振荡器、通用计数器、看门狗、电源监控、RAM数据保持、快速唤醒:1.4 μA在3.0V(典型)--关闭模式(LPM4):RAM数据保持,电源监控,快速唤醒:1.1μA在3.0V(典型)--关断模式(LPM4.5):0.18μA在3.0V(典型)◆从待机模式下唤醒时间在3.5μs内(典型);◆16位RISC结构,可拓展内存,高达25-MHZ的系统时钟;◆灵活的电源管理系统:--核心供电电压可编程调节的内置LDO--电源电压监控、监测及掉电检测◆UCS统一时钟系统:--频率稳定的FLL控制回路--低功率或低频率内置时钟源(VLO)MSP430F5529单片机特性◆UCS统一时钟系统:--修整后的低频内置参考源(REFO)--32KHZ低频晶振(XT1)--高达32MHZ高频晶振(XT2)◆具有五个捕获/比较寄存器的16位定时器TA0,Timer_A;◆具有三个捕获/比较寄存器的16位定时器TA1,Timer_A;◆具有三个捕获/比较寄存器的16位定时器TA2,Timer_A;◆具有七个捕获/比较映射寄存器的16位定时器TB0,Timer_B;◆两个通用串行通讯接口:--USCI_A0和USCI_A1,每个支持:增强UART、IrDA、同步SPI--USCI_B0和USCI_B1,每个支持:I2C 、同步SPI◆全速USB:--集成USB-PHY--集成3.3V/1.8V USB 电源系统--集成USB-PLL--8输入,8输出端点◆具有内部基准电压,采样和保持及自动扫描功能的12位ADC(MSP430F552X系列仅有);◆比较器;◆支持32位运算的硬件乘法器;◆串行系统编程,无需添加外部编程电压;◆三通道内部DMA;◆具有实时时钟功能的基本定时器;MSP430F5529引脚图MSP430F5529结构图MSP430F5529LP开发板介绍eZ-FET仿真模块的LED说明隔离跳线块eZ-FET仿真器适用于几乎所有MSP430产品短路跳线块,eZ-FET仿真器可以选择连接开发板上的F5529芯片断开跳线块,eZ-FET仿真器可以作用于外接的其他芯片隔离跳线模块应用设置见TI官网MSP430F5529 LaunchPad User’s guide Section2.2.7各接口引脚介绍见Quickstart Guide一些缩写说明(x为数字):GPIO: 通用数字I/O口;CBx: 比较器B输入通道CBx;Ax: ADC输入通道Ax;RTC: 实时时钟;UCAx: USCI_Ax;TAxCLK: TAx时钟信号输入;CBOUT: 比较器B输出;STE: 从机传输使能;PM_: 默认映射;SDA: I2C数据;SCL: I2C时钟;DMAEx: DMA外部触发输入;SOMI: 在SPI模式下的从机输出、主机输入;SIMO:在SPI模式下的从机输入、主机输出;UCAxRXD: USCI_Ax在UART模式下的接收数据输入; TXD为数据输出;CCS简介TI公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境。

MSP430F5529 (六)定时器Timer_A-1

MSP430F5529 (六)定时器Timer_A-1

MSP430F5529 (六)定时器Timer_A-1MSP430F5529 共有两类共4 个定时器,分别是Timer_A 定时器3 个和Timer_B 定时器1 个,按照每个寄存器配备的捕获/比较器的个数分别命名为Timer0_A(内有5 个捕获比较器)、Timer1_A(3 个)、Timer2_A(3 个)、Timer0_B(7 个)。

这一章,我们讲定时器Timer0_A.(A 类的都一样)注意:下面所提到的所有寄存器,在TA 后面插入0 或1 或2 就分别表示Timer0_A、Timer1_A、Timer2_A(我这里省略了数字)定时器很重要啊!6.1简介一下定时器A 是一个复合了捕获/比较寄存器的十六位的定时(加减)计数器。

定时器A 支持多重捕获/比较,PWM 输出和内部定时,具有扩展中断功能,中断可以由定时器溢出产生或由捕获/比较寄存器产生。

特征简介:○四种运行模式的异步16 位定时/计数器○自身时钟源可选择配置○最多达5 个可配置的捕获/比较寄存器(CCR)capture/compare registers○可配置的PWM 输出○异步输入和输出锁存○对所有Timer_A 中断快速响应的中断向量寄存器下面这张图形象的解释了Timer_A 的结构特性 6.2 TA(Timer_A)的几个基本操作设置(含寄存器介绍及设置)声明:所有寄存器同样支持字和字节操作,不要忘记这是什么意思所有寄存器初始化都为0x00006.2.1 TA 控制寄存器TACTL(最常用最基本)再次说明一下例如:TA0CTL、TA1CTL、TA2CTL分别表示3 个不同定时器A 的控制寄存器rw-(0)表示默认读写均为0TASSELx:时钟源选择。

尽量不要选TASSEL0-TACLK 外部时钟源,因为如果TACLK 和CPU 时钟不同步,很容易出问题。

(TA0CLK 接P1.0 引脚)00TACLK01ACLK10SMCLK11~TACLKIDx:第一次分频控制。

MSP430F5529实验指导书(V1.0)

MSP430F5529实验指导书(V1.0)

MSP430F5529 实验指导书(V1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验实验二键盘与液晶显示实验实验三时钟系统配置实验实验四看门狗与定时器实验实验五 AD/DA实验实验六比较器实验实验七 Flash实验实验八串行通信实验实验一基础GPIO实验【实验目的】1、熟悉CCS的基本使用方法;2、掌握MSP430系列单片机程序开发的基本步骤;3、掌握MSP430 IO口的基本功能。

【实验仪器】1、SEED-EXP430F5529v1.0开发板一套;2、PC机操作系统Windows XP或Windows 7,CCSv5.1集成开发环境。

【实验原理】CCS(Code Composer Studio)是 TI 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。

CCSv5.1 为 CCS 软件的最新版本,功能更强大、性能更稳定、可用性更高,是 MSP430 软件开发的理想工具。

SEED-EXP430F5529v1.0开发板上的有8个可操作的LED灯,与MCU的IO口对应关系如图1-1所示:图1-1 LED与MCU的IO对应关系电路我们可以通过控制单片机IO口的输出电平状态来控制各个LED灯的亮灭。

开发板上还有2个可操作的按键S1,S2。

如图1-2所示。

图1-2 按键电路我们可以通过读取与按键相连的IO口的输入电平状态来执行相应的操作。

此外,S1,S2还可以作为外部中断源,触发中断。

【实验内容】1、用调用头文件的方法,使能MSP430F5529开发板上的8个LED灯依次按顺序循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法);3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。

【实验步骤】内容1:使能开发板上的8个LED灯依次按顺序循环点亮1、打开CCSv5并确定工作区间,然后选择File-->New-->CCS Project 弹出图1-3对话框。

msp430f5529 进不了定时器中断

msp430f5529 进不了定时器中断

程序如下,但是进不了中断,有谁知道可以告诉我么?万万分感谢~~~char buffer[255];int flag = 0,cont = 0;char data[3]= {'0','0','\0'};uint8_t data1 = 0;uint16_t intialWheelValue = 0;uint16_t wheelValue = 0;FRESULT WriteFile(char* fileName, char* text, WORD size);void TimerB_Init(void);void DataAcq(){char data[3]= {'0','0','\0'};uint8_t data1 = 0;uint16_t intialWheelValue = 0;uint16_t wheelValue = 0;TimerB_Init();Dogs102x6_init();Dogs102x6_clearScreen();Buttons_interruptEnable(BUTTON_ALL); //按键中断使能buttonsPressed = 0;intialWheelValue = Wheel_getValue(); // 得到初始齿轮电位计采样值__enable_interrupt(); //使能全局中断while(!(buttonsPressed & BUTTON_S2)){Dogs102x6_stringDraw(3, 45, &data[0], DOGS102x6_DRAW_INVERT); //显示数wheelValue = Wheel_getValue();data1 = wheelValue/68; //得到当前齿轮电位计采样值if (intialWheelValue != wheelValue){ //若当前齿轮电位计采样值与初始齿轮电位计采样值不同,进行小时重置if (data1 < 10){data[0] = '0';data[1] = '0' + data1;}else if (data1 < 20){data[0] = '1';data[1] = '0' + (data1 - 10);}else if (data1 < 30){data[0] = '2';data[1] = '0' + (data1 - 20);}else if (data1 < 40){data[0] = '3';data[1] = '0' + (data1 - 30);}else if (data1 < 50){data[0] = '4';data[1] = '0' + (data1 - 40);}else if (data1 < 60){data[0] = '5';data[1] = '0' + (data1 - 50);}else {data[0] = '6';data[1] = '0';}}}}FRESULT WriteFile(char* fileName, char* text, WORD size){// Result codeFRESULT rc;// File system objectFATFS fatfs;// File objectFIL fil;UINT bw;// Register volume work area (never fails)f_mount(0, &fatfs);// Open filerc = f_open(&fil, fileName, FA_READ | FA_WRITE | FA_OPEN_ALWAYS);if (rc){die(rc);}//指针指到文本最后rc = f_lseek(&fil, f_size(&fil));if(rc){die(rc);}// Write to filerc = f_write(&fil, text, size, &bw);if (rc){die(rc);}// Close the filerc = f_close(&fil);if (rc){die(rc);}return rc;}/*定时器初始化*/void TimerB_Init(void){TB0CCR0 = 32768;TB0CTL = TBSSEL_0+TBCLR+MC_1; //TB0CCTL0 = CCIE;}#pragma vector = TIMERB0_VECTOR__interrupt void Timer_B0(void){cont = cont+1;if(cont == 1){cont = 0;flag = 1;buffer[0] = '[';buffer[1] = data[0];buffer[2] = data[1];buffer[3] = ']';WriteFile("1.txt",buffer,4); //写入数据}}。

MSP430中断和定时器使用

MSP430中断和定时器使用
实验总结与收获(含自主探究部分) ...................................................................19
1
实验目的
1. 了解中断原理,包括对中断源、中断向量、中断类型号、中断程序以及中断过程的理解; 2. 掌握汇编语言中断程序设计方法; 3. 掌握 C 语言项目上机过程和了解 C 语言程序结构; 4. (选做)掌握 C 语言中断程序设计方法; 5. 掌握数字示波器的使用方法; 6. 了解 MSP430 基本时钟模块的工作原理,掌握其控制方法; 7. 了解 MSP430 定时器 A 工作原理,掌握 MSP430 定时器 A 的控制方法。
程序将执行主程序,执行中断程序(由于没有中断标志位,所以 P2 不会被取反),
在指令执行完毕后开始执行无效指令(FFFF FFFF),最终结果 led 灯全亮,PC 跳至无
效指令。这是因为,程序没有设置死循环或终点,使 PC 不断的增加,从而开始执行
3
无效指令。中断也因此失效。
2. 用汇编语言编写 P1 端口外中断:以中断方式处理按键 K5 和 K6
„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„
可以看到,优先级最低的是 PORT2_VECTOR,位于低地址;优先级最高的是复位向量,
位于高地址。对于定时器 Timer_A,CC0 最常用,独享一个中断向量,与课堂学习结果一
致。
2) 由于按键有抖动,当按下一次键时,在电路上可能已经发生了几次中断申请。为了
#define WDT_VECTOR
(10 * 2u) /* 0xFFF4 Watchdog Timer */
#define COMPARATORA_VECTOR (11 * 2u) /* 0xFFF6 Comparator A */

MS系统时钟PPT课件

MS系统时钟PPT课件

五个时钟输入源振荡器模块(2/6)
一、XT1 振荡器
XT1工作在低频(LF)模式时(XTS=0),提供支持 32768HZ时钟的超低功耗模式。晶振只需经过XIN和XOUT两 个引脚连接,不需要其他外部器件,所有保证工作稳定的 元件和移相电容都集成在芯片中。
在一些设备中当XT1选择高频(HF)模式时(XTS=1)也 支持高频晶振或者振荡器。高频晶振或谐振器连接到XIN和 XOUT引脚,需要在两个端口配置电容。
从上图可以看出,MSP430F5XX / 6XX时钟模块有 5 个 时钟输入源:
XT1CLK 低频或高频时钟源:可以使用标准晶振,振荡 器或者外部时钟源输入4MHz~32MHz。XT1CLK可以作为内部 FLL模块的参考时钟。
XT2CLK 高频时钟源:可以使用标准晶振,振荡器或者 外部时钟源输入4MHz~32MHz。
VLOCLK 低功耗低频内部时钟源:典型值为10KHZ;
REFOCLK 低频修整内部参考时钟源:典型值为32768Hz, 作为FLL基准时钟源;
DCOCLK 片内数字控制时钟源:通过FLL模块来稳定。
MSP430X5XX / 6XX系列时钟系统模块(3/3)
基础时钟模块可提供3种时钟信号:
ACLK 辅助时钟:ACLK可由软件选择来自XT1CLK、REFOCLK、VLOCLK、
五、片内数字控制振荡器(DCO)
DCO振荡器是一个可数字控制的RC振荡器,它的频率随供 电电压、环境温度变化而具有一定的不稳定性。
DCO频率可以通过选择FLL的频率(FLLRENCLK/n)来增强 振荡频率的稳定性。
DCO模块操作(1/4)
DCOCLK频率调整过程:
设置DCORSELx这3位可以从8个DCO额定频率中选择一个频 率。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主讲人:蒋良茂
PMM 电源管理单元
主讲人:蒋良茂
PMM和时钟系统的联系
主讲人:蒋良茂
PMM和时钟系统的联系
主讲人:蒋良茂可是都不重要!主讲:蒋良茂时钟模块控制寄存器
见USERS' GUIDE
msp430f5529us erGuide.pdf
主讲人:蒋良茂
示例程序1
#include <msp430f5529.h>
主讲人:蒋良茂
Up/Down Mode 本方式需要CCR0(比较方式)协助
主讲人:蒋良茂
定时器A捕获/比较模块
主讲人:蒋良茂
当捕获电路捕捉到一个有效的输入信号后: • 将 TAR 的值锁存至 TACCRx 中; • 置位中断标志位 TACCRx CCIFG
捕获模式( Capture Mode , CAP=1 )
用于捕捉事件发生的时 刻
可应用于速度、脉冲宽 度等测量
主讲人:蒋良茂
比较模式( Compare Mode , CAP=0 )
主要应用: • 产生 PWM 等定制输出信号; • 定时输出:在指定时间间隔结束后产生输出; • 定时中断:在指定时间间隔结束后产生中断。
主讲人:蒋良茂
时钟信号
ACLK 辅助时钟,其时钟源可由软件控制XT1、REFOC、VLO、DCO、 DCOCLKDIV、XT2里面选取。其中DCOCLKDIV是由DCO经1、2、4、 8、16或者32分频得到。注意,ACLK同样可以再次被1、2、4、8、 16或者32分频,主要用于低速外设。
MCLK 主时钟,MCLK和ACLK 来源相同,MCLK专为CPU提供主频。 SMCLK 子系统时钟,与ACLK来源相同。主要用于高速外设。
MSP430F5529时钟系统与定时器以及中断
单 主讲击人添:加蒋文良字茂 2015年4月
MSP430F5529时钟系统与定时器
第一部分内容:
时钟系统的概念 MSP430f5529的时钟系统结构 时钟系统相关寄存器的介绍 程序的编写
主讲人:蒋良茂
时钟系统概念
时钟系统 的功能: 1.为CPU提供时序。 2.为不同的片内外设提供不同的时钟。
定时器 A 的四种计数方式(Count Mode)
MCx count mode
0 0: stop mode 0 1: up mode 1 0: continuous mode 1 1: up/down mode
Mode Control
主讲人:蒋良茂
Stop mode : the timer is halted
在MCU中,无论是定时功能还是计数功能,实 际上都是由n位(8位、16位、32位等)的加法/减 法计数器实现,区别仅在于计数输入信号的不同 。
一般地讲,计数器的计数输入信号是外部事 件(脉冲信号),而定时器的计数输入信号则是 MCU中的时钟信号或经过分频后的时钟信号。
MSP430F5529定时器分为看门狗定时器、定时 器A和定时器B。
主讲人:蒋良茂
DCORSEL
主讲人:蒋良茂
DCO Type Value
主讲人:蒋良茂
时钟系统示例程序
主讲人:蒋良茂
第二部分:定时器
实际应用中,经常需要对外部事件进行计 数、定时控制、PWM等定制波形输出、脉冲宽度测 量、速度测量、周期/频率测量、事件发生时刻的 捕捉……,这些测量与控制功能均可借助定时器/ 计数器来实现。因此MCU中通常均设计有多个定时 器/计数器。
int main(void) { WDTCTL = WDTPW +WDTHOLD;//关闭看门狗
UCSCTL4 = SELA_1; //ACLK 的时钟配置为VLO //设置P1.0输出ACLK P1SEL |= BIT0; P1DIR |= BIT;
__bis_SR_register(LPM3_bits);//进入低功耗模式3 return 0; }
主讲人:蒋良茂
模式和时钟的关系
主讲人:蒋良茂
MSP430F5529 的时钟树
主讲人:蒋良茂
时钟树
主讲人:蒋良茂
时钟源
XT1CLK:低频/高频振荡器,可使用32.768k 的晶振或4~ 32M的外部时钟源
VLOCLK:内部超低功耗低频震荡器,典型值12k REFCLK:内部调整低频参考振荡器,典型值 32.768 DCOCLK:内部数字时钟振荡器,由FLL稳定得到 XT2CLK:高频震荡器,可使用4~32M的外部时钟源
00: /1 01: /2 10: /4 11: /8
00: stop mode 01: up mode 10: continuous mode 11: up/down mode
1: interrupt pending
1: TA interrupt enabled
主讲人:蒋良茂 1: reset TAR ,clock divider and count direction for up/down mode. The TACLR bit is automatically reset and is always read as zero.
主讲人:蒋良茂
MSP430的时钟系统
功能: 1. 可工作于不同的工作模式,使单片机工作于不同工作模式。430
单片机有一种活动模式,七种低功耗模式,通过这些模式的 切换,可以合理的利用系统资源,实现 整个系统的低功耗。 2.为不同的片内外设提供不同的时钟。不同的外设往往工作的时钟 不同,有的时钟较高,有的时钟较低,甚至有时候一个外设 也会处于不同的工作频率。
主讲人:蒋良茂
看门狗定时器
喂狗的哲学
主讲人:蒋良茂
定时器A
• 异步16-bit定时器/计数器,具有4种工作模式; • 可编程选择的时钟源; • 3个可编程的捕捉/比较寄存器; • 可编程输出方式; • 具有中断功能(计数器溢出、捕捉/比较中断)
主讲人:蒋良茂
定时器A方框图
主讲人:蒋良茂
定时器 A 控制寄存器
当不使用Timer时, 应将Timer配置为Stop mode , 这样可以降低芯片的功耗
主讲人:蒋良茂
Up Mode 需要CCR0(比较方式)协助
在Timer Clock的上升沿处TAR=TAR+1, 当TAR≥TACCR0时,自动清零TAR
主讲人:蒋良茂
period=(TACCR0+1)×T
Continuous Mode
相关文档
最新文档