msp430_基本结构

上传人:tian****1990 文档编号:82059065 上传时间:2019-02-23 格式:PPT 页数:116 大小:3.13MB
返回 下载 相关 举报
msp430_基本结构_第1页
第1页 / 共116页
msp430_基本结构_第2页
第2页 / 共116页
msp430_基本结构_第3页
第3页 / 共116页
msp430_基本结构_第4页
第4页 / 共116页
msp430_基本结构_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《msp430_基本结构》由会员分享,可在线阅读,更多相关《msp430_基本结构(116页珍藏版)》请在金锄头文库上搜索。

1、MSP430系列16位单片机原理与应用,许文建 华中科技大学光电国家实验室 Email:,教学内容,MSP430单片机结构 (1)内核结构、中断向量 (2)片面外围模块 MSP430指令系统与程序设计 (1)指令集 (2)开发环境 MSP430单片机应用 (1)MSP430F247最小系统板 (2)MSP430实验,教学目的,了解MSP430的基本资源; 学会使用IAR-EW430开发环境; 学会使用MSP430F247单片机片上外设; 能够使用MSP430进行应用开发; 对MSP430单片机深入学习的能力;,学习方法=搞懂原理+多做实验,学习使用单片机的8步(网上论坛总结) 第一步:数字I/

2、O的使用 第二步:定时器的使用 第三步:中断 第四步:与PC机进行RS232通信 第五步:学会A/D转换 第六步:学会SPI、I2C接口和液晶显示器接口 第七步:学会比较、捕捉、PWM功能 第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计,C语言 微机原理单片机原理与应用,先修课程, 电子书 数据手册用户手册 http:/ 微控网 http:/ 论坛 http:/ MSP430 系列是一个 16 位的功能强大的超低功耗类型微控制器, 特别适合于电池应用的场合; 而且该系列将大量的外围模块整合到片内,也特别适合于设计单片系统; 同时MSP430 有丰富的不同类型器件可供选择

3、,给设计者带来很大的灵活性,MSP430产品系列(250),x1xx 8MHz 系列 (36) x2xx 16MHz 系列 (39) G2xx 值系列 (9) 3xx 传统 8MHz 系列 (16) x4xx 8/16MHz LCD 系列 (89) x5xx 25MHz 系列 (53) CC430 RF SoC系列 (8),MSP430产品系列,主要特征,超低功耗架构和灵活的时钟系统可延长电池的使用寿命,且功耗低至: 0.1A RAM 保持模式 0.7A RTC 模式 165A/MIPS 集成智能外设(包括各种高性能模拟和数字外设)可转移 CPU 上的负载 16 位 RISC CPU 架构 借

4、助业界领先的代码密度实现全新应用 简单易用:全套开发工具起始价仅为 20 美元,集成外设,10/12 位 SAR ADC 16 位 - ADC 12 位 DAC 比较器 LCD 驱动器 电源电压监控器 (SVS) 运算放大器 16 位和 8 位定时器 LDO/PMM RF,看门狗定时器 UART/LIN I2C SPI IrDA USB 硬件乘法器 DMA 控制器 温度传感器 实时时钟,MSP430F247特征,工作电压: 1.8-3.6V(3.3V) Frequency: 16MHz Flash: 32KB RAM: 4KB GPIO: 48 封装: LQPF-64 ADC: 12bit(8

5、-ch) 接口: 2-USCI_A(UART/LIN/IrDA/SPI ) 2-USCI_B(I2C/SPI ) 定时器: 16-Bit Timer_A(3-Capture/CompareRegisters ); 16-Bit Timer_B(7-Capture/Compare) 看门狗: 1个 JTAG: 1个,MSP430F247结构,MSP430系列采用的是“冯-诺依曼”结构; ROM、RAM在同一地址空间,使用一组地址数据总线,MSP430F247结构,基本架构:冯-诺依曼 CPU:16位; 硬件乘法器 储存器 时钟系统 JTAG调试端口 片上外设 (1)数字外设 (2)模拟外设,MS

