Getting Started with the MSP430 LaunchPad

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

Microsoft Word - MSP430 Launchpad 指导书.docx

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

untitled

untitled

MSP430

MSP430单片机简介

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

学习MSP430单片机推荐参考书

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

目 录

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

MSP430 MSP430 F149 MSP430F149 P USART MSP430F PWM 63#

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

FM1935X智能非接触读写器芯片

USB解决方案.ppt

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

ICD ICD ICD ICD ICD

untitled

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

1 CPU

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

(3)ADC12Ó¦Ó÷¶Àý

目录

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

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

EK-STM32F

bingdian001.com

C语言的应用.PDF

STM32 for sensorless vector control

2 PIC PIC 1 / CPU PIC MCU PIC RC

MSP430 Launchpad 指导书

audiogram3 Owners Manual

P4V88+_BIOS_CN.p65

AL-M200 Series

中文手册

P4VM800_BIOS_CN.p65

untitled

PROTEUS VSM

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

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

Microsoft Word - MSP_430学习笔记.doc

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

SPMC75F2413A_EVM_使用说明_V1.2.doc

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

Tel:

<4D F736F F D20C7B6C8EBCABDCAB5D1E9CAD2B7BDB0B82E646F63>

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

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

1 TPIS TPIS 2 2

PIC16F F MPLAB 08 16F LED 15 LED

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

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

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

untitled

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

穨2700使用手冊.doc

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

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

PCM-3386用户手册.doc

LK110_ck

untitled

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

2 12

B 6 A A N A S A +V B B B +V 2

DPJJX1.DOC

Application Note Transient Voltage Suppressors (TVS) for 表 1 VISHAY 的 SM6T 系列的电特性 25 C 型号 击穿电压 器件标识码 V BR AT I T I T 测试电流 (ma) 关态电压 V RM 漏电流 I RM AT V

Microsoft Word - 正文.doc

2005.book

mvc

典型自编教材

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

CHCN.indd

Bus Hound 5

从MCS51向AVR的快速转换.PDF

Section1_16bit Arc.ppt

12232A LED LED LED EL EL CCFL EL CCF

SDP

操作指导手册

文件名

查询 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

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

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual

Model P53 pH-ORP Analyzer CH.doc

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

安全防范

untitled

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

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

untitled

MSP430G2x53、MSP430G2x13 混合信号微处理器 (Rev. E)

HM705/6/813 WDI WDO MR GND I/O NMI INT MCU 1 HM V HM V HM813L 4.65V HM V HM V HM813M


ESP32-WROOM-32D ESP32-WROOM-32U URL Wi-Fi Wi-Fi Bluetooth SIG 208

基于 ARM Cortex-M0 的 ES32F065x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V 5.5V P

Serial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Micro

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 模拟比较器 可保证所需工作条件下的性能

超低功耗工作模式 运行状态 平均水平 低功耗模式 最大限度地减少运行时间 最大限度地增加系统处于低功耗模式 按功能需求的中断型程序设计 ( 具有 <1μs 的唤醒时间 ) 始终工作的零功耗欠压复位 (BOR) 功能电路

MSP430 低功耗模式 CPU 关断 DCO 接通 ACLK 接通 45µA 运行 DCO 接通 ACLK 接通 220µA <1µs 关断所有时钟均关断 100nA LPM0 <1µs LPM4 RAM/SFR 保持 具体数值因器件而异 待机 DCO 关断 ACLK 接通 0.3µA LPM3 RTC 功能 LCD 驱动器 RAM/SFR 保持

低功耗模式配置 保留 V SCG1 SCG0 OSC OFF CPU OFF GIE N Z C R2/SR 运行模式 0 0 0 0 约 250uA LPM0 0 0 0 1 约 35uA LPM3 1 1 0 1 约 0.8uA LPM4 1 1 1 1 约 0.1uA bis.w #CPUOFF,SR ; LPM0 采用汇编程序的 LPM

低功耗模式的堆栈操作 第一项第二项 Item1 Item2 PC SR=0018 Item1 Item2 PC SR=0008 第一项第二项 PC SR SP SP SP ORG 0F000h RESET mov.w #300h,SP mov.w #WDT_MDLY_32,&WDTCTL bis.b #WDTIE,&IE1 bis.b #01h,&P1DIR Mainloop bis.w xor.b jmp #CPUOFF+GIE,SR #01h,&P1OUT Mainloop WDT_ISR bic.w #CPUOFF,0(SP) reti ORG DW ORG DW 0FFFEh RESET 0FFF4h WDT_ISR

