资源预览内容
第1页 / 共239页
第2页 / 共239页
第3页 / 共239页
第4页 / 共239页
第5页 / 共239页
第6页 / 共239页
第7页 / 共239页
第8页 / 共239页
第9页 / 共239页
第10页 / 共239页
亲,该文档总共239页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MSP430单片机C程序设计与实践常州工学院计算机与信息学院肖肖 贤贤 建建xiaoxjczu.cnxiaoxjczu.cn l概述lMSP430单片机结构lMSP430系列单片机的内核lMSP430指令系统lMSP430F44X外围器件原理lIAR开发环境l典型实例学习资源lhttp:/focus.ti.com/mcu/docs/mcuhome.tsp?secti onId=101lhttp:/focus.ti.com/mcu/docs/mcuprodoverview.t sp?sectionId=95ff= dst ) lZ : 结果为零时置位,其他情况时复位 (src = dst )lC : 结果为MSB产生进位时置位,否则复位lV : 发生算术溢出时置位,其他情况时复位lJC 进位位C1 时程序跳转lJN N1时程序跳转CPUPCl针对P16例程与P18例程的比较l主要是JMP和BR的比较lJMP 程序无条件跳转l语法 JMP dstl操作 PC + 2 dst 编移 - PCl其特点是在相对于现有程序计数器的-511 至+512 的范围内无条件跳 转lBR 转换到目的操作数l语法 BR dstl操作 dst - PCl其特点是无条件转移到64K 地址空间的任一地址处可使用所有的源 寻址方式转CPUPCswitch(Y) Case 0: func0(); /函数/ Break; Case 1: func1(); /函数/ Break; Case 2: func2(); /函数/ Break; Default: Err_func(); CPUSPlCPU专用寄存器R1l字对齐方式l操作过程:l程序员:分配堆栈大小,并初始化SP值9FEH9FEH9FFH9FFHA00HA00H200H200HCPUSR/CG1lCPU专用寄存器R2l状态标志 : JN JC JNC JZ JNZlC :进位标志lZ :零标志lN :负标志lV :溢出标志l控制标志:lGIE :中断标志位lCPUOFF :CPU控制位lOscOFF:晶振控制位lSCG0,SCG1:时钟控制位15 9876543210保 留V SCG 1SCG0OSCO FFCPUOF FGIENZCCPUCG2l常数发生器 CG1 和 CG2 l针对立即数l举例:单操作数指令 CLR dst ;将 dst 单元清零这不是内核指令,而是一条模拟指令,汇编器将 As=00,R3=0,用 MOV R3,dst 来模拟。 CPUR4R15l通用工作寄存器l访问速度比内存效率高l可以进行算术逻辑运算,也可以作为临时的暂存单元,可以字 操作, 也可以字节操作。l在汇编语言编程下的一些建议:l 多使用通用工作寄存器,因为访问速度快,效率高l编程前安排好通用工作寄存器的使用目的l用高级语言编写时,由编译器自动编译2.3 内存lMSP430 系列的存储空间采用“冯-诺 依曼”结构,ROM 和 RAM 在同一地 址空间,使用一组地址 数据总线。 l00000H0FFFFH 的地址分配如下:l特殊功能寄存器l外围模块l数据存储器l程序存储器l中断向量表l根据不同型号其 存储器的 具体组织不一样。特殊功能寄存器特殊功能寄存器8 8位外围模块位外围模块1616位外围模块位外围模块数据存储区数据存储区保留空间保留空间引导区引导区信息存储区信息存储区程序存储区程序存储区中断向量表中断向量表0000H0000H000FH000FH0010H0010H00FFH00FFH0100H0100H01FFH01FFH0200H0200H09FFH09FFH0A00H0A00H0C00H0C00H0FFFH0FFFH1000H1000H10FFH10FFH1100H1100HFFDFHFFDFHFFE0HFFE0HFFFFHFFFFH内存特殊功能寄存器l映射地址0000H000FHl中断使能寄存器1(IE1)0000Hl中断使能寄存器2(IE2)0001Hl中断标志寄存器1(IFG1)0002Hl中断标志寄存器2(IFG2)0003Hl模块使能寄存器1(ME1)0004Hl模块使能寄存器2(ME2)0005Hl仅实现了前面6个,其余保留l只能以字节方式访问内存特殊功能寄存器l中断使能寄存器1(IE1)0000Hl看门狗、晶振故障、(非)屏蔽、FLASH访问出错、串口0接收和发生 中断使能位l中断使能寄存器2(IE2)0001Hl基本定时器、串口1接收和发送中断使能位l中断标志寄存器1(IFG1)0002Hl看门狗、晶振故障、(非)屏蔽、FLASH访问出错、串口0接收和发生 中断标志位内存特殊功能寄存器l中断标志寄存器2(IFG2)0003Hl基本定时器、串口1接收和发送中断标志位l模块使能寄存器1(ME1)0004Hl串口0工作使能:发送、接收和同步模块使能位l模块使能寄存器2(ME2)0005Hl串口1工作使能:发送、接收和同步模块使能位补充:串口原理图接接MSP430MSP430单片机串单片机串 口接收和发送引脚口接收和发送引脚内存外围模块l所有的片内外设的寄存器全部映射到0010H01FFHl0010H00FFH是字节访问的寄存器8 8位外围模块位外围模块l0100H01FFH是字访问的寄存器1616位外围模块位外围模块l详细介绍见第四章 外围器件原理内存数据存储区l数据存储区(RAM)的起始地址0200Hl结束地址则随MSP430系列的不同型号而不同lRAM区为堆栈、全局变量和局部变量提供空间l项目开发过程中:l在高级语言环境下,保证变量区与堆栈区之和不超过RAM的大小l在汇编语言环境下,建议将堆栈放在RAM区的高端,而变量从RAM的 起始地址开始分配内存引导区lFLASH型单片机(Why?)l引导区含有BOOTSTARP装载器,可以通过USART模块来实 现程序代码的读写操作(实现程序在线更新)l注意:lBOOTSTARP Loader代码区域与应用程序代码区域是分开的lBOOTSTARP Loader使用的UART通信协议采用固定的 9600bps内存信息存储区lFLASH型单片机增加了一个信息存储区l作用:存放掉电后需要保存的变量(数据),如系统参数l信息存储区分为两段:1000H107FH和1080H10FFHl每段128字节l标准FLASH块操作方式lFLASH寿命有限,即擦写次数有限内存程序存储区l位于64K空间末端的一段连续地址空间内l用于存放用户的程序、常数以及表格l例:Const char Table8=0,1,2,3,4,5,6,7内存中断向量表l中断向量表属于程序存储区,功能独立l中断向量表地址:FFE0HFFFFH,共16个字(32字节)l分别代表16个中断向量ORG 01100HORG 01100HRESETRESETMOV.W #0A00H,SPMOV.W #0A00H,SPMOV.W #WDTPW+WDTHOLD,WDTCTL=WDT_ADLY_1000; IE1|=WDTIE;IE1|=WDTIE; P5DIR=0XFF;P5DIR=0XFF; P5OUT=0;P5OUT=0; _EINT();_EINT(); while(1)while(1) _BIS_SR(LPM3_bits);_BIS_SR(LPM3_bits); P5OUT|=BIT1;P5OUT|=BIT1; Delay(26211);Delay(26211); P5OUT P5OUT # #pragmapragma vector =WDT_VECTOR vector =WDT_VECTOR _interrupt void _interrupt void watchdog_timer(voidwatchdog_timer(void) ) _BIC_SR_IRQ(LPM3_bits)_BIC_SR_IRQ(LPM3_bits) 本章小结l在结构上MSP430系列单片机集成了一部计算机的各个基本组 成部分。虽然其工作原理与普通微机并无差异,但MSP430系 列单片机在结构上更加突出了体积小、功能强、面向控制的特 点,具有很高的性能价格比。 lMSP430系列单片机由CPU、存储器和外围模块组成,这些部 件通过内部地址总线、数据总线和控制总线相连构成单片微机 系统。 lMSP430的内核CPU结构是按照精简指令集的宗旨来设计的。 具有丰富的寄存器资源、强大的处理控制能力和灵活的操作方 式。 lMSP430的存储器结构采用了统一编址方式,可以使得对外围 模块寄存器的操作象普通的RAM单元一样方便、灵活。 MSP430存储器的信息类型丰富,并具有很强的系统外围模块 扩展能力。习题lMSP430系列单片机内部包含哪些主要功能部件?lMSP430系列单片机的直接寻址能力为多少字节?lMSP430系列单片机数据存储器的最低地址是什么?程序存储 器的最高地址是什么?lMSP430系列FLASH型单片机的串行在线可编程的含义是什么 ?lprotel99se设计MSP430F499的最小系统原理图第三章 MSP430指令系统l指令系统:一组指令集lMSP430系列单片机采用精简指令集结构(27条内核指令)和7 种寻址模式l指令正交:指令的源操作数和目的操作数可以分别采用不同的 寻址模式3.1 指令格式l标号相当于指令所在地址。l数据定义的伪指令,如DB、DC8等,其后可以有任意个操作数l有两个一上的操作数,用英文半角“,”好分开。标号标号: : 操作码操作码 操作数操作数 ; ;注释注释 注意:注意:“ “:”:”是必是必 须须英文半角字英文半角字 符符,包括,包括“ “;”;”3.2 操作码格式lMSP430系列单片机指令集包含27条内核指令和24条仿真指令l内核指令:有唯一的操作码l仿真指令:没有自己的操作码,是通过汇编器将仿真指令转换 为内核指令l内核指令分为三种格式:双操作数指令格式、单操作数指令格 式和跳转指令格式l字节操作指令(.B)和字操作指令(.W)3.2 操作码格式lOp-code:操作域lS-reg:源操作数所用寄存器lD-reg :目的操作数所用寄存器lAd :用1位表示目的操作数使用的寻址方式lAs :用2位表示源操作数使用的寻址方式lB/W :字节操作(该位为1)/字操作(该位为0)lSrc:源操作数lDst:目的操作数D De eststination ination S Souourcrce e OOperation peration A Address ddress RegRegisterister 操作码格式双操作数l双操作数指令操作码格式:l表3.1双操作指令15 14 13 12 11 109876543210Op-codeS-regAdB/ WAsD-reg操作码格式单操作数 l单操作数指令操作码格式:l表3.2单操作指令15 14 13 12 11 109876543210Op-codeB/ WAdD-reg/ S-reg操作码格式跳转l跳转指令操作码格式:l表3.3 跳转指令15 14 13 12 11 109876543210Op-code条件
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号