670 likes | 986 Views
主要内容. Msp430 单片机简介 Msp430 单片机的结构及主要模块 Msp430 单片机的具体应用 — 位移测量装置. 1 、 MSP430 单片机简介. 主要内容. MSP430 单片机的主要特性 MSP430 单片机系列种类 MSP430 单片机的应用领域 Msp430 单片机的开发工具 Msp430 的相关学习资料. MSP430 单片机.
E N D
主要内容 • Msp430单片机简介 • Msp430单片机的结构及主要模块 • Msp430单片机的具体应用 —位移测量装置
主要内容 • MSP430单片机的主要特性 • MSP430单片机系列种类 • MSP430单片机的应用领域 • Msp430单片机的开发工具 • Msp430的相关学习资料
MSP430单片机 MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。
MSP430单片机的主要特性 • 高集成度 10bit SAR ADC (200ksps) 12bit SAR ADC (200ksps) 12bit DAC OP AMP,PGA,LCD DRIVER , 硬件乘法器、 DMA etc. • 超低功耗 0.1 A掉电模式 0.8 A等待模式 250 A /1MIPS (1 S时钟唤醒时间) 50nA 端口漏电流 • 16bit RISC CPU 27条核心指令 7种寻址模式
MSP430单片机的主要特性 • 容易使用 基于JTAG的嵌入式仿真 便宜的开发工具 应用文档比较多 • 代码安全 硬件熔丝结构 BSL升级,密码错误自动擦除
MSP430单片机系列种类 基于LCD MSP430 4xx: 基于闪存的MCU,提供1.8伏至3.6伏工作电压、 高达120kB的闪存/ROM和8 MIP (带有FLL+SVS) MSP430 3xx : ROM/OTP 产品系列MCU,提供2.5伏至5.5伏工作电压, 高达32kB和4MIPS(带有FLL)
MSP430单片机系列种类 非基于LCD MSP430x1xx: 基于闪存/ ROM的MCU提供1.8伏至3.6伏的工作电压、 高达60kB和8MIPS(带有基本时钟) MSP430F2xx: 基于闪存的MCU 提供1.8 伏至3.6 伏工作电压、掉电复位及 16MIPS(带有基本时钟) MSP430F5XX: 基于闪存的MCU 提供1.8 伏至3.6 伏工作电压、掉电复位及 18MIPS(带有基本时钟)
MSP430单片机的应用领域 • 医疗和工业测量 葡萄糖和胆固醇浓度测量、温度计、ERG、心率监视器、脉搏血氧仪 工业测量: 电压电流、温度、压力、PH值…测量 • 传感设备 报警系统、烟雾探测器、智能家居、无线资产管理、无线传感器
MSP430单片机的应用领域 • 日常公用测量 水表、气表、自动抄表、先进电表网络基础设施、热分配表 • 便携式消费 无线鼠标和键盘、触摸按键、 手机、数码相机、MP3 电动牙刷、剃须刀、运动手表等
Msp430单片机的开发工具 硬件: PC机、 MSP430 JTAG 仿真器、 并口线(USB)、用户板 PC机 用户板 JTAG 接口 JTAG调试器
Msp430的相关学习资料 • 基本特性说明PDF文档 包括 pin designation / functional block / terminal functions / absolute maximum ratings / operating conditions • 用户手册PDF Msp430xxxx family user’s guide (关于寄存器的具体说明) • 光盘附带的示例程序 • Msp430学习论坛 • 相关书籍
了解到使用430单片机的学习过程 1、了解所用430单片机型号的内部模块资源。 2、结合实际分析要使用的模块资源。 3、针对具体模块学习相关示例代码。 4、修改代码形成自己的子程序。 5、将不同子程序整合成完整系统程序。
MSP430内部结构 • 以msp430f247为例
Msp430的引脚图 引脚具体说明见terminal functions表格
各模块简要介绍— 1、CPU • 16-BIT RISC architecture 源操作数7种寻址模式,目标操作数4种寻址模式 • 16个寄存器(见右图),寄存器间传送数据在1个CPU clock内完成 • R0~R3是专用寄存器PC、SP、SR、CG,其余为通用寄存器
各模块简要介绍— 1、CPU • 51条指令(27条核心指令、24条仿真指令)。分为单操作数、双操作数以及相对跳转三种类型。 指令集略
各模块简要介绍— 2、工作模式 MSP430单片机的各个模块都可以独立运行,如定时器、输入/输出端口、A/D转换、看门狗、液晶显示器等都可以在CPU休眠的状态下独立工作。若需要主CPU工作,任何一个模块都可以通过中断唤醒CPU,从而使系统以最低功耗运行。 让CPU工作于突发状态可以充分利用CPU的低功耗性能。通常,使用软件将CPU设定到某一低功耗模式,在需要时使用中断将CPU从休眠状态中唤醒,完成工作后又可以进入相应的休眠状态。
各模块简要介绍— 3、msp430f247的 中断向量表(部分)
各模块简要介绍—5、Msp430f247的基准时钟系统 基准时钟可由以下方式提供: • LFXT1CLK:400kHz~16MHz的低频/高频晶振,通常外接32768HZ的表晶或外部时钟信号等 • XT2CLK:400kHz~16MHz,优化了高频特性 的振荡器,接标准晶振或外部时钟。 • DCOCLK:内部数控RC振荡器(DCO) • VLOCLK:12kHz的低频/低功耗振荡器
各模块简要介绍—5、Msp430f247的基准时钟系统 基准时钟提供如下信号: 系统主时钟MCLK:供CPU或高速外设使用,可以选择任一振荡源,并进行1、2、4、8分频作为信号源。 子系统时钟SMCLK:供高速外设使用,可以选择任一振荡源,并进行1、2、4、8分频作为信号源。 辅助子时钟ACLK:供低速外设使用,只能选择LFXT1进行1、2、4、8分频作为信号源。
各模块简要介绍—5、Msp430f247的基准时钟系统 系统复位后: MCLK和SMCLK由DCO提供, ACLK由LFXT1提供 以下是DCO设置程序: 读取0x10f9和0x10f8两个地址里面16MHzDCO常数分别装入BCSCTL1和DCOCTL两个寄存器 //设定DCO为16MHZ : BCSCTL1 =CALBC1_16MHZ; DCOCTL =CALDCO_16MHZ; 可选频率1M、8M、12M、16M
各模块简要介绍—6、digital I/O • 有6个8bit I/O口 P1~P6 • 每个口都可以被配置为输入口或输出口 • P1口和P2口具有外部中断的功能,P1口的所有口线共用一个中断向量,使用各自不同的标志位,P2口类似。
各模块简要介绍—6、digital I/O • 重要寄存器 输入寄存器PxIN、 输出寄存器PxOUT、 方向寄存器PxDIR、 上拉/下拉使能寄存器PxREN PxSEL、 PxSEL2
各模块简要介绍—6、digital I/O 使用方法: (1)首先设置PxSEL、 PxSEL2 确定是作通用口还是作其他功能用 (2)若作通用I/O 口用,则再设置PxDIR 确定是输入还是输出, 若作通用I/O 口输出,则设置PxREN禁止上下拉 若作通用I/O 口输入,则设置PxREN使能上下拉 (3)若作其他功能使用,则设置PxREN使能上下拉电阻,同时也要指定其信号的输入输出方向(PxDIR)。
各模块简要介绍—6、digital I/O 配置没有使用到的I/O引脚: 应被配置为I/O功能、输出方向、上拉/下拉电阻使能。这样可以减少系统的功耗。
各模块简要介绍—6、digital I/O 控制I/O口的实例: P1OUT |=BIT0; //置P1.0为1 P1OUT |=BIT0+BIT1+BIT7 ; //置P1.0、 P1.1 、 P1.7为1 P1OUT&=~BIT0 ; //置P1.0为0
各模块简要介绍—7、SVS • SVS—supply voltage supervisor SVS可以监视供电电压AVcc或外部电压,当发生欠压时置标志位并产生一个POR复位,门槛可以软件设置。
SVS特点: 1、可以监视AVcc 2、可选择是否产生POR信号 3、SVS比较器输出软件可访问 4、可设置14个比较门槛 5、可监视外部电压。
各模块简要介绍—8、WDT+ 主要功能是在程序跑飞时能够控制系统的重新启动,当不需要时可以禁止该功能,此时可以当成一个间隔计数器使用。 以下是关看门狗程序: WDTCTL=WDTPW+WDTHOLD; //关看门狗 0x5A00 0x0080
各模块简要介绍—9、硬件乘法器hardware multiplier 该模块是430单片机的特色,乘法器完全用硬件实现,其工作与CPU完全独立,能够通过CPU指令对其进行读和写。 可完成16x16bits 、16x8bits、 8x16bits、 8x8bits
各模块简要介绍—10、Timer_A 概述:Timer_A是一个具有3个捕捉/比较模块的16bit定时/计数器,不仅能完成定时的基本功能,还能完成对计数值的捕捉功能,而且可以方便地输出多路PWM波形;其中断功能也很完善,支持定时器溢出中断、捕捉比较中断等多种类型,可方便实现定时、测频、输出PWM波形等多种功能。
Timer_A的捕捉比较模块capture/compare blocks 有三个捕捉比较模块TACCR0、TACCR1、TACCR2,用于捕捉计数值和产生时间间隔。每个模块都有以下两种应用模式: capture mode 、 compare mode (取决于CAP)
Timer_A的捕捉比较模块capture/compare blocks Capture mode: (CAP=1) 外部信号的边沿或软件置位都可以触发一次捕捉,当捕捉发生时,计数值TAR被装入TACCRx,此外捕捉比较标志位CCIFG置1。
Timer_A的捕捉比较模块capture/compare blocks Compare mode: (CAP=0) 该模式用于产生PWM信号,当计数值TAR等于TACCRx时,捕捉比较标志位CCIFG置1,EQUx=1,从而影响output unit的输出(PWM)。
Timer_A的捕捉比较模块capture/compare blocks 捕捉比较模块的7种输出模式: (output modes)
Timer_A的捕捉比较模块capture/compare blocks 捕捉比较模块的7种输出模式 (以CCR1为例)