议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP430 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

Similar documents
Microsoft Word - MSP430 Launchpad 指导书.docx

MSP430x11x1 T A -40 ~ SOWB 20 TSSOP (DW) (PW) MSP430F110IDW MSP430F110IPW MSP430F112IDW MSP430F112IPW + F11x 30kΩ

untitled

untitled

MSP430单片机简介

Getting Started with the MSP430 LaunchPad

MSP430F KB+256B flash 10KB RAM 64 Quad Flat Pack QFP MSP430x1xx SLAU049 MSP430 MSP RISC CPU 16 DCO 6 MSP430x15x/16x/161x A/D 12 D/A

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

51 C 51 isp 10 C PCB C C C C KEIL

第 1 章 MSP430 快速入门 因为最近转入 MPS430 的技术支持工作, 所以现在开始学习 430 的开发 由于之前用过 51, 也用过 TI 的 ARM CORTEX-M3, 但是就是没有用过 TI 的 430, 所以将 我学习 430 的过程写出来, 给像我一样之前没有 430 开发经验

MSP430

学习MSP430单片机推荐参考书

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模

目 录

ICD ICD ICD ICD ICD

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

RO 电容检测 : 其原理就是测震荡电路频率, 关键参数在电容 ----C1 的充放电,R5 和 C1 构成一阶 RC 震荡电路 比较器的输入电压时随着输出电压变化而变化的, 而比较器负输入端电压是由 C1 充放电决定 通过计算可以发现, 电容电压在 1/3VCC-2/3VCC 之间反复变化 其震荡

MSP430 MSP430 F149 MSP430F149 P USART MSP430F PWM 63#

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

Microsoft PowerPoint - C15_LAB_MTS86_INTRO

Microsoft Word - MSP_430学习笔记.doc

MSP430 Launchpad 指导书

ARM JTAG实时仿真器安装使用指南

USB解决方案.ppt

(3)ADC12Ó¦Ó÷¶Àý

查询 MSP430F110 供应商 捷多邦, 专业 PCB 打样工厂,24 小时加急出货 Low Supply Voltage Range 1.8 V to 3.6 V Ultralow-Power Consumption: Active Mode: 200 µa at 1 MHz, 2.2 V S

<4D F736F F D20C7B6C8EBCABDCAB5D1E9CAD2B7BDB0B82E646F63>

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

目录

FM1935X智能非接触读写器芯片

FM1935X智能非接触读写器芯片

Ch03_嵌入式作業系統建置_01

DPJJX1.DOC

PROTEUS VSM

P4i45GL_GV-R50-CN.p65

2 PIC PIC 1 / CPU PIC MCU PIC RC

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

查询 MSP430F1111A 供应商 捷多邦, 专业 PCB 打样工厂,24 小时加急出货 SLAS241G SEPTEMBER 1999 REVISED AUGUST 2003 Low Supply Voltage Range 1.8 V 3.6 V Ultralow-Power Consump

EK-STM32F

1 CPU

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

Arduino 1-1 Arduino 1-2 Arduino 1-3 Arduino IDE

一个开放源码的嵌入式仿真环境 ― SkyEye

PIC16F F MPLAB 08 16F LED 15 LED

目录 利用 CCS5.1 开发 MSP-EXP430G2 LaunchPad 实验板样例程序 MSP-EXP430G2 LaunchPad 实验板简介 概述 安装 MSP-EXP430G2 LaunchPad 实验板结构... 4

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

SPMC75F2413A_EVM_使用说明_V1.2.doc

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

KL DSC DEMO 使用说明

C语言的应用.PDF

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

untitled

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

Ps22Pdf

邏輯分析儀的概念與原理-展示版

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

audiogram3 Owners Manual

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

MCU DSP MSO MCU DSP MSO MSO MSO MCU/DSP I/O MSO 16 Microchip IC18 turn-on MSO chirp MCU I/O I 2 C

bingdian001.com

Microsoft Word - 正文.doc

Microsoft Word - µÚ4ÕÂ Basic clock+.doc

untitled

PTS7_Manual.PDF

Microsoft Word - MSP430F³£ÓÃÄ£¿éÓ¦ÓÃÔ�Àí.doc

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

