《MSP430基本知识》PPT课件.pptx_第1页
《MSP430基本知识》PPT课件.pptx_第2页
《MSP430基本知识》PPT课件.pptx_第3页
《MSP430基本知识》PPT课件.pptx_第4页
《MSP430基本知识》PPT课件.pptx_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 MSP430基本知识 与寻址方式 第1节 MSP430基本知识 第2节 MSP430 CPU的寻址方式,本章课程目标: 1. 了解MSP430的基本结构 2. 掌握MSP430的寻址方式 3. 熟悉 IAR 的使用方法(通过实验),第1节 MSP430基本知识,1以二进制表示数据和指令(程序) ? 2. “存储程序” + “程序控制” ? 3. 五大组成部分 ?,计算机的基本组成和工作原理,要点,冯诺依曼计算机,存 储 器,I/O 接口 1,输入/输出 设备1,数据总线 DB,控制总线 CB,地址总线 AB,CPU 运算器 控制器 寄存器,微机的基本结构,I/O 接口 n,输入/输出 设备n,独立芯片或电路,存 储 器,I/O 接口 1,数据总线 DB,控制总线 CB,地址总线 AB,CPU 运算器 控制器 寄存器,微控制器(MCU)的基本结构,I/O 接口 n,集成芯片,存储容量、速度、功能、功耗、?,MSP430的体系结构与特点 16-bit RISC CPU; peripherals模块(外设,I/O接口); 时钟模块; 各模块通过地址总线(MAB)、数据总线(MDB)和控制总线(MCB)互连; I/O接口与存储器统一编址; 27条核心指令,7种寻址方式; CPU中的寄存器均可以进行读和写操作; 单周期寄存器操作; 无需寄存器中介的存储器之间的数据传送; 内含常数发生器,可缩短代码长度; ,地址总线,数据总线,控制总线,SR/R2,数据输入 输出电路,指令译码 与 控制逻辑,地 址 输 出 电 路,R4,R5,R15,通用寄存器,运 算 器,PC/R0,ALU,MSP430 CPU原理图,指令指针寄存器,SP/R1,堆栈指针寄存器,状态寄存器,MAB 16-bit,MDB 16-bit,MCB,R2/R3,常数发生器,16-bit RISC architecture 27条核心指令 7种寻址方式 16个16位的寄存器,MSP430 CPU 的寄存器,MSP430 CPU 的编程结构 仅从编程的角度看待CPU的组成,主要是指CPU中的寄存器及其使用方法,而不关心其硬件实现的具体细节,MSP430汇编语言程序: Start: MOV #100 , R6 MOV #0 , R8 MOV #2000H , R7 Again: ADD R7 , R8 INC R7 DEC R6 JNZ again ,因此在汇编语言程序中 要频繁使用寄存器 例:右图的 MSP430 汇编语言程序使用了 R6,R7,R8,SR 等寄存器,汇编语言直接与 CPU中的寄存器打交道,使用SR寄存器,MSP430 CPU 寄存器,取完指令后CPU根据该指令的字节数自动增量PC,因此PC的值指向下一条要执行的指令。PC总是指向偶地址(bit0=0),堆栈用于保存子程序的返回地址等重要信息。堆栈按先进后出原则进行操作,堆栈指针SP指向堆栈的栈顶(TOP)。SP总是指向偶地址(bit0=0),并且必须由用户初始化。,状态寄存器SR用于指示ALU的运算结果状态以及CPU、时钟和中断控制等。SR只能用于寄存器寻址方式的字指令(.W)中。若使用其它的寻址方式,则实际上用的是常数发生器CG1,而不是SR。,通用寄存器 R4R15 通用寄存器可以用作数据寄存器(寄存器寻址方式)、地址指针(寄存器间接寻址方式)或变址值(index value,变址寻址方式),而且可以用字指令(.W)或者字节指令(.B)进行存取操作。,字节指令(.B)存取寄存器操作示意图:,状态位(Status Bits): V (Overflow Flag) N (Negative Flag) Z (Zero Flag) C (Carry Flag) 记录指令运算结果的状态信息。常作为后续转移指令的控制条件,又称为条件码,MSP430 CPU的状态寄存器SR/R2,方式位(Mode Bits): SCG1 SCG0 OSCOFF CPUOFF GIE (General Interrupt enable) 用于控制时钟、CPU 和中断,常用状态标志C和Z的含义及其使用, CMP x , y ;x-y JC less ;若 C=1 , x=y 运行此指令 less: ;less处的指令 ,C:进位标志(Carry Flag) 加法时,若最高位有进位则C1,否则C0 减法时,若最高位有借位则C1,否则C0 例:CMP指令与C标志结合可判断两数的大小:,Z:零标志(Zero Flag) 若运算结果为 0 时,则Z1,否则Z0 例:CMP指令与Z标志结合测试两个操作数是否相等:, CMP x , y ;x-y JC less ;若 C=1 , xy 运行此指令 less: equal: , TST R5 , 1000 0000B ;两个操作数相“与” JZ zero ;若 Z=1 则R5的D7=0,转 zero处运行 ;否则R5的D7=1,运行此指令 zero: ; zero处的指令 ,与TST指令结合用Z测试某位是0还是1:,例:测试R5的D7 是0还是1?,Z=0,Z=1,加法运算对状态标志的影响举例,最高位D7位产生进位: C=1 相加的结果为44H, 不为0: Z=0 结果为正: N=0 结果有溢出: V=1,存储器与 I/O 组织 I/O与存储器统一编址,可寻址空间64k字节,存储器的构成:ROM + RAM 存储器用于存放程序与数据,MAB,MDB,MCB,地址 译码,数据 缓冲,控制 电路,CPU,RAM 变量 与 堆栈,ROM 程序 和 常数,ROM具有掉电保护 的功能,即掉电不丢 失其中的信息。 RAM无掉电保护功能 掉电后原有信息将 不复存在,I/O SFR,64K,高,低,MSP430 64k字节可寻址空间的组织,code, data word or byte tables,data, code,操作指令,word: 字指令(.W) byte:字节指令(.B),I/O空间,byte可以在奇地址或偶地址,word的高字节只能在奇地址 低字节只能在偶地址,数据的存储格式,高字节存储在高地址 低字节存储在低地址,特殊功能寄存器 SFR 用于允许/禁止某些外设的功能、允许/禁止某些外设的中断请求、登记某些外设的中断标志等。 SFR是字节型的寄存器,因此只能使用字节型指令(.B)对其进行操作。,Peripherals (I/O接口) 16位 8位,010001FFh 0100FFh,MSP430 外设,MSP430 的 digital I/O,MSP430 的 Watchdog Timer,MSP430 的 USART0 , USART1,MSP430 的 ADC12,M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论