0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > MSP430单片机定时器A结构

MSP430单片机定时器A结构

2018-05-30
类别:技术信息
eye 4285
文章创建人 拍明芯城


1-简介

MSP430单片机定时器A结构及其应用范例。

MSP430.png



2-定时器模块

在MSP430系列单片机中带有功能强大的定时器资源,这定时器在单片机应用系统中起到重要的作用。利用MSP430(以下称为430)单片机的定时器可以用来实现计时,延时,信号频率测量,信号触发检测,脉冲脉宽信号测量,PWM信号发生。另外通过软件编写可以用作串口的波特率发生器。后面我们将用定时器A作为一个波特率发生器,来编写一个串口例程给初学者参考。以加强初学者对定时器A的理解和应用。

在430的大系列产品中,不同的子系列产品定时器资源有所不同;在F11X,F11X1中是不带定时器B资源的。430的定时器主要分为3部分模块:看门狗定时器,定时器A,定时器B。定时器A主要资源特点有16位定时计数器,其计数模式有4种。多种计数时钟信号供选择。3个可配置输入的捕获/比较功能寄存器和8种输出模式的3个可配置输出单片。以上各块定时器资源可作多种组合使用,以实现强大的功能。

定时器资源功能说明

(1)看门狗定时器(WDT):主要用于程序在生错误时用作单片机系统复位重起的。另外,也可作为一个基本定时器使用。

(2)定时器A:作基本定时器使用,结合捕获/比较功能模块可实现时序控制,可编程波形信号发生输出。可作串口波特率发生器使用。

(3)定时器B:作基本定时器使用,与定时器A基本相同,但是功能方面有某些功能会比A增强些。详情请看关于定时器B应用范例。

3-定时器A模块结构

4-定时器A--基础应用例程(1)

//例程描述:利用定时器定时功能,实现P1.0方波输出。

#include

{

WDTCTL = WDTPW + WDTHOLD; //停止看门狗WDT,不使用内部看门狗定时器。

P1DIR |= 0x01; //设置P1.0口方向为输出。

CCTL0 = CCIE; //设置捕获/比较控制寄存器中CCIE位为1,CCR0捕获/比较功能中断为允许。

CCR0 = 50000; //捕获/比较控制寄存器CCR0初值为5000。

TACTL = TASSEL_2 + MC_2; //设置定时器A控制寄存器TACTL,使时钟源选择为SMCLK辅助时钟。

_BIS_SR(LPM0_bits + GIE); //进入低功耗模式LPM0和开中断

}

//定时器A 中断服务程序区

#pragma vector=TIMERA0_VECTOR

__interrupt void TImer_A (void)

{

P1OUT ^= 0x01; //P1.0取反输出

CCR0 += 50000; //重新载入CCR0捕获/比较数据寄存器数据

}

//例程1结束--------------------------------------------------------------------------

基础应用例程(2)

//例程描述:利用定时器定时功能,实现P1.0方波输出。

// 需要注意的是定时器中断程序,采用向量查询方式。

#include

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // 停止看门狗WDT

P1DIR |= 0x01; // 设置P1.0口方向为输出。

TACTL = TASSEL_2 + MC_2 + TAIE; // 时钟源选择为SMCLK,选择计数模式,定时器中断开

_BIS_SR(LPM0_bits + GIE); //进入低功耗模式LPM0和开中断

}

// TImer_A3 中断向量(TAIV)处理

#pragma vector=TIMERA1_VECTOR

__interrupt void Timer_A(void)

{

switch( TAIV )

{

case 2: break; //CCR1不使用

case 4: break; //CCR2不使用

case 10: P1OUT ^= 0x01; //溢出

break;

}

}

【MSP430】

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

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

MSP430.png

特点

处理能力强

MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。

运算速度快

MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。

超低功耗

MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。

首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM保持模式下的最低功耗只有0.1μA。

其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32.768kHz)DT-26 OR DT-38,也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。

由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。在实时时钟模式下,可达2.5μA ,在RAM 保持模式下,最低可达0.1μA 。

片内资源丰富

MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位Σ-Δ ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位D/A转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。

另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5μs。

方便高效的开发环境

MSP430 系列有 OTP 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OTP 型和 ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和C 语言。

家族

430x1xx系列