6、P430F247结构-CPU,中央处理单元采用了精简的、高透明的、高效率的正交设计 它包括一个16位的ALU(算术逻辑运算单元); 16个寄存器; 一个指令控制单元;,16个16位寄存器(R0,R1,R4至R15)用于存放数据和地址; 16个寄存器中有4个为特殊用途,扮演重要角色,分别是: 程序计数器(R0)、堆栈指针(R1)、状态寄存器(R2)、常数发生器(R3),MSP430F247结构-CPU-寄存器,MSP430F247结构-硬件乘法器,可采用的乘法操作有: 16位x 16位 16位x 8位 8位x 16位 8位x 8位,硬件乘法器模块支持3种乘法 无符号数相乘(MPY); 有符号数相

7、乘 (MPYS); 无符号乘加 (MAC)。,硬件乘法器有2个存放操作数的16位的寄存器和3个存放相乘结果的寄存器。 只有当用户将第一操作数在第二操作数之前存入操作数寄存器中,乘法操作才会被正确执行。 当第一操作数写入相应的寄存器时,乘法的种类即被确定。当用户写入第二个操作数时,乘法操作便开始执行并在用户用变址寻址模式读结果寄存器之前结束。,MSP430F247结构-存储器,MSP430存储器空间采用“冯-诺依曼结构” 。 代码存储器( FLASH 、 ROM、EPROM、RAM)和数据存储器(RAM、EEPROM、ROM)由同一组地址及数据总线安排在一个地址空间中。 总寻址空间在小存储模式时

8、为64KB,大存储模式时为1MB。 小存储模式采用线性寻址空间。 大存储模式时,代码访问的地址空间为16个64KB段,数据访问的地址空间为16个64KB页。 存储器构成为64KB或更少时采用小存储模式,安排在最低的64KB,这时不必考虑寻址时的代码段和数据页。,MSP430F247结构-存储器,MSP430F247结构-存储器,MSP430F247结构-存储器,字节数据可以定位在偶地址或奇地址。 字数据定位在偶地址:低字节在偶地址,高字节在下一个奇地址。,MSP430F247结构-clock-时钟源,LFXT1CLK:由低频时钟晶体或外接 32768Hz 时钟源产生的低频/高频振荡器或由标准晶

9、体、振荡器,或外部400KHz16MHz的外部时钟源提供。 XT2CLK:可供选择的高频振荡器,由标准晶体、振荡器,或外部 400KHz16MHz 的外部时钟源提供。 DCOCLK:片内可数字控制的振荡器。 VLOCLK:片内超低功耗、12KHz的低频振荡器,MSP430F247结构-clock-时钟信号,ACLK:辅助时钟。ACLK由软件选择来自LFXT1CLK和 VLOCLK 之一的时钟信号。ACLK经 1,2,4,8分频后得到。ACLK 可由软件选作各个外围模块。 MCLK:主时钟。MCLK由软件选择来自LFXT1CLK,VLOCLK,XT2CLK(如果片内提供) ,DCOCLK 之一的

10、时钟信号。MCLK 由 1,2,4,8分频得到。MCLK 用于 CPU和系统。 SMCLK:子系统时钟。SMCLK 由软件选择来自 LFXT1CLK,VLOCLK,XT2CLK(片内提供) ,DCOCLK 之一的时钟信号。SMCLK 由 1,2,4,8 分频得到。SMCLK 可由软件选作各个外围模块。,时钟输出信号 ACLK 辅助时钟 MCLK主系统时钟 SMCLK子系统时钟,慢速外设,CPU和 系统,快速外设,MSP430F247-复位,MSP430F247-复位,POR信号是一个设备的复位信号,而且这个复位信号只能被以下的三种信号所产生: 1. 器件上电。 2. 复位模式配置的时候RST/

