MSP-EXP430G2开发板使用简单介绍课件

上传人:我*** 文档编号:145240090 上传时间:2020-09-18 格式:PPT 页数:38 大小:1.01MB
返回 下载 相关 举报
MSP-EXP430G2开发板使用简单介绍课件_第1页
第1页 / 共38页
MSP-EXP430G2开发板使用简单介绍课件_第2页
第2页 / 共38页
MSP-EXP430G2开发板使用简单介绍课件_第3页
第3页 / 共38页
MSP-EXP430G2开发板使用简单介绍课件_第4页
第4页 / 共38页
MSP-EXP430G2开发板使用简单介绍课件_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《MSP-EXP430G2开发板使用简单介绍课件》由会员分享,可在线阅读,更多相关《MSP-EXP430G2开发板使用简单介绍课件(38页珍藏版)》请在金锄头文库上搜索。

1、MSP-EXP430G2开发板使用简单介绍,MSP340 LaunchPad介绍,名为LaunchPad 的MSP-EXP430G2 低成本试验板是一款适用于TI 最MSP430G2xx 系列产品的完整开发解决方案。其基于USB 的集成型仿真器可提供为全系列MSP430G2xx 器件开发应用所必需的所有软、硬件。LaunchPad 具有集成的DIP 目标插座,可支持多达20 个引脚,从而使MSP430 器件能够简便地插入LaunchPad 电路板中。,。此外,其还可提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。 MSP-EXP430G2 采用IAR Embedded

2、 Workbench 集成开发环境(IDE) 或Code Composer Studio (CCS)编写、下载和调试应用。 可提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。,LaunchPad 开发板上各部分介绍,片上仿真器模块,6针 eZ430 连接器,MSP430器件和插座,外置晶体接口,电源连接器,复位按钮,LED和跳线 P1.0 / 设置 MCLK,对MCLK,即指令运行的时钟源进行分频 DIVM_0: MCLK=1M DIVM_1: MCLK=1M/2 DIVM_2: MCLK=1M/4 DIVM_3: MCLK=1M/8,/ 设置DCO为1MHz BCS

3、CTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ;,对MCLK的时钟源进行选择 SELM_0: MCLK选择DCOCLK SELM_1 : MCLK选择DCOCLK SELM_2 : MCLK选择XT2CLK/LFXTCLK SELM_3: MCLK选择LFXTCLK,二、通用IO,1、P口端口寄存器: (1)、PxDIR 输入/输出方向寄存器 (0:输入模式 1:输出模式) (2)、PxIN 输入寄存器 输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。 (3)、PxOUT 输出寄存器 寄存器内的内容不会受引脚方向改变

4、的影响。 (4)、PxIFG 中断标志寄存器 (0:没有中断请求 1:有中断请求) 该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求; 这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位; 外部中断事件的时间必须=1.5倍的MCLK的时间,以保证中断请求被接受; (5)、PxIES 中断触发沿选择寄存器 (0:上升沿中断 1:下降沿中断) (6)、PxSEL 功能选择寄存器 (0:选择引脚为I/O端口 1:选择引脚为外围模块功能) (7)、PxREN 上拉/下拉电阻使能寄存器 (0:禁止 1:使能),2、基本操作: (1)、所有P口都可作为通用IO口使用 (2)、所有

5、P口都可进行字节操作和位操作 按字节操作: 例 : P1DIR=0 xff; /将P1口作为输出口 PIOUT=0 x20; / P1口输出0 x20 P1DIR=0 x00; /将P1口作为输入口 data=P1IN /读取P1口外部输入值 按位操作: 例: P1DIR=BIT0; /将P1.0作为输出口 P1OUT|=BIT0; /P1.0输出1 P1OUT /P1.0输出0 P1DIR/打开P1.0外部中断 ,BIT0的值为0 x01,即把P1IE的第一位置1,关闭局部中断一般是给想关的特殊功能寄存器相关位置0 同样以P1口外部中断为例: 关闭局部中断: P1IE (3)、各中断向量In

6、terrupt Vectors: #define BASICTIMER_VECTOR (0 * 2u) /* 0 xFFE0 Basic Timer */ #define PORT2_VECTOR (1 * 2u) /* 0 xFFE2 Port 2 */ #define USART1TX_VECTOR (2 * 2u) /* 0 xFFE4 USART 1 Transmit */ #define USART1RX_VECTOR (3 * 2u) /* 0 xFFE6 USART 1 Receive */ #define PORT1_VECTOR (4 * 2u) /* 0 xFFE8 Por

7、t 1 */ #define TIMERA1_VECTOR (5 * 2u) /* 0 xFFEA Timer A CC1-2, TA */ #define TIMERA0_VECTOR (6 * 2u) /* 0 xFFEC Timer A CC0 */ #define ADC12_VECTOR (7 * 2u) /* 0 xFFEE ADC */ #define USART0TX_VECTOR (8 * 2u) /* 0 xFFF0 USART 0 Transmit */ #define USART0RX_VECTOR (9 * 2u) /* 0 xFFF2 USART 0 Receive

