已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 15 msp430 学习经验总结 msp430 学习经验总结: 一 .MSP430 开发环境建立 1.安装 IAR dor msp430 软件,软件带 USB 仿真器的驱动。 2.插入 USB 仿真器,驱动选择安装目录的/drivers/TIUSBFET 3.建立一个工程,选择 option选项,设置 a、选择器件,在 General项的 Target标签选择目标器件 b、选择输出仿真,在 Linker项里的 Output标签,选择输出 Debug information for C-SPY,以输出调试信息用于仿真。 c、若选择 Other, Output 下拉框选择 zax-m即可以输出 hex文件用以烧录,注意,此时仿真不了。 d、选择 Debugger项的 Setup标签, Driver下拉框选择 FET Debugger e、选择 FET Debugger项的Setup标签, Connection下拉框选择 Texas Instrument USB-I 4. 仿 真 器 的 接 口 , 从 左 到 右 分 别 为 GND,RST,TEST,VCC 二 .IO口 2 / 15 数字输入 /输出端口有下列特性: 每个输入 /输出位都可以独立编程。 允许任意组合输入、输出。 P1 和 P2 所有 8 个位都可以分别设置为中断。 可以独立操作输入和输出数据寄存器。 可以分别设置上拉或下拉电阻。 在介绍这四个 I/O 口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦 ,当作为输入时 ,上拉电阻将其电位拉高 ,若输入为低电平则可提供电流源 ;所以如果P0 口如果作为输入时 ,处在高阻抗状态 ,只有外接一个上拉电阻才能有效。 1.选择引脚功能 - PxSEL,PxSEL2 PxSEL2 PxSEL 管脚功能 0 0 用作 IO口 0 1 用作第一功能引脚 1 0 保留,参考具体型号的手册 1 1 用作第二功能引脚 设置引脚用作外设功能时,芯片不会自动设置该引脚输入输出方向,要根据该功能,用户自己设置方向寄 存器 PxDIR。 3 / 15 2.选择引脚输入 /输出方向 - PxDIR Bit = 0: 输入 Bit = 1: 输出 3.选择引脚是否使能上下拉电阻 - PxREN Bit = 0: 不使能 Bit = 1: 使能 4.输出寄存器 - PxOUT Bit = 0: 输出低电平或者下拉 Bit = 1: 输出高电平或者上拉 5.管脚状态寄存器 - PxIN Bit = 0: 管脚当前为低 Bit = 1: 管脚当前为高 你说的“第二功能”应该是指外围模块功能吧,用模块就选“第二功能”,不用模块就选“第一功能”。 可通过设置 PxSEL寄存器进行选择,某位写“ 0”为 I/O;写“ 1”为“第二功能”。 用到比较器时要设置为第二功能。 当然你如果是用片外的比较器,将其输出的高低电平送给MSP430,那就选“第一功能”。 三 .Base clock 模块 一、 4 个时钟振荡源 1、 LFXT1CLK: 外部晶振或时钟 1 低频 时钟源 低频模式: 32768Hz 高频模式: 4 / 15 2、 XT2CLK: 外部晶振或时钟 2 高频时钟源 3、 DCOCLK: 内部数字 RC振荡器 ,复位值 4、 VLOCLK: 内部低功耗振荡器 12KHz 注: MSP430x20xx: LFXT1 不支持 HF 模式 , XT2 不支持 , ROSC 不支持 . 二、 3 个系统时钟 1、 ACLK: 辅助时钟 复位: LFXT1CLK的 LF模式,内部电容 6pF 分频: 1/2/4/8 时钟源: LFXT1CLK/VLOCLK. 用途: 独立外设 ,一般用于低速外设 2、 MCLK: 主时钟 复位: DCOCLK, 分频: 1/2/4/8 时钟源: LFXT1CLK/VLOCLK/XT2CLK/DCOCLK 用途: CPU,系统 3、 SMCLK: 子系统时钟 复位: DCOCLK, 分频: 1/2/4/8 时钟源: LFXT1CLK/VLOCLK/XT2CLK/DCOCLK 用途: 独立外设 ,一般用于高速外设 三、寄存器 5 / 15 1、 DCOCTL: DCO 控制寄存器 DCOx:定义 8 种频率之一,可分段调节 DCOCLK的频率,相邻两种频率相差 10%。而频率又注入直流发生器的电流定义。 MODx: 位调节器选择。这几位决定在 32 个 DCOCLK 周期内插入高 1段频率 fDCO+1的次数。当 DCOX=7,已为最高段频率,此时不能用 MODx 作为频率调整。 2、 BCSCTL1:基础时钟系统控制寄 存器 1 XT2OFF:是否关闭 XT2 0:打开 XT2 , 1:关闭 XT2 XTS: XT2 模式选择 0:LF mode , 1:HF mode ,这个数字是规定的数字,可以在程序中识别并自动进入相应的子程序。禁止定时 器 A 中断不会影响 TAIV 的值。 对 TAIV 的读写会自动复位最高优先级的挂起中断标志。如果另一个中断标志置位,在结 束原先的中断响应后会,该中断响应立即发生。例如,当中断服务子程序访问 TAIV 时,如果 TACCR1 和 TACCR2 CCIFG 标志位置位, TACCR1 CCIFG 自动复位。在中断服务子程序的 RETI 命令执行后, TACCR2 CCIFG 标志会产生另一个中断。 四、 TimerA 的捕获模式 1、设置: CAP=1选择捕获, CCISx位设置捕获的信6 / 15 号源, CMx 位选择捕获的沿,上升,下降,或上升下降都 捕获。 2、如果一个第二次捕获在第一次捕获的值被读取之前发生,捕获比较寄存 改变 CCS字体方法: perferanceGeneralApperanceColors and Fonts BasicText Font 将 c语言编译成汇编语言之后执行。如果 c 语言结构不好,则编译后 会出现编译成汇编后代码冗余, 使得执行效率不高。 板子有可能与电脑连接出问题,可以拔下重插一次。 在单片机内部 flash存储空间有剩余时,可以用于数据存储空间, 并且可以使用单片机程序进行数据管理。 POR PUC 是复位信号 看门狗定时器溢出发生复 位 复位时设置如下: 堆栈的指针指到最顶端 2.初始化看门狗 3.初始化外设 GIE是总中断 具有欠压复位功能 工作电流小于 20UA 7 / 15 待机电流小于 4个特殊功能寄存器 R0是 PC指针 R1是堆栈指针 R2是状态寄存器 R3是常数发生器 12个通用寄存器 R4-R15 27条内核指令 24条仿真指令 7中地址模式 无累加器 三个时钟: ACLK辅助时钟:频率较低,低速外设 MCLK是主时钟, CPU运行的时钟,高频 SMCLK 是次主时钟,高速外设 DCO是数字震荡控制器 1M 8M 12M 16M 共 4 个级别,可以通过 内置数据进行设置 内置 VLO低频振荡器,频率为 4-20khz。所以可以通过 DCO进行分频 Timer_A频率可达系统振荡频率,用于定时器时,最小单位时间 是 20ns 2553 的电阻有 015 共 16 中。用 RSEL 选择。 RSEL8 / 15 与 DCO配合 ,值越大 频率越大。 LF是外接时钟 USART支持 UART、 SPI 共 2 种通讯方式 USCI支持 UART、 I2C、 SPI 共 3种通讯方式 关于变量: static 变量是对于局部变量而言,如果不定义成静态变量,则 每次执行时都会被重新初始化,静态变量则不重新初始化。 全局变量和静态变量是存储在 RAM 中的。 extern 是外部变量,即将一个文件中的变量在另一个文件中 使用。如在文件 1 中声明了变量 z,在文件 2 中声明extern int z 就可以使用文件 1 的 z I/O 口赋值方法与 C51 中的相同,可以使用 OXxx 或OXxxxx 赋值。 对 P 管脚整体赋值是对寄存器的赋值操作 BIT0, BIT1, BIT2, BIT3分别表示二进制的第一位,二位, 三位为 1,四位为 1.表示 0x01, 0x02, ,0x04,0x08. P1OUT|=BIT1,是除了第一位的寄存器值被改变,其他位的值 9 / 15 都不变,这样可以防 止对其他位做了误操作。 关于逻辑操作: &0xff 与 |0x00 则不改变原以实现任意 PWM 波的 产生,再利用电容的充放电作用可以模拟出任何的周期性波形,方 法如下:定时器赋初值,启动定时器,计数停止后进入中断,在中 断中将下一个要计的时间加在初值上,继续计数。如此循环。每次 进入中断时都翻转一下输出电平。定下某个循环的次数作为一个大 周期。 P 口要选择作为 I/O 口还是作为寄存器,选定后还要在方向寄存器中 确定是输入还是输出。 PXDIR 为 0 时,要 使用 PxREN 进行上拉下拉操作,上拉则默认输入是高 电平,下拉则默认是低电平。如P1REN|=BIT0; 不操作时都默认为下拉。可以在 P1REN 寄存器里找到各位状态。 上电后 P1DIR全部为 0,即输入状态。 P1OUT 的 71都是 1,是 0. P1IN 的 为高,其他为低。 在使用时应该先分清自己是要输入还是要输出,然后可以根据需要 使用 P1REN调整初始状态。 I/O 口作为输出时,如果输出寄存器 P1OUT 是高,则对输入寄存器 PIN 有影响,会直接将 P1IN 寄 存器变为高10 / 15 电平,这就是那位学长说的要 注意的问题,要尽量避免,如在进行初始化时 P1OUT =0X00;不应该 利用这一现象,这不正宗。 I/0口的中断注意事项: 1.寄存器名称根据芯片的寄存器名称设置, 2553 是IE1, IE2,不是 P1IE,P2IE 为 1 是开中断,不要搞反了 3.将需要的端口的 PxREN置 1,即接上拉电阻。 4.标志位要软件清零 5.逻辑判断时要加括号,否则不能执行 6.不必局限于头文件中宏定义的 OFIE,OFIFG等, P1,P2的所有管脚 都可以独立中断。可以独立设置。 只要置 1,那么中断就自动禁止,不管 PxIE 是什么 不同的编译软件的寄存器名称不一样,设置时需要根据实际的进行 设置,否则寄存器无效。! 定时器是 CCR0, CCR1,CCR2, CCR0 的优先级最高,并且返回时不要 软件清除中断标志位,是自动复位的。其他定时器必须软件清除中断标志位。 CCR0, CCR1 都是 计数值,相当于 51的 TH0, TL1. 关于定时器的 连续工作模式和增计数模式? 11 / 15 数据段的数据个数一般要超过 256 个才能通过 8 路AD转换。 MCLK 的频率等于机器频率,每一个周期都能够完成一个基本操作。 一个指令周期等于 1-6 个机器周期,根据指令而定。可以参照 MSP430 时钟设置及其总结一文。 ACLK用于低速外设 MCLK用于 CPU SMCLK 用于高速外设 注意对寄存器进行位设置时的语法,可以是x|=a+b+c. x表示寄存器名称, a,b,c 表示寄存器的 位名。 多机 USART 通信时,数据格式为 :起始位 地址 停止位 起始位 数据 MSP430学习总结 前言 这次主要看的资料是 MSP430F425 型号的,与MSP430F169 有点区别,但由于 MSP430 单片机采用模块化结构,在不同型号的单片机中,同一种模块的使用方法和寄存器都是相同的。下面会对它们的功能和区别加以说明。 一、 MSP430 单片机的特点 1、我觉得 MSP430最大的特点就是超低功耗, 430 之所以能够在低功耗的条件下运行 ,主要是由于引入了“时钟12 / 15 系统”的概念,和采用模块化结构。让 CPU可以间歇性的工作,节省功耗。 在 MSP430 单片机中,通过时钟配置可以产生 3种时钟: MCLK:主时钟, MCLK 是专门为 CPU 运行提供的时钟,配置的越高, CPU 执行的速度就越快。一旦关闭MCLKE, CPU 就停止工作,所以在超低功耗中通过间接开启MCLK的方式降低功耗。 SMCLK:子系统时钟,为单片机内部某些高速设备提供时钟,并且 SMCLK 是独立于的,关闭 MCLK 让停止工作,子系统开启, 仍然可以使外设继续工作。 ACLK:活动时钟;一般是由晶 振直接产生的低频时钟,在单片机运行时一般不关闭,和定时器使用间接唤醒 CPU。时钟系统对于 3 种时钟不同程度的关闭,就可以进入不同的低功耗模式。 2、单片机采用模块化结构,每一种模块都具有独立而完整的结构,这样就可以单独开启或者关闭某些模块,只需要激活某些使用的模块,以节省电力。 、 MSP430 单片机的内核是 16 位 RISC 处理器,其运算能力和速度都具有一定的优势。 MSP430 还有其它的一些优势在这里就不一一列举13 / 15 了。 二、 MSP430 单片机的内部资源 1、 I/O口寄存器 PxIN: Px口输入寄存器 PxOUT: Px 口输出寄存器 PxDIR : Px口方向寄存器 0=输入 1=输出 PxSET: Px 口第二功能选择寄存器 0=普通 I/O 1=第二功能 使用总结:以上的 4个寄存器是所有 I/O都具有的,在使用 I/O 口之前首先要设置 PxDIR,对于要使用第二功能的还要设置 PxSET 下面介绍的是 430 中 P1, P2 口引发中断需要设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论