1、msp430f149中文最新msp430f149中文最新MSP430F149中文=第1页= MSP430 单片机的开发及应用 MSP430 000263# 710061 2003 年 7 月 西安邮电学院 63# 710061 陈小忠 1 2004.9.6开始看,其实以前看过,忘记了。再看 =第2页= MSP430 单片机的开发及应用 第一章 概述 第二章 MSP430 F149 语言介绍 第一节 开发环境及程序下载 第二节 语言介绍 第三章 MSP430F149 资源的应用介绍及开发 第一节 中断介绍及存储器段介绍 第二节硬件乘法器 第三节 P 口 第四节 定时器及数模转换 第五节 时钟模块
2、 第六节 USART 通信模块 第七节 比较器 第八节 模数转换 第四章MSP430F149 开发板的介绍及测试 第一节 模数转换模块 第二节 传感器模块 第三节 外存和实时时钟模块 第四节 485 和 232 模块 第五节 电源管理模块及晶振模块 第六节 PWM波形滤波 西安邮电学院 63# 710061 陈小忠 2 =第3页= MSP430 单片机的开发及应用 MSP430 是德州公司新开发的一类具有 16 位总线的带 FLASH 的单片机 , 由于其性价比和 集成度高 , 受到广大技术开发人员的青睐 .它采用 16 位的总线 , 外设和内存统一编址 , 寻址范围可达 64K, 还可以外扩
3、展存储器 . 具有统一的中断管理 , 具有丰富的片上外围模块 , 片内有精密硬件乘法 器、两个 16 位定时器、一个 14 路的 12 位的模数转换器、一个看门狗、 6 路 P 口、两路 USART 通信端口、一个比较器、一个 DCO 内部振荡器和两个外部时钟 ,支持 8M 的时钟 . 由于为 FLASH 型 , 则可以在线对单片机进行调试和下载 , 且 JTAG 口直接和 FET(FLASH EMULATION TOOL) 的 相连 , 不须另外的仿真工具 , 方便实用 , 而且 , 可以在超低功耗模式下工作 , 对环境和人体的辐射小 , 测 量结果为 100mw 左右的功耗( 电流为 14
4、mA 左右 ), 可靠性能好 , 加强电干扰运行不受影响,适应工 业级的运行环境 , 适合与做手柄之类的自动控制的设备 . 我们相信 MSP430 单片机将会在工程技术 应用中得以广泛应用 , 而且 , 它是通向 DSP 系列的桥梁 , 随着自动控制的高速化和低功耗化 , MSP430 系列将会得到越来越多人的喜爱 . 通过两过多月的毕业设计 , 我对MSP430 有了初步了解 , 对内部的硬件资源和自身的汇编语法进行了实验 , 并开发了一个应用板 , 并进行了调试 . 鉴于时间和 能力有限 , 没能对所有的应用一 一实验 . MSP430 F149 MSP430 是德州公司的新产品 , 有独
5、特的开发环境和自身语言 , 下面是我在毕业设计中对 F149 的开发环境熟悉中遇到的一些问题的处理和汇编语言的用法及程序中遇到的问题的体会 . 1.开发环境 : 在 EW23 环境下进行编程 , 汇编 , 连接 , 在 CSPY 环境下进行调试 , 下载是在连 接之后 , 调试之前 , 通过计算机的串口下载的 . 关于环境的操作 , 可以参考有关资料 , 其中可能遇到的 问题及解决方法有: 西安邮电学院 63# 710061 陈小忠 3 =第4页= MSP430 单片机的开发及应用 (1) . 汇编是对源程序而言的 , 因此必须打开一个源文件才能汇编 , 而连接是对一个工程文件而言 的 , 连
6、接是对工程文件的所有源代码 ( 包括多个源文件 ) 和数据的定位 , 因此连接必须打开一个工程 文件才能连接 . (2) 连接中必须将库文件的路径改正确, 且必须选定 CSPY 的驱动方式 , 即在 project 中的 options 的 xlink 的 include 下修改 ( 先选中 )xcl 的库路径为 $TOOLKIT_DIR$icc430msp430F149A.xcl , 选择 CSPY 的驱动 drive 为 simulator 或 FLASH EMULATION TOOL , 当没连接 430片子时可以选 simulator, 当连接 430 片子时 , 选 FLASH EM
7、ULATION TOOL 进行在线下载调试 . (3) 由于 430 支持汇编语言和 C 语言两种语言 , 因此可以在一个工程文件 中同时用两种语言 , 但 建议用汇编语言 , 因为便于在调试时寻找逻辑和指令的联系及地址的定位正确与否. (4) 在在线的 CSPY 的调试中 , 单步需要将 Control 的 Reatime 前的勾取消才能进行单步测试 . (5) 在线调试时 , 不能将 58 管脚(复位 / 非屏蔽中断) 外部变高 , 否则 , 会强制退出调试环境 . 2. 程序下载原理及脱机工作原理 : 程序的在线调试是通过 JATG 口和 F149片子的 RST 、 TCK 、 TDI
8、、 TDO 、 TMS 引脚按一定的时序串行的传递程序代码和数据的 , 调试指令的命令传递都是通 过这些数据线和控制线传递的 , 下载时序可参见资料 1, 其中的地址 0FFFEH 为复位向量的地址 , 它 是程序遇到非屏蔽中断和程序启动的首要地址 , 地址中存放的是程序段开始的首地址 , 因此必须把 程序段的首地址标号表示在中断向量中或程序伪指令的开头位置,否则 , 连接时将会出错 , 具体的 表示方法在下一节中表示 . 程序的下载和在线调试的电源是通过计算机在 JATG 提供的 , 不须另外 给加电源 . 脱机工作时 , 是将 F149 的电源线上电 , 此时的复位时序同下载后在线复位的时
9、序一样 , 只是时 钟是通过 F149 内部时钟 DCO 提供的 ,上电后 , 程序将复位向量 0FFFE 中的地址装入 PC,PC 开始 从程序段的首地址开始执行 . 脱机工作启动不需要任何操 作 , 只需上电即可 , 电压要大于 1.8v, 一般 取 3v 左右 , 另外 , 在脱机工作时 , 可以给 RST 端口加一个低电平脉冲以复位从程序开始重新执行 . 西安邮电学院63# 710061 陈小忠 4 =第5页= MSP430 单片机的开发及应用 MSP430 有自身 语言 , 汇编语言也不同于其他类型的单片机 , 伪指令也是变幻魔测 , 但又很重 要 , 下面是我毕业设计的一些尝试、出
10、问题的地方 . 也可参见资料。 1. “ #include ” 不能大写。 2. 程序段前的伪指令可以套用下列模板 , 在以后的几章中的程序都采用此模板 , 只是中间的 主程序变化而已 : #include MSP430x14x.h /* 把库文件包括进来 , 这个库文件是必须的 , 其他的库文件视需要而定 */ RSEG UDATA0 /* 定义数据段一般默认数据段段地址是从 0200H 开始的也可以自己定义数据段 开始地址 , 但必须在0200H 到 09FFH*/ DS 0 /* 表示数据段从默认的段开始 , 偏移地址为 0, 若为 DS N, 表示数据段的偏移地址 从 N 开始 , 此
11、时的物理地址为 (0200+N)H*/ ADINPUT EQU 00200H /* 将 0200H 地址命名为 ADINPUT, 此后程序中的地址 0200H 可以用 ADINPUT 表示 , 便于程序的可读性 ,注意 : 标号必须顶格写 */ A DW 5H /* 定义 A 字变量的值为 5H, 此时将会将 5H 写到数据段的当前偏移地址上 , 便于后面 使用 , 变量也得顶格写 */ RSEG CSTACK /* 定义堆栈段 */ DS 0 /* 段偏移值为 0H, 物理地址为默认开始地址值 */ RSEG CODE /* 定义代码段1*/ DS 0 /* 代码段 1*/ RESET /*
12、 标号 , 表示程序段的开始地址 , 将被写入复位向量中 */ MOV #SFE(CSTACK),SP /* 初始化堆栈指针 */ MOV #(WDTHOLD+WDTPW),&WDTCTL /*停止看门狗定时器 */ ( 程序段的内容 ) COMMON INTVEC /*表示中断向量定义 */ /* 下面的伪指令都不顶格*/ ORG XXX 1 / *XXX1 表示中断向量表中的具体的中断向量 1*/ DW YYY1 /*YYY 是中断程序入口标号 , 表示中断程序首地址 */ ORG XXX2 /* XXX2 表示中断向量表中的具体的中断向量 2/ DW YYY2 /*YYY2 是中断程序入口标号
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1