8、 */ #define WDT_VECTOR (10 * 2u) /* 0 xFFF4 Watchdog Timer */ #define COMPARATORA_VECTOR (11 * 2u) /* 0 xFFF6 Comparator A */ #define TIMERB1_VECTOR (12 * 2u) /* 0 xFFF8 Timer B CC1-6, TB */ #define TIMERB0_VECTOR (13 * 2u) /* 0 xFFFA Timer B CC0 */ #define NMI_VECTOR (14 * 2u) /* 0 xFFFC Non-maskab

9、le */ #define RESET_VECTOR (15 * 2u) /* 0 xFFFE Reset Highest Priority */,(4)、中断的嵌套: 当同时有多个中断来的时候才有优先级的考虑(优先级顺序可查看向量表) 实现中断嵌套需要注意以下几点: 1)430默认的是关闭中断嵌套的,一定要中断嵌套的话,就必须在中断服务程序中打开总中断 msp430的指令中,_DINT()和_EINT()分别指关和开总中断。 2)当进入中断服务程序时,只要不在中断服务程序中再次开中断,则总中断是关闭的,此时来中断不管是比当前中断的优先级高还是低都不执行; 3)若在中断服务程序A中开了总中断,

10、则可以响应后来的中断B(不管B的优先级比A高还是低),B执行完再继续执行A。注意:进入中断服务程序B后总中断同样也会关闭,如 果B中断程序执行时需响应中断C,则此时也要开总中断,若不需响应中断,则不用开中断,B执行完后跳出中断程序进入A程序时,总中断会自动打开; 4)若在中断服务程序中开了总中断,后来的中断同时有多个,则会按优先级来执行,即中断优先级只有在多个中断同时到来时才起做用!中断服务不执行抢先原则。 5)对于单源中断,只要响应中断,系统硬件自动清中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位倍被自动清除; 对于多源中断要手动清标志位,比如P1/P2

11、口中断,要手工清除相应的标志,如果在这种中断用EINT();开中断,而在打开中断前没有清标志,就会 有相同的中断不断嵌入,而导致堆栈溢出引起复位,所以在这类中断中必须先清标志再打开中断开关.,(5)、中断应用程序举例(外部中断): void interrupt_initial() P1DIR /P1.7中断标志清除 /*在此写中断服务子程序*/ #pragma vector 下面的函数是一个用于所列矢量的中断 _interrupt void 识别中断名称,四、定时器,异步16位定时器/计数器 连续、递增-递减、递增计数模式 3个捕获/比较寄存器 PWM 输出 中断向量寄存器,实现快速中断响应

12、可触发DMA 多个时钟源可选 所有430均有Timer_A,1、定时器的计数模式,(1)、停止模式:用于定时器的暂停,并不发生复位,所有寄存器现行类容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停前的计数方向计数。 (2)、增计数模式:捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0的值相等时,定时器复位,并从0开始重新计数。,增计数模式:,void zengjishu() TACTL=TASSEL1+TACLR; /选择

13、计数时钟为ACLK,将计数器TAR清零 CCTL0=CCIE; /使能中断 CCR0=200; /计数终值,方波频率为:32768/200/2 TACTL|=MC_1; /选择Timer_A为增计数模式 P1DIR|=BIT0; /P1.0作为输出 _EINT(); /使能总中断 #pragma vertor =TIMERA0_VECTOR _interrupt void Timer_A(void) P1OUT=0X01; /P1.0取反 ,例程:,连续计数模式: 特点:定时器从0开始记到0XFFFF后又开始从0开始计数,当记到CCR0时产生中断(可产生多个定时信号),#includein43

14、0.h #include msp430g2553.h static unsigned char temp = 0 xaa; void main( void ) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 P1DIR = 0 xff; /设定P1口为输出方式 P1OUT = 0 xff; /给P1口赋初始值 TA0CCTL0 = CCIE; /打开中断 (Timer0_A3 Capture/Compare Control 0 ) TA0CCR0 = 50000; /设定计数变量 TA0CTL = TASSEL_2 + MC_2; /定时器选择时钟SMCLK,使用模式二连续

15、计数方式 _EINT(); /开总中断 while(1) LPM0; /开启低功耗模式0,进入低功耗模式,等待中断唤醒 #pragma vector = TIMER0_A0_VECTOR _interrupt void time1(void) temp = temp; /取反 P1OUT = temp; /P1口赋值 ,例程,4、增/减计数模式:需要对称波形的情况可以用增/减计数模式,该模式下,定时器先计数到CCR0的值,然后反向减计数到0。 注:定时器TAR的值从CCR01增计数到CCR0时,中断标志CCIFG0置位,从1减计数到0时,中断标志TAIFG置位,2、捕获/比较模块: 工作模式: (1)、捕获模式:当捕获/比较控制寄存器CCTLx中的CAP=1时,该模块工作于捕 获模式。这时如果在选定的引脚上发生设定的脉冲沿,则TAR中的值将自动写入到捕获/比较寄存器CCRx中。 用途:1、测量软件程序执行所用时间。 2、测量硬件之间的时间。 3、测量频率。 (2)、比较模式:当捕获/比较控制寄存器CCTLx中的CAP=0时,该模块工作于比较模式。Timer_A 有三个捕获/比较器,在比较模式下有8个输出模式,五、串行通信,1、串口是系统与外界联系的重要手段,我们有时需要使用上位机实现系统调试 及现场数据的采集和控制,msp430G

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号