msp430定时器专业名称
msp430定时器部分
case 4:break;
case 10:P1OUT^=BIT0;break;
}
}
ห้องสมุดไป่ตู้
输出模式4主要是翻转:在TAR=CCRX的时候发生翻转。
输出模式主要是复位:在TAR=CCRX时发生复位,只有其他模式到来的时候才能变换。
输出模式6主要是PWM翻转和置位:在TAR=CCR0的时候,发生PWM翻转,在TAR=CCR0的时候,发生置位。
输出模式7主要是PWM复位和置位:在TAR=CCRX的时候,发生PWM复位,在TAR=CCR0的时候,发生复位。
void main()
{
WDTCTL=WDTPW+WDTHOLD;
P6DIR|=BIT0;
CCTL0=CCIE;
CCR0=20000;
TACTL=TASSEL_2+MC_2;
_BIS_SR(GIE);
while(1);
例如:增计数模式下,使用定时器中断使接口发生翻转:
#include<msp430f149.h>
void main()
{
WDTCTL=WDTPW+WDTHOLD;
P6DIR|=BIT0;
CCTL0=CCIE;
CCR0=20000-1;
TACTL=TASSEL_2+MC_1;
定时器的工作模式:
定时器的工作模式位由寄存器TACTL中的MC1和MC0两位控制。
1.停止模式:
定时器暂停计数,就是说当暂停结束后,重新开始计数的时候,计数的开始位是从暂停时候的数开始的。如果想重新计数就得对TACTL控制寄存器中的CLR位置位。
LaunchPad-MSP430入门系列4-定时器模块(定时、计数、捕获)
LaunchPad-MSP430入门系列4-定时器模块(定时、计数、捕获)Version 1.2文先,介绍几个英文缩写的意思以及一些注意的地方。
1.Timer0/1 定时器0/1,在User's Guide中用的是TimerA/B,所指的也是Timer0/1 。
G2553Datasheet中用的是Timer0/1 ,本文以G2553Datasheet为准。
全文以Timer0为例,Timer1类同。
2.TAxR(x = 0/1)定时器x对应的计数器,这是一个只读寄存器。
硬件自动驱动计数。
3.EQUy(y = 0/1/2)计数事件发生寄存器,当TAxR = TAxCCRy时EQUy置1。
4.定时器简介MSPG2553共有两个定时器,Timer0、Timer1,他们都是十六位的定时、计数器,内含三个捕获、比较寄存器。
两个定时器均支持多个捕获、PWM输出、间歇性计时,定时器包含多个中断源,可以是计数溢出中断、捕获中断等等。
定时器包含:●同步十六位定时、计数器运行模式。
●时钟源可从MCLK、SMCLK、ACLK任意选择。
●三个比较、捕获寄存器。
●中断向量寄存器能快速解码的所有定时器中断本文以Timer0为例详细介绍430的定时器模块,下图是Timer0组成框图0-1定时器0组成框图下面简要介绍一下该硬件框图的意思,从左上角看,首先是一个时钟源选择寄存器TASSELx,通过该寄存器选择定时器的时钟源,选择了时钟源后有一个分频器Divider,相应的设置寄存器是IDx,再过来就到一个定时器的核心部分,一个16位的定时器TAR。
其右侧有一个定时器的计数模块,MCx寄存器用来设置计数模式。
接下来,TAR正下方有三个横线,右侧标有CCR0、CCR1、CCR2,意思是CCR1、CCR0的框图和下方CCR2的框图是一样的。
此处省略不写。
在CCR中,左上角为一个捕获源选择寄存器。
可以从CCI2A、CCI2B、GND或者VCC选择捕获源,选择捕获源后有一个选择捕获模式寄存器Capture Mode,然后过来有一个捕获溢出状态寄存器COV,SCS同步/异步捕获模式选择位,然后连接到捕获比较寄存器。
MSP430程序库之定时器TA的PWM输出
MSP430程序库之定时器TA的PWM输出定时器是单片机常用的其本设备,用来产生精确计时或是其他功能;msp430的定时器不仅可以完成精确定时,还能产生PWM波形输出,和捕获时刻值(上升沿或是下降沿到来的时候)。
这里完成一个比较通用的PWM波形产生程序。
1.硬件介绍:MSP430系列单片机的TimerA结构复杂,功能强大,适合应用于工业控制,如数字化电机控制,电表和手持式仪表的理想配置。
它给开发人员提供了较多灵活的选择余地。
当PWM 不需要修改占空比和时间时,TimerA 能自动输出PWM,而不需利用中断维持PWM输出。
MSP430F16x和MSP430F14x单片机内部均含有两个定时器,TA和TB;TA 有三个模块,CCR0-CCR2;TB含有CCR0-CCR67个模块;其中CCR0模块不能完整的输出PWM波形(只有三种输出模式可用);TA可以输出完整的2路PWM波形;TB可以输出6路完整的PWM波形。
定时器的PWM输出有有8种模式:输出模式0 输出模式:输出信号OUTx由每个捕获/比较模块的控制寄存器CCTLx中的OUTx位定义,并在写入该寄存器后立即更新。
最终位OUTx直通。
输出模式1 置位模式:输出信号在TAR等于CCRx时置位,并保持置位到定时器复位或选择另一种输出模式为止。
输出模式2 PWM翻转/复位模式:输出在TAR的值等于CCRx时翻转,当TAR 的值等于CCR0时复位。
输出模式3 PWM置位/复位模式:输出在TAR的值等于CCRx时置位,当TAR 的值等于CCR0时复位。
输出模式4 翻转模式:输出电平在TAR的值等于CCRx时翻转,输出周期是定时器周期的2倍。
输出模式5复位模式:输出在TAR的值等于CCRx时复位,并保持低电平直到选择另一种输出模式。
输出模式6PWM翻转/置位模式:输出电平在TAR的值等于CCRx时翻转,当TAR值等于CCR0时置位。
输出模式7PWM复位/置位模式:输出电平在TAR的值等于CCRx时复位,当TAR的值等于CCR0时置位。
Msp430定时器的介绍及其基本应用
Msp430定时器的介绍及其基本应用Msp430定时器的介绍及其基本应用Msp430单片机一共有5种类型的定时器。
看门狗定时器(WDT)、基本定时器(Basic Timer1)、8位定时器/计数器(8-bit Timer/Counter)、定时器A(Timer_A)和定时器B(Timer_B)。
但是这些模块不是所有msp430型号都具有的功能。
1、看门狗定时器(WDT)学过电子的人可能都知道,看门狗的主要功能就是当程序发生故障时能使受控系统重新启动。
msp430中它是一个16位的定时器,有看门狗和定时器两种模式。
2、基本定时器(Basic Timer1)基本定时器是msp430x3xx和msp430F4xx系列器件中的模块,通常向其他外围提供低频控制信号。
它可以只两个8位定时器,也可以是一个16位定时器。
3、8位定时器/计数器(8-bit Timer/Counter)如其名字所示,它是8位的定时器,主要应用在支持串行通信或数据交换,脉冲计数或累加以及定时器使用。
4、16位定时器A和B定时器A在所有msp430系列单片机中都有,而定时器B在msp430f13x/14x和msp430f43x/44x等器件中出现,基本的结构和定时器A是相同的,由于本人最先熟悉并应用的是定时器A所以在这里就主要谈一下自己对定时器A的了解和应用。
定时器A是16位定时器,有4种工作模式,时钟源可选,一般都会有3个可配置输入端的比较/捕获寄存器,并且有8种输出模式。
通过8种输出模式很容易实现PWM波。
定时器A的硬件电路大致可分为2类功能模块:一:计数器TAR计数器TAR是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断TAIFG。
二:比较/捕获寄存器CCRX如何实现定时功能呢?这就要靠三个比较/捕获寄存器了(以后用CCRx表示)。
当计数器TAR的计数值等于CCRx时(这就是捕获/比较中的比较的意思:比较TAR是否等于CCRx),CCRx单元会产生一个中断。
MSP430系列单片机简介
MSP430系列单片机简介MSP430系列单片机是美国德州仪器(TI)推向市场的一个16位、具有精简指令集、超低功耗的混合型单片机,自1996年问世,由于它具有极低的功耗、丰富的片内外设备和方便灵活的开发手段,成为许多电子产品设计的首选,1999年进入中国就受到了中国广大设计工程师的青睐。
目前,该系列单片机不仅在电子工程、测控技术与仪器、自动控制、机电一体化等方面得到广泛应用,而且逐渐走进校园,被越来越多的使用在硕士研究生和高年级本科生的科技实践和毕业设计中,在2005年暑期全国大学生电子设计竞赛中就选用了该系列的单片机[5]。
MSP430系列单片机的型号很多,TI公司用3或4位数字表示单片机型号,其中一位数字表示一个系列。
目前有四大系列:带有液晶驱动的MSP430F4xx 系列单片机、不带液晶驱动器的MSP430F1xx系列单片机、16MIPS高速MSP430F2xx系列单片机、一次性写入(OTP)型低价MSP430C系列单片机,每个系列中又含有许多子系列。
单片机型号的第二位数字表示子系列号,一般子系列号越大包含的功能模块越多,最后一或两位数字表示存储器容量,数字越大表示ROM和RAM的容量越大。
此外,MSP430系列单片机还针对许多热门应用设计了一系列专用单片机,如水表专用单片机、医疗仪器专用单片机,电能计量专用单片机,这些单片机都是在相同型号的通用单片机的基础上增加专用模块构成的[5]。
MSP430F449单片机的主要性能有:●低供电电压范围:1.8V-3.6V及欠电压检测器●超低功耗,具有五种省电模式:活动模式:1MHz,2.2V时为280uA;等待模式:1.6uA;关闭模式(RAM保持):0.1uA●数字控制的振荡器(DCO)可以在6us内将CPU从休眠中唤醒,这也是实现低功耗的重要手段之一●16位精简指令结构,125ns指令时间周期,10个16位的寄存器以及常数发生器,能够最大限度的提高代码的效率●具有内部参考电平,采样保持和自动扫描的12位A/D转换器●带有三个或七个捕捉/比较影子寄存器的16位定时器B●带有三个捕捉/比较寄存器的16位定时器A● 串行通讯接口(USART ),软件选择异步UART 或者同步SPI 接口,对于MSP430F44x 系列的单片机有两个UART (UART0,UART1)● 可编程电平检测的供电电压管理器/监视器● 串行在线编程无需外部编程电压,可编程的安全熔丝代码保护● 集成多达160段的LCD 驱动器如图2.1所示为MSP430F449单片机的引脚图。
第二讲: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);
016:MSP430_WDT看门狗定时器
016:MSP430_WDT看门狗定时器1, 看门狗定时器概述看门狗定时器(WDT)是 MSP430 系列单⽚机中常⽤的⼀种部件。
在⼯业现场,往往会由于供电电源、空间电磁⼲扰或其他原因引起强烈的⼲扰噪声。
这些⼲扰作⽤于数字器件,极易使其产⽣误动作,从⽽失去应有的控制功能,引起 MSP430 发⽣“程序跑飞”事故。
若不进⾏有效的处理,程序就不能回到正常的状态,从⽽失去应有的控制功能。
看门狗定时器正是为了解放这类问题⽽产⽣的,尤其是在具有循环结构的程序任务中更为有效。
在正常操作器件,⼀次 WDT 定时时间到,将产⽣⼀次器件复位。
如果通过编制程序使 WDT 定时时间稍⼤于程序执⾏⼀遍所⽤的时间时,并且程序执⾏过程中都有对看门狗定时器清零的指令,使计数器重新计数,则程序正常执⾏时,就会在 WDT 定时时间到达之前对 WDT 清零,不会产⽣ WDT 溢出,如果由于⼲扰使程序跑飞,则不会在 WDT 定时时间到达之前执⾏ WDT 清零指令,WDT 就会产⽣溢出,从⽽产⽣系统复位 CPU 需⽤重新运⾏⽤户程序,这样程序就可以⼜恢复正常运⾏状态。
MSP430 看门狗除了具有上述系统监测的特定⽤途之外,还可以作为内部定时器来使⽤,当选择的时间到达之后,和其他定时器⼀样产⽣⼀个定时中断。
此外 WDT 还可以被完全停⽌活动以⽀持超低功耗应⽤2 看门狗定时器结构3 看门狗定时器寄存器[1] WDTCTL 看门狗控制寄存器WDTCTL 由两部分组成:⾼ 8 位是对 WDT 操作的控制命令。
要写⼊操作 WDT 的控制命令,出于安全原因必须先正确写⼊⾼字节看门狗⼝令。
⼝令位 5AH,如果⼝令写错将导致系统复位。
读 WDTCTL 时,不需要⼝令,可直接读取地址 120H 中的内容,读出数据低字节位 WDTCTL 的值,⾼字节始终位 69H。
WDTCTL 除了看门狗定时器的控制位之外,还有两个⽤于设置 NMI 引脚功能。
WDTISx:选择看门狗定时器的计时输出其中 T 是 WDTCNT 的输⼊时钟源周期。
MSP430单片机定时器
MSP430单片机定时器在MSP430 系列单片机中带有功能强大的定时器资源,这定时器在单片机应用系统中起到重要的作用。
在F11X,F11X1 中是不带定时器B 资源的。
430 的定时模块:看门狗定时器,定时器A,定时器B。
定时器A 主要资源特点有16 位定时计数器,其计数模式有4 种。
多种计数时钟信号供输入的捕获/比较功能寄存器和8 种输出模式的3 个可配置输出单片。
定时器资源功能说明(1)看门狗定时器(WDT):主要用于程序在生错误时用作单片机系统复位重起的。
另外,也可作为一个基本定时器使用。
(2)定时器A:作基本定时器使用,结合捕获/比较功能模块可实现时序控制,可编程波形信号发生输出。
可作串口波特率(3)定时器B:作基本定时器使用,与定时器A基本相同,但是功能方面有某些功能会比A 增强些。
定时器A-实现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 捕获/比较数据寄存器数据} tips:感谢大家的阅读,本文由我司收集整编。
MSP430简介(超详细·)
MSP430简介(超详细·)msp430简介MSP430是德州公司新开发的⼀类具有16位总线的带FLASH 的单⽚机,由于其性价⽐和集成度⾼,受到⼴⼤技术开发⼈员的青睐.它采⽤16位的总线,外设和内存统⼀编址,寻址范围可达64K,还可以外扩展存储器.具有统⼀的中断管理,具有丰富的⽚上外围模块,⽚内有精密硬件乘法器、两个16位定时器、⼀个14路的12位的模数转换器、⼀个看门狗、6路P⼝、两路USART通信端⼝、⼀个⽐较器、⼀个DCO内部振荡器和两个外部时钟,⽀持8M 的时钟.由于为FLASH型,则可以在线对单⽚机进⾏调试和下载,且JTAG⼝直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真⼯具,⽅便实⽤,⽽且,可以在超低功耗模式下⼯作对环境和⼈体的辐射⼩,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电⼲扰运⾏不受影响,适应⼯业级的运⾏环境,适合与做⼿柄之类的⾃动控制的设备.我们相信MSP430单⽚机将会在⼯程技术应⽤中得以⼴泛应⽤,⽽且,它是通向DSP 系列的桥梁,随着⾃动控制的⾼速化和低功耗化, MSP430系列将会得到越来越多⼈的喜爱.⼀、IO⼝(⼀)、P⼝端⼝寄存器:1、PxDIR 输⼊/输出⽅向寄存器(0:输⼊模式 1:输出模式)2、PxIN 输⼊寄存器输⼊寄存器是只读寄存器,⽤户不能对其写⼊,只能通过读取该寄存器的内容知道I/O⼝的输⼊信号。
3、PxOUT 输出寄存器寄存器内的内容不会受引脚⽅向改变的影响。
4、PxIFG 中断标志寄存器(0:没有中断请求 1:有中断请求)该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;这8个中断标志共⽤⼀个中断向量,中断标志不会⾃动复位,必须软件复位;外部中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受;5、PxIES 中断触发沿选择寄存器(0:上升沿中断 1:下降沿中断)6、PxSEL 功能选择寄存器(0:选择引脚为I/O端⼝ 1:选择引脚为外围模块功能)7、PxREN 上拉/下拉电阻使能寄存器(0:禁⽌ 1:使能)(⼆)、常⽤特殊P⼝:1、P1和P2⼝可作为外部中断⼝。
大学实习报告-msp430 (ADand定时器)
湖南大学本科生实习报告实习题目:MSP430单片机实习时间:2011.7.15---2011.7.24 专业:班级:学生姓名:指导教师:目录第1章调试平台-----------------------------------------------------------------------3 1.1 简介------------------------------------------------------------------------------3 1.2 下载指令------------------------------------------------------------------------3 1.3程序调试指令-------------------------------------------------------------------3 1.4 各种设置------------------------------------------------------------------------4第2章实验内容----------------------------------------------------------------------4 2.1 内容简介------------------------------------------------------------------------4 2.2 定时器时钟---------------------------------------------------------------------42.2.1 基本功能介绍--------------------------------------------------------------42.2.2 总体方案介绍--------------------------------------------------------------42.2.3 定时器时钟硬件图-------------------------------------------------------42.2.3.1 独立式键盘-----------------------------------------------------------42.2.3.2 LED显示模块-----------------------------------------------------52.2.3.3LCD显示模块----------------------------------------------------52.2.4 软件系统设计---------------------------------------------------------------62.2.4.1 主流程图----------------------------------------------------------------62.2.4.2 扫描函数流程图-------------------------------------------------------72.3 测试结果------------------------------------------------------------------------72.4 总结------------------------------------------------------------------------------73.1 ADC12----------------------------------------------------------------------------73.1.1基本功能介绍----------------------------------------------------------------73.1.2总体方案介绍----------------------------------------------------------------83.1.3 AD微处理器片内温度测量硬件图--------------------------------------83.1.3.1 MSP430芯片AD通道------------------------------------------------83.1.3.2 AD电压检测-滑动变阻器--------------------------------------------93.1.3.3 LCD模块--------------------------------------------------------------93.3.3.4 LED模块----------------------------------------------------------------93.1.4软件系统设计----------------------------------------------------------------103.1.4.1 程序流程图-------------------------------------------------------------103.1.5 测试结果---------------------------------------------------------------------103.1.6 总结---------------------------------------------------------------------------10 附录1---------------------------------------------------------------------------------------10 附录2---------------------------------------------------------------------------------------16第1章调试平台1 IAR调试平台1.1简介:IARsystems 是全球领先的嵌入式系统开发工具和服务的供应商,本次实验所用的IAREW430就是其产品之一。
MSP430程序指南
MSP4301.时钟控制:430三个时钟源:LFXT1CLK低频时钟源,XT2CLK,高频时钟源,DCOCLK数控RC 振荡器。
2.三种时钟源可提供三种时钟信号:1.ACLK辅助时钟:ACLK是LFXT1CLK信号经过1、2、4、8分频得到的。
ACLK可由软件选作外围器件的时钟信号。
2.MCLK系统主时钟:可由软件来设置来源于低频时钟源,高频,数控。
之后可再经过1、2、4、8分频得到。
MCLK主要用于CPU和系统。
3.SMCLK:可有软件选这高频时钟来源,用于高速外围设备。
其中P1.4/SMCLK, P2.0/ACLK, P5.5/SMCLK, P5.6/ACLK。
时钟信号输出,可由PnSEL|=0xXX,l来设置特殊功能端口。
4.三个振荡器的控制位:1.低频LFXT1:OscOff;2.高频XT2CLK:XT2OFF;3.DCO:SCG0;5.一、时钟模块主要由三个寄存器来进行控制。
1.DCOCTL DCO控制器高三位:DCO.2、DCO.1 DCO.0定义8种频率之一,相邻两位相差10%,第五位详细调整频率。
其中DCO为7时表示选择最高频率。
2.BCSCTL1基本时钟控制器1位数7(最高)---XT2OFF:控制XT2的开启与关闭,0:开启;1:关闭。
6---------XTS:控制LFXT1工作模式:0:低频工作模式32768HZ;1:高频工作模式(前提接了相应的高频晶振)。
5,4--------DIV.1、DIV.0:控制ACLK分频(ACLK时钟来源于LFXT1)0:不分;1: 2分;2: 4分;3:8分;3-------XT5V:此位设置为0;2,1,0-----Rsel.0~Rsel.2 :0~7:最低标频~最高标频。
3.BCSCTL27,6-------SELM.1,SELM.0:选择MCLK时钟源(系统主时钟)0,1:DCOCLK为时钟源2:XT2CLK为时钟源3:时钟源为LFXT1CLK5,4-------DIVM.0,DIVM.1 选择MCLK分频。
MSP430看门狗定时器
MSP430看门狗定时器2.WDT interrupt:看门狗有两种工作模式,watchdog mode, interval mode。
WDTIFG 置位的两种情况:在看门狗模式下发生看门狗溢出。
在间隔定时模式下发生定时溢出,且全局中断使能GIE 和WDTIE 均开启。
WDTIFG 在中断服务程序后会自动清除该标记。
3.WDTCTLWDTPW:必须写0x5A.WDTHOLD:停止看门狗就设为1.WDTNMIES: NMI下降沿为1,上升沿为0.WDTNMI: NMI 为1.WDTTMSEL:间隔定时器模式设为1.WDTCNTCL:通过该位来清除WDT 计数器的值通常设为1 表示清除到0.WDTSSEL:设置时钟源ACLK(辅助系统时钟)为1,SMCLK(子系统时钟)为0.WDTISx:设置时间间隔。
0-3 对应不同的分频。
4.WDT 程序:默认在中断中SR 清零,也就是GIE 是0,所以默认不会发生中断嵌套。
只有在中断服务程序中打开GIE 才能发生中断嵌套。
#include unsigned int i=0;void main(void){WDTCTL = WDT_MDLY_32;// Set Watchdog Timer interval to ~30msIE1 |= WDTIE; // Enable WDT interruptP2DIR =0xFF; // Set P1.0 to output directionP2OUT = 0xFF;_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt}// Watchdog Timer interrupt service routine#pragma vector=WDT_VECTOR__interrupt void watchdog_timer(void){P2OUT =。
基于MSP430的定时器Timer
一、定时器 TImer_A 介绍 TImer_A 是一个具有多路捕获/比较寄存器的 16 位定时/计数器,主要有 TAxCTL,TAxR,TAxCCTLn,TAxIV,TAxEX0 几个寄存器。其中最主要 的是 TAxCTL 寄存器,它决定 TImer_A 的输入时钟信号,TImer_A 的工作模 式,Timer_A 的开启与停止,中断的申请等。中断可以来自定时器溢出或者 任意的捕获/比较寄存器 Timer_A 的特征包括: 具有 4 种工作模式的异步定时/计数器 可选择配置的时钟源 可配置的 PWM 输出功能 异步输入和同步锁存
在定时器工作在增计数模式或者增/减计数模式时,对 TAxCCR0 写 0 可以停止定时器。定时器可以通过对 TAxCCR0 写入一个非零值来重新启动 计数。在这种情况下,定时器从零开始计数。 4. 定时器模式控制 三、Timer_A 寄存器 1. Timer_A 控制寄存器(TAxCTL) 2. Timer_A 计数器(TAxR) 15~0 TAxR TAxR 位 15~0Timer_A 寄存器。TAxR 寄存器是 Timer_A 的计数器。
二、Timer_A 操作 1. 16 位定时/计数器 16 位定时/计数寄存器 TAxR,在每个时钟信号的上升沿做增一计数或减 一计数。TAxR 可以通过置位 TACLR 清除。Timer_A 机构图如下: 2. 时钟源的选择和分频 定时器时钟 TACLK 可以选择来自 ACLK、SMCLK 或者外部的
3. 捕获/比较控制寄存器(TAxCCTLn) 4. Timer_A 中断向量寄存器(TELx 位来选择。选定的时钟源可以直接到达定时 器,或者通过 IDx 位经过 2、4、8 分频后到达定时器,选定的时钟源可以通 过 IDEXx 进行 2、3、4、5、6、7 或者 8 分频。当 TACLR 置位时,定时 器时钟源分频器被复位。 3. 启动定时器 在 MC 》 {0} 同时时钟源被激活的情况下,定时器开始计数
msp430 百科介绍
MSP430MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器(Mixed Signal Processor)。
称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。
1、MSP430 单片机的发展MSP430 系列是一个16 位的、具有精简指令集的、超低功耗的混合型单片机,在1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。
回忆MSP430 系列单片机的发展过程,可以看出有这样三个阶段:开始阶段从1996 年推出MSP430 系列开始到2000 年初,这个阶段首先推出有33X 、32X 、31X 等几个系列,而后于2000 年初又推出了11X 、11X1 系列。
MSP430 的33X 、32X 、31X 等系列具有LCD 驱动模块,对提高系统的集成度较有利。
每一系列有ROM 型( C )、OTP 型(P)、和EPROM 型( E )等芯片。
EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。
这也表明了这几个系列的开发模式,即:用户可以用EPROM 型开发样机;用OTP型进行小批量生产;而ROM 型适应大批量生产的产品。
2000 年推出了11X/11X1 系列。
这个系列采用20 脚封装,内存容量、片上功能和I/O 引脚数比较少,但是价格比较低廉。
这个时期的MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。
它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的I/O 引脚等,只有33X 系列才具备。
33X 系列价格较高,比较适合于较为复杂的应用系统。
当用户设计需要更多考虑成本时,33X 并不一定是最适合的。
而片内高精度A/D 转换器又只有32X 系列才有。
寻找突破,引入Flash技术随着Flash 技术的迅速发展,TI 公司也将这一技术引入MSP430 系列中。
MSP430定时器的使用
TACTL = TASSEL1 + TACLR;
// SMCLK, clear TAR
CCTL0 = CCIE;
// CCR0 interrupt enabled
CCR0 = 20000;
TACTL |= MC1;
// Start Timer_A in continuous mode
最后,打开中断,写中断服务程序,详细的程序清单如下:
TBCTL = TBSSEL1 + TBCLR;
// SMCLK, clear TAR
ቤተ መጻሕፍቲ ባይዱ
TBCCTL0 = CCIE;
// CCR0 interrupt enabled
TBCCR0 = 50000;
TBCTL |= MC1;
// Start Timer_A in continuous mode
_EINT();
图 3 定时器 A 的结构原理 定时器 A 的寄存器在 IAR 的调试环境中见图 4 所示。操作这些寄存器就可以实现 TA 的所有功能。
图 4 TA 的寄存器 其中 TACTL 为最主要的控制寄存器,它决定 TA 的输入时钟信号、TA 的工作模式、TA 的开启与停止、中断的申请等工作。TACTL 寄存器为 16 位寄存器,必须使用字指令对其访 问。该寄存器在 POR 信号后全部复位,但在 PUC 信号后不受影响。下面是该寄存器中各位 的含义。
// SMCLK, clear TAR
CCTL0 = CCIE;
// CCR0 interrupt enabled
CCR0 = 50000;
TACTL |= MC1;
// Start Timer_A in continuous mode
430单片机定时器
基于模拟前端信号处理与控制技术的专业论坛、网站
微控设计网
中国MSP430单片机专业网站
例子:这是一个模拟比较器的比较实例,将一个分压电阻电路的输出端接入比 较器的正端(CA0),而比较器另一端接片内0.25×Vcc,在P5. 1 接一个 LED指示灯,该灯的作用是观察比较器的输出。调节改变外部模拟电压,大于 0.25×Vcc时P5.1输出为低,反之为高。 #Iinclude “msp430f449.h” Void mian(void) { WDTCTL=WDTPW+WDTHOLD; P5DIR|=BIT1; CACTL1=CARSEL+CAREF0+CAON; CACTL2=P2CA0; //定义模拟输入接正 while(1); //循环测量 EXIT } { if((CAOUT&CACTL2)==CAOUT) P5OUT|=BIT1; else P5OUT&=~BIT1; }
基于模拟前端信号处理与控制技术的专业论坛、网站
微控设计网
中国MSP430单片机专业网站
开关
送捕获 引脚 Timer_A
中断 允许
参考电路部分, 分别为1/4和 1/2Vcc EXIT
基于模拟前端信号处理与控制技术的专业论坛、网站
微控设计网
捕获模式选择 00 禁止 01 上升沿 10 下降沿 11 任意沿
比较模式
EXIT
基于模拟前端信号处理与控制技术的专业论坛、网站
微控设计网
中国MSP430单片机专业网站
时钟源选择: 它是通过定时控制器TACTL中的两位完成,当从新上电或发生 POR时(系统复位)或用软件通过CLR位使分频器复位。在正 常操作时分频器的状态是不可见的。 工作模式的选择:
MSP430_定时器Timer_A的讲解
MSP430_定时器Timer_A的讲解电子设计大赛准备之msp430单片机定时器Timer_ATimer_A定时器:注:MSP430有两个16位定时器Timer_A和Timer_B.二者基本相同。
主要有TACTL,TAR,CCTL0,CCR0,CCTL1,CCR1,CCTL2,CCR2,TAIV 几个寄存器。
其中最主要的是TACTL寄存器,它决定Timer_A的输入时钟信号,Timer_A的工作模式,Timer_A的开启与停止,中断的申请等。
定时器A大致可分为四个功能模块:计数器、比较/捕获寄存器0、比较/捕获寄存器1、比较/捕获寄存器2.计数器是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断。
那怎么实现定时功能呢?这就要靠三个比较/捕获寄存器了以后用CCRx表示。
CCR0比较特殊,通过他可以改变计数器的最大计数值,也就是当计数器计数到CCR0的值时自动会将计数器清零。
但这需要设置相应的工作模式,模式列表如下:0——停止模式,用于定时器的暂停1——增计数模式,计数器计数到CCR0,再清零计数2——连续计数模式,计数器增计数到0xffff,再清零计数3——增/减计数模式,增计数到CCR0,再减计数到0当计数器计数到CCR0时,CCR0单元会产生一个中断。
同样当计数器计数到CCR1和CCR2时,两个单元也都会个产生一个中断。
这样我们可以通过定时器A得到三个定时时间了。
看程序中的定时器初始化模块。
CCTLx是相应比较/捕获寄存器的控制寄存器。
它可对比较/捕获寄存器进行设置,在这里只用到比较功能,也就是当计数到CCRx时产生中断,由于CCTLx 默认的是比较功能,所以一般也就只用到CCIE这个控制字,就是开启相应比较器的中断。
CCRx就是相应比较器的值。
下面介绍几个Timer_A的重要寄存器:TACTL寄存器:15~109876543210未用SSEL1 SSEL0 ID1 ID0 MC1 MC0 未用CLR TAIE TALFGSSEL_1 SSEL_0 是时钟源的选择0——TACLK,使用外部引脚信号作为输入1——ACLK,辅助时钟2——SMCLK,子系统主时钟 3——INCLK,外部输入时钟对TACTL进行模式设置的同时也开启了定时器,要停止只需把MC_0赋值给TACTL就可以。
第4讲MSP430单片机定时器2
定时器 A —— 主要内容
◆
定时器A的特性
◆ 定时器A的结构 ◆ 定时器A的工作原理
定时器工作模式 捕获/比较模块 输出单元 Timer_A中断
◆ 定时器A的典型应用
定时器 A —— 特性(1/1)
◆ 定时器 A 由一个16位定时器和多路捕获/比较通道组成。 ◆ MSP430X5XX
/ 6XX系列单片机的Timer _A有以下特性:
看门狗定时器 —— 概述
◆ 看门狗定时器,主要作用:
用于在“程序跑飞”时,WDT就会产生溢出,从而产生系 统复位,CPU需要重新运行用户程序,这样程序就可以又回 到正常运行状态。
◆ MSP430 看门狗模块具有以下特性:
8 种软件可选的定时时间 看门狗工作模式 定时器工作模式 带密码保护的 WDT 控制寄存器 时钟源可选择 为降低功耗,可停止 时钟失效保护
【例1】 利用TA0定时器,使其工作在增计数模式,采用SMCLK作为其计数参考时钟,并启用 TA0CCR0计数中断,在TA0中断服务程序中反转P1.0口状态,以便于用示波器进行观察。 #include <msp430f6628.h> void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P1DIR |= 0x01; // P1.0 设为输出 TA0CCTL0 = CCIE; // CCR0中断使能 TA0CCR0 = 50000; TA0CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK, 增计数模式, 清除TAR计数器 __bis_SR_register(LPM0_bits + GIE); // 进入LPM0,使能中断 } // TA0中断服务程序 #pragma vector=TIMER0_A0_VECTOR __interrupt void TIMER0_A0_ISR(void) { P1OUT ^= 0x01; // 反转P1.0口输出状态 }
MSP430 定时器A
上次Cloud和大家一起学习完了MSP430的时钟配置,这一篇,我们来学习MSP430单片机的TimerA (定时/计数器A)。
MSP430单片机的TimerA具有非常强大的功能,相关的寄存器配置也相当复杂,Cloud花了好久才逐步理清学习思路,尤其是学习数据手册的相关描述。
在这里Cloud提醒大家,虽然现在网上有中文汉化版的数据手册,但Cloud阅读英文原版后对比发现还是英文原版对器件特性描述得更加清楚,而中文汉化版的省略掉了一些内容。
好吧,扯远了。
下面进入正题:一、MSP430的Timer结构首先让我们通过官方描述来初步了解一下MSP430单片机的Timer资源:定时器A是一个16位的定时/计数器。
定时器A支持多重捕获/比较,PWM输出和内部定时。
定时器还有扩展中断功能,中断可以由定时器溢出产生或由捕获/比较寄存器产生。
定时器A的特性包括:??·四种运行模式的异步16位定时/计数器??·可选择配置的时钟源??·可配置的PWM输出??·异步输入和输出锁存??·对所有TA中断快速响应的中断向量寄存器MSP430G2553单片机共有两个TimerA,分别是Timer0A和Timer1A。
OK,零零总总说了这么多,大家一定带有很多的疑惑,比如什么叫“捕获/比较”等,这里Cloud 先不作解释,会用才是王道。
我们呢先找来定时器A的结构图给大家初步了解一下定时器A的结构:我们先从上面部分开始解释。
中间红色的是一个16位的TimerA,TAR,这其实就是MSP430单片机内部的一个定时计数器了,类似于51中的TH0和TL0的合体。
既然可以拿来计时,那么肯定可以有时钟信号输入,让我们最左边黄色的框,是一个选择器,由上面的TASSEL来选择TACLK、ACLK、SMCLK、INCLK的其中一种时钟。
上次我们已经学习过ACLK和SMCLK,也知道如何配置这两个时钟了(这也是为什么先学习时钟的原因),另外两个是外部时钟源,其中TACLK可以由P1.0输入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. 定时器TA
一、时钟源
1、时钟源:ACLK/SMCLK 外部TACLK/INCLK
2、分频:1/2/4/8 当(注:TACLR 置位时,分频器复位)
二、计数模式
通过设置MCx可以设置定时器的计数模式
1、停止模式:停止计数
2、单调增模式:定时器循环地从0增加到TACCR0值
周期:TACCR0
CCIFG :Timer计到TACCR0值时触发
TAIFG :Timer计到0时触发
3、连续模式:定时器循环从0连续增加到0xFFFF
周期 :0x10000
TAIFG :Timer计到0时触发
4、增减模式:定时器增计数到TACCR0 再从TACCR0 减计数到0
周期:TACCR0值的2倍
CCIFG :Timer计到TACCR0值时触发
TAIFG :Timer计到0时触发
三、定时器A TACCRx 比较模式(用于输出和产生定时中断)
1、设置:CAP=0选择比较
2、输出信号:比较模式用于选择PWM 输出信号或在特定的时间间隔中断。
当TAR 计数
到TACCRx 的值时:
a、中断标志CCIFG=1;
b、内部信号EQUx=1;
c、EQUx 根据输出模式来影响输出信号
d、输入信号CCI 锁存到SCCI
每个捕获比较模块包含一个输出单元。
输出单元用于产生如PWM 这样的信号。
每个输出单元可以根据
EQU0 和EQUx 产生8 种模式的信号。
3、中断
TimerA 有2 个中断向量:
a、TACCR0 CCIFG 的TACCR0 中断向量
b、所有其他CCIFG 和TAIFG 的TAIV 中断向量
在捕获模式下,当一个定时器的值捕获到相应的TACCRx 寄存器时,CCIFG 标志置位。
在比较模式下,如果TAR 计数到相应的TACCRx 值时,CCIFG 标志置位。
软件可以清除或置
位任何一个CCIFG 标志。
当响应的CCIE 和GIE 置位时,CCIFG 标志就会产生一个中断。
c、TACCR0 CCIFG 标志拥有定时器A 的最高中断优先级,并有一个专用的中断向量,
当进入TACCR0 中断后,TACCR0 CCIFG 标志自动复位。
d、TACCR1 CCIFG, TACCR2 CCIFG, 和TAIFG 标志共用一个中断向量。
中断向量寄存器TAIV
用于确定它们中的哪个要求响应中断。
最高优先级的中断在TAIV 寄存器中产生一个数字(见
寄存器说明),这个数字是规定的数字,可以在程序中识别并自动进入相应的子程序。
禁止定时
器A 中断不会影响TAIV 的值。
对TAIV 的读写会自动复位最高优先级的挂起中断标志。
如果另一个中断标志置位,在结
束原先的中断响应后会,该中断响应立即发生。
例如,当中断服务子程序访问TAIV 时,如果
TACCR1 和TACCR2 CCIFG 标志位置位,TACCR1 CCIFG 自动复位。
在中断服务子程序的RETI
命令执行后,TACCR2 CCIFG 标志会产生另一个中断。
四、TimerA的捕获模式
1、设置:CAP=1选择捕获,CCISx位设置捕获的信号源,CMx位选择捕获的沿,上升,下降,或上升下降都
捕获。
2、如果一个第二次捕获在第一次捕获的值被读取之前发生,捕获比较寄存器就会产生一个溢出逻辑,COV
位在此时置位,如图8-11,COV 位必须软件清除。
五、寄存器
1、TACTL:TimerA控制寄存器
TASSELx:TA时钟源选择
0:TACLK;1:ACLK;2:SMCLK;3:INCLK
IDx:输入分频,分时钟源分频再输入TimerA
0/1/2/3:1/2/4/8 分频
MCx:模式控制
0:停止定时器;1:增模式,定时器计数到TACCR0;
2:连续模式,定时器计数到0xFFFF;3:增减模式,0->TACCR0->0
TACLR:定时器清零位。
该位置位会复位TAR,时钟分频和计数方向。
TACLR位会自动复位并读出值为0
TAIE:TA 中断允许。
该位允许TAIFG 中断请求
0:中断禁止;1:中断允许
TAIFG:TA中断标记
0:无中断挂起;1:中断挂起
2、TAR:TimerA计数寄存器
3、TACCTLx:捕获比较控制寄存器
CMx:捕获模式
0:不捕获;1:上升沿捕获;2:下降沿捕获;3:上升和下降沿都捕获
CCISx:捕获比较选择,该位选择TACCRx 的输入信号
0:CCIxA;1:CCIxB;2:GND;3:VCC
SCS:同步捕获源,该位用于将捕获通信和时钟同步
0:异步捕获;1:同步捕获
SCCI:同步的捕获/比较输入,所选择的CCI 输入信号由EQUx 信号锁存,并可通过该位读取
CAP:捕获模式
0:比较模式;1:捕获模式
OUTMODx:输出模式位。
由于在模式2,3,6 和7 下EQUx= EQU0,因此这些模式对TACCR0 无效
0:OUT 位的值;1:置位;2:翻转/复位;3:置位/复位
4:翻转;5:复位;6:翻转/置位;7:复位/置位
CCIE:捕获比较中断允许位,该位允许相应的CCIFG 标志中断请求
0:中断禁止;1:中断允许
CCI:捕获比较输入。
所选择的输入信号可以通过该位读取
OUT:对于输出模式0,该位直接控制输出状态
0:输出低电平;1:输出高电平
COV:捕获溢出位。
该位表示一个捕获溢出发生。
COV 必须由软件复位。
0:没有捕获溢出发生;1:有捕获溢出发生
CCIFG:捕获比较中断标志位
0:没有中断挂起;1:有中断挂起
4、TAIV:TimerA中断向量寄存器
寄存器的值:
0:无中断挂起;
2:捕获比较1 TACCR1 CCIFG;
4:捕获比较2 TACCR2 CCIFG;
0xA:定时器溢出TAIFG。