ULP 简单易用! 使用我们的低功耗模式很容易 void main(void) { WDT_init(); // initialize Watchdog Timer while(1) { bis_sr_register(lpm3_bits + GIE); activemode(); } } #pragma vector=wdt_vector interrupt void watchdog_timer (void) { bic_sr_register_on_exit(lpm3_bits); } // 进入 LPM3, 启用中断 // 运行的代码 // 从 0(SR) 清除 LPM3 位, 退出 LPM3, 进入运行模式

可连续工作 10 年的嵌入式实时时钟 = LPM3 + RTC_Function 0.80µA + 250µA * 100µs 1000000µs 0.80µA + 0.030µA = 0.83µA Interface MSP430F20x1 32768 1mA 100µA 10µA 1µA // Partial RTC_Function incrementseconds(); incrementminutes(); incrementhours(); // 时间

低功耗 MSP430 应用 : 低功耗操作 可最大限度地减小瞬间吸收电流 能最大限度地增加系统处于低功耗模式的时间 MSP430 具备固有的低功耗特性, 但是您的设计对于系统功耗也有很大的影响 正确的低功耗设计方法能起到改进的作用 即时稳定时钟

将软件功能移至外设来完成 MCU P1.2 // Endless Loop for (;;) { P1OUT = 0x04; // Set delay1(); P1OUT &= ~0x04; // Reset delay2(); } 100% CPU 负荷 // Setup output unit CCTL1 = OUTMOD0_1; _BIS_SR(CPUOFF); 零 CPU 负荷 47

片上模拟外设的电源管理 MSP430F20x1 Px.x CAON P1.0 + Comparator_A Ref - P1OUT = 0x02; // Power divider CACTL1 = CARSEL + CAREF_2 + CAON; // Comp_A on if (CAOUT & CACTL2) P1OUT = 0x01; // Fault else P1OUT &= ~0x01; P1OUT &= ~0x02; // de-power divider CACTL1 = 0; // Disable Comp_A 48

外部设备的电源管理 TLV2760 MCU "1uA OPA" MCU Sensor SD Px.x ADC Sensor ADC 0.01uA = 关断模式 20uA = 运行模式 --------------------------- 0.06uA = 平均值 1uA = 静态模式 1uA = 运行模式 ----------------------- 1uA = 平均值 具有关断模式的运算放大器其总功耗可降低 20 倍 49

未用引脚接口 数字输入引脚需防止遭受击穿电流的影响 如果引脚设为输入且浮动, 则当输入电压在 VIL 与 VIH 之间时的会产生击穿电流 未用的 GPIO 应当 : 设为输出 可由一个外围线路连接至 Vcc 或 GND 或可接上一个上拉 / 下拉电阻

Lab5: 低功耗模式 Lab5 优化 Lab4 代码, 实现 LPM

Lab 5: 仅采用一行代码即可进入低功耗模式! _BIS_SR( );//Enter Low Power Mode;

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

快速灵活的 ADC10 10 位 8 通道 SAR ADC 6 个外部通道 Vcc 和内部温度采样速率高达 200 ksps 可选的转换时钟多种自动扫描模式 单通道单次 多通道单次 单通道多次 多通道多次内部或外部基准自由选择可由 Timer_A 触发具中断能力数据传输控制器 (DTC) 自动断电模式 Auto S/H Batt Temp A VSS V R- V R+ 10-bit SAR Direct Data Transfer Controller A VCC 1.5V or 2.5V ADC10SC TA1 TA0 TA2 RAM, Flash, Peripherals

采样定时 参考电压建立时间最大为 30uS 可选的采样保持时间 转换需 13 个时钟周期 可选的时钟脉冲源 - ADC10OSC( 约 5MHz) - ACLK - MCLK - SMCLK

AUTO 自动扫描 + DTC 可实现性能提升 ADC DTC Data2 Data1 Data0 Data2 // Software Res[pRes++] = ADC10MEM; ADC10CTL0 &= ~ENC; if (pres < NR_CONV) { CurrINCH++; if (CurrINCH == 3) CurrINCH = 0; ADC10CTL1 &= ~INCH_3; ADC10CTL1 = CurrINCH; ADC10CTL0 = ENC+ADC10SC; } // Autoscan + DTC _BIS_SR(CPUOFF); 全自动 70 个周期 / 样本

Comparator_A 0V VCC CAEX 可用内部电压参考, 也可从外部接入 内建低通滤波器可利用软件来选择开或关 多路输入选择开关 具有中断功能 CA0 CA1 + - 0V VCC CAON CCI1B CAOUT set CAIFG Flag CAREF 0.5xVCC 0.25xVCC G D S

基于比较器的 Slope ADC 10 位以上的精度 非常适合电阻型传感器 超低成本应用 应用笔记 SLAA038 REF Px.x Px.x + - Timer_A Capture t_x = R_x x C x ln... R_NTC = 10k x t_ntc t_10k V CAREF Vcc VSS 0.25xVCC ~0.55V

定时器触发采样 定时器 ADC 存储器 // Interrupt CPU cycles ; MSP430 ISR to start conversion 6 BIS #ADC12SC,&ADC12CTL0 ; Start conversion 5 RETI ; Return 5 ; 16 定时器触发的中断 无软件等待循环

选择一款 MSP430 ADC 通道数 f SAM PLE (ksps) SINAD 基准分辨率 A 最小值最大值 ( 典型值 ) IN 触发增益特性 Ref IN Ref OUT Ref I_OUT ADC10 8 34 200+ 10 57 Vss 至 Vref 1.4-3.6 1.5/2.5V +/-1mA SW/ 定时器 / 计数器 N/A DTC ADC12 12 34 200+ 12 68 Vss 至 Vref 1.4-3.6 1.5/2.5V +/-1mA SW/ 定时器 / 计数器 N/A 转换存储器 SD16 3 个独立 约 4 16 85 +/-600mV 1.0-1.5 1.2V +/-1mA SW/ 计数器 至 32 倍预加载 SD16_A 4 个复用 约 0.03 约 5 16 85 +/-600mV 1.0-1.5 1.2V +/-1mA SW/ 计数器 至 32 倍缓冲输入 需要测量的电压范围是多少? 针对 A IN 的最大频率是多少? 分辨率是多少? 是否采用差分输入? 基准范围是多少? 是否具有多个通道? Bits 24 20 16 12 8 Sigma-Delta SAR Slope 10 100 1k 10k 100k 1M Samples per Second

Lab6: 应用 ADC10 Lab6: 使用 ADC10 内部温度传感器测量温度 CCS 新特性

Lab 6: //Configure ADC10 // Choose ADC Channel as Temp Sensor ADC10CTL1 = + ADC10DIV_3; //Choose ADC Ref sourcecctl1 ADC10CTL0 = + ADC10SHT_3 + REFON + ADC10ON +ADC10IE;

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

USI MSP430G2xx1/2 器件 可变长度移位寄存器 支持 I2C START/STOP 检测 SCL 在 START 之后保持 SCL 在计数器溢出之后保持 丢失检测仲裁机制 支持 SPI 8/16 位移位寄存器 MSB 或 LSB 优先可选 灵活的定时 中断驱动 USIIFG USISTTIFG SCLK ACLK SMCLK SWCLK TA0 TA1 TA2 8/16-Bit Shift Register Bit Counter USIIFG Divider HOLD START STOP Detect SCL Hold USISTTIFG USISTP SDO SDA SDI SCL SCLK USIIFG

USI 的 data IO 数据移位寄存器 : 可支持多达 16 位 发送与接收的位数受控于一个位计数器 发送与接收是同时进行的 数据 I/O 由用户定义 :MSB 或 LSB 优先 位计数器在最后一个位之后自动停止计时并设定标记 无需数据缓冲 SCLK ACLK SMCLK SMCLK USISWCLK TA0 TA1 TA2 USISSELx USIIFG Data Shift Register USICNTx Bit Counter USIDIVx Clock Divider /1/2/4/8 /128 HOLD Set USIIFG Data I/O

USI 减低了 SPI 的 CPU 负荷 MSP430 Peripheral SCLK SDO SDIN //Shift16_inout_Software SR = DATA; for (CNT=0x10;CNT>0;CNT--) { P2OUT &= ~SDO; if (SR & 0x8000) P2OUT = SDO; SR = SR << 1; if (P2IN & SDIN) SR = 0x01; P2OUT = SCLK; P2OUT &= ~SCLK; } 425 个周期 // Shift16_inout_USI USISR = DATA; USICNT = 0x10; 10 个周期 I2C Slave 从时钟边缘至数据寄存器的时间短至 4us 若使用纯软件解决方案,MCU 几乎无法完成其他操作 USI 硬件可实现实用和兼容的 I2C 代码可通过 MSP430 的相关网址获得

USCI 专为超低功耗而精心设计 : 可从任意低功耗模式自动起动 两个专用模块 : USCI_A: UART 或 SPI USCI_B: SPI 或 I2C 双缓冲发送 (TX) / 接收 (RX) 波特率 / 位时钟发生器 : 自动波特率检测 灵活的时钟脉冲源 接收 (RX) 干扰抑制 DMA 被启用 误差检测 SMCLK ACLK UCAxCLK UART SPI IrDA SMCLK ACLK UCBxCLK SPI I2C USCI_A USCI_B Baud Rate Generator Serial Interface Bit Clock Generator Serial Interface 7 4 UCx UCx 推荐的 USCI 初始化 / 重构过程在您的工作手册中进行了说明

USCI 增强型特性 最新标准 MSP430 串行接口 可从任意低功耗模式 (LPM) 实现自动时钟起动 两个独立的通信模块 异步通信模式 UART 标准和多处理器协议 具有自动波特率检测功能的 UART ( 支持 LIN) 两个调制器支持 n/16 位定时 IrDA 位整形编码器与解码器 同步通信模式 SPI( 主控器和从动器模式, 三线和四线式 ) I2C( 主控器和从动器模式 ) UxRXBUF UCLKI ACLK SMCLK SMCLK Baud-Rate Generator Receiver Shift Register Transmit Shift Register URXD SOMI STE SIMO UTXD UxTXBUF Clock Phase and Polarity UCLK

USCI 波特率发生器 过采样波特率发生两个调制器 UCBRSx 和 UCBRFx 采用 BITCLK16 进行 RX 采样 UC0CLK ACLK SMCLK SMCLK LSB UCAxBR0 8 UCAxBR1 Prescaler/Divider 1 st Modulator BITCLK16 3 UCBRSx 8 /16 2 nd Modulator BITCLK 4 UCBRFx BITCLK16 RXD 1 Bit Sampling for majority votes

Value Line 通信模块 USCI USI UART SPI I2C 通用串行通信接口 G2xx3 两个调制器 ; 支持 n/16 定时 - 自动波特率检测 - IrDA 编码器与解码器 - 同时 USCI_A 和 USCI_B( 两通道 ) 两个 SPI(USCI_A 和 USCI_B 上各一个 ) - 支持 Master 和 Slave 模式 - 三线和四线模式 - 简化的中断用法 - 支持 Master 和 Slave 模式 - 高达 400kbps 通用串行接口 G2xx1/2 - - - - 可提供一个 SPI - 支持 Master 和 Slave 模式 - 需要软件 (SW) 状态机 - 支持 Master 和 Slave 模式

低开销 UART 实现方案 P2.2/TA0 MSP430 TA0/P1.1 RXD compare - logic level latched in SCCI - add 1 bit length to CCR0 TXD SCCI Y A EN Capture/Compare Stop Output Unit0 OUTMODx Start - CCR0 = TAR - add 1.5 bit length to CCR0 - switch to compare mode 100% 硬件实现锁存与输出依靠 LPM3 和 LPM4 实现了全速性能低 CPU 开销应用笔记 SLAA078 可在网上查阅 76

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

Grace TM Grace 一款免费的图形用户界面, 可生成源代码, 免除手动配置外设

Grace 是什么? Grace Graphical Code Engine( 图形代码引擎 ) 是 : 可利用 CCS 生成 MSP430 外设初始化代码 使新用户能在 15 分钟内运行程序 着重专注于易用性 将进一步扩展以覆盖所有的 MCU 器件不是 : 图形应用程序编制器

直观地启用和配置 MSP430 外设 开发人员可与按钮 下拉菜单和文本字段进行交互, 以轻而易举地完成对底层寄存器的设置 Grace 可生成经全面注释的 C 代码, 适用于来自 MSP430 产品线的所有 F2xx 和 G2xx Value Line 微控制器

项目结构与构建流程 应用程序 C/C++ 源文件 xxxxx.cfg 这是器件外设配置文件, 并采用图形 Grace 视图进行编辑 src 文件夹在 Debug 或 Release 文件夹内部自动生成 包含用于对所有已配置外设进行初始化的 MSP430 C 代码 C/C++ 编译器 链接器 最终的可执行 MSP430 输出文件

用户代码框架示例 /* * ======== Standard MSP430 includes ======== */ #include <msp430.h> 430 通用头文件 /* * ======== Grace related includes ======== */ #include <ti/mcu/msp430/csl/csl.h> /* * ======== main ======== */ int main(int argc, char *argv[]) { // Activate Grace-generated configuration CSL_init(); 主控器包括用于所有 Grace 关联内容的文件 执行所有由 Grace 配置的外设设置 } enable_interrupt(); // Set GIE // >>>>> Fill-in user code here <<<<< return (0); 用户代码从这里开始

Grace 添加一个外设 在该外设上单击右键并选择 使用 (Use) 所有着蓝色的模块均可配置

怎样告知添加了一个外设? 在 CSL 视图上观察该外设的左下角, 如果此外设被初始化, 则将显示一个绿色的钩型标记

Grace 导航 在某个外设上单击左键以导航至其细节视图 使用主画面按钮以返回至顶层器件视图 还可使用前进 / 后退按钮

Grace 配置一个外设 每个外设具有 4 种不同的表示 : Overview ( 概要 ) Basic User ( 基本用户 ) Power User ( 高级用户 ) Registers ( 寄存器设置 ) 您可以编辑其中的任一个, 它们是完全连通的 通过点击 Refresh 来确认 当前的配置

Grace 移除一个外设 在该外设上单击右键并选择 Stop Using ( 停止使用 )

Lab7:Grace Lab7: 使用 Grace 来配置所有必需的外设 将 Lab3 重做一次 进入 LPM4

Lab 7: 按步操作 停用看门狗定时器 配置 DCO 以依靠预校准的内部 1MHz 运行 设置 LaunchPad 用于中断操作的 S2(P1.3) 按钮 进入 main() 功能中的 LPM4 提供一个按钮中断处理程序, 用于清除 IFG 并在恢复时立即唤醒 MCU 红色 LED(P1.0) 在 main() 中的开或者关 完成操作后在 main() 中再次进入 LPM4

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

什么是电容式触摸? C3 C4 text C1 C2 电容的变化 当存在一个导电元件时 手指或触针 将增加 C3 和 C4, 从而导致电容 C1 + C2 + C3 C4 增大 这变成了至大地的自由空间耦合通路的一部分

MSP430 电容式触摸检测方法 Pin oscillator ( 带内部 RO 的 PinOsc) 无需外部组件使用内部定时器目前采用此方法的器件是 MSP430G2xx2 和 MSP430G2xx3 < 3uA/ 按钮 RO 抗干扰能力最强使用内部定时器 比较器具有比较器的 MSP430 器件均支持 RC 功耗最低的方法最多可支持 16 个按键使用 GPIO 和定时器任何 MSP430 器件均支持 10uA/ 按钮 1uA/ 按钮

RC RO Fast Scan RO PinOsc HAL CAP TOUCH LAYER Button Proximity Slider Wheel Sensor Delta Capacitance Sensor 触摸库结构 APPLICATION LAYER: 0/1 Z X A SCHEDULER Offset Array of deltas 16bit Capacitance Schedule: 配置 Sensor Peripherals Period definition Compensation Determination of threshold crossing Filter Method Type: Sensor: Electrodes Reference Sensor Type Measurement Method Peripherals Peripheral settings Measurement Parameters PHYSICAL LAYER: Element: Port I/O definitions

电容式触摸 BoosterPack 器件型号 :430BOOST-SENSE1 用于 LaunchPad 的电容式触摸插件 触摸按钮 滚轮和接近感应 包括一颗具有电容式触摸 I/O 模块的 MSP430G2xx2 芯片 有针对滚轮及接近感应的设计范例 全面支持电容式触摸感应代码库 售价仅 10 美元 www.ti.com/capacitivetouch

谢谢!