PCM-3386用户手册.doc

STM32 for sensorless vector control

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

Application Note Format

表3:

untitled

《手机维修原理及维修实例详解》目录

1 TPIS TPIS 2 2

第七章 中断

Section1_16bit Arc.ppt

untitled

单片机应用编程技巧(专家:邓宏杰)

中文手册

AL-M200 Series

从MCS51向AVR的快速转换.PDF

作业四:

KT-SOPCx开发套件简明教程

Microsoft Word - IRFWX-A124_A_SM59D03G2_SM59D04G2_PCA_ APN_SC_.doc

Tel:

专业主干课程与主要专业课程教学大纲(2009年、2011年).doc

MSP430系统实验教程.doc

775i65PE_BIOS_CN.p65

Microsoft Word - 專題封面.doc

untitled

(02) (02) (02) (02) (02

Microsoft Word - mcu-an z-10.doc

STM32 STM3232ARM Cortex-M3 Cortex-M3 STM32Thumb-2 STM32MCU Cortex-M3ARM MCU STM32ARM 32 ARMCortex-M3 32 STM32 Cortex-M3 ARM Cortex-M3 ARM ARM

12232A LED LED LED EL EL CCFL EL CCF

Transcription:

采用 MSP430 LaunchPad 启动开发工作

议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP430 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

MSP430 系列 MCU 产品

MSP430 MCU 介绍 超低功耗 业内功耗最低的 MCU 超低功耗运行模式 7 种低功耗模式 即时唤醒 所有的 MSP430 器件均具有超低功耗特性 丰富齐全的产品线, 低成本可供选择 找到适合您需要的理想 MCU 400 多款器件 容量高达 256kB 闪存,18kB RAM, 超过 25 种封装可供选择 Value Line 系列器件起售价仅 0.25 美元 不同性能与片上集成度的器件可供选择 集成 智能型模拟与数字外设 外设工作于低功耗模式 减少外部分立器件与物料成本 具有 FRAM USB RF 电容式触摸 I/O 计量模块 LCD ADC DAC 等等 易于启动开发工作 低成本与简单入手 完整套件起售价仅 4.30 美元 可提供基于 GUI 的编码及调试工具 MSP430Ware 软件与资源库 - 包括代码范例 数据手册 用户指南等等!

MSP430 Ultra-Low Power is in our DNA MSP430 支持的应用 MSP430 MCU 可支持数以千计的应用 凭借 MSP430 MCU 的超低功耗性能 高集成度模拟与数字外设 以及易用的工具, 客户可方便地实现其产品的差异化

MSP430 Ultra-Low Power is in our DNA Value Line 系列 :16 位性能,8 位器件的价格 闪存容量 UART 16KB MSP430G25X3 SC ADC UART ADC 8KB MSP430G24X2 SC ADC MSP430G24X3 SC ADC UART SC 4KB MSP430G23X2 SC ADC MSP430G23X3 SC ADC UART 2KB MSP430G22X2 SC ADC MSP430G22X1 SC ADC MSP430G22X3 SC ADC UART 1KB MSP430G21X2 SC ADC MSP430G21X1* SC ADC MSP430G21X3 SC ADC UART.5 KB MSP430G2001 14 引脚 TSSOP/PDIP 封装 10 个 GPIO 16 引脚 QFN 封装 10 个 GPIO 20 引脚 TSSOP/PDIP 封装 16 个 GPIO 28 引脚 TSSOP 封装 24 个 GPIO 32 引脚 QFN 封装 24 个 GPIO

Value Line 功能框图

Value Line 外设 通用 I/O 可独立编程 可提供输入 输出与中断 ( 边沿可选 ) 的任意组合 所有寻址指令可对端口控制寄存器进行读 / 写访问 每个 I/O 具有一个可独立编程的上拉 / 下拉电阻 某些器件 / 引脚具有触摸按键模块 (PinOsc) 16 位 Timer_A2 2 个捕获 / 比较寄存器 丰富的中断功能 WDT+ 看门狗定时器 也可用作一个普通定时器 欠压复位 可在上电和断电期间提供正确的复位信号 功耗包含于 MCU 最低功耗时 (LPM4) 所消耗电流之中

Value Line 外设 串行通信 支持 I2C 和 SPI 的 USI 支持 I2C SPI 以及 UART 的 USCI Comparator_A+ 可设定反相和同相输入 可选的 RC 输出滤波器 可直接输出至 Timer_A2 捕获输入 具有中断能力 8 通道 /10 位 200 ksps SAR ADC 8 个外部通道 ( 取决于器件 ) 内置电压和温度传感器 可编程的参考电压 DTC 可在无需 CPU 干预的情况下将结果发送至存储器 具有中断能力

USB 仿真器接口 LaunchPad 开发板 片上仿真器模块 6 针 ez430 连接器 外置晶体接口 芯片引出脚 MSP430 器件和插座 P1.3 按钮 LED 和跳线 P1.0 和 P1.6 复位按钮 电源连接器

议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP43P 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

Code Composer Studio 简介 用于 TI 嵌入式处理器的集成型开发环境 (IDE) 包括调试器 编译器 编辑器 仿真器 操作系统 (OS) 该 IDE 基于 Eclipse 开源软件框架 由 TI 对其进行扩展以支持 TI 嵌入式控制器 CCSv5 基于成熟的 Eclipse( 在 CCS 5.1 中采用的是 version 3.7) 未来的 CCS 版本将使用 Eclipse 的最新版本 由其他供应商提供的全兼容型 Eclipse 插件或使用 TI 工具并将它们置于一种现有的 Eclipse 环境之中 用户能充分利用 Eclipse 的最新特性 集成更多的工具 OS 应用程序开发工具 (Linux Android ) 代码分析 源控制 很快支持 Linux 低成本!445 或 495 美元

常见任务 创建新项目 采用模板即可非常简单地创建针对某款器件的新项目 Build 选项 用户可使用 Build 选项对项目进行编译配置 选项的更新通过编译器的发布来提供, 而不依赖于 CCS 的更新升级 共享项目 用户可非常方便共享项目, 并包括项目的版本控制等 简化操作以共享链接资源

工作空间与方案 工作空间 项目一 项目二 项目三 设定和偏好 工作空间包含您的设置与偏好, 以及至您的项目的链接 将项目从工作空间中删除只是删除了链接, 而并非设计文件 链接 项目方案方案 源文件源文件头文件源文件头文件库文件头文件库文件 Build 库文件与工具设置 Build 与工具设置 Build 与工具设置 链接 链接 链接 一个工程项目包含了您的 Build 选项与工具设置, 以及至您的输入文件的链接 将文件从工作空间中删除只是删除了链接, 而并非设计文件 源文件 代码和数据 头文件 说明 / 定义 库文件 代码和数据

项目向导 单页向导满足大多数情况的使用要求 下一个 按钮将在某个模板需要附加设置显示 包含调试器设置 假如选取了某款特定的器件, 用户还可选择其调试器, 并生成 ccxml 文件 采用默认设置使其简单易用 一些高级配置编译器版本 字节存储顺序等在 Advanced Settings 下

各种不同的 IDE 选项 MSP430 Ultra-Low Power is in our DNA 可提供免费的集成型开发环境 (IDE) Code Composer Studio 基于 Eclipse 的 IDE( 编译器 调试器 链接器等 ), 适用于所有的 TI 嵌入式处理器 无限制版本售价 495 美元 可提供免费版本! 免费的 16kB 代码空间限制版本可供下载 可提供免费 全功能 120 天试用期限版本 IAR Embedded Workbench 功能强大的第三方 IDE 产品, 配有项目管理工具和编辑器 包括用于所有 MSP430 器件的配置文件 可提供免费版本! 免费的 4/8/16kB 代码空间限制 (Kickstart) 版本可供下载 可提供免费 全功能 30 天试用期限版本 MSPGCC 用于 MSP430 的免费 开源 GCC 工具链 包含 GNU C 编译器 (GCC) 汇编器和链接器 (binutils) 调试器 (GDB) 工具可在 Windows Linux BSD 及其他大多数 Unix 版本的操作系统上使用 更多详情敬请访问 :http://mspgcc.sourceforge.net/ 可提供其他的 MSP430 IDE 选项! 更多详情敬请访问 www.ti.com/msp430tools

Lab1:Code Composer Studio Lab1: 创建一个新的工作空间 创建 Lab1 项目 加进 temperature sense demo 代码 编译并运行

第一步 : 创建 CCS 工作空间 将 Lab 文件置于您的电脑上 启动 CCS v5 选择一个 工作空间 位置

第二步 : 创建一个 CCS 项目 File > New > CCS Project Project name:lab1 Device>Family:MSP430 Variant:MSP430G2231 Project templates and examples: Empty Project

第三步 : 在 CCS 项目中加进一个文件 Project > Add Files 选择 Lab 所在的文件夹 并选择 : Temperature_Sense_Demo.c

CCS 窗口 C/C++ 透视概览 一键式项目调试 独立的调试与 C/C++ 项目透视图 项目视图 所有项目的列表 项目概要 快捷了解项目组成部分 问题观察 信息 警告 差错 控制台 构建信息 代码窗口 实时断点, 语法高亮显示

CCS 窗口 调试透视概览 一键式项目调试 独立的调试与 C/C++ 项目透视图 目标控制 起动 停止 暂停 步进 堆栈跟踪 高度可配置的窗口布局 用户偏好 插件支持 实时 系统内 MSP430 信息 寄存器访问 闪存 RAM 信息段访问 反汇编视图 程序长度信息 代码窗口 实时断点, 语法高亮显示

第四步 :Build 及调试一个 CCS 项目 点击 DEBUG 以构建代码并启动调试器

第五步 : 运行 终止一个 CCS 项目 运行 终止 透视图

议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP430 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

MSP430G2xx 结构 JTAG/ 调试 超低功耗 0.1uA 断电模式流耗 0.8uA 待机模式流耗 220uA / 1MIPS <1us 时钟启动时间 <50nA 端口漏电流 零功耗欠压复位 (BOR) 超灵活 0.5k 至 16kB 系统内可编程 (ISP) 闪存 16 位定时器 SPI I2C 10 位 ADC 嵌入式仿真 时钟 RISC CPU 16 位 ACLK SMCLK 闪存 数字外设... MAB 16 MDB 16... RAM 模拟外设

单周期寻址寄存器文件 4 种专用型 12 种通用型 无累加器瓶颈 RISC 架构 27 条核心指令 24 条仿真指令 7 种地址模式 Atomic 内存至内存寻址位 字节和字处理常数发生器 16 位 RISC CPU 16 15 R0/PC R1/SP R2/SR R3/CG R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 0 16 16-bit ALU 7

存储器映射 闪存可编程 : 通过 JTAG 或系统内 (ISP) 编程电压低至 2.2V, 单字节或单字编程 主存储器 : 每段 512 字节 (0-n). 可分段或全部擦除 信息存储器 : 每段 64 字节 (A-D) Section A 包含器件专用的校准数据, 并可锁定 可编程闪存定时发生器 0FFFFh 0FFC0h FFDFh F800h 010FFh 01000h 027Fh 0200h 01FFh 0100h 0FFh 010h 0Fh 0h 示出的是 G2231 中断矢量表闪存 /ROM 信息存储器 RAM 16 位外设 8 位外设 8 位特殊功能寄存器

时钟系统 超低功耗 / 低频振荡器 (VLO) 4 20kHz( 典型值为 12kHz) 500nA 待机流耗 0.5%/ C 和 4%/V 漂移晶体振荡器 (LFXT1) 片内集成可编程负载电容 故障保险 OSC_Fault 脉冲滤波器数字控制振荡器 (DCO) 0 至 16MHz + 3% 容差 出厂校准 ( 保存在闪存中 ) Min. Puls Filter 16MHz DCO VLO OSC_Fault ACLK Peripherals MCLK CPU SMCLK Peripherals MCU PUC 后,MCLK 和 SMCLK 由 DCOCLK 提供 ( 约 1.1 MHz) 在 LF 模式中,ACLK 由 LFXT1CLK 采用一个 6pF 内部负载电容提供

G2xxx DCO 校正 // Setting the DCO to 1MHz if (CALBC1_1MHZ ==0xFF CALDCO_1MHZ == 0xFF) while(1); BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; // Erased calibration data? Trap! // Set range // Set DCO step + modulation G2xx1 器件只具有 1MHz DCO 校正参数 若需要较高的频率, 客户必须自行校准 G2xx2 和 G2xx3 具有所有 4 个 DCO 校正参数校准值

VLO 的校准 Calibrated 1 MHz DCO TAR f VLO = 8MHz/Counts CCRx ACLK/8 from VLO 在运行期间可对 VLO 进行校准采用校准的 1MHz DCO 为 Timer_A 提供时钟利用 VLO 提供的 ACLK/8, 捕获其上升沿经运算 f VLO = 8MHz/ 计数可在网上查询代码库 (SLAA340)

系统 MCLK 和 Vcc 时钟速度与所需的 Vcc 必需匹配 需要外部 LDO 稳压器 如果 Vcc < 选定频率所要求的最小电压值, 则会导致程序运行不确定性 所有 G2xxx 器件的工作频率均可高达 16MHz

Lab2: 基本时钟配置 Lab2 将 Lab2 项目导入至工作空间 设定 DCO = 1MHz 将 DCO/8 用作 MCLK, 观察 LED 闪烁 将 VLO/8 用作 MCLK, 观察 LED 闪烁

Lab 2: // Configure Basic Clock BCSCTL1 = ; // Set range DCOCTL = ;// Set DCO step + modulation BCSCTL3 = LFXT1S_2;// Set LFXT1 // Configure MCLK BCSCTL2 = + DIVM_3; // Set MCLK 参考用户指南 数据手册及原理图

Lab 2:2xx 用户指南中的 BCSCTL2

Lab 2:MSP430G2231 标头文件中的 BCSCTL2

议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP430 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

中断和堆栈 进入中断服务程序 当前执行的指令已完成 指向下一条指令的 PC 被推送至堆栈上 SR 被推送至堆栈上 选择了具有最高优先级的中断 中断请求标志为单源中断标志时自动复位 ; 若为多源中断标志则保持于设定状态, 由软件控制 SR 被清零 ; 这将终止任何低功耗模式 ; 由于 GIE 位被清零, 因此将禁止执行更多的中断 中断向量的内容被装入 PC; 程序将利用位于该地址的中断服务例程继续执行

Interrupt Source Power-up External Reset Watchdog Timer+ Flash key violation PC out-of-range NMI Oscillator Fault Flash memory access violation Vector Table G2231 Interrupt Flag PORIFG RSTIFG WDTIFG KEYV NMIIFG OFIFG ACCVIFG System Interrupt Word Address Priority Reset 0FFFEh 31 (highest) Non-maskable Non-maskable Non-maskable 0FFFCh 30 0FFFAh 29 0FFF8h 28 0FFF6h 27 Watchdog Timer+ WDTIFG maskable 0FFF4h 26 Timer_A2 TACCR0 CCIFG maskable 0FFF2h 25 Timer_A2 TACCR1 CCIFG TAIFG maskable 0FFF0h 24 0FFEEh 23 0FFECh 22 ADC10 ADC10IFG maskable 0FFEAh 21 USI I/O Port P2 (2) I/O Port P1 (8) USIIFG USISTTIFG P2IFG.6 P2IFG.7 P1IFG.0 to P1IFG.7 maskable 0FFE8h 20 maskable 0FFE6h 19 maskable 0FFE4h 18 0FFE2h 17 0FFE0h 16 Unused 0FFDEh to 0FFCDh 15-0

中断处理函数编程 #pragma vector=wdt_vector interrupt void WDT_ISR(void) { IE1 &= ~WDTIE; // disable interrupt IFG1 &= ~WDTIFG; // clear interrupt flag WDTCTL = WDTPW + WDTHOLD; // put WDT back in hold state BUTTON_IE = BUTTON; // Debouncing complete } #pragma vector - 下面的函数是一个用于所列矢量的 ISR interrupt void - 识别 ISR 名称 无特别需要的返回值

GPIO 端口 G2231 GPIO 寄存器 GPIO 代码范例 输入寄存器 PxIN 输出寄存器 PxOUT 方向寄存器 PxDIR 电阻启用 PxREN 功能选择 PxSEL 功能选择 2 PxSEL2 中断边缘 PxIES 中断启用 PxIE 中断标记 PxIFG 用于 GPIO 中断 P1DIR = BIT4; P1SEL = BIT4; P1DIR = BIT0; P1OUT = BIT0;

引脚复用 每个引脚具有多项功能 在对应的寄存器选择相应的引脚功能 具体详见各器件的数据手册

Lab3 设置 P1.3 为按钮 设置 P1.0 控制 LED 利用按钮进行触发 LED 翻转 Lab3:GPIO

Lab 3: P1DIR = BIT0; // Set P1.0 to output direction P1IES = BIT3; // P1.3 Hi/lo edge &= ~BIT3; // P1.3 IFG cleared = BIT3; // P1.3 interrupt // Port1 interrupt service routine #pragma vector = interrupt void Port_1(void) // Port1 interrupt service routine P1OUT ^= BIT0; // P1.0 = toggle &= ~BIT3; // P1.3 IFG cleared

议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP430 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

Timer_A 异步 16 位定时器 / 计数器连续 递增 - 递减 递增计数模式多个捕获 / 比较寄存器 PWM 输出中断向量寄存器用于实现中断快速响应能触发 DMA 传输所有 MSP430 上均有 Timer_A 模块 TACLK ACLK SMCLK INCLK CCI2A CCI2B GND VCC Capture Mode 16-bit Timer TAR TACCR2 Count Mode CCR0 CCR1 CCR2 Compararator 2 Set TAIFG CCI SCCI Y A EN Set CCIFG2 Output Unit2

Timer_A 计数模式 停止 / 暂停定时器计数停止 / 暂停 连续定时器连续递增计数 0FFFFh 0h 0FFFFh CCR0 递增定时器在 0 和 CCR0 之间计数 0FFFFh CCR0 递增 / 递减定时器在 0 - CCR0-0 之间计数 UP/DOW N Mode 0h 0h CCR 计数比较寄存器

Timer_A 中断 Timer_A 捕获 / 比较寄存器 0 中断标记 (TACCR0) 生成单个中断向量 : TACCR0 CCIFG TIMERA0_VECTOR 无需处理程序 对 TACCR1 2 和 TA 中断标记进行优先级处理, 并采用 Timer_A 中断向量寄存器 (TAIV) 将之组合成为另一个中断向量 TACCR1 CCIFG TACCR2 CCIFG TAIV TIMERA1_VECTOR TAIFG 代码必须包含一个处理程序, 以确定触发的是哪一个 Timer_A1 中断

TAIV 处理程序范例 TAIV 0 0 15 0 0 0 0 0 0 0 0 0 x x x x 0 0 源 TAIV 内容 没有即将发生的中断 0 TACCR1 CCIFG 02h TACCR2 CCIFG 04h 保留 06h 保留 08h TAIFG 0Ah 保留 0Ch 保留 0Eh #pragma vector = TIMERA1_VECTOR interrupt void TIMERA1_ISR(void) { switch( even_in_range(taiv,10)) { case 2 : // TACCR1 CCIFG P1OUT ^= 0x04; break; case 4 : // TACCR2 CCIFG P1OUT ^= 0x02; break; case 10 : // TAIFG P1OUT ^= 0x01; break; } } C 代码 0xF814 add.w &TAIV,PC 0xF818 reti 0xF81A jmp 0xF824 0xF81C jmp 0xF82A 0xF81E reti 0xF820 reti 0xF822 jmp 0xF830 0xF824 xor.b #0x4,&P1OUT 0xF828 reti 0xF82A xor.b #0x2,&P1OUT 0xF82E reti 0xF830 xor.b #0x1,&P1OUT 0xF834 reti 汇编代码

Timer_A PWM 范例 CCR2 CCR2 CCR2 MSP430F11x1 TEST Vcc P2.5 Vss XOUT XIN RST P2.0 P2.1 P2.2 TA2/P1.7 P1.6 P1.5 P1.4 P1.3 TA1/P1.2 P1.1 P1.0 P2.4 P2.3 CCR1 CCR0 CCR1 CCR0 CCR1 CCR0 PWM 完全自动发送可通过对 CCR 的配置, 生成多路相同频率和不同占空比的 PWM 请浏览 MSP430 的相关网址的代码范例

范例 :ADC10 采用 Timer_A 的直接硬件控制 65535 TAR TACCR1 = 557 0 TAIFG: 基准和 ADC 接通 TACCR1: 基准延迟 / ADC 触发 ADC10IFG: 处理 ADC 结果基准 / ADC 关断 17ms 2s CPU 运作模式

WDT+ 模块 : 概要 在所有 MSP430 器件上均有 WDT 两种模式 看门狗 间隔定时器 访问受密码保护 看门狗模式和定时器模式拥有不同的单独中断向量 Clock 可由 ACLK 或 SMCLK 提供 控制 RST/NMI 引脚模式 WDT+ 添加了故障保护时钟 16-Bit Counter EQU Password Compare EQU Control Register WDTCTL MDB R / W

看门狗定时器故障保险 倘若 ACLK/SMCLK 发生故障, 则时钟脉冲源 = MCLK (WDT+ 故障保护特性 ) 假如 MCLK 由一个晶振 (XTAL) 提供, 且晶振发生故障, 则 MCLK = DCO (XTAL 故障保护特性 ) MCLK 16-bit Counter CLK Fail-Safe Logic SMCLK ACLK 1 1 WDTSSEL A EN WDTHOLD

WDT: 常见设计问题 程序保持对其自身的复位 程序动作反常 执行是否到达清除 WDT 的位置? 设置一个靠近 main() 起点的中断, 以查看代码是否重新启动 CPU 甚至在到达第一条指令之前似乎就出现了冻结现象 C 程序是不是具有大量初始化数据? 通常只会在拥有超大 RAM 空间器件上出现 解决方案 : 在 low_level_init() 函数中关闭看门狗 void main(void) { WDTCTL = WDTPW+WDTHOLD;.. } // Stop the dog

WDT: 间隔定时器功能 当定时到达时没有 PUC 产生 如果 WDTIE 和 GIE 在到达间隔时被设定, 则生成一个 WDT 间隔中断 ( 而不是复位中断 ) 定时间隔可编程选择

Lab4: 定时器和中断 Lab4 采用 Timer_A 再次完成 Lab2 实验 配置 Timer_A 计数周期 :5100 当 TAR = 100 时, 产生一个中断触发 LED 控制

Lab 4 源代码 // Configure TimerA TACTL = ; // Source: ACLK, UP mode CCR0 = 5100; //Timer count 5100 CCR1 = 100; //Timer count 100 CCTL0 = CCIE; //CCR0 interrupt enabled CCTL1 = CCIE; //CCR1 interrupt enabled // Timer A0 interrupt service routine #pragma vector = interrupt void Timer_A0(void) // Timer A1 interrupt service routine #pragma vector = interrupt void Timer_A1(void)

议程 介绍 Value Line 系列 Code Composer Studio CPU 与基本时钟模块 中断与 GPIO Timer_A 与 WDT+ MSP430 低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案

超低功耗特性

超低功耗是 MSP430 的 NDA MSP430 从一开始就是专为超低功耗 (ULP) 而设计的 外设专为减少功耗和最大限度地降低 CPU 占用率而优化 智能型低功耗外设能独立于 CPU 而工作, 并让系统在更长的时间里处于较低功耗模式 www.ti.com/ulp 多种操作模式 100 na 断电 (RAM 保持 ) 0.3 µa 待机 110 µa / MIPS( 采用 RAM) 220 µa / MIPS( 采用闪存 ) 即时可稳定工作的高速时钟 1.8 至 3.6V 单电源操作 零功率 始终工作的 BOR <50nA 的引脚漏电流 可最大限度地减少每项任务的执行周期的 CPU 低功耗智能外设 自动传输数据的 ADC 功耗微乎其微的定时器 100 na 模拟比较器 可保证所需工作条件下的性能