欢迎来到天天文库
浏览记录
ID:38601887
大小:613.26 KB
页数:38页
时间:2019-06-16
《《MSP430基本知识》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章MSP430基本知识与寻址方式第1节MSP430基本知识第2节MSP430CPU的寻址方式本章课程目标:1.了解MSP430的基本结构2.掌握MSP430的寻址方式3.熟悉IAR的使用方法(通过实验)第1节MSP430基本知识1.以二进制表示数据和指令(程序)?2.“存储程序”+“程序控制”?3.五大组成部分?输入设备控制器输出设备CPU存储器运算器ALU计算机的基本组成和工作原理要点冯·诺依曼计算机存储器I/O接口1输入/输出设备1数据总线DB控制总线CB地址总线ABCPU运算器+控制器+寄存器微机的基本结构I/O接口n输入/输出
2、设备n独立芯片或电路存储器I/O接口1数据总线DB控制总线CB地址总线ABCPU运算器+控制器+寄存器微控制器(MCU)的基本结构I/O接口n集成芯片存储容量、速度、功能、功耗、……???MSP430的体系结构与特点16-bitRISCCPU;peripherals模块(外设,I/O接口);时钟模块;各模块通过地址总线(MAB)、数据总线(MDB)和控制总线(MCB)互连;I/O接口与存储器统一编址;27条核心指令,7种寻址方式;CPU中的寄存器均可以进行读和写操作;单周期寄存器操作;无需寄存器中介的存储器之间的数据传送;内含常数发生器,
3、可缩短代码长度;……地址总线数据总线控制总线SR/R2数据输入输出电路指令译码与控制逻辑地址输出电路R4R5……R15通用寄存器运算器PC/R0ALUMSP430CPU原理图指令指针寄存器SP/R1堆栈指针寄存器状态寄存器MAB16-bitMDB16-bitMCBR2/R3常数发生器16-bitRISCarchitecture27条核心指令7种寻址方式16个16位的寄存器R0/PCProgramCounter0R1/SPStackPoint0R2/SR/CG1StatusR3/CG2ConstantGeneratorR4GeneralPu
4、rposeR5GeneralPurposeR14GeneralPurposeR15GeneralPurpose150MSP430CPU的寄存器MSP430CPU的编程结构仅从编程的角度看待CPU的组成,主要是指CPU中的寄存器及其使用方法,而不关心其硬件实现的具体细节MSP430汇编语言程序:Start:……MOV#100,R6MOV#0,R8MOV#2000H,R7Again:ADD@R7,R8INCR7DECR6JNZagain……因此在汇编语言程序中要频繁使用寄存器例:右图的MSP430汇编语言程序使用了R6,R7,R8,SR等寄存
5、器汇编语言直接与CPU中的寄存器打交道使用SR寄存器R0/PCProgramCounter0R1/SPStackPoint0R2/SR/CG1StatusR3/CG2ConstantGeneratorR4GeneralPurposeR5GeneralPurposeR15GeneralPurpose150MSP430CPU寄存器取完指令后CPU根据该指令的字节数自动增量PC,因此PC的值指向下一条要执行的指令。PC总是指向偶地址(bit0=0)堆栈用于保存子程序的返回地址等重要信息。堆栈按先进后出原则进行操作,堆栈指针SP指向堆栈的栈顶(T
6、OP)。SP总是指向偶地址(bit0=0),并且必须由用户初始化。状态寄存器SR用于指示ALU的运算结果状态以及CPU、时钟和中断控制等。SR只能用于寄存器寻址方式的字指令(.W)中。若使用其它的寻址方式,则实际上用的是常数发生器CG1,而不是SR。通用寄存器R4~R15通用寄存器可以用作数据寄存器(寄存器寻址方式)、地址指针(寄存器间接寻址方式)或变址值(indexvalue,变址寻址方式),而且可以用字指令(.W)或者字节指令(.B)进行存取操作。字节指令(.B)存取寄存器操作示意图:状态位(StatusBits):V(Overflo
7、wFlag)N(NegativeFlag)Z(ZeroFlag)C(CarryFlag)记录指令运算结果的状态信息。常作为后续转移指令的控制条件,又称为条件码MSP430CPU的状态寄存器——SR/R2方式位(ModeBits):SCG1SCG0OSCOFFCPUOFFGIE(GeneralInterruptenable)用于控制时钟、CPU和中断常用状态标志C和Z的含义及其使用……CMPx,y;x-yJCless;若C=1,x=y运行此指令……less:……;less处的指令……C:进位标志(Car
8、ryFlag)加法时,若最高位有进位则C=1,否则C=0减法时,若最高位有借位则C=1,否则C=0例:CMP指令与C标志结合可判断两数的大小:Z:零标志(ZeroFlag)若运算结果为0时,则
此文档下载收益归作者所有