MSP430学习总结
msp430实验报告
msp430实验报告msp430实验报告引言:msp430是一种低功耗、高性能的微控制器,被广泛应用于嵌入式系统和物联网设备中。
本实验报告将介绍我对msp430微控制器进行的一系列实验,包括实验目的、实验过程、实验结果以及对实验的总结和展望。
实验目的:本次实验的主要目的是熟悉msp430微控制器的基本功能和使用方法,以及学习如何进行简单的控制程序设计。
通过实验,我希望能够掌握msp430的基本操作和编程技巧,并且能够运用所学知识解决实际问题。
实验过程:在实验开始之前,我首先对msp430微控制器进行了一些基本的了解。
我了解到,msp430具有低功耗、高性能和丰富的外设接口等特点,可以满足各种嵌入式系统的需求。
接着,我根据实验指导书的要求,准备好实验所需的硬件设备和软件工具。
第一部分实验是关于GPIO口的实验。
我按照实验指导书上的步骤,将msp430与LED灯连接起来,并编写了一个简单的程序,实现了对LED灯的控制。
通过这个实验,我学会了如何配置GPIO口和编写简单的控制程序。
第二部分实验是关于定时器的实验。
我学习了如何配置msp430的定时器,并编写了一个简单的程序,实现了定时闪烁LED灯的功能。
通过这个实验,我深入了解了定时器的工作原理和编程方法。
第三部分实验是关于ADC的实验。
我学习了如何配置msp430的ADC模块,并编写了一个简单的程序,实现了对外部模拟信号的采样和转换。
通过这个实验,我了解了ADC的基本原理和使用方法。
实验结果:通过一系列实验,我成功地掌握了msp430微控制器的基本功能和使用方法。
我能够独立完成GPIO口的配置和控制、定时器的配置和编程、ADC的配置和采样等任务。
实验结果表明,msp430具有强大的功能和灵活的编程能力,可以满足各种嵌入式系统的需求。
总结和展望:通过本次实验,我对msp430微控制器有了更深入的了解,并且掌握了一些基本的操作和编程技巧。
然而,由于实验时间和条件的限制,我还没有完全发挥出msp430的潜力。
msp430课程报告
不知不觉中,时光如白驹过隙般飞逝,一转眼,单片机课程的学习结束了。
在本次单片机的学习过程中,我不仅学习了单片机的理论知识,并将理论知识很好地应用到实践当中去,而且我还增强了自我创新意识,提高了动手实践能力。
在本次课程的学习中,我意识到知识的学习固然重要,能力的培养也不能忽视。
随着电子科学技术的发展,特别是随着大规模集成电路的迅猛发展,人们的生活发生了巨大的变化,生活水平显著提高,生活方式也逐步改变,使人们的生活更加便捷、舒适。
如果说微型计算机的出现给现代科学研究带来了质的飞跃,那么可编程控制器的出现则是现代工业控制测控领域的一次新的革命。
其中,单片的作用不容忽视。
单片机的应用范围很广,在工业自动化中应用有数据采集、测控技术等。
在智能仪器仪表中应用有数字示波器、数字信号源、自动取款机等。
在消费类电子产品中应用有空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。
在通讯方面应用有手机、小灵通等。
在武器装备方面应用有飞机、坦克、导弹、航天飞机、智能武器等。
单片机对现代生活的影响不言而喻了。
刚开始学习的时候,基本未接触过单片机,对单片机没有什么了解,不知道什么是单片机,更不知道它有什么作用。
通过本次课程的学习才大体了解了单片机的一些知识与应用。
知道了由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。
了解了什么是单片机以后,就开始接触硬件设备。
我学习了下列几个外设。
1.WDT俗称看门狗,是单片机非常重要的一个片内外设。
什么是看门狗呢?看门狗实际就是一个定时器,只不过在定时到达时,可以复位单片机。
这个功能对于实际工程应用中的产品非常有用。
2.JLX12864G-086 型液晶模块是晶联讯电子研发和制造的液晶屏模块。
该型液晶模块由于使用方便、显示清晰,广泛应用于各种人机交流面板。
该模块可选择带中文字库IC 与不带中文字库IC 两种。
MSP430单片机深入学习笔记
复位1.POR信号只在两种情况下产生:➢微处理器上电。
➢RST/NMI管脚被设置为复位功能,在此管脚上产生低电平时系统复位。
2.PUC信号产生的条件为:➢POR信号产生。
➢看门狗有效时,看门狗定时器溢出。
➢写看门狗定时器安全健值出现错误。
➢写FLASH存储器安全键值出现错误。
3.POR信号的出现会导致系统复位,并产生PUC信号。
而PUC信号不会引起POR信号的产生。
系统复位后(POR之后)的状态为:➢RST/MIN管脚功能被设置为复位功能。
➢所有I/O管脚被设置为输入。
➢外围模块被初始化,其寄存器值为相关手册上注明的默认值。
➢状态寄存器(SR)复位。
➢看门狗激活,进入工作模式。
➢程序计数器(PC)载入0xFFFE(0xFFFE为复位中断向量)处的地址,微处理器从此地址开始执行程序。
4.典型的复位电路有以下3种:(1)由于MSP430具有上电复位功能,因此,上电后只要保持RST/NMI(设置为复位功能)为高电平即可。
通常的做法为,在RST/NMI管脚接100kΩ的上拉电阻,如图1-5(a)所示。
(2)除了在RST/NMI管脚接100kΩ的上拉电阻外,还可以再接0.1μF的电容,电容的另一端接地,可以使复位更加可靠。
如图1-5(b)所示。
(3)由于MSP430具有极低的功耗,如果系统断电后立即上电,则系统中电容所存储的电荷来不及释放,此时系统电压不会下降到最低复位电压以下,因而MSP430不会产生上电复位,同时RST/NMI管脚上也没有足够低的电平使MSP430复位。
这样,系统断电后立即上电,MSP430并没有被复位。
为了解决这个问题,可增加一个二极管,这样断电后储存在复位电容中的电荷就可以通过二极管释放,从而加速电容的放电。
二极管的型号可取1N4008。
如图1-5(c)所示。
系统时钟振荡器:1.DCO 数控RC振荡器,位于芯片内部。
不用时可以关闭2.LFXT1 可以接低频振荡器,典型的如32.768kHz的钟表振荡器,此时振荡器不需要接负载电容。
430单片机个人总结
430单片机个人总结一 时钟部分(msp430f149单片机)1、关于XT2图12、关于XT1图2 3、关于MCLKPUC 信号之后,MCLK 来源于DCO 时钟信号(可以不设置,系统PUC 之后会有一个默认值),如果要设置MCLK 来源于XT1或者XT2,步骤如下:1、打开需要的晶体振荡器;(作为MCLK 的时钟源,而不是默认的DCO )2、清除OFIFG 标志位;XT2Sx=11、XT2OFF=0时,XT2来源于外部时钟信号,也就是可以直接在XT2IN 管脚上施加一个时钟信号,而不需要在XT2IN 和XT2OUT 上加时钟源 当在XIN 和XOUT 两端加低频晶振时,晶振之间可以不加电容,而通过单片机内部给其配置电容 当在XIN 和XOUT 两端加高频晶振时,晶振之间需要配置电容当LFXT1Sx=11、OSCOFF=0时,XIN 和XOUT 之间可以不加晶振,只需在XIN 管脚上施加一个时钟信号既可3、延时50us;4、测试OFIFG标志位。
若OFIFG=0,说明设置成功;若OFIFG=1,设置未成功,重复2~3步骤;程序如下BCSCTL1 &=~XT2OFF; // XT2 is ondo{IFG1 &=~OFIFG; // clear OSCFault flagfor(i=255;i>0;i--); // time for flag to set}while((IFG1 & OFIFG));BCSCTL2 |=SELM_2+DIVM_3; //f(mclk)=f(XT2)/8;二IO口部分(msp430f149单片机)430单片机的IO口都是复用的,除了做普通IO口用外,还可以作为片内外设用,图3所示为msp430g2553单片机的P1.6、P1.7管脚说明,可以发现P1.6管脚除了作为普通的IO 之外,还可以作为TA0.1、TCLK等用,那么应该如何选择这些管脚的功能呢?1、给寄存器PxSEL(图4)赋值,确定管脚是作为IO用,还是作为片内外设用,当PxSEL=0时,用作IO,当PxSEL=1时,用作片内外设;2、给寄存器PxDIR(图5)赋值,确定管脚的输出方向(作为IO时,用来设置是input还是output;作为片内外设时,用来设置是输出的片内外设还是输入的片内外设,如P1.6管脚用作片内外设时,TA0.1是输出,CA6是输入),当PxDIR=0时,用作输入,当PxDIR=1时,用作输出;图3图4三中断函数标准中断函数的格式为;#pragam vector=中断向量__interrupt void ISR(void){用户程序;}四低功耗模式进入低功耗程序模式为(以进入低功耗LPM0模式为例):_EINT();LPM0;以上两句程序等价为:_BIS_SR(LPM0_bits + GIE);那么退出低功耗程序为:LPM0_EXIT;五Flash操作(msp430f149单片机)Flash被划分成main memory和information memory,两者没有太大区别,只是两者的容量和物理地址不同。
msp430学习的深度解析和总结
msp430学习的深度解析和总结一、MSP430开发环境建立1.安装IAR dor msp430 软件,软件带USB仿真器的驱动。
2.插入USB仿真器,驱动选择安装目录的/drivers/TIUSBFET3.建立一个工程,选择"option"选项,设置a、选择器件,在"General"项的"Target"标签选择目标器件b、选择输出仿真,在"Linker"项里的"Output"标签,选择输出"Debug information for C-SPY",以输出调试信息用于仿真。
c、若选择"Other",Output下拉框选择"zax-m"即可以输出hex文件用以烧录,注意,此时仿真不了。
d、选择"Debugger"项的"Setup"标签,"Driver"下拉框选择"FET Debugger"e、选择"FET Debugger"项的"Setup"标签,"Connection"下拉框选择"Texas Instrument USB-I"4.仿真器的接口,从左到右分别为" GND,RST,TEST,VCC"二、IO口数字输入/输出端口有下列特性:每个输入/输出位都可以独立编程。
允许任意组合输入、输出。
P1 和P2 所有8 个位都可以分别设置为中断。
可以独立操作输入和输出数据寄存器。
可以分别设置上拉或下拉电阻。
在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
[MSP430学习笔记] 430加密总结
MSP430单片机常见加密总结1、为什么要加密,如何加密?当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被窃取。
2、JT AG、BSL、BOOTLOADER、熔丝的区别和关系是什么?JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。
BSL接口是利用芯片内部驻留的bootloader程序实现的自编程,通过特定的时序使得CPU进入bootloader代码断,然后利用每个MSP430芯片内部都有的Timer A构成一个软件串口来与上位机通讯,这样可以将代码下载到芯片内部。
实现BSL除了JTAG接口的一些引脚外,还需要用到两个TA0功能引脚,因此在设计产品时如果需要加密,则应该考虑将这两个引脚也连出来。
注意:A、要烧断熔丝(加密)必须使用JTAG接口;B、烧断熔丝后只能通过BSL 或者用户代码来实现编程更新。
3、BSL的验证密码是怎么回事?BSL也能读出芯片内部的代码,这样可以实现编程后的校验等功能。
通过BSL擦除所有Flash信息时不需要验证密码,但是要进一步操作,就得输入32字节密码进行验证。
BSL 的协议规定这32字节密码为芯片FLASH区域的最高32字节,也就是程序的16个中断向量,如果您拥有这段程序的最后32字节,就能通过BSL将芯片内部所有代码读取出来。
4、为什么要使用高级加密?32字节的密码看似几乎完全没可能使用穷举法来实现破解,但是各位别忘了,msp430的16个中断向量未必每一个都用到了,没用到的中断向量为0xffff,如果您的程序只用到了复位向量,那么破解者只需尝试最多32768次(中断向量为偶数,所以除以2)就能将其破解,另外,如果芯片本身Flash容量较小,比如4K字节,那么破解者只需尝试最多2K次就能将其破解。
430定时器学习心得(含五篇)
430定时器学习心得(含五篇)第一篇:430定时器学习心得Msp430单片机一共有5种类型的定时器。
看门狗定时器(WDT)、基本定时器(Basic Timer1)、8位定时器/计数器(8-bitTimer/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单⽚机编程思想总结(⼀)
1.主函数main()中;只调⽤初始化函数和执⾏后台程序;
2.中断服务⼦程序函数中不要去写“实质性”的代码。
只调⽤事件检测函数,提⾼程序的可读性
3.WDT 可以作为节拍定时器在单⽚机编程中具有重要意义;定时扫描轮询⽅法可以解决⼤量CPU阻塞问题
4.事件函数对于理解程序意图⾮常重要;集中放置“事件检测/处理”⽽不是跟着满世界“乱蹦的”中断去找事件函数,是⼗分⾼效的。
5.全局变量的使⽤要⾮常谨慎,全局变量往往是联系各关键函数的纽带,因此集中放置全局变量也是增加程序可读性的常⽤做法。
6.除了读写寄存器(包括改写IO输出),数学和逻辑运算外,CPU⼲其他的事例如长延时,死循环类型的查询属于阻塞CPU的⾏为,应该坚决避免
7.当CPU确定⽆任务需要执⾏时,休眠是最佳选择,正确运⽤各种等级的休眠(可唤醒)可以极⼤地降低单⽚机的功耗;
8.事件类函数命名为“xxx_Event”;全局变量“xxx_Global”单列⽂件⼗分有必要。
430单片机实验心得体会7篇
430单片机实验心得体会7篇430单片机实验心得体会篇1很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用c语言为单片机编程,既省时间,学起来又容易,提高速度会很快。
在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。
单片机的学习实践。
单片机提高重在实践,想要学好单片机,软件编程必不可少。
可是熟悉硬件对于学好单片机的也是十分重要的。
如何学习好硬件,动手实践是必不可少的。
我们能够经过自我动手做一个自我的电子制作,经过完成它,以提高我的对一些芯片的了解和熟练运用它。
这样我们就能够多一些了解芯片的结构。
我相信,你完成了一个属于自我的电子制作,你的单片机水平就会有一个质的提高。
这就是我学习单片机的心得体会,期望给单片机的爱好者学好单片机有所帮忙。
使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或c语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字io的使用使用按钮输入信号,发光二极管显示输出电平,就能够学习引脚的数字io功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,可是能够学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
第二步:定时器的使用学会定时器的使用,就能够用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,能够用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。
数字集成电路能够实现时序电路,可编程逻辑器件(pld)能够实现时序电路,可编程控制器(plc)也能够实现时序电路,可是仅有单片机实现起来最简单,成本最低。
msp430 实验报告
msp430 实验报告MSP430 实验报告引言:MSP430是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。
本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。
实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。
通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。
这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。
实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。
通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。
这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。
实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。
通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。
这个实验让我对MSP430的模拟信号处理有了更深入的了解。
实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。
通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。
这个实验让我掌握了MSP430与外部设备进行数据交互的方法。
结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。
MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。
通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。
未来展望:MSP430作为一款成熟的微控制器,具备广阔的应用前景。
大学实习报告-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就是其产品之一。
msp430G2553个人总结
MSP430G2553个人总结说明:本手册是个人总结,内部并不完整,内部总结仅供参考。
详情请下载详细数据手册查看总结者:meiger(勿删)一混合信号微处理器:1)特性:*低电源电压范围:1.8—3.6V*运行模式:230Ua(1Mhz,2.2V)*待机模式:0.5Ua*关闭模式:0.1UA*5种节能模式*1UA超快时间从待机模式唤醒*基本时钟模块~具有四种校准频率并高到16Mhz的内部频率~ 内部超低功耗(lf)震荡器~32Khz晶振~外部数字时钟源*两个16位Timer_A,分别即有三个捕捉/比较器寄存器*多达24个支持触摸感的io引脚*通用串口通信接口(USCI)~(uart)~lrda~spi~i2C*用于模拟信号比较或斜列模拟(A/D)比较器*带内部基准、采样与保持的自动扫面的10位AD采样器*欠压检测器*无需外部编译的电压二:MSP430G25553设备有引导加载器(1个)、嵌入式仿真器模块(1个)、闪存)(16)、RAM(512)、Tomer_A(2*TA3)、COMP_A通道(8)、10通道ADC(8)USCI A0/B0(1 )、时钟(LF DOC VLO) 、I/O(24)三:引脚图四:功能图五:端子功能看引脚图,图上标的的比价清楚,表格的看上去是比较难记住的,看引脚如不叫明朗。
六:CPU属性丛約操作模式:有六种操模式,一个运行模式及五种低功耗内模。
一个中断事件能够将器件从任一低功耗模式唤醒、处理请求、并在接收到来自中断程序的返回信号时恢复至低功耗模式•激活模式(AM)–所有时钟处于激活状态•低功耗模式0 (LPM0)–CPU 被禁用–ACLK 和SMCLK 仍然有效,MCLK 被禁用•低功耗模式1 (LPM1)–CPU 被禁用–ACLK 和SMCLK 仍然有效,MCLK 被禁用–如果DCO 不是在激活模式下被使用,则DCO 的dc 生成器被禁用•低功耗模式2 (LPM2)–CPU 被禁用–MCLK 和SMCLK 被禁用–DCO 的dc 生成器保持启用–ACLK 保持激活•低功耗模式3 (LPM3)–CPU 被禁用–MCLK 和SMCLK 被禁用–DCO 的dc 生成器保持启用–ACLK 保持激活•低功耗模式4 (LPM4)–CPU 被禁用–ACLK 被禁用–MCLK 和SMCLK 被禁用–DCO 的dc 生成器保持启用–晶体振荡器被停止七:外间文件映射(寄存器说明寄存器名称)1)ADC10(仅限MSP4320G2X53)ADC数据传输起始地址ADC10SAADC内存ADC10MEMADC控制寄存器1 ADC10CTL1ADC控制寄存器0 ADC10CTL02)Timer1_A3捕捉/比较寄存器TA1CCR2捕捉/比较寄存器TA1CCR1捕捉/比较寄存器TA1CCR0Timer_A寄存器TA1R捕捉/比较控制TA1CCTL2捕捉/比较控制TA1CCTL1捕捉/比较控制TA1CCTL0Timer_A控制TA1CTLTimer_A中断矢量TA1IV3)Timer0_A3捕捉/比较寄存器TA0CCR2捕捉/比较寄存器TA0CCR1捕捉/比较寄存器TA0CCR0Timer_A寄存器TA0R捕捉/比较控制TA0CCTL2捕捉/比较控制TA0CCTL1捕捉/比较控制TA0CCTL0 Timer_A控制TA0CTLTimer_A中断矢量TA0IV4)闪存闪存控制3 FCTL3闪存控制2 FCTL2闪存控制1 FCTL15)看门狗定时器+看门狗定时器控制位WDTTCL 6)USCI_B0USCI_B0发送缓冲器UCB0TXBUF USCI_B0接收缓冲器UCB0RXBUF USCI_B0状态UCB0STATUSCI_B0 I2C中断启动UCB0CIEUSCI_B0位速控制1 UCB0BR1USCI_B0位速控制0 UCB0BR0USCI_B0控制1 UCB0CTL1USCI_B0控制0 UCB0CTL0USCI_B0 I2C从地址UCB0SAUSCI_B0 I2C自由地址UCB0SA 7)USCI_A0USCI_A0发送缓冲器UCA0TXBUF USCI_A0接收缓冲器UCA0RXBUF USCI_A0状态UCA0STATUSCI_A0 I2C中断启动UCA0CIEUSCI_A0位速控制1 UCA0BR1USCI_A0位速控制0 UCA0BR0USCI_A0控制1 UCA0CTL1USCI_A0控制0 UCA0CTL0USCI_A0 I2C从地址UCA0SAUSCI_A0 I2C自由地址UCA0SA 8)ADC10ADC模拟启动1 ADC10AE1ADC模拟启动0 ADC10AE0ADC数据传输控制寄存器1 ADC10DTC1 ADC数据传输控制寄存器0 ADC10DTC0 9)Comparator_A+Comparator_A+端口禁用CAPDComparator_A+控制1 CACTL2Comparator_A+控制0 CACTL1 10)基础时钟系统+基本时钟控制3 BCSCTL3基本时钟控制2 BCSCTL2基本时钟控制1 BCSCTL1DCO时钟频率控制DCOCTL 11)端口P2端口P2选择2 P2SEL2端口P2电阻器使能P2REN端口P2选择P2SEL端口P2中断启动P2IE端口P2中断边沿选择P2IES端口P2中断标志P2IFG端口P2方向P2DIR端口P2输出P2OUT端口P2输入P2IN12)端口P1端口P1择2 P1EL2端口P1阻器使能P1REN端口P1选择P1SEL端口P1断启动P1IE端口P1边沿选择P1IES端口P1断标志P1IFG端口P1向P1DIR端口P1出P1OUT端口P1入P1IN13)特殊功能SFR中断标志2 IFG2SFR中断标志1 IFG1SFR 中断启动2 IE2SFR 中断启动1 IE1八、寄存器控制说明1):Timer_01):TACTLBITS 15----10没有用到BITS 9—8 时钟选择TASSELx00TACLK01ACLK10 SMCLK11 INCLK 是特定于设备的,通常是分配给倒TBCLKIDxBITS 7---6 输入分频器。
MSP430串口使用总结
CHAR:UxCTL Bit 4 Character length,7-bit or 8-bit character length 0:7-bit data 1:8-bit data SWRST:UxCTL Bit 0 Software reset enable 0:Disabled,USART reset released for operation 1:Eable,USART logic held in reset state } 4、3 UxTCTL(UTCTLx),USART Transmit Control Register { SSELx:Bits 5-4 Source select,These bits select the BRCLK source clock 00:UCLKI 01:ACLK 10:SMCLK 11:SMCLK } UxBR0,USART Baud Rate Control Register 0,低 8 位 UxBR1,USART Baud Rate Control Register 1,高 8 位 UxMCTL,USART Modulation Control Register UxMCTL Bits 7-0:Modulation bits, these bits select the modulation for BRCLK IFG1,Interrupt Flag Register 1 UTXIFG0: IFG1 Bit 7,USART0 transmit interrupt flag, UTXIFGO is set when UOTXBUF is 0:No interrupt pending//不挂起中断 1:Interrupt pending//等待中断处理 URXIFG0:IFG1 Bit 6 ,USART0 receive interrupt flag,URXIFG0 is set when U0RXBUF has received. 0:No interrupt pending 1:Interrupt pending 4、7 IE1,Interrupt Enable Register 1 UTXIE0 Bit 7,USART0 transmit interrupt enable.This bit enables the UTXIFG0 interrupt 0:Interrupt not enable 1:Interrupt enable URXIE0 Bit 6 USART0 receive interrupt enable.This bit enables the URXIFG0 interrupt 0:Interrupt not enable 1:Interrupt enable
我的msp430学习经验
我的msp430学习经验
1.首先你要知道msp430的存储器结构。
典型微处理器的结构有两种:冯。
诺依曼结构程序存储器和数据存储器统一编码;哈佛结构程序存储器和数据存
储器;msp430系列单片机属于前者,而常用的mcs51系列属于后者。
0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地
址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储
剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-
0x1100
2.复位信号是MCU工作的起点,430的复位型号有两种:上电复位信号POR和上电清楚信号PUC。
POR信号只在上电和RST/NMI复位管脚被设置
为复位功能,且低电平时系统复位。
而PUC信号是POR信号产生,以及其
他如看门狗定时溢出、安全键值出现错误是产生。
但是,无论那种信号触发
的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。
复位后的状态不写了,详见参考书,嘿嘿。
3.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和
中轴线。
430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ-8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。
MSP430学习总结
MSP430学习总结MSP430学习总结前言这次主要看的资料是MSP430F425型号的,与MSP430F169有点区别,但由于MSP430单片机采用模块化结构,在不同型号的单片机中,同一种模块的使用方法和寄存器都是相同的。
下面会对它们的功能和区别加以说明。
一、MSP430单片机的特点1、我觉得MSP430最大的特点就是超低功耗,430之所以能够在低功耗的条件下运行,主要是由于引入了“时钟系统”的概念,和采用模块化结构。
让CPU可以间歇性的工作,节省功耗。
在MSP430单片机中,通过时钟配置可以产生3种时钟:MCLK:主时钟,MCLK是专门为CPU运行提供的时钟,MCLK配置的越高,CPU执行的速度就越快。
一旦关闭MCLKE,CPU 就停止工作,所以在超低功耗中通过间接开启MCLK的方式降低功耗。
SMCLK:子系统时钟,为单片机内部某些高速设备提供时钟,并且SMCLK是独立于MCLK的,关闭MCLK让CPU停止工作,子系统SMCLK开启,仍然可以使外设继续工作。
ACLK:活动时钟;ACLK一般是由32.768KHz晶振直接产生的低频时钟,在单片机运行时一般不关闭,和定时器使用间接唤醒CPU。
时钟系统对于3种时钟不同程度的关闭,就可以进入不同的低功耗模式(低功耗在下面讨论)。
2、MSP430单片机采用模块化结构,每一种模块都具有独立而完整的结构,这样就可以单独开启或者关闭某些模块,只需要激活某些使用的模块,以节省电力。
3、MSP430单片机的内核是16位RISC处理器,其运算能力和速度都具有一定的优势。
MSP430还有其它的一些优势在这里就不一一列举了。
二、MSP430单片机的内部资源1、I/O口寄存器PxIN: Px口输入寄存器PxOUT: Px口输出寄存器PxDIR : Px口方向寄存器 0=输入 1=输出PxSET: Px口第二功能选择寄存器 0=普通I/O 1=第二功能使用总结:以上的4个寄存器是所有I/O都具有的,在使用I/O 口之前首先要设置PxDIR,对于要使用第二功能的还要设置PxSET 下面介绍的是430中P1,P2口引发中断需要设置的寄存器(MSP430单片机只有P1、P2口能引发中断)PxIE : Px口中断允许寄存器 0=不允许 1=允许PxIES : Px口中断沿选择寄存器0=上升沿1=下降沿PxIFG :Px口中断标志位寄存器 0=中断条件不成立1=中断条件曾经成立(说明:无论中断是否被允许,也不论是否正在执行中断服务程序,只要I/O满足中断条件,PxIFG的相应位就会置1,只能通过软件清除,这个可以用来判断哪一位I/O发生了中断,也不会漏掉每一次中断。
MSP430单片机学习心得总结
MSP430单片机学习心得总结第一篇:MSP430单片机学习心得总结改变CCS字体方法:perferance>General>Apperance>Colors and Fonts >Basic>Text Font将c语言编译成汇编语言之后执行。
如果c语言结构不好,则编译后会出现编译成汇编后代码冗余,使得执行效率不高。
板子有可能与电脑连接出问题,可以拔下重插一次。
在单片机内部flash存储空间有剩余时,可以用于数据存储空间,并且可以使用单片机程序进行数据管理。
POR PUC是复位信号看门狗定时器溢出发生复位复位时设置如下:1.RAM堆栈的指针指到最顶端2.初始化看门狗3.初始化外设 GIE 是总中断具有欠压复位功能工作电流小于20UA 待机电流小于0.8UA 4个特殊功能寄存器 R0是PC指针 R1是堆栈指针 R2是状态寄存器 R3是常数发生器12个通用寄存器R4-R15 27条内核指令 24条仿真指令 7中地址模式无累加器三个时钟:ACLK辅助时钟:频率较低,低速外设MCLK是主时钟,CPU运行的时钟,高频 SMCLK是次主时钟,高速外设DCO是数字震荡控制器1M 8M 12M 16M共4个级别,可以通过内置数据进行设置内置VLO低频振荡器,频率为4-20khz。
所以可以通过DCO进行分频Timer_A频率可达系统振荡频率,用于定时器时,最小单位时间是20ns 2553的电阻有0~15共16中。
用RSEL选择。
RSEL与DCO配合,值越大频率越大。
LF是外接时钟USART支持UART、SPI 共2种通讯方式 USCI支持 UART、I2C、SPI 共3种通讯方式关于变量:static变量是对于局部变量而言,如果不定义成静态变量,则每次执行时都会被重新初始化,静态变量则不重新初始化。
全局变量和静态变量是存储在RAM中的。
extern是外部变量,即将一个文件中的变量在另一个文件中使用。
MSP430开发总结
MSP430开发总结1.#i nclude 指要在编辑器设定目录下,#i nclude”“指的是在当前工程目录下。
2.要调用另一个文件中的函数,要把这个函数文件放到当前工程目录下,并且在工程中添加此文件。
3.命名中不能有-,比如:byq-ee 会认为是错误的,要用下划线。
4.用IAR 软件仿真时,可以加入变量,如果是查看I/O 信息只需加入PXIN,PXOUT 即可。
5.IAR 在处理字符时,要注意,是字符处理结尾标志,他和其他编辑软件是不同的。
比如我们长用字符处理回自动在结尾处加,但IAR 有些是不加的,这就要十分注意。
6.如果只用到LFX1 的低速时钟,9600bit/s 传输的话,接收会出现问题,原因是误差太大,可以设置到4800 以下。
7.在写FLASH 时要注意其工作频率在257K~476k 之间,如果不是,则会出现错误。
而且FLAGH 只能写入0,这样就出现了必须先擦除在写入的模式。
8.当IO 口作为输入时,要根据平时的状态加电阻,平时为高时,加个上拉电阻,平时为低时加个下拉电阻以增加稳定性。
9.在FLASH 写时一定要关外部中断。
10.MSP430 一般是不要RC 复位的,一般只要接个100K 左右电阻就可以了,如果要加电容,它的大小要根据以下两个标准选择:下载程序不会出现下载不了或者程序上电会能稳定复位。
11.用&表达式作为判断时,不要忘记加括号。
12.不要使用中断嵌套。
13.MSP430 高低电平的阈值:低电平输入电压min: vss max:vss+0.6 高电平输入电压min: 0.8vcc max:vcc14.PxREN 是用在输入时的,比如你做按钮,按钮是接地有效的就用上拉,按钮是接VCC 有效的就用下拉,但是使用REN 时OUT 是控制拉的方向的,OUT=1 为上拉,OUT=0 为下拉,REN=0 时,OUT 不响应,DIR 为0 时REN。
MSP430学习总结(含远程升级方案)
MSP430学习MSP430系列咩有自带IAP功能的特点,必须自行编写IAP程序来进行片内Flash的烧写,才能达到省级的目的。
系统构思:需要升级的二进制文件下载到相应的地址空间,然后让单片机系统自动执行IAP 升级。
MSP430F149是在片内flash中运行。
1.下载升级文件到相应的外扩flash中。
2.从片外flash中编写到片内flash中(从0x1100开始至0xffff)3.编写引导程序,讲程序拷贝到相应的RAM空间(0x0200)中,并将PC指向0x200。
用户指南:如何使用这些寄存器。
数据手册:看电气特性,引脚等等xcl文件。
该文件在安装目录的IAR Systems\Embedded Workbench 5.4 Evaluation\430\config中。
CTRL+K 快注释,屏蔽选中的代码;CTRL+SHIFT+K 取消快注释,取消屏蔽选中的代码;CTRL+SHITF+F 全局搜索,有可能是因为搜狗输入法占用了快捷键而不行!生成下载文本147与149空间对比4系列的可以直接驱动段氏的液晶,1系不可以。
硬件结构MSP:mix signal processor混合信号处理器。
MSP430F149:F表示储存器是flash,14代表ADC是12位,9代表储存容量60kDSP 或者ARM成本比较高,单片机也有自己的生存空间。
MSP430可以进行片内flash自编程。
三个时钟单元MCLK/ACK/SMCLK内部集成Hardware Multiplier硬件乘法器,运算会更快,51单片机则没有!所以做一次运算会花很多个时钟周期!四种低功耗模式!降低时钟,LPM0:active模式下,哪些模块需要打开,可以由用户确定!LPM1:MCLK(主系统时钟)关掉,CPU则停止工作,ACLK(辅助系统时钟)和SMCLK(子系统四中模式消耗的电流设置CPUOFF/SCG0/SCG1---进入不同的低功耗级别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MSP430学习总结前言这次主要看的资料是MSP430F425型号的,与MSP430F169有点区别,但由于MSP430单片机采用模块化结构,在不同型号的单片机中,同一种模块的使用方法和寄存器都是相同的。
下面会对它们的功能和区别加以说明。
一、MSP430单片机的特点1、我觉得MSP430最大的特点就是超低功耗,430之所以能够在低功耗的条件下运行,主要是由于引入了“时钟系统”的概念,和采用模块化结构。
让CPU可以间歇性的工作,节省功耗。
在MSP430单片机中,通过时钟配置可以产生3种时钟:MCLK:主时钟,MCLK是专门为CPU运行提供的时钟,MCLK配置的越高,CPU执行的速度就越快。
一旦关闭MCLKE,CPU 就停止工作,所以在超低功耗中通过间接开启MCLK的方式降低功耗。
SMCLK:子系统时钟,为单片机内部某些高速设备提供时钟,并且SMCLK是独立于MCLK的,关闭MCLK让CPU停止工作,子系统SMCLK开启,仍然可以使外设继续工作。
ACLK:活动时钟;ACLK一般是由32.768KHz晶振直接产生的低频时钟,在单片机运行时一般不关闭,和定时器使用间接唤醒CPU。
时钟系统对于3种时钟不同程度的关闭,就可以进入不同的低功耗模式(低功耗在下面讨论)。
2、MSP430单片机采用模块化结构,每一种模块都具有独立而完整的结构,这样就可以单独开启或者关闭某些模块,只需要激活某些使用的模块,以节省电力。
3、MSP430单片机的内核是16位RISC处理器,其运算能力和速度都具有一定的优势。
MSP430还有其它的一些优势在这里就不一一列举了。
二、MSP430单片机的内部资源1、I/O口寄存器PxIN: Px口输入寄存器PxOUT: Px口输出寄存器PxDIR : Px口方向寄存器 0=输入 1=输出PxSET: Px口第二功能选择寄存器 0=普通I/O 1=第二功能使用总结:以上的4个寄存器是所有I/O都具有的,在使用I/O 口之前首先要设置PxDIR,对于要使用第二功能的还要设置PxSET下面介绍的是430中P1,P2口引发中断需要设置的寄存器(MSP430单片机只有P1、P2口能引发中断)PxIE : Px口中断允许寄存器 0=不允许 1=允许PxIES : Px口中断沿选择寄存器 0=上升沿 1=下降沿PxIFG : Px口中断标志位寄存器 0=中断条件不成立1=中断条件曾经成立(说明:无论中断是否被允许,也不论是否正在执行中断服务程序,只要I/O满足中断条件,PxIFG的相应位就会置1,只能通过软件清除,这个可以用来判断哪一位I/O发生了中断,也不会漏掉每一次中断。
使用总结:在使用I/O中断之前,需要将I/O设置成输入状态,并允许I/O的中断。
在通过PxSET设置触发方式。
程序框架:#include<msp430x16x.h>void main(void) // 主函数{WDTCTL=WDTPW+WDTHOLD; //停止看门狗P1DIR &=~(BIT0+BIT1+BIT2); //P1.0、P1.1、P1.2设置为输入P1IES |=BIT0+BIT1+BIT2; // P1.0、P1.1、P1.2设置为下降沿中断P1IE |=BIT0+BIT1+BIT2; //允许 P1.0、P1.1、P1.2中断_EINT(); //允许总中断while(1){;}}#pragma vector=P0RT1_VECTOR // P1口中断源__interrupt void P1_ISR(void) // 声明一个中断服务程序,P1_ISR(){If(P1IFG&BIT0) //判断P1.0中断标志{………..………. //这里写P1.0的中断处理程序}If(P1IFG&BIT1) //判断P1.1中断标志{………..………. //这里写P1.1的中断处理程序}If(P1IFG&BIT0) //判断P1.2中断标志{………..………. //这里写P1.2的中断处理程序}P1IFG=0; // 清除P1所有中断标志位}2、低功耗模式MSP430系列单片机具有5种不同深度的低功耗休眠模式。
在空闲时,通过不同程度的休眠,将内部各个模块尽可能的被关闭,从而降低功耗。
低功耗模式0(LMP0):在此模式下,只有MCLK时钟被禁止,结果是关闭CPU,SMCLK和ACLK仍然有效,且SMCLK和ACLK之间的倍频关系仍然成立,相应的模块也会继续工作,CPU关闭后程序不在运行,直到被中断唤醒或者复位,所以进入任何一个低功耗模式之前必须设置好CPU的中断条件,等待被唤醒,否则程序将永远停止。
低功耗模式1(LMP1):在此模式下,不仅MCLK时钟被禁止,倍频环路也被关闭,结果CPU被关闭,ACLK仍有效,但是SMCLK和ACLK之间的倍频关系不在成立,SMCLK只能作为一个粗略的时钟来用。
低功耗模式2(LMP2):在此模式下,不仅MCLK时钟被禁止,DC发生器(数字时钟)也被关闭,仅打开倍频环路和ACLK,该模式一般不用,建议用更低功耗LMP3代替。
低功耗模式3(LMP3):在此模式下,只有ACLK打开,MCLK和SMCLK都被停止,该模式下功耗仅有1uA。
低功耗模式4(LMP4):在此模式下,ACLK,MCLK和SMCLK都被停止,单片机内部所有的模块都将停止工作,只能依靠外部中断唤醒CPU,该模式下功耗仅有0.1uA。
与低功耗相关的内部函数:__low_power_mode_0();或LPM0;// 进入低功耗模式0__low_power_mode_1();或LPM1;// 进入低功耗模式1__low_power_mode_2();或LPM2;// 进入低功耗模式2__low_power_mode_3();或LPM3;// 进入低功耗模式3__low_power_mode_off_on_exit(); // 退出时唤醒CPU3、Basic Timer基础定时器(MSP430F425有,而MSP430F169没有)Basic Timer基础定时器总共有5个控制位1、BTDIV:预分频选择 0=无预分频 1=256分频(位于BTCTL 寄存器)2、BTSSEL:时钟源选择 0=ACLK 1=SMCLK(位于BTCTL 寄存器)BTDIV=1时,该位无效,时钟选择为ACLK/256 3、BTHOLD:Basic Timer 停止 0=正常运行 1=停止运行(位于BTCTL寄存器)4、BTIPx:Basic Timer 中断频率选择(位于BTCTL寄存器)5、BTFREQx:设置Basic Timer 为LCD提供的刷新频率(位于BTCTL寄存器)Basic Timer中断1、BTIE:Basic Timer 中断允许位 0=禁止 1=允许(位于IE2寄存器)2、BTIFG:Basic Timer 中断标志位 0=无中断发生 1=中断发生(位于IE2寄存器)下面以一个程序框图来说明Basic Timer和低功耗模式/********************************************************** 要求是P1.5接有按键(按下为低电平),P2.0输出至LED, 当按键按下时LED亮,按键松开LED灭。
传统的程序可能就是CPU一直对I/O口扫描,这样耗电很大,看下面的程序利用Basic Timer和低功耗模式来做*****************************************************/ #include<msp430x16x.h>void main(void) // 主函数{WDTCTL=WDTPW+WDTHOLD; //停止看门狗P1DIR &=~BIT5; //P1.5设置为输入P2DIR |= BIT0; //P2.0设置为输出BTCTL=BT_ADLY_8 ; // Basic Timer时钟选为ACLK,设为8毫秒中断一次IE2 |=BTIE; //允许Basic Timer中断_EINT(); //允许总中断while(1){LMP3;//进入低功耗模式3,等待被唤醒/* If((P1IN&BIT5)==0)P2OUT |=BIT0; //按键按下,点亮LEDelseP2OUT &=~BIT0; //按键松开,关闭LED */}}#pragma vector=BASICTIMER_VECTOR // Basic Timer 中断源__interrupt void BT_ISR(void) //声明一个中断服务程序,BT_ISR(),8毫秒中断一次{If((P1IN&BIT5)==0)P2OUT |=BIT0; //按键按下,点亮LEDelseP2OUT &=~BIT0; //按键松开,关闭LED// __low_power_mode_off_on_exit(); // 退出时唤醒CPU} //退出中断保持休眠状态4、16位定时器Timer _A在MSP430单片机中都有一个16位定时器Timer _A(简称TA)用于精确定时、计数,在普通的定时/计数上还曾加了3路捕获/比较模块,能够在CPU不干预的情况下自动根据触发条件定时器计数值,或自动产生各种输出波形(如PWM调制、单稳态脉冲)Timer _A定时器分为两个部分:主计数器和比较/捕获模块。
主计数器负责定时,计数。
计数值(TAR寄存器的值)被送到各个比较/捕获模块中,它们无需CPU干预的情况下根据触发条件与计数器的值自动完成某些测量和输出功能,如PWM调制,测量脉宽、周期等应用。
Timer _A定时器中的主计数器相关的控制位都位于TACTL寄存器中,主计数器的计数值存放在TAR寄存器中。
每个比较/捕获模块还有一个独立的控制寄存器TACCTLx,以及一个比较/捕获值寄存器TACCRx(x=0、1、2),在一般定时应用中,TACCRx可以提供额外的定时中断触发条件,在PWM输出模式下,TACCRx用于设定周期与占空比,在捕获模式下,TACCRx存放捕获结果。
主计数器相关控制位TASSELx:Timer _A计数器的时钟源选择(位于TACTL寄存器)TASSEL_0:外部管脚 TASSEL_1:ACLKTASSEL_2: SMCLK TASSEL_3:外部管脚(取反)IDx:Timer _A计数器的预分频处理(位于TACTL寄存器)ID_0:无分频 ID_1:2分频ID _2:4分频 ID _3:8分频TACLR:Timer _A计数器清零控制位(位于TACTL寄存器)0=不清零 1=清零MCx:Timer _A计数器的计数模式(位于TACTL寄存器)MC_0:停止 MC_1:曾计数MC_2:连续曾计数 MC_3:曾-减计数(说明:曾计数就是每个时钟周期值TAR加1,当TAR值超过TACCR0寄存器的值时会自动清零,并且不存在初值装载问题,当TA中断被允许的时候,回引发中断;连续曾计数就是TAR加1一直加到0xFFFF 后清零,连续曾计数一般在捕获模式下用的较多,曾-减计数是TAR 从0开始曾加到TACCR0,然后自动切换到递减模式,减到0后又恢复递增,从1减到0时产生中断)TAIFG:Timer _A计数器溢出标志(中断标志)(位于TACTL寄存器) 0=未发生溢出 1=曾发生溢出Timer _A定时器的捕获模块在捕获模式下,用某个指定的管脚(TAx管脚)的输入电平跳变来触发捕获电路;将此刻主计数器的值自动的保存到相应的捕获值寄存器中,此过程无需CPU干预,可用于测频率、周期,占空比等CAP:Timer _A比较/捕获模块工作模式选择(位于TACCTL0/1/2寄存器)0=比较模式 1=捕获模式CCISx:Timer _A捕获模块的捕获源选择(位于TACCTL0/1/2寄存器)CCIS_0:CCIxA管脚 CCIS_1:CCIxB管脚CCIS_2:GND CCIS_3:VCCCMx: Timer _A捕获模块的捕获触发沿选择(位于TACCTL0/1/2寄存器)CM_0:禁止捕获 CM_1:上升沿CM_2:下降沿 CM_3:上升沿活下降沿COV:Timer _A捕获模块捕获溢出标志(位于TACCTL0/1/2寄存器) 0=未发生溢出 1=发生了溢出SCS:Timer _A捕获模块的同步捕获控制位(位于TACCTL0/1/2寄存器)0=异步捕获 1=同步捕获/********************************************************** 要求捕获3路信号,P1.0输入的方波上升沿捕获,P1.2输入的方波下降沿捕获,P2.0输入的方波上下沿捕获,主计数器用ACLK做时钟,连续计数模式**********************************************************/ TACTL |=TASSEL_1+ID_0+MC_2; // 主计数器ACLK做时钟,无分频,连续计数模式TACCTL0 |=CAP+CCIS_0+CM_1+SCS; // 捕获模式0,外部输入,上升沿同步捕获TACCTL1 |=CAP+CCIS_0+CM_2+SCS; // 捕获模式1,外部输入,下降沿同步捕获TACCTL2 |=CAP+CCIS_0+CM_3+SCS; // 捕获模式2,外部输入,双沿同步捕获P1DIR &=~(BIT0+BIT2); // P1.0与P1.2方向设为输入P2DIR &=~ BIT0; // P2.0方向设为输入P1SEL |=(BIT0+BIT2);// 将P1.0与P1.2的第二功能激活P2SEL |= BIT0;// 将P2.0的第二功能激活Timer _A定时器的比较模块OUTMODEx: Timer _A比较模块的输出模式控制(位于TACCTL0/1/2寄存器)(说明:一共有8种输出模式,在这里不一一列出。