您好,欢迎访问三七文档
第一章MSP430(MixedSignalProcessor混合信号处理器)的特点:优点:1、超低功耗2、强大的处理能力3、高性能模拟技术及丰富的片上外围模块4、系统工作稳定5、方便高效的开发环境缺点:所有总线都在内部,无功能扩展端RAM:随机存储器(可读写),掉电后数据丢失。ROM:程序存储器(只可读)。PROM:一次性可编程存储器(只读)。EPROM:紫外线擦除的可编程存储器(字节写入整片擦除)。EEPPROM:电擦除可编程存储器(字节写入,字节擦除)。FLASH:电擦除可编程存储器(字节写入,段擦除/页擦除)。第二章CPU的编程资源:16位的ALU(算术逻辑运算单元)、16个寄存器、一个指令控制单元。16个寄存器:程序计数器PC:以字为单位系统堆栈指针SP:压堆栈(PUSH)过程取堆栈(POP)过程状态寄存器SR:类型名称含义状态标志C:进位标志当运算结果产生进位时C置位,否则C复位Z:零标志当运算结果为零时Z置位,否则Z复位N:负标志当运算结果为负时N置位,否则N复位V:溢出标志当运算结果超出有符号数范围时V置位,溢出情况如下:正数+正数=负数负数+负数=正数正数--负数=负数负数--正数=正数控制标志GIE:通用中断允许位控制可屏蔽中断GIE置位CPU可响应可屏蔽中断GIE复位CPU不响应可屏蔽中断CPUOffCPU控制位置位CPUOff位可是CPU进入闭关模式,可用所有允许的中断将CPU唤醒OscOff晶振控制位置位OscOff使晶体振荡器处于停止状态,置位OscOff同时CPUOff也需置位。可用NMI或者外部中断(系统当前中断允许)将CPU唤醒SCG0,SCG1时钟控制位SCG0置位关闭SMCLKSCG1置位关闭DCO发生器常数发生寄存器CG1和CG2:使用常数发生寄存器产生常数的优点:1、不需要特殊的指令2、对6种最常用的常数不需要额外的字操作数3、缩短指令周期:不经过MDB(数据存储器)就能直接访问寻址模式:指在执行一条指令过程中,如何找到操作数地址的方法(指令的操作数包含源操作数和目的操作数)。访问整个地址空间的不同寻址模式由As(寻址位,源操作数的寻址模式)和Ad(寻址位,目标作数的寻址模式)模式位的内容确定:源操作数可以使用全部的7种寻址方式,而目的操作数只能使用其中4种寻址方式,它们可以访问整个地址空间。指令的时钟周期与长度MSP430的时钟周期为1~6。指令的时钟周期的总体规律:1周期:数据不出CPU的指令2周期:数据从CPU之外读写,且目标地址为Rx3周期:数据从CPU之外读写,且目标地址为Rx,源地址需要换算4周期:目标地址为CPU之外的存储器其它指令或操作:RETI时钟周期:5中断时钟周期:6WDT复位时钟周期:4复位(RST*/NMI)时钟周期:4Flash操作存储器中的数据:字节数据可以定位在偶地址或奇地址;字数据定位在偶地址:低字节在偶地址,高字节在下一个奇地址。Flash存储器:Flash存储器分为信息Flash和程序Flash两者不同之处(以MSP430F449为例):1、信息Flash的地址为1000h~10FFh(256字节),程序Flash的地址为1100h~FFFFh(60K)。2、从硬件和功能上来说,信息Flash和程序Flash没有本质的不同,程序首地址可以是1100h,也可以是1000h;信息也可以放在1000h~FFFFh的任何位置。3、信息Flash的擦除段为128字节,而和程序Flash的擦除段为512字节。信息是需要经常修改的,而程序一般不会修改。(原因:所以将信息放在擦除段小的区域内有利于信息的修改,如果信息量较大,超过256字节,也可以将信息放在程序Flash的空余位置上(应该是一个完整的段)。)系统复位和工作模式:MSP430的复位信号来源(POR):1、在VCC端加上供电电源2、RST*/NMI:WatchdogWDTCTL寄存器的NMI位为“0”(RST*/NMI为复位脚、1为NMI脚)&在RST*/NMI端输入低电平信号MSP430的清除信号来源(PUC):1、上述产生POR的信号(2种)2、TIMSEL:Watchdog的WDTCTL寄存器TIMSEL位选择看门狗模式(1为定时器模式)&WDTQn:Watchdog满&WDTIFG:产生了WatchdogWDTIFG(Watchdog中断标志)。3、WDTIFG:产生了WatchdogWDTIFG(Watchdog中断标志)&EUQ:Watchdog口令错误。4、KEYV:FLASH写错误(安全值)工作模式:MSP430有5种运行模式,可由软件组合:1、活动模式:AM,各种活动的外围模块全速工作。Allclocksareactive2、低功耗模式0:LPM0,CPU、MCLK停止工作,外围模块正常运行;3、低功耗模式1:LPM1,CPU、MCLK停止工作,FLL+Loopcontrol(DC数控振荡器)停止工作;外围模块正常运行4、低功耗模式2:LPM2,CPU、MCLK、SMCLK、DCOCLK停止工作,使用ACLK的外围模块正常运行5、低功耗模式3:LPM3,CPU、MCLK、SMCLK、DCOCLK停止工作,DC关闭,使用ACLK的外围模块正常运行6、低功耗模式4:LPM4,CPU和所有时钟(振荡器)停止工作工作模式的改变关键是时钟源的改变,工作模式的控制主要是对时钟源的控制,打开或关闭。降低功耗可以采用哪些方法或需要注意事项(低功耗应用的特点/当电流消耗是系统应用的重要指标时,应该考虑一些常规原则):1、JTAG(下载程序)端口TMS、TCK和TDI不要连接到VSS(引脚可以悬空,因为内部已经有了连接了)2、CMOS输入端不能有浮空的节点:将所有输入端接适当的电平(管口不可悬空,可以将管引脚设成输出模式就可以实现输入不接电平也不会悬空)3、选择尽可能低的运行频率-既针对内核,同样也针对各外围模块4、如用了LCD,选择尽可能弱的驱动能力,或者将它关闭5、充分利用中断驱动软件的特性–程序能快速地起动执行。MSP430基础时钟模块基础时钟模块有3个时钟源输入端:LFXT1CLK:低频时钟源XT2CLK:高频时钟源DCOCLK:数字控制RC振荡器基础时钟模块可提供3种时钟信号:ACLK:辅助时钟,一般用于低速外设MCLK:系统主时钟,主要用于CPU和系统SMCLK:子系统时钟:高速外围模块。LFXT1振荡器:低速晶体振荡器在MSP430FLASH系列的每一个器件中都能找到。一般是指32768Hz的时钟晶体,可以选择使用广泛使用的手表晶振,同时将所需两个小电容也集成在内部。这样可降低系统成本,同时降低系统功耗。系统上电后LFXT1振荡器自动开始工作。如果不使用LFXT1CLK信号(SMCLK或ACLK信号不工作),则可以用软件将OscOff位置以禁止LFXT1工作:MOV#OscOff,SRXT2振荡器:高速振荡器主要存在于F13X,F14X,F4XX等器件,一般称之为第二振荡器XT2。它产生时钟信号XT2CLK,它的工作特性与LFXT1振荡器工作在高频模式时类似。DCO振荡器:MSP430的LFXT1和XT2都可以经1,2,4,8分频后用作MCLK。当振荡器失效时,DCO振荡器会自动被选做MCLK的时钟源;上电复位时,不对时钟模块进行任何设置,不加外部振荡器,DCO振荡器也会选做MCLK的时钟源,频率在800K左右。DCO振荡器上是一个可数字控制的RC振荡器。DCO频率可通过DCO、MOD、Rsel等控制位用软件调节。当DCO信号没有用作SMCLK和MCLK时钟信号时(即不使用DCO时),可以用控制位SCG0关闭直流发生器时钟模块的寄存器在MSP430F1XX系列中DCO的控制由3个寄存器完成:DCOCTL、BCSCTL1、BCSCTL2(1)DCOCTL:地址056H,PUC后的值为060H(2)BCSTCL1:地址为057H,PUC后的值为084H(3)BCSTCL2:地址为058H,PUC后值为00HMSP430中断和特殊功能寄存器中断系统结构,有3类中断:1、系统复位2、非屏蔽中断3、可屏蔽中断引起系统复位的中断源有:1、加电源电压2、RST*/NMI引脚加低电平(选择复位模式)3、看门狗定时器溢出(选择看门狗模式)4、看门狗定时器密钥不符(写WDTCTL是口令错)非屏蔽中断由以下情况产生:1、RST*/NMI引脚有上升沿(选择NMI模式)。2、振荡器故障。中断处理:MSP430的可编程中断可由处理机的运行状态来启动,如看门狗溢出、外围模块或外部发生的事件等。每个中断源可以用中断允许位单独关闭,而状态寄存器中的通用中断允许位GIE可以禁止全部中断。当中断请求发生并且相应的中断允许位和通用中断允许位置位,中断服务程序按以下顺序激活:1、CPU处于活动状态:完成当前执行指令。CPU处于省电状态:终止低功耗模式。2、指向下一条指令的PC值压入堆栈。3、SR(或状态寄存器)压入堆栈。4、执行上条指令时已有多个中断请求发生并且等待服务,选择最高优先级者。5、一中断源标志中的中断请求标志位自动复位,多中断源标志仍保持置位以等待软件服务。6、中断允许位GIE复位,CPUOff位、OscOff位和SCG1位·复位,状态位V、N、Z和C复位。7、的中断向量值装入PC,程序从该地址继续执行中断处理。中断响应从接受中断请求开始到执行相应的中断服务程序的首条指令,持续6个周期。中断处理程序结束的指令是RETI。它执行以下内容:1、SR从堆栈中推出。被中断的程序回到与中断前完全相同的状态,包括OscOff、CPUOff和GIE位。2、PC从堆栈中推出,程序(指针)回到中断前的位置。以RETI指令从中断服务程序返回,需5个周期。MSP430中断优先级:MSP430中断优先级由模块连接链决定:越接近CPU/NMIRS的模块中断优先级越高。以MSP430F449为例(顺序由低到高):0xFFE0基础定时器中断0xFFF0串行口0发送中断0xFFE2外部接口P2中断0xFFF2串行口0接收中断0xFFE4串行口1发送中断0xFFF4Watchdog定时器中断0xFFE6串行口1接收中断0xFFF6模拟比较器中断0xFFE8外部接口P1中断0xFFF8定时器B7中断10xFFEA定时器A3中断10xFFFA定时器B7中断00xFFEC定时器A3中断00xFFFC不可屏蔽中断0xFFEEADC转换完成中断0xFFFE复位中断特殊功能寄存器:大多数中断控制位、中断标志和中断允许位集中在少数几个SFR中。这些SFR以字节形式位于低地址区。SFR只能以字节指令访问。地址寄存器0006h~000Fh未定义0005h模块允许寄存器2;ME20004h模块允许寄存器1;ME10003h中断标志寄存器2;IFG20002h中断标志寄存器1;IFG10001h中断允许寄存器2;IE20000h中断允许寄存器1;IE1看门狗定时/计数器由于程序的缺陷、由于运算结果或运行条件的(永远)不能满足,程序可能会进入“死循环”,从外表上看就是“死机”。另一种导致“死机”的可能是干扰。由于强电磁干扰可能导致程序指针PC指向错误的地址,导致程序运行出现不可预知的结果。在有人操作的情况下发现“死机”,最直接的解决办法就人工复位。如许多计算机上都有复位(reset)按钮。单片机通常都是工作在无人的环境下,发生死机应该自动复位。人工发现死机的依据是程序总执行相同的工作,所以自动复位的依据也是一段程序运行的估计时间,当一段程序运行超过估计时间时,系统就对单片机强行复位。看门狗定时器(WDT)的主要功能是当程序发生错误时执行一个受控的系统重启动。如果超过了选定的定时时间,发生系统复位。如果应用中不需要此功能,可以把它当作定时器。当选定定时时间到达后将产生中断。WDT模块可置成两种模式:WatchDog模式和定时器模式看门狗寄存器:看门狗定时器的计数器WDTCNT是16位增计数器,它不能直接用软件访问。WDTCNT的控制是通过WDTCTL,它是位于字地
本文标题:MSP430 复习
链接地址:https://www.777doc.com/doc-4369126 .html