1、,Clique para editar o estilo do ttulo,Clique para editar os estilos de texto do modelo global,Segundo nvel,Terceiro nvel,Quarto nvel,Quinto nvel,#,UBI,Contents,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第
2、二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020/2/1,#,1,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,以下是,MSP430,体系结构的综合描述,包括:,主要特点;,设备体系结构,;,地址空间;,中断向量表;,中央处理器,(MSP430 CPU and MSP430X CPU),;,七种寻址模式和指令集组成:,27,种基本操作码;,
3、24,种仿真指令。,2,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,结构,2.1,控制器简介,2.2,地址空间,2.3,中央处理器,(MSP430 CPU),2.4,中央处理器,(MSP430X CPU),2.5,寻址模式,2.6,指令集,2.1,微控制器简介,4,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,微控制器性能指标,成本,:,通常微控制器是大容量、低成本的设备;,时钟频率:,和其他设备,(,
4、如微处理器和,DSP),比起来,微控制器采用更低的时钟频率。目前,微控制器通常可以跑到,100MHz/100MIPS(,每秒百万条指令数,),;,功耗:,比,DSP,和,MPU,低几个数量级;,位数:,4,位,(,老,式,设备,),到,32,位设备;,内存:,有限的内存,通常小于,1M,字节;,输入,/,输出,(I/O),:,8,到,150,个输出引脚。,5,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430,微控制器的主要特点,(1/3),低功耗,RAM,数据保存只需,0.1,A,实时时钟
5、模式下操作只需,0.8,A,在活动模式下操作只需,250,A/MIPS,低操作电压(从1.8V到3.6V),1,s,的时钟启动时间,50 nA,的端口漏电流,零功耗的掉电复位(BOR),6,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430 主要特点(2/3),片上模拟设备:,10/12/1,6位模数转换器,(ADC);,12,位双通道数模转换器,(DAC);,比较器门控定时器(gated timers),;,运算放大器,(Op Amps);,电源电压监控器,(SVS).,16,位R,ISC
6、 CPU:,紧凑的内核设计,降低功耗和成本,;,16,位数据总线,;,27,种内核指令;,7,种寻址模式,;,丰富的中断向量资源。,7,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430 主要特点(3/3),灵活性:,高达,256kByte,的,Flash;,高达,100,个引脚;,USART,I2C,Timers;,LCD,驱动,;,嵌入式仿真,;,多种外设模块,微控制器性能,:,位、字节和字的指令处理;,精简指令集,;,编译效率,;,广泛的外设,;,灵活的时钟系统。,8,Copyrigh
7、t 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430模块框图,2.2,地址空间,10,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,内存映射,映射到单个、连续的地址空间:,所有存储器,包括RAM,Flash/ROM,信息内存,特殊功能寄存器,(SFRs),和外设寄存器。,11,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt
8、,中断向量表,映射到存储器空间的最后一段区域,(Flash/ROM,中最后16个字,):,0FFE0h-0FFFEh,(4xx,系列,);,中断向量表优先级随着字地址的增加而递增,.,2.3,中央控制器,(MSP430 CPU),13,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430 CPU特点(1/,3),RISC,(精简指令集)架构,:,只包括最基本的指令(短集,):,27种物理指令,-,内核指令,24种仿真指令,这样可以使指令解码更简单快速,7,种寻址方式,寄存器寻址,变址寻址,符号
9、寻址,绝对寻址,间接寻址 和间接增量寻址,立即数寻址,MSP430 CPU特点(,2/3),使用通用内存地址总线,(MAB),和内存数据总线,(MDB),进行互连,冯诺依曼架构,:,数据和指令集共用一个存储结构,存储器处理单元隐式分离,把指令当成数据(可编程的),一样处理,采用三级指令流水线,包括:,指令译码,16,位,ALU,4,个专用寄存器,12,个通用寄存器,15,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430 CPU特点(,3/3),地址总线有16位,所以可以寻址范围为,64 k
10、B(,包括,RAM+Flash+,寄存器,);,算术逻辑单元,(ALU):,加,减,逻辑操作,(,与,或,异或,);,操作数会影响溢出标志,零标志,负标志等SR(状态寄存器)的标志位,.,16,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430 CPU寄存器,(1/5),包括16个16位寄存器,:,4,个专用寄存器,(R0,R1,R2 and R3);,12,个通用寄存器,(R4,R15).,R0:,程序计数器,(PC):,存放着下一条将要从程序存储器中取出的指令的地址,。,R1:,堆栈指针
11、,(SP):,第一,,用户可以使用堆栈存储数据,以便未来使用。,(,指令,:,用,PUSH,指令来存数据,,POP,指令来取数据,);,第二,,用户和编译器均可以使用堆栈为子函数传递参数,(PUSH,、,POP,用于调用函数,被调用的函数使用,SP,来计算偏移,);,17,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R1:,堆栈指针,(SP)(,续,):,第三,,系统进入子函数之前,把,PC,的值存储到堆栈中,从子函数返回时,再取出堆栈中的值,重新赋值给,PC,;,第四,,系统堆栈在系统进入中断服
12、务程序时,首先保护程序计数器,(PC),,然后将中断矢量地址送入程序计数器,再执行中断服务程序。中断服务程序执行完毕,遇到返回指令时,将堆栈的内容送到程序计数器中,程序又回到原来的地方,继续执行。在函数调用之前保存的寄存器变量、局部变量和参数都不会变,。,MSP430 CPU寄存器,(2/5),18,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R2:,状态寄存器,(SR):,存储状态位和控制位,;,CPU自动改变系统标志位,;,保留位用来支持常量发生器,.,15,14,13,12,11,10,9,
13、8,7,6,5,4,3,2,1,0,Reserved for CG1,V,SCG1,SCG0,OSCOFF,CPUOFF,GIE,N,Z,C,Bit,Description,8,V,溢出位,.,V=1,运算结果超出有符号范围,7,SCG1,系统时钟发生器,0.,SCG1=1,当DCO未被用作,MCLK,或,SMCLK,时,,关闭,DCO,发生器,6,SCG0,系统时钟发生器1.,SCG0=1,关闭,FLL,和循环控制,5,OSCOFF,关闭振荡器,.,OSCOFF=1,当LFXT1未被用作,MCLK or SMCLK,时,关闭,LFXT1,4,CPUOFF,关闭,CPU.,CPUOFF=1,禁
14、止CPU核,3,GIE,使能通用中断,.,GIE=1,使能中断屏蔽,2,N,负标志,.,N=1,运算结果为负,1,Z,零标志,.,Z=1,运算结果为零,0,C,进位标志,.,C=1,运算结果产生进位,MSP430 CPU寄存器,(3/5),19,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,19,Copyright 2008 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R2/R3:,常量发生器,(CG1/CG2):,根据源寄存器寻址
15、模式(,AS,)的值,常量发生寄存器可以不需要通过代码字或代码内存访问即可生成六个常用的常量,。,利用这个功能就可以实现,仿真指令,例如:,可以使用常量发生器而不是使用一个核心指令来实现数值增一,。,Register,As,Constant,Remarks,R2,00,-,Register mode,R2,01,(0),Absolute mode,R2,10,00004h,+4,bit processing,R2,11,00008h,+8,bit processing,R3,00,00000h,0,word processing,R3,01,00001h,+1,R3,10,00002h,+2,
16、bit processing,R3,11,0FFFFh,-1,word processing,MSP430 CPU寄存器,(4/5),20,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,20,Copyright 2008 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R4-R15:,通用寄存器,:,通用寄存器可以用来保存数据值、地址指针或者索引值,可以通过字节或字指令访问它们,。,MSP430 CPU寄存器,(5/5),2.4,中央控
17、制器,(MSP430X CPU),22,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430X CPU,架构特征,MSP430X CPU,架构的主要特征,:,MSP430X CPU,把,MSP430,系列的寻址范围从,64kB,扩展了到,1MB,;,为了实现上述功能,寻址模式做了一些改变,并添加了两种新类型的指令,;,其中一种类型的指令可以访问整个地址空间,另一种指令用于地址计算,;,MSP430X CPU,地址总线有,20,位,但数据总线仍只有,16,位,内存访问支持,8,位、,16,位和,
18、20,位,;,不过,,MSP430X CPU,仍然与,MSP430 CPU,兼容,且拥有相同数量的寄存器,。,23,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430X CPU,的组织结构,:,虽然,MSP430X CPU,结构和,MSP430,相似,但它们仍然有一些区别,,见下图;,除了状态寄存器SR,所有MSP430X寄存器均是20位;,CPU可以处理20位或16位数据.,MSP430X CPU,组织结构,24,Copyright 2009 Texas Instruments,All R
19、ights Reserved,www.msp430.ubi.pt,MSP430 CPU,和,MSP430,X,CPU,比较,25,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,MSP430X CPU,有,16,个寄存器,其中有一些有特殊用途:,R0(PC),程序计数器,:,和MSP430CPU有相同的功能,是20位。,R1(SP),堆栈指针,:,和MSP430CPU有相同的功能,是20位。,R2(SR),状态寄存器,:,和MSP430CPU有相同的功能,是16位。,MSP430,X,CPU寄存器,(
20、1/7),26,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R2(SR),状态寄存器,:,SR,位的描述,:,MSP430,X,CPU寄存器,(2/7),27,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R2(SR/CG1),和,R3(CG2),常量发生器,:,寄存器,R2,和,R3,可以用来生成6个不同的常用的常量;,常量是固定的,且由指令的As位来选择。,As,位用来选择寻址模式。,生成的常量值如
21、下:,MSP430,X,CPU寄存器,(3/7),28,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R2(SR/CG1),和,R3(CG2),常量发生器,:,如果操作数是,6,个常量之一,则寄存器是自动选择的,;,所以,在常量模式下,寄存器R2和R3不能作为源寄存器.,R4-R15 通用寄存器:,和MSP430 CPU的功能一样,这些寄存器都是20位;,这些寄存器可以处理8位,16位或者20位数据;,向这些寄存器写一个字节将清除,819,位。向这些寄存器写一个字将清除,1619,位,。,MSP43
22、0,X,CPU寄存器,(4/7),29,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R4-R15 通用寄存器:,用指令suffix,.B,处理字节数据(8位):,MSP430,X,CPU寄存器,(5/7),30,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R4-R15 通用寄存器:,用指令suffix,.W,处理字数据(16位):,MSP430,X,CPU寄存器,(6/7),31,Copyright
23、2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,R4-R15 通用寄存器:,用指令suffix,.A操作20位地址,:,MSP430,X,CPU寄存器,(7/7),2.5,寻址方式,33,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,寻址方式,源操作数的,7,种寻址方式,:,地址操作数的,4,种寻址方式,:,寄存器寻址,;,变址寻址,;,符号寻址,;,绝对寻址,.,对于目的操作数,可以使用额外的两种地址模式。,34,Copyr
24、ight 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,寄存器寻址,(1/2),描述:,寄存器内容是操作数,源模式位:,As=00,(,操作码定义源寄存器,),语法:,Rn,长度:,一个或两个字,注释:,源或目的均有效,例:移动,(,复制,),源寄存器,(,R4,寄存器,),的内容到,目的寄存器,(,R5,寄存器,),。寄存器,R4,不受影响。,解答:,操作前:,R4=A002hR5=F50AhPC=PC,pos,操作:,MOV R4,R5,操作后:,R4=A002hR5=A002hPC=PC,pos,+2,35,Co
25、pyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,寄存器寻址,(2/2),下表描述,了根据第二个操作数寻址模式完成一条指令需要的时钟周期数,36,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,变址寻址,描述:,(Rn+X),指出操作数地址。,X,存储在紧邻的字中,源模式位,:,As=01,(,操作码后紧邻的字定义了存储单元地址,),目的模式位:,Ad=1,(,操作码后紧邻的字定义了存储单元地址,),语法:,X(R
26、n),长度:,两个或三个字,注释:,源或目的均有效,例:移动,(,复制,),源地址,(F000h+R5),内容到目的寄存器,(R4),。,解答:,操作前:,R4=A002hR5=050AhLoc:0 xF50A=0123h,操作:,MOV F000h(R5),R4,操作后:,R4=0123hR5=050AhLoc:0 xF50A=0123h,37,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,符号寻址,描述:,指令后的字中包含立即数常量,N,。使用自增间接寻址表示是,PC+,源模式位:,As=11,
27、语法:,#N,长度:,两个或三个字。如果常量,CG1,或,CG2,可用就少一个字,注释:,仅适用于源操作数,例:移动立即数常量,E2h,到目的地址,(,寄存器,R5),。,解答:,操作前:,R4=A002hR5=050Ah,操作:,MOV#E2h,R5,操作后:,R4=A002hR5=00E2h,38,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,绝对寻址,描述:,指令后字中包含绝对地址。,X,存储在下一个字中。,使用变址寻址表示是,X(SR),源模式位:,As=01,(,操作码后紧邻的字定义了存储
28、单元地址,),目的模式位:,Ad=1,(,操作码后紧邻的字定义了存储单元地址,),语法:,&ADDR,长度:,两个或三个字,注释:,源或目的均有效,例:移动源地址,XPT,内容到目的地址,YPT,。,解答:,操作前:,Location,XPT=A002h Location YPT=050Ah,操作:,MOV&XPT,&YPT,操作后:,Location XPT=A002h Location YPT=A002h,39,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,寄存器间接寻址,描述:,Rn,用来指出
29、操作数,源模式位:,As=10,语法:,Rn,长度:,一个或两个字,注释:,仅适用于源操作数。目的操作数替代是,0(Rn),例:移动源地址,(R4,的内容,),内容到目的地址,(R5),。寄存器,R4,不能改变。,解答:,操作前:,R4=A002hR5=050AhLoc:0 xA002=0123h,操作:,MOV(R4),R5,操作后:,R4=A002hR5=0123hLoc:0 xA002=0123h,40,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,间接,自动增量,寻址,描述:,Rn,用于指出
30、操作数。字节指令中,Rn,自增,1,而字指令中,Rn,自增,2.,源模式位:,As=11,语法:,Rn+,长度:,一个或两个字,注释:,仅适用于源操作数。目的操作数替代是,0(Rn),加上第二条指令,INCD Rn,例:移动源地址内容到目的地址,然后自增寄存器,R4,的值来指向下一个字。,解答:,操作前:,R4=A002hR5=050AhLoc:0 xA002=0123h,操作:,MOV R4+,R5,操作后:,R4=A004hR5=0123hLoc:0 xA002=0123h,41,Copyright 2009 Texas Instruments,All Rights Reserved,ww
31、w.msp430.ubi.pt,立即数寻址,描述,:,指令后的字中包含立即数常量,N,。使用自增间接寻址表示是,PC+,源模式位:,As=11,语法:,#N,长度:,两个或三个字。如果常量,CG1,或,CG2,可用就少一个字,注释:,仅适用于源操作数。,例:移动立即数常量,E2h,到目的地址,(,寄存器,R5),。,解答:,操作前:,R4=A002hR5=050Ah,操作:,MOV#E2h,R5,操作后:,R4=A002hR5=00E2h,2.6,指令集,43,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi
32、.pt,指令集,27,条内核指令,24,条仿真指令,指令集正交,CPU,将内核指令解码成唯一的操作码,汇编器和编译器用来生成仿真指令的助记符,有三种内核指令格式:,双操作数,单操作数,程序流控制-跳转,44,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,双操作数指令集,(1/3),双操作数指令格式如下:,45,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,下,列出了不是仿真指令的双操作数指令,双操作数指令
33、集,(2/3),46,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,下表列出了,状态位置位和清除的条件,双操作数指令集,(3/3),47,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,单操作数指令集,(1/3),双操作数指令格式如下:,48,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,单操作数指令集,(2/3
34、),不是仿真指令的单操作数指令,49,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,单操作数指令集,(3/3),状态位条件取决于单操作数指令运行结果,50,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,程序流控制 跳转,(1/3),跳转指令格式如下:,51,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,程序流控
35、制 跳转,(2/3),跳转指令格式如下:,52,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,程序流控制 跳转,(3/3),列出了不是仿真指令的程序流控制指令,(,跳转,),53,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,仿真指令,(1/4),列出了不是仿真指令的程序流控制指令,(,跳转,),54,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,仿真指令,(2/4),(续),55,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,仿真指令,(3/4),(续),56,Copyright 2009 Texas Instruments,All Rights Reserved,www.msp430.ubi.pt,仿真指令,(4/4),(续),
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100