温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
MSP430
系列
功耗
16
单片机
原理
应用
200220041华东师范大学计算机科学技术系华东师范大学计算机科学技术系DEP.OF COMPUTER SCIENCEEAST DEP.OF COMPUTER SCIENCEEAST CHINZ NORMAL UNIVERSITYCHINZ NORMAL UNIVERSITYMSP430系列超低功耗16位单片机原理与应用http:/MSP430-20022004-2?概述?MSP430单片机结构?MSP430指令系统与程序设计?MSP430单片机片内外围模块?MSP430单片机应用MSP430-20022004-3概述概述?单片微型计算机?单片机的概念?单片机的特点?单片机的应用?MSP430系列单片机?MSP430系列单片机的特点?MSP430系列单片机的发展与应用?MSP430应用选型?MSP430系列单片机命名规则?MSP430系列单片机选项?思考题与习题MSP430-20022004-4微处理器的发展微处理器的发展?一是朝着面向数据运算、信息处理等功能的系统机方向发展。系统机以速度快、功能强、存储量大、软件丰富、输入/输出设备齐全为主要特点,采用高级语言编程,适用于数据运算、文字信息处理、人工智能、网络通信等场合。?另一方面,在一些应用领域中,如智能化仪器仪表、电讯设备、自动控制设备、汽车乃至家用电器等,要求的运算、控制功能相对并不很复杂,但对体积、成本、功耗等的要求却比较苛刻。为适应这方面的需求,产生了一种将中央处理器、存储器、I/O接口电路以及连接它们的总线都集成在一块芯片上的计算机,即所谓的单片微型计算机,简称单片机(Single Chip Microcomputer)。单片机在设计上主要突出了控制功能,调整了接口配置,在单一芯片上制成了结构完整的计算机,因此,单片机也称为微控制器(MCU)MSP430-20022004-5单片机的特点单片机的特点?小巧灵活、成本低、易于产品化,它能方便地组装成各种智能式控制设备以及各种智能仪器仪表。?面向控制,能针对性地解决从简单到复杂的各类控制任务,因而能获得最佳性能价格比。?抗干扰能力强,适应温度范围宽,在各种恶劣环境下都能可靠地工作,这是其他机型无法比拟的。?可以很方便地实现多机和分布式控制。使整个系统的效率和可靠性大为提高。MSP430-20022004-6单片机的应用单片机的应用?工业控制:单片机的结构特点决定了它特别适用于各种控制系统。它既可以作单机控制器,有可作为多级控制的前沿处理机用于控制系统,应用领域相当广泛。例如:用于各种机床控制、电机控制、工业机器人、各种生产线、各种过程控制、各种检测系统等。在军事工业中:导弹控制、鱼类制导控制、智能武器装置、航天导航系统等。在汽车工业中:点火控制、变速器控制、防滑刹车、排气控制等。?智能化的仪器仪表:单片机用于包括温度、湿度、流量、流速、电压、频率、功率、厚度、角度、长度、硬度、元素测定等和各类仪器仪表中,使仪器仪表数字化、智能化、微型化,功能大大提高。?日常生活中的电器产品:单片机可用于电子秤、录像机、录音机、彩电、洗衣机、高级电子玩具、冰箱、照相机、家用多功能报警器等。?计算机网络与通信方面:单片机可用BIT BUS、CAN、以太网等构成分布式网络的系统,还可以用于调制解调器、各种智能通信设备(例如小型背负式通信机、列车无线通信等)、无线遥控系统等。?计算机外部设备:单片机可以用于温氏硬盘驱动器、微型打印机、图形终端、CRT显示器等。MSP430-20022004-7MSP430系列单片机特点系列单片机特点?超低功耗超低功耗?强大的处理能力强大的处理能力?高性能模拟技术及丰富的片上外围模块高性能模拟技术及丰富的片上外围模块?系统工作稳定系统工作稳定?方便高效的开发环境方便高效的开发环境MSP430-20022004-8MSP430系列单片机命名规则系列单片机命名规则MSP430-20022004-9第一章习题第一章习题?微处理器的发展方向是什么??单片机的概念是什么??单片机和我们通常所用的微型计算机有什么区别和联系??单片机常见的领用领域有哪些??如何理解MSP430系列单片机的“单片”解决能力??MSP430系列单片机最显著特性是什么??如何理解MSP430系列单片机的低功耗特性??为什么MSP430系列单片机特别适用于电池供电和手持设备??如何理解MSP430系列单片机的强大处理能力?在开发环境方面,MSP430系列单片机和传统单片机相比,有哪些显著优势??构成MSP430系列单片机的各类存储器有什么特点?各自适用于哪些场合??MSP430系列单片机应用选型的依据是什么?MSP430-20022004-10MSP430单片机结构单片机结构?MSP430单片机结构概述?MSP430系列产品?无LCD驱动系列产品?有LCD驱动系列产品?MSP430 CPU结构和特点?MSP430存储器和地址空间?程序存储器?数据存储器?外围模块寄存器?思考题与习题MSP430-20022004-11MSP430结构结构?16位CPU通过总线连接到存储器和外围模块。?直接嵌入仿真处理,具有JTAG接口。?能够降低功耗,降低噪声对存储器存取的影响。?16位数据宽度,数据处理更为有效。MSP430-20022004-12MSP430系列单片机包含以下主要功能部件:系列单片机包含以下主要功能部件:?CPU:MSP430系列单片机的CPU和通用微处理器基本相同,只是在设计上采用了面向控制的结构和指令系统。MSP430的内核CPU结构是按照精简指令集和高透明的宗旨而设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的仿真指令。这样可以提高指令执行速度和效率,增强了MSP430的实时处理能力。?存储器存储器:存储程序、数据以及外围模块的运行控制信息。有程序存储器和数据存储器。对程序存储器访问总是以字形式取得代码,而对数据可以用字或字节方式访问。其中MSP430各系列单片机的程序存储器有ROM、OTP、EPROM和FLASH型。?外围模块外围模块:经过MAB、MDB、中断服务及请求线与CPU相连。MSP430不同系列产品所包含外围模块的种类及数目可能不同。它们分别是以下一些外围模块的组合:时钟模块、看门狗、定时器A、定时器B、比较器A、串口0、1、硬件乘法器、液晶驱动器、模数转换、数模转换、端口、基本定时器、DMA控制器等。MSP430-20022004-13MSP430X11X系列系列MSP430-20022004-14MSP430X12X系列系列MSP430-20022004-15MSP430X13X系列系列MSP430-20022004-16MSP430X14X系列系列MSP430-20022004-17MSP430F15X/F16(1)X 系列系列MSP430-20022004-18MSP430F15X/F16(1)X 系列系列MSP430-20022004-19MSP430X41X系列系列MSP430-20022004-20MSP430F43X系列系列MSP430-20022004-21MSP430F44X系列系列MSP430-20022004-22MSP430 CPU的主要特征的主要特征?精简指令集高度正交化?寄存器资源丰富?寄存器操作为单周期?16位地址总线?常数发生器?直接的存储器到存储器访问MSP430-20022004-23MSP430存储器结构和地址空间存储器结构和地址空间MSP430-20022004-24本章小结本章小结?在结构上MSP430系列单片机集成了一部计算机的各个基本组成部分。虽然其工作原理与普通微机并无差异,但MSP430系列单片机在结构上更加突出了体积小、功能强、面向控制的特点,具有很高的性能价格比。?MSP430系列单片机由CPU、存储器和外围模块组成,这些部件通过内部地址总线、数据总线和控制总线相连构成单片微机系统。?MSP430的内核CPU结构是按照精简指令集的宗旨来设计的。具有丰富的寄存器资源、强大的处理控制能力和灵活的操作方式。?MSP430的存储器结构采用了统一编址方式,可以使得对外围模块寄存器的操作象普通的RAM单元一样方便、灵活。MSP430存储器的信息类型丰富,并具有很强的系统外围模块扩展能力。MSP430-20022004-25思考题与习题思考题与习题?1.MSP430系列FLASH型单片机有什么优势??2.MSP430X1XX系列单片机的主要特征是什么??3.MSP430X4XX系列单片机的主要特征是什么??4.MSP430X1XX和MSP430X4XX系列单片机有什么区别和联系??5.MSP430F15/16X和其他型号系列单片机相比有哪些特点??6.MSP430F15X和MSP430F16X有什么区别和联系??7.单片机和典型微型计算机在结构上有什么区别??8.MSP430系列单片机内部包含哪些主要功能部件??9.MSP430系列单片机的CPU有哪些“面向控制”的特性??10.MSP430系列单片机的CPU寄存器有什么特点?应该如何正确应用??11.MSP430系列单片机的直接寻址能力为多少字节??12.MSP430系列单片机CPU状态寄存器的作用是什么?各位的含义是什么??13.MSP430系列单片机CPU常数发生器的作用是什么??14.MSP430系列单片机存储器的组织方式是什么??15.MSP430系列单片机存储器的组织方式与CPU的RISC结构有什么关系??16.为什么说MSP430系列单片机还有很大的系统外围模块扩展能力??17.MSP430系列单片机具有怎样的中断处理能力??18.MSP430系列单片机数据存储器的最低地址是什么?程序存储器的最高地址是什么??19.程序存储器一般用来存储哪几类信息?各类信息的含义是什么??20.数据存储器由那些部分组成?这些部分分别用来存储什么类型的数据??21.外围模块寄存器所对应的存储单元在操作上和普通RAM单元有什么区别和联系??22.MSP430内部数据总线有那些形式?这么安排有什么好处??23.MSP430系列FLASH型单片机的串行在线可编程的含义是什么?MSP430-20022004-26MSP430指令系统与程序设计指令系统与程序设计?指令系统概述?寻址方式?指令系统介绍?数据传送类指令?数据运算类指令?逻辑操作指令?位操作指令?跳转与程序流程的控制类指令?程序设计?程序设计基础?汇编语言程序设计?C语言程序设计?思考题与习题MSP430-20022004-27MSP430单片机片内外围模块单片机片内外围模块?时钟模块?低功耗结构?MSP430各种端口?定时器?MSP430液晶驱动模块?硬件乘法器?FLASH存储器模块?比较器A?DMA控制器?MSP430系列通用串行通信模块的异步模式?MSP430系列通用串行通信模块的同步模式?MSP430系列通用串行通信模块的I2C模式?MSP430模数转换模块?MSP430数模转换模块?思考题与习题MSP430-20022004-28MSP430单片机应用单片机应用?MSP430常用接口设计?键盘接口?LED显示接口?液晶显示接口?常用LED驱动功率接口?继电器型驱动接口?MSP430片内外围模块应用?定时器?比较器?SPI同步操作?A/D D/A 和DMA?MSP430单片机应用设计举例?自校准变频电源?超低功耗手持式电子斜度计/加速度计?思考题与习题MSP430-20022004-29时钟模块时钟模块时钟输入源:时钟输入源:时钟输入源:时钟输入源:LFXT1CLK LFXT1CLK LFXT1CLK LFXT1CLK 低频时钟源低频时钟源低频时钟源低频时钟源XT2CLK XT2CLK XT2CLK XT2CLK 高频时钟源高频时钟源高频时钟源高频时钟源DCOCL DCOCL 数字控制数字控制数字控制数字控制RCRC振荡器振荡器振荡器振荡器时钟输出信号时钟输出信号时钟输出信号时钟输出信号ACLK ACLK 辅助时钟辅助时钟辅助时钟辅助时钟MCLKMCLK主系统时钟主系统时钟主系统时钟主系统时钟SMCLKSMCLK子系统时钟子系统时钟子系统时钟子系统时钟慢速外设慢速外设慢速外设慢速外设CPUCPU和和和和系统系统系统系统快速外设快速外设快速外设快速外设MSP430-20022004-30振荡器控制逻辑振荡器控制逻辑LFXT1LFXT1振荡器控制振荡器控制振荡器控制振荡器控制逻辑逻辑逻辑逻辑XT2XT2振荡器控振荡器控振荡器控振荡器控制逻辑制逻辑制逻辑制逻辑DCODCO振荡器振荡器振荡器振荡器控制逻辑控制逻辑控制逻辑控制逻辑MSP430-20022004-31DCO频率的调节频率的调节MSP430-20022004-32基础时钟模块工作方式和相关寄存器设置基础时钟模块工作方式和相关寄存器设置例1设MCLK=XT2,SMCLK=DCOCLK,将MCLK由P5.4输出。(MSP430X14X中引脚P5.4和MCLK复用)。实现上述功能的程序如下:#include void main(void)unsigned int i;WDTCTL=WDTPW+WDTHOLD;/停止看门狗P5DIR|=0 x10;/P5.4 输出P5SEL|=0 x10;/P5.4 用作MCLK输出BCSCTL1&=XT2OFF;/XT2有效do IFG1&=OFIFG;/清除振荡器失效标志for(i=0 xFF;i 0;i-);/稳定时间while(IFG1&OFIFG)!=0);/如果振荡器失效标志存在BCSCTL2|=SELM1;/MCLK=XT2 for(;);MSP430-20022004-33根据实际连接情况,确定根据实际连接情况,确定ACLK、SMCLK和和MCLK时钟源。时钟源。ACLK:ACLK:LFTX1(32768)LFTX1(32768)MCLK:MCLK:DCOCLKDCOCLK或者或者或者或者LFTX1LFTX1SMCLK:SMCLK:DCOCLKDCOCLK或者或者或者或者LFTX1LFTX1ACLK:ACLK:0 0MCLK:MCLK:DCOCLKDCOCLKSMCLK:SMCLK:DCOCLKDCOCLKACLK:ACLK:LFTX1(LFTX1(高频模式高频模式高频模式高频模式)MCLK:MCLK:DCOCLKDCOCLK或者或者或者或者LFTX1(LFTX1(高频模式高频模式高频模式高频模式)SMCLK:SMCLK:DCOCLKDCOCLK或者或者或者或者LFTX1(LFTX1(高频模式高频模式高频模式高频模式)ACLKACLKACLKACLK只能来源于只能来源于只能来源于只能来源于LFXT1LFXT1LFXT1LFXT1。MSP430X11X1MSP430X11X1MSP430X11X1MSP430X11X1内部只有内部只有内部只有内部只有LFXT1LFXT1LFXT1LFXT1和和和和DCODCODCODCO,没有没有没有没有XT2XT2XT2XT2。LFXT1LFXT1只有工作于高频模式才需要外接电容。只有工作于高频模式才需要外接电容。只有工作于高频模式才需要外接电容。只有工作于高频模式才需要外接电容。MSP430-20022004-34MSP430F4XX系列时钟模块系列时钟模块MSP430-20022004-35FLL+工作模式工作模式在每在每在每在每3232个个个个DCOCLKDCOCLK时钟周期中,调制器通过混合相邻两个时钟周期中,调制器通过混合相邻两个时钟周期中,调制器通过混合相邻两个时钟周期中,调制器通过混合相邻两个DCOCLKDCOCLK周期可以克服周期累加的变化周期可以克服周期累加的变化周期可以克服周期累加的变化周期可以克服周期累加的变化MSP430-20022004-36FLL+失效控制失效控制XT2XT2振荡器振荡器振荡器振荡器失效失效失效失效DCODCO振荡器振荡器振荡器振荡器失效失效失效失效LFXT1LFXT1振荡器振荡器振荡器振荡器在低频模式在低频模式在低频模式在低频模式(LF)LF)下下下下失效失效失效失效LFXT1LFXT1振荡器在高振荡器在高振荡器在高振荡器在高频模式频模式频模式频模式(HF)HF)下失效下失效下失效下失效MSP430-20022004-37调整调整FLL+?保证FLL+锁定位(SCG0在状态寄存器中)并把它置位;关闭反馈环控制?把新数值装入调整寄存器SCFQCTL(调整位M,乘数N)?将DCO控制位置位,调整器高位置位:SCFI1=OFH,使得芯片以尽可能低的频率工作?选择DCO+控制位为1或者0?将控制寄存器SCFI0装入新的数值?还原或设置FLL+控制位MSP430-20022004-38FLL+模块应用举例模块应用举例例1 设:ACLK=LFXT1=32768Hz,令MCLK=SMCLK=DCOCLK=(n+1)ACLK,并将MCLK和ACLK分别通过P1.1和P1.5输出。程序代码如下#include msp430 x44x.hvoid main(void)WDTCTL=WDTPW+WDTHOLD;/停止看门狗SCFI0|=FN_2;FLL_CTL0=XCAP18PF;SCFQCTL=74;/(74+1)32768=2.45MhzP1DIR=0 x22;/P1.1&P1.5 输出P1SEL=0 x22;/P1.1&P1.5输出 MCLK&ACLKwhile(1);内部DCO 2.45Mhz,P1.1-MCLK=2.45Mhz,P1.5-ACLK=32khzMSP430-20022004-39低功耗低功耗?使用内部时钟发生器(DCO)无需外接任何元件?选择外接晶体或陶瓷谐振器,可以获得最低频率和功耗?采用外部时钟信号源?瞬间响应特性MSP430-20022004-40MSP430 工作模式状态工作模式状态MSP430-20022004-41为了充分利用为了充分利用为了充分利用为了充分利用CPUCPU低功耗性能,可以让低功耗性能,可以让低功耗性能,可以让低功耗性能,可以让CPUCPU工作于突发状态。工作于突发状态。工作于突发状态。工作于突发状态。在通常情况下,根据需要使用软件将在通常情况下,根据需要使用软件将在通常情况下,根据需要使用软件将在通常情况下,根据需要使用软件将CPUCPU设定到某一种低功耗工作模式下,设定到某一种低功耗工作模式下,设定到某一种低功耗工作模式下,设定到某一种低功耗工作模式下,在需要时使用中断将在需要时使用中断将在需要时使用中断将在需要时使用中断将CPUCPU从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。MSP430-20022004-42系统响应中断的过程系统响应中断的过程?硬件自动中断服务?执行中断处理子程序?执行RETI指令(中断返回)PC入栈入栈SR入栈中断向量赋给PCGIT、CPUOFF、OSCOFF和SCG1清除入栈中断向量赋给PCGIT、CPUOFF、OSCOFF和SCG1清除IFG标志位清除(单源中断标志)标志位清除(单源中断标志)SRSR出栈(恢复原来的标志)出栈(恢复原来的标志)出栈(恢复原来的标志)出栈(恢复原来的标志)PCPC出栈出栈出栈出栈MSP430-20022004-43例:系统初始化完毕之后工作于低功耗模式0,中断事件触发到活动模式,中断处理结束后进入到低功耗模式3。;主程序.;初始化操作开始;初始化完毕BIS#GIE+CPUOFF,SR;主程序中设置低功耗模式0;.;程序在这里停止;;中断子程序;中断处理开始;中断处理结束BIS#GIE+CPUOFF+SCG1+SCG0,0(SP);设置SR为低功耗模式3RETI;中断返回;系统进入低功耗模式3。低功耗低功耗0转变为低功耗转变为低功耗3MSP430-20022004-44低功耗原则低功耗原则?一般的低功耗原则:?设计外设时的常规原则:最大化最大化LPM3的时间,用的时间,用32KHz晶振作为晶振作为ACLK时钟,时钟,DCO用于用于CPU激活后的突发短暂运行用接口模块代替软件驱动功能。用中断控制程序运行用可计算的分支代替标志位测试产生的分支用快速查表代替冗长的软件计算在冗长的软件计算中使用单周期的激活后的突发短暂运行用接口模块代替软件驱动功能。用中断控制程序运行用可计算的分支代替标志位测试产生的分支用快速查表代替冗长的软件计算在冗长的软件计算中使用单周期的CPU寄存器避免频繁的子程序和函数调用尽可能直接用电池供电寄存器避免频繁的子程序和函数调用尽可能直接用电池供电将不用的将不用的FETI输入端连接到输入端连接到VSSJTAG端口端口TMS、TCK和和TDI不要连接到不要连接到VSSCMOS输入端不能有浮空节点,将所有输入端接适当的电平不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机输入端不能有浮空节点,将所有输入端接适当的电平不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机MSP430-20022004-45超低功耗嵌入式实时时钟超低功耗嵌入式实时时钟平均电流平均电流平均电流平均电流LPM3LPM3电流电流电流电流+工作期间电流工作期间电流工作期间电流工作期间电流0.800.80uA+250uAuA+250uA100us/1000000us100us/1000000us=0.80=0.80 uAuA+0.030uA+0.030uA=0.83=0.83uAuAMSP430F413MSP430F413通过外接通过外接通过外接通过外接3276832768HzHz晶体晶体晶体晶体MSP430 CPUMSP430 CPU工作于工作于工作于工作于突发状态突发状态突发状态突发状态运行期间电流消耗运行期间电流消耗运行期间电流消耗运行期间电流消耗250250uAuA在在在在1 1S S时间段内程序运行时时间段内程序运行时时间段内程序运行时时间段内程序运行时间仅为间仅为间仅为间仅为100100ususLPM3LPM3电流电流电流电流 为为为为0.800.80uAuAMSP430-20022004-46MSP430的端口的端口?类型丰富类型丰富?功能丰富功能丰富?寄存器丰富寄存器丰富P1,P2,P3,P4,P5,P6,S和COMI/O中断能力其他片内外设功能驱动液晶P1与P2各有7个寄存器P3、P4、P5、P6有四个寄存器MSP430-20022004-47端口数据输出特性端口数据输出特性低电平输出特性低电平输出特性高电平输出特性高电平输出特性MSP430-20022004-48定时器定时器?看门狗定时器?基本定时器?定时器A?定时器BMSP430-20022004-49写:写:5AH读:读:69H1616位增计位增计位增计位增计数器数器数器数器看门狗定时器看门狗定时器启、停控制启、停控制MSP430-20022004-50看门狗定时器应用举例看门狗定时器应用举例#include void main(void)WDTCTL=WDT_MDLY_32;/定时周期为32msIE1|=WDTIE;/使能WDT中断P1DIR|=0 x01;/P1.0输出_EINT();/系统中断允许for(;)_BIS_SR(CPUOFF);/进入 LPM0_NOP();/看门狗中断服务子程序#pragma vector=WDT_VECTOR_interrupt void watchdog_timer(void)P1OUT=0 x01;/P1.0取反MSP430-20022004-51基本定时器基本定时器?支持软件和各种外围模块工作在低频率、低功耗条件下产生中断,使产生中断,使产生中断,使产生中断,使中断标志置位中断标志置位中断标志置位中断标志置位f fLCDLCD信号信号信号信号控制单元控制单元MSP430-20022004-52定时器定时器A特性特性?输入时钟可以有多种选择,可是慢时钟,快时钟以及外部时钟?虽然没有自动重载时间常数功能,但产生的定时脉冲或PWM(脉宽调制)信号没有软件带来的误差。?不仅能捕获外部事件发生的时间还可锁定其发生时的高低电平。?可实现串行通讯?完善的中断服务功能?4种计数功能选择?8种输出方式选择?支持多时序控制?DMA使能MSP430-20022004-53定时器定时器A结构结构MSP430-20022004-54定时器定时器A功能模块功能模块?计数器部分计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1、2、4或8分频作为计数频率,Timer_A可以通过选择4种工作模式灵活的完成定时/计数功能?捕获捕获/比较器比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高I/O 端口处理事务的能力和速度。不同的MSP430单片机,Timer_A模块中所含有的捕获/比较器的数量不一样,每个捕获/比较器的结构完全相同,输入和输出都决定于各自所带的控制寄存器的控制字,捕获/比较器相互之间工作完全独立。?输出单元输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号。支持PWMMSP430-20022004-55定时器定时器A中断中断CCR0CCR0中断中断中断中断CCR1CCR1CCRxCCRx和定时器中断和定时器中断和定时器中断和定时器中断MSP430-20022004-56定时器工作模式定时器工作模式MSP430-20022004-57停止模式停止模式?停止模式用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。例如,停止模式前,Timer_A工作于增/减计数模式并且处于下降计数方向,停止模式后,Timer_仍然工作于增/减计数模式,从暂停前的状态开始继续沿着下降方向开始计数。如果不能这样,则可通过TACTL中的CLR控制位来清除定时器的方向记忆特性。MSP430-20022004-58增计数模式增计数模式?捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65 536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0的值相等(或定时器值大于CCR0的值)时,定时器复位并从0开始重新计数。增计数模式的计数过程增计数模式的中断标志位设置MSP430-20022004-59改变改变CCR0值重置计数周期增计数方式值重置计数周期增计数方式新周期大于旧周期的响应新周期大于旧周期的响应新周期小于旧周期的响应新周期小于旧周期的响应MSP430-20022004-60连续计数模式连续计数模式?在需要65 536个时钟周期的定时应用场合常用连续计数模式。定时器从当前值计数到0FFFFH后,又从0开始重新计数计数器的计数过程计数器的计数过程标志位设置标志位设置MSP430-20022004-61连续计数模式的典型应用连续计数模式的典型应用产生多个独立的时序信号:利用捕获比较寄存器捕获各种其他外部事件发生的定时器数据产生多个独立的时序信号:利用捕获比较寄存器捕获各种其他外部事件发生的定时器数据产生多个定时信号:通过中断处理程序在相应的比较寄存器产生多个定时信号:通过中断处理程序在相应的比较寄存器CCRx上加上一个时间差来实现。这个时间差是当前时刻(既相应的上加上一个时间差来实现。这个时间差是当前时刻(既相应的CCRx中的值)到下一次中断发生时刻所经历的时间中的值)到下一次中断发生时刻所经历的时间MSP430-20022004-62增增/减计数模式减计数模式?需要对称波形的情况经常可以使用增/减计数模式,该模式下,定时器先增计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0定义,它是CCR0计数器数值的2倍。计数器的计数过程计数器的计数过程标志位设置标志位设置MSP430-20022004-63捕获捕获/比较模块比较模块MSP430-20022004-64捕获模式捕获模式?当CCTLx中的CAPx=1,该模块工作在捕获模式。这时如果在选定的引脚上发生设定的脉冲触发沿(上升沿、下降沿或任意跳变),则TAR中的值将写入到CCRx中。?每个捕获比较寄存器能被软件用于时间标记。可用于各种目的?当捕获完成后,中断标志位CCIFGx 被置位。测量软件程序所用时间测量硬件事件之间的时间测量系统频率测量软件程序所用时间测量硬件事件之间的时间测量系统频率MSP430-20022004-65输出单元输出单元?每个捕获/比较模块包含一个输出单元,用于产生输出信号输出单元的结构输出单元的结构输出单元的结构输出单元的结构输出单元时序输出单元时序输出单元时序输出单元时序MSP430-20022004-66输出模式输出模式?输出模式0 输出模式:输出信号OUTx由每个捕获/比较模块的控制寄存器CCTLx中的OUTx位定义,并在写入该寄存器后立即更新。最终位OUTx直通。?输出模式1 置位模式:输出信号在TAR等于CCRx时置位,并保持置位到定时器复位或选择另一种输出模式为止。?输出模式2 PWM翻转/复位模式:输出在TAR的值等于CCRx时翻转,当TAR的值等于CCR0时复位。?输出模式3 PWM置位/复位模式:输出在TAR的值等于CCRx时置位,当TAR的值等于CCR0时复位。MSP430-20022004-67输出模式输出模式?输出模式4 翻转模式:输出电平在TAR的值等于CCRx时翻转,输出周期是定时器周期的2倍。?输出模式5 复位模式:输出在TAR的值等于CCRx时复位,并保持低电平直到选择另一种输出模式。?输出模式6 PWM翻转/置位模式:输出电平在TAR的值等于CCRx时翻转,当TAR值等于CCR0时置位。?输出模式7 PWM复位/置位模式:输出电平在TAR的值等于CCRx时复位,当TAR的值等于CCR0时置位。MSP430-20022004-68增计数模式输出实例增计数模式输出实例MSP430-20022004-69连续计数模式下的输出波形连续计数模式下的输出波形MSP430-20022004-70增增/减计数模式下的输出实例减计数模式下的输出实例MSP430-20022004-71TIMER_A应用实现异步串行通信应用实现异步串行通信?Timer_A具有实现异步串行通信的一些特征?捕获功能可以捕捉选定输入引脚的状态的变化,它可以选择捕捉上升沿、下降沿、前后沿。如果捕捉到了相应的变化,则定时器计数值将被复制到捕获比较寄存器CCRx中,并会产生相应的中断。在串行通信中正是利用捕获功能的特点来捕捉起始位的信息。?比较功能是借助比较器不断地将CCRx中的设定值与定时器中的计数值相比较,当二者相等时就产生中断,并产生设定的输出,利用比较功能可以获得精确的时间间隔,利用该特性可以构造一个精确的波特率发生器,为串行通信提供时间基准。能够自动检测起始位可以硬件方式产生波特率,范围从能够自动检测起始位可以硬件方式产生波特率,范围从75115200波特硬件锁存接收和发送的数据波特硬件锁存接收和发送的数据全双工方式全双工方式全双工方式全双工方式MSP430-20022004-72TIMER_A应用实现异步串行通信应用实现异步串行通信MSP430-20022004-73TIMER_A应用实现异步串行通信应用实现异步串行通信MSP430-20022004-74Timer_A实现实现PWMPWM信号示意信号示意Timer_A产生产生PWMMSP430-20022004-75Timer_A实现实现PWM举例举例例:设ACLK=TACLK=LFXT1=32768,MCLK=SMCLK=DCOCLK=32ACLK=1.048576Mhz,利用Timer_A输出周期为512/32768=15.625ms、占空比分别为75%和25%的PWM矩形波:#include void main(void)WDTCTL=WDTPW+WDTHOLD;FLL_CTL0|=XCAP14PF;TACTL=TASSEL0+TACLR;/ACLK,清除 TARCCR0=512-1;/PWM周期CCTL1=OUTMOD_7;CCR1=384;/占空比384/512=0.75CCTL2=OUTMOD_7;CCR2=128;/占空比128/512=0.25P1DIR|=0 x04;/P1.2 输出P1SEL|=0 x04;/P1.2 TA1 P2DIR|=0 x01;/P2.0 输出P2SEL|=0 x01;/P2.0 TA2 TACTL|=MC0;/Timer_A 增计数模式for(;)_BIS_SR(LPM3_bits);/进入 LPM3_NOP();MSP430-20022004-76PWM信号信号调整调整PWM信号占空比信号占空比PWM信号经滤波输出信号经滤波输出MSP430-20022004-77TIMER_BMSP430-20022004-78Timer_B和和Timer_A共同的特征共同的特征?4种工作模式?具有可选,可配置的计数器输入时钟源?有多个独立可配置捕获/比较模块?有多个具有8种输出模式的可配置输出单元?DMA使能?中断功能强大,中断可能源自于计数器的溢出,也可能源自于各捕获/比较模块上发生的捕获事件或比较事件。MSP430-20022004-79Timer_B与与Timer_A不同之处不同之处?Timer_B计数长度为8位,10位,12位和16位可编程,而Timer_A的计数长度固定为16位。?Timer_B中没有实现Timer_A中的SCCI寄存器位的功能。?Timer_B在比较模式下的捕获/比较寄存器功能与Timer_A不同,增加了比较锁存器?有些型号芯片中的Timer_B输出实现了高阻输出?比较模式的原理稍有不同:在Timer_A中,CCRx寄存器中保存与TAR相比较的数据;而在Timer_B中,CCRx寄存器中保存的是要比较的数据,但并不直接与定时器TBR相比较,而是将CCRx送到与之相对应的锁存器之后,由锁存器与定时器TBR相比较。从捕获/比较寄存器向比较锁存器传输数据的时机也是可以编程的,可以是在写入捕获/比较寄存器后立即传输,也可以是由一个定时事件来触发。?Timer_B支持多重的、同步的定时功能;多重的捕获/比较功能;多重的波形输出功能(比如PWM信号)。而且,通过对比较数据的两级缓冲,可以实现多个PWM信号周期的同步更新MSP430-20022004-80MSP430液晶驱动模块主要特点液晶驱动模块主要特点?具有显示缓存器?所需的SEG、COM信号自动产生?4种驱动方法?多种扫描频率?段输出端口可以切换为通常输出端口?显示缓存器可作为一般存储器?用ACLK经Basic Timer产生频率MSP430-20022004-81液晶驱动方法液晶驱动方法静态驱动静态驱动2MUX 驱动2MUX 驱动3MUX 驱动3MUX 驱动4MUX 驱动4MUX 驱动MSP430-20022004-82液晶驱动模块功能结构液晶驱动模块功能结构MSP430-20022004-83液晶显示缓存器和段、公共极输出控制液晶显示缓存器和段、公共极输出控制?液晶显示缓存器各个位与液晶的段一一对应。存储位置位则可以点亮对应的液晶段,存储位复位液晶段变暗。段、公共极输出控制能够自动从显示缓存器读取数据,送出相应信号到液晶玻璃片上。因为不同器件驱动液晶的段数不同,所以液晶显示缓存器的数量也不一样。数量越大,驱动能力越强,显示的内容就越多。MSP430-20022004-84静态方式显示缓存器中位与液晶段的对应关系静态方式显示缓存器中位与液晶段的对应关系MSP430-20022004-852MUX方式显示缓存器中位与液晶段的对应关系方式显示缓存器中位与液晶段的对应关系MSP430-20022004-863MUX方式显示缓存器中位与液晶段的对应关系方式显示缓存器中位与液晶段的对应关系MSP430-20022004-874MUX方式显示缓存器中位