基于闪存或 ROM 的超低功耗 MCU,提供 8MIPS,工作电压为 1.8V - 3.6V,具有高达 60KB 的闪存和各种高性能模拟及智能数字外设。

超低功耗低至:

0.1μA RAM (保持模式) 0.7μA (实时时钟模式) 200μA/MIPS (工作模式) 在 6μs 之内快速从待机模式唤醒

器件参数:

闪存选项:1KB – 60KB ROM 选项:1KB – 16KB RAM 选项:512B – 10KB GPIO 选项:14、22、48 引脚 ADC 选项:10 和 12 位斜率 SAR 其它集成外设:模拟比较器、DMA、硬件乘法器、SVS、12 位 DAC

430F2xx系列

基于闪存的超低功耗 MCU,在 1.8V - 3.6V 的工作电压范围内性能高达 16MIPS。包含极低功耗振荡器 (VLO)、内部上拉/下拉电阻和低引脚数选择。

超低功耗低至:

0.1μA RAM( 保持模式) 0.3μA (待机模式) (VLO) 0.7μA (实时时钟模式) 220μA/MIPS (工作模式) 在 1μs 之内超快速地从待机模式唤醒

器件参数:

闪存选项:1KB – 120KB RAM 选项:128B – 8KB GPIO 选项:10、16、24、32、48、64 引脚 ADC 选项:10 和 12 位斜率 SAR、16 位 Σ-Δ ADC 其它集成外设:模拟比较器、硬件乘法器、DMA、SVS、12 位 DAC、运算放大器

430C3xx系列

旧款的 ROM 或 OTP 器件系列,工作电压为 2.5V - 5.5V,高达 32KB ROM、4MIPS 和 FLL。

超低功耗低至:

0.1μA RAM (保持模式) 0.9μA( 实时时钟模式) 160μA/MIPS (工作模式) 在 6μs 之内快速从待机模式唤醒

器件参数:

ROM 选项:2KB – 32KB RAM 选项:512B – 1KB GPIO 选项:14、40 引脚 ADC 选项:14 位斜率 SAR 其它集成外设:LCD 控制器、硬件乘法器

430x4xx系列

基于 LCD 闪存或 ROM 的器件系列,提供 8-16MIPS,包含集成 LCD 控制器,工作电压为 1.8V-3.6V,具有 FLL 和 SVS。低功耗测量和医疗应用的理想选择。

超低功耗低,与430x1xx系列完全一致

器件参数:

闪存/ROM 选项:4kB – 120KB RAM 选项:256B – 8KB GPIO 选项:14、32、48、56、68、72、80 引脚 ADC 选项:10 和 12 位斜率 SAR、16 位 Σ-Δ ADC 其它集成外设:LCD 控制器、模拟比较器、12 位 DAC、DMA、硬件乘法器、运算放大器、USCI 模块

430F5xx系列

新款基于闪存的产品系列,具有最低工作功耗,在 1.8V-3.6V 的工作电压范围内性能高达 25MIPS。包含一个用于优化功耗的创新电源管理模块。

超低功耗低至:

0.1μA RAM (保持模式) 2.5μA (实时时钟模式 )165μA/MIPS (工作模式) 在 5μs 之内快速从待机模式唤醒

器件参数:

闪存选项:高达 256KB RAM 选项:高达 16KB ADC 选项:10 和 12 位 SAR 其它集成外设:USB、模拟比较器、DMA、硬件乘法器、RTC、USCI、12 位 DAC

430G2553

低电源电压范围:1.8v至3.6v。

超低功耗 运行模式: 230μA (在1MHz 频率和2.2V 电压条件下)

待机模式: 0.5μA

关闭模式(RAM 保持): 0.1μA

5 种节能模式

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

· 可在不到1μs 的时间里超快速地从待机模式唤醒

· 16 位精简指令集(RISC) 架构,62.5ns 指令周期时间

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

· 基本时钟模块配置

– 具有四种校准频率并高达16MHz 的内部频率· 串行板上编程,

– 内部超低功耗低频(LF) 振荡器无需外部编程电压,

– 32kHz 晶振

– 外部数字时钟源· 具有两线制(Spy-Bi-Wire) 接口的片上仿真逻辑电路

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

· 多达24 个支持触摸感测的I/O 引脚



责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