11、NMI引脚上出现低电平 当PORON =1 时,一个SVS 低状态。 一个POR的信号产生将有一个PUC信号同时产生,但是POR信号不是由PUC信号所产生的。以下事件将触发一个PUC信号: 1. 一个POR信号的产生。 2. 在WDT模式下,WDT定时器时间到。 3. WDT定时器写入错误的安全键值。 4. FLASH存储器写入错误的安全键值。,MSP430F247-复位,系统复位之后设备的初始化条件 在复位模式时,RST/NMI引脚被配置 I/O引脚被设置为输出,在数字I/O的章节有详细的叙述 外围设备模块将被初始化,参照数据手册相关的章节 状态寄存器被复位 WDT定时器将会在WDT的模式下

12、被激活 程序指针将被载入到复位向量的区域(0FFFEh)。如果复位指针的向量指向0FFFFh时, 设备将进入最低功耗模式。,MSP430F247-复位-软件初始化,系统复位之后,用户必需使用软件初始化设备以满足自己的使用需求。以下列举出了初始化必要的步骤: 初始化SP,RAM的最顶部 根据应用要求初始化WDT 根据应用的要求初始化外围设备模块,MSP430F247-复位-软件初始化-实例,void main(void) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 P1DIR |= 0x01; / 设置P1.1口为输出 for (;) volatile unsigned

13、int i; P1OUT = 0x01; / 反转P1.0 使用异或 i = 50000; / 延时 do (i-); while (i != 0); ,MSP430F247-中断,中断的优先级是固定的。中断优先级的是以各个模块的连接关系来定义的,如图所示。最靠近CPU的模块是CPU/NMIRS模块,具有最高的优先级别。当系统同时有多个中断时,将依据中断优先级别去决定执行哪一个中断。,1.系统中断 2.不可屏蔽中断 3.可屏蔽中断,MSP430F247-中断-中断向量,结合用户手册,MSP430F247-中断-中断处理过程,中断请求与响应; 1). 当前正在执行的指令被执行完成; 2). PC

14、(目前正指向的下一条指令)被压入到堆栈中 3). SR被压入到堆栈中 4). 如果有多个中断请求等待处理,最高的优先级的中断被响应 5). 如果只有一个中断请求,其中断标志位将会被自动复位。而其余的n个 中断标志位仍保持着置位,等待软件来处理 6). 状态寄存器SR被清除。这将终止任何低功耗模式。因为GIE位被清除,所以任何的中断都不能发生 7).中断向量中的地址将会被压入到PC中,程序将从中断处理函数开始的地址处继续执行。,MSP430F247-中断-中断处理过程,执行中断服务程序; 中断返回 指令RETI (return from an interrupt service routine)

15、将终止中断处理子程序。中断返回将占用5个周期去执行以下步骤: 1).压入到堆栈中的SR的数据出栈,所有先前(中断发生之前)的设置将有效,无论在中断服务子程序中是如何设置的 2).PC出栈,从断点处执行程序。,MSP430F247-中断-中断嵌套,430默认的是关闭中断嵌套的,除非在一个中断程序中再次开总中断EINT; 当进入中断程序时,只要不在中断中再次开中断,则总中断是关闭的,此时来中断不管是比当前中断的优先级高还是低都不执行; 若在中断A中开了总中断,则可以响应后来的中断B(不管B的优先级比A高还是低),B执行完再继续执行A。注意:进入中断B后总中断同样也会关闭,如果B中断程序执行时需响应

16、中断C,则此时也要开总中断,若不需响应中断,则不用开中断,B执行完后跳出中断程序进入A程序时,总中断会自动打开; 若在中断中开了总中断,后来的中断同时有多个,则会按优先级来执行,即中断优先级只有在多个中断同时到来时才起做用!中断服务不执行抢先原则。 对于单源中断,只要响应中断,系统硬件自动清中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位倍被自动清除; 对于多源中断要手动清标志位,比如P1/P2口中断,要手工清除相应的标志,如果在这种中断用“EINT();“开中断,而在打开中断前没有清标志,就会有相同的中断不断嵌入,而导致堆栈溢出引起复位,所以在这类中断中必须先清标志再打开中断开关.,MSP430F2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号