【Energia开发环境】MSP430 LAUNCHPAD学习笔记7--1602液晶显示

合集下载

MSP430单片机深入学习笔记

MSP430单片机深入学习笔记

复位1.POR信号只在两种情况下产生:➢微处理器上电。

➢RST/NMI管脚被设置为复位功能,在此管脚上产生低电平时系统复位。

2.PUC信号产生的条件为:➢POR信号产生。

➢看门狗有效时,看门狗定时器溢出。

➢写看门狗定时器安全健值出现错误。

➢写FLASH存储器安全键值出现错误。

3.POR信号的出现会导致系统复位,并产生PUC信号。

而PUC信号不会引起POR信号的产生。

系统复位后(POR之后)的状态为:➢RST/MIN管脚功能被设置为复位功能。

➢所有I/O管脚被设置为输入。

➢外围模块被初始化,其寄存器值为相关手册上注明的默认值。

➢状态寄存器(SR)复位。

➢看门狗激活,进入工作模式。

➢程序计数器(PC)载入0xFFFE(0xFFFE为复位中断向量)处的地址,微处理器从此地址开始执行程序。

4.典型的复位电路有以下3种:(1)由于MSP430具有上电复位功能,因此,上电后只要保持RST/NMI(设置为复位功能)为高电平即可。

通常的做法为,在RST/NMI管脚接100kΩ的上拉电阻,如图1-5(a)所示。

(2)除了在RST/NMI管脚接100kΩ的上拉电阻外,还可以再接0.1μF的电容,电容的另一端接地,可以使复位更加可靠。

如图1-5(b)所示。

(3)由于MSP430具有极低的功耗,如果系统断电后立即上电,则系统中电容所存储的电荷来不及释放,此时系统电压不会下降到最低复位电压以下,因而MSP430不会产生上电复位,同时RST/NMI管脚上也没有足够低的电平使MSP430复位。

这样,系统断电后立即上电,MSP430并没有被复位。

为了解决这个问题,可增加一个二极管,这样断电后储存在复位电容中的电荷就可以通过二极管释放,从而加速电容的放电。

二极管的型号可取1N4008。

如图1-5(c)所示。

系统时钟振荡器:1.DCO 数控RC振荡器,位于芯片内部。

不用时可以关闭2.LFXT1 可以接低频振荡器,典型的如32.768kHz的钟表振荡器,此时振荡器不需要接负载电容。

msp430学习的深度解析和总结

msp430学习的深度解析和总结

msp430学习的深度解析和总结一、MSP430开发环境建立1.安装IAR dor msp430 软件,软件带USB仿真器的驱动。

2.插入USB仿真器,驱动选择安装目录的/drivers/TIUSBFET3.建立一个工程,选择"option"选项,设置a、选择器件,在"General"项的"Target"标签选择目标器件b、选择输出仿真,在"Linker"项里的"Output"标签,选择输出"Debug information for C-SPY",以输出调试信息用于仿真。

c、若选择"Other",Output下拉框选择"zax-m"即可以输出hex文件用以烧录,注意,此时仿真不了。

d、选择"Debugger"项的"Setup"标签,"Driver"下拉框选择"FET Debugger"e、选择"FET Debugger"项的"Setup"标签,"Connection"下拉框选择"Texas Instrument USB-I"4.仿真器的接口,从左到右分别为" GND,RST,TEST,VCC"二、IO口数字输入/输出端口有下列特性:每个输入/输出位都可以独立编程。

允许任意组合输入、输出。

P1 和P2 所有8 个位都可以分别设置为中断。

可以独立操作输入和输出数据寄存器。

可以分别设置上拉或下拉电阻。

在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

【Energia开发环境】MSP430 LAUNCHPAD学习笔记5--串口

【Energia开发环境】MSP430 LAUNCHPAD学习笔记5--串口

【Energia开发环境】MSP430LAUNCHPAD学习笔记5--串口(Serial UART)串口通信能够实现开发板与PC的相互传输数据,常用于开发板的调试,输出调试信息,直观的观察开发板运行的状况。

对于MSP430G2553的串口,需要注意的是由于LAUNCHPAD的版本不同,有1.4和1.5两个版本,如上图。

1.5版本的LAUNCHPAD可以在调试时直接使用硬件UART与电脑通信。

这次实验所使用的芯片型号为G2553,在包装和里也有G2452的芯片,所以要看清楚你所使用的是哪个芯片。

如果你手上正好有一块G25531.5版本的LAUNCHPAD,那就方便多了。

LAUNCHPAD板子上的仿真器串口最大通信速率为9600baud,我们在写程序的时候最好不要超过这个数值。

我们先来做个简单的串口实验:编写完程序后,连上板子,查看软件是否已正常连接开发板,然后下载程序。

常用函数:Serial.begin(speed):这个函数是对波特率的设定,常有的波特率有300,600,1200,2400, 4800,9600,14400,19200,28800,38400,57600,11520这些。

这里使用是9600baud。

print(val):在串口发送数据的时候,会将其转换为人类可阅读的ASCII字符。

∙Serial.print(78)输出"78"∙Serial.print(1.23456)输出"1.23"∙Serial.print('N')输出"N"∙Serial.print("Hello world.")输出"Hello world."也可以在print(val,format)中加入第二个参数,如:∙Serial.print(78,BIN)输出"1001110"∙Serial.print(78,OCT)输出"116"∙Serial.print(78,DEC)输出"78"∙Serial.print(78,HEX)输出"4E"∙Serial.println(1.23456,0)输出"1"∙Serial.println(1.23456,2)输出"1.23"∙Serial.println(1.23456,4)输出"1.2346"Serial.println(val,format)是print(val,)的加强版,只是在print生成的字符串后面加一个”\n”作为换行符。

Msp430学习笔记

Msp430学习笔记

Msp430学习笔记一、简介图1 基本结构图2 pin designation结论:1.基本每个管脚都可以复用2.外围功能模块丰富端口介绍(32 I/O pins)1.端口P1和P2具有输入、输出、中断和外部模块功能。

这些功能可以通过各自的7个控制寄存器的设置来实现。

(1)PxDIR 输入输出方向寄存器rw(2)PxIN 输入寄存器r(3)PxOUT 输出寄存器r(4)PxIFG 中断标志寄存器r(5)PxIES 中断触发沿选择寄存器rw(6)PxIE 中断使能寄存器rw(7)PxSEL 功能选择寄存器rw2.其他端口:四个控制寄存器(除去中断相关)看看例程二、时钟部分1.时钟寄存器设置SCFQCTL 系统时钟控制寄存器(倍频,反馈后默认是31,31+1=32)SCFI0 系统时钟频率调整器0(锁频环反馈中的分频(实质最终是倍频))SCFI1 系统时钟频率调整器1(自动控制调整,无需软件设置)FLL_CTL0 FLL+控制器0 (反馈中是否分频、选择LFXT1晶振的有效电容)FLL_CTL1 FLL+控制器1 (振荡器控制、时钟源对应的振荡器的选择,默认情况下:振荡器打开,MCLK选择DCOCLK,SMCLK选择DCOCLK)图时钟模块2.工作模式:One Active Mode、Five Power Saving ModesMSP430是一个特别强调低功耗的单片机系列,尤其适用于采用电池供电的长时间工作场合。

系统根据应用和节能使用不同的时钟信号,这样可以合理利用系统的电源,实现整个系统的超低功耗。

中断是MSP430微处理器的一大特色。

有效地利用中断可以简化程序,并且提高执行效率和系统稳定性。

几乎所有的msp430系统单片机的每个外围模块都能产生中断,为MSP430针对事件(外围模块产生的中断)进行的编程打下基础。

MSP430在没有事件发生时处于低功耗模式,事件发生时通过中断唤醒CPU,时间处理完毕后CPU再次进入低功耗模式,由于CPU运算速度和推出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态,使得系统的整体功耗极大地降低。

MSP430单片机学习心得总结

MSP430单片机学习心得总结

改变CCS字体方法:perferance>General>Apperance>Colors and Fonts>Basic>Text Font将c语言编译成汇编语言之后执行。

如果c语言结构不好,则编译后会出现编译成汇编后代码冗余,使得执行效率不高。

板子有可能与电脑连接出问题,可以拔下重插一次。

在单片机内部flash存储空间有剩余时,可以用于数据存储空间,并且可以使用单片机程序进行数据管理。

POR PUC是复位信号看门狗定时器溢出发生复位复位时设置如下:1.RAM堆栈的指针指到最顶端2.初始化看门狗3.初始化外设GIE是总中断具有欠压复位功能工作电流小于20UA待机电流小于0.8UA4个特殊功能寄存器R0是PC指针R1是堆栈指针R2是状态寄存器R3是常数发生器12个通用寄存器R4-R1527条内核指令24条仿真指令7中地址模式无累加器三个时钟:ACLK辅助时钟:频率较低,低速外设MCLK是主时钟,CPU运行的时钟,高频SMCLK是次主时钟,高速外设DCO是数字震荡控制器1M 8M 12M 16M共4个级别,可以通过内置数据进行设置内置VLO低频振荡器,频率为4-20khz。

所以可以通过DCO进行分频Timer_A频率可达系统振荡频率,用于定时器时,最小单位时间是20ns2553的电阻有0~15共16中。

用RSEL选择。

RSEL与DCO配合,值越大频率越大。

LF是外接时钟USART支持UART、SPI 共2种通讯方式USCI支持UART、I2C、SPI 共3种通讯方式关于变量:static变量是对于局部变量而言,如果不定义成静态变量,则每次执行时都会被重新初始化,静态变量则不重新初始化。

全局变量和静态变量是存储在RAM中的。

extern是外部变量,即将一个文件中的变量在另一个文件中使用。

如在文件1中声明了变量z,在文件2中声明extern int z就可以使用文件1的zI/O口赋值方法与C51中的相同,可以使用OXxx或OXxxxx赋值。

MSP430学习笔记

MSP430学习笔记

一,MSP430G2553单片机的各个功能模块(一),IO口模块,1,我们所用的MSP430G2553有两组IO口,P1和P2。

2,IO口的寄存器有:方向选择寄存器PxDIR,输出寄存器PxOUT,输入寄存器PxIN,IO口内部上拉或下拉电阻使能寄存器PxREN,IO口功能选择寄存器PxSEL和PxSEL2,IO口中断使能寄存器PxIE,中断沿选择寄存器PxIES,IO口中断标志寄存器PxIFG。

3,所有的IO都带有中断,其中所有的P1口公用一个中断向量,所有的P2口公用一个中断向量。

所以在使用中断时,当进入中断后,还要判断到底是哪一个IO口产生的中断,判断方法可以是判断各个IO口的电平。

4,中断标志PxIFG需要软件清除,也可以用软件置位,从而用软件触发一个中断。

注意:在设置PxIESx时根据PxINx有可能会引起相应的PxIFGx置位(具体的情况见用户指南),所以在初始化完IO口中断以后,正式使用IO中断前要先将对应的PxIFGx清零。

程序如下:void IO_interrupt_init()//IO中断初始化函数{P1REN|=BIT4+BIT5+BIT6+BIT7;//pullup内部上拉电阻使能//使用中断时,使能内部的上拉电阻这样当该脚悬空是,电平不会跳变,防止悬空时电平跳变不停的触发中断P1OUT=BIT4+BIT5+BIT6+BIT7;//当引脚上的上拉或下拉电阻使能时,PxOUT选择是上拉还是下来//0:下拉,1:上拉P1IE|=BIT4+BIT5+BIT6+BIT7;//interrupt enabled P13中断使能P1IES|=BIT4+BIT5+BIT6+BIT7;//Hi/lo edge下降沿中断//P1IES&=~BIT3;//上升沿触发中断P1IFG&=~(BIT4+BIT5+BIT6+BIT7);//中断标志位清零}5,PxOUT:如果引脚选择了内部的上拉或下拉电阻使能,则PxOUT设定电阻是上拉还是下拉,0:下拉,1:上拉6,当IO口不用时,最好不要设为输入,且为浮动状态(这是IO口的默认状态),因为当输入为浮动时,输入电压有可能会在VIL和VIH之间,这样会产生击穿电流。

[MSP430学习笔记] SD16使用说明

[MSP430学习笔记] SD16使用说明

CH1_ISR CH1_ISR Over_ISR Over_ISR
; Handle channel 1 interrupt ; Handle channel 1 interrupt ; Handle overflow interrupt ; Handle overflow interrupt
2005 Texas Instruments Inc, Slide 17
SD16_A 输入设计
Input Channels
四个外部输入对 全差分输入 内部通道:
温度 AVCC / 11 输入端短接
A0 A1 A2 A3 A4 A5 A6 A7
+ + + + + + + + -
BUF
*
PGA
2nd Order Σ Mod
可选电流与高速输入缓冲器 PGA:1、2、 4、 8、16 与 32x SD16AEx 位,用于使能内部 AIN 连接至 AVSS
需要测量电压范围吗? AIN 的最大频率是多少? 分辨率多高? 需要差分输入吗? 参考源的范围是多少? 需要多个通道?
Bits 24 20 16 SAR 12 8 10 100 1k 10k 100k 1M Samples per Second
2005 Texas Instruments Inc, Slide 20
fM
SD16 Control Block
VREF
1.2V
0 1 1 0 1
Divider
MCLK SMCLK ACLK TACLK
Group/Start Conversion Logic
Channel x
PGA
2nd Order Σ Mod

msp430定时器AD模块以及其他笔记

msp430定时器AD模块以及其他笔记

定时器A用到CCR0定时器A的中断可由定时器溢出引起,也可由捕获/比较器模块产生。

每个捕获/比较模块可以独立编程,由捕获/比较外部信号产生中断。

定时器A使用两个中断向量,一个单独分配给捕获/比较寄存器CCR0;另一个作为共用中断向量用于定时器和其他的捕获/比较寄存器。

捕获/比较寄存器CCR0中断向量具有最高优先级,因为CCR0主要用来定义定时器的工作模式,而这是定时器A其他功能的基础,需要最快速的服务。

开启定时器应该在修改定时器工作频率之前。

CCR1,CCR2和定时器共用另一个中断向量,属于多源中断。

由向量中断寄存器TAIV决定由哪个中断标志来触发中断。

中断标志产生数据表:中断优先级中断源缩写 TAIV 的内容最高捕获/比较器1 CCIFG1 2捕获/比较器2 CCIFG2 4定时器溢出 TAIFG 10最低没有中断将挂起 0PxDIR输入/输出方向寄存器0:I/O引脚切换成输入模式 PxIN1:I/O引脚切换成输出模式 PxOUTPxIE中断使能寄存器0:禁止该中断 1:允许该中断PxIES中断触发沿选择寄存器如果允许Px口的某个引脚中断,还需要定义该引脚的中断触发沿。

0:上升沿使相应标志置位 1:下降沿使相应标志置位PxSEL功能选择寄存器0:选择引脚为I/O端口 1:选择引脚为外围模块功能上电复位信号:POR(power-on reset)上电清除复位信号:PUC(power-up clear)POR信号的产生总会产生PUC信号,但是PUC信号的发生不一定会产生POR信号。

脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

TACTL是最为主要的控制寄存器,它决定了TA的输入时钟信号、TA的工作模式、TA的开启与停止、中断的申请等工作。

MSP430 G2 LaunchPad使用入门

MSP430 G2 LaunchPad使用入门

MSP430 G2 LaunchPad使用入门v1.0 2013.8.8xie_sx@目录目录 (1)1 G2 LaunchPad功能简介 (1)1.1 快速入门 (1)1.2 硬件电路 (3)1.3 片上资源 (4)1.4 自学资料 (5)1G2 LaunchPad功能简介1.1快速入门收到MSP430 LaunchPad G2板卡,完整包装盒如下所示:打开盒子,MSP-EXP430G2 套件盒包括下列物品:•MSP-EXP430G2板卡•USB线•两个10 脚单排孔(暂时用不上)•1个32.768kHz 时钟晶振(该晶振不焊接,单片机使用的是内部晶振,建议焊接上)•一张快速启动指南+两个LaunchPad 贴签•两个MSP430 单片机–MSP430G2553:具有8 通道10 位模数转换器(ADC)、片上比较器、触控式使能I/O、通用串行通信接口、16kB 闪存、和512 字节RAM 的低功耗16 位MSP430 微控制器(预加载有示例程序)–MSP430G2452:具有8 通道10 位ADC、片上比较器、触控式I/O、通用串行接口、8kB 闪存、和256 字节SRAM 的低功耗16 位MSP430 微控制器拆开包装,拿出G2板卡,电路板如下图所示:作为入门使用的电路板,在设计入门实验时,我们更多的是借助两个LED灯和一个按键,进行单片机功能模块的学习。

在电脑上安装CCS软件,接着用USB线连接电脑和G2板卡,简单两个步骤就可以开始单片机的实验了。

基本的实验环境搭建好之后,如下图所示。

在宿舍/教室/图书馆等地方,仅需外带一台电脑就可以做实验了。

1.2硬件电路在嵌入式的学习过程中,硬件知识是必不可少的。

对于初学者来说,仿真器部分的具体电路可以跳过,把精力放在单片机核心板卡上。

G2板卡硬件电路较为简单,将所有的IO口引出,并且配有两个LED知识灯+1个用户按键输入。

电源供电部分的电路如下所示,通过电脑的USB口获取5V的电源输入,经稳压芯片稳压后输出3.6V电压给单片机供电。

msp430 学习笔记 - 定时器

msp430 学习笔记 - 定时器

// 停止看门狗WDT // 设置P1.0口方向为输出。 // 时钟源选择为SMCLK,选择计数模式,定时器中断开
_BIS_SR(LPM0_bits + GIE); }
//进入低功耗模式LPM0和开中断
// Timer_A3 中断向量(TAIV)处理 #pragma vector=TIMERA1_VECTOR __interrupt void Timer_A(void) {
2. 定时器相关寄存器 ................................................................................................................... 2 2.1. TACTL .......................................................................................................................... 3 2.2. TAR ............................................................................................................................. 4 2.3. TACCRx ....................................................................................................................... 4 2.4. TACCTLx ...................................................................................................................... 5 2.5. TAIV ............................................................................................................................ 6

[MSP430学习笔记] SD16使用说明

[MSP430学习笔记] SD16使用说明
fM
SD16 Control Block
VREF
1.2V
0 1 1 0 1
Divider
MCLK SMCLK ACLK TACLK
Group/Start Conversion Logic
Channel x
PGA
2nd Order Σ Mod
SD16MEMx
SD16PREx
2005 Texas Instruments Inc, Slide 5
CH1_ISR CH1_ISR Over_ISR Over_ISR
; Handle channel 1 interrupt ; Handle channel 1 interrupt ; Handle overflow interrupt ; Handle overflow interrupt
2005 Texas Instruments Inc, Slide 17
采用 MSP430 Δ-Σ ADC 外设 实现高精度测量
Vincent Chan 德州仪器亚洲 MSP430 市场经理 vince-chan@
2005 Texas Instruments Inc, Slide 1
会议议程
Δ-Σ 的原理与优势 了解 SD16_A 选择 集成了 ADC 的 MSP430 实验练习:SD16_A 实际操作
Temp. sensor
A5
Port Pin Control
to SD16 Ax0 1 AVSS from Ax- pin to GPIO disable
2005 Texas Instruments Inc, Slide 8
* ‘F20x3 器件不带缓冲器
SD16AEx
模拟输入范围
什么是 VREF? PGA 如何设置? 适用于所有输入和模式

msp430学习经验总结

msp430学习经验总结

msp430学习经验总结最近学习MSP430,把自己的一些经验分享下,这是我在网上发现的一篇很不错的文章,归纳得很好,简洁明了。

1.MSP430开发环境建立1.安装IAR dor msp430 软件,软件带USB仿真器的驱动。

2.插入USB仿真器,驱动选择安装目录的/drivers/TIUSBFET3.建立一个工程,选择"option"选项,设置a、选择器件,在"General"项的"Target"标签选择目标器件b、选择输出仿真,在"Linker"项里的"Output"标签,选择输出"Debug information for C-SPY",以输出调试信息用于仿真。

c、若选择"Other",Output下拉框选择"zax-m"即可以输出hex 文件用以烧录,注意,此时仿真不了。

d、选择"Debugger"项的"Setup"标签,"Driver"下拉框选择"FET Debugger"e、选择"FET Debugger"项的"Setup"标签,"Connection"下拉框选择"Texas Instrument USB-I"4.仿真器的接口,从左到右分别为 " GND,RST,TEST,VCC"2.IO口数字输入/输出端口有下列特性:□每个输入/输出位都可以独立编程。

□允许任意组合输入、输出。

□ P1 和 P2 所有 8 个位都可以分别设置为中断。

□可以独立操作输入和输出数据寄存器。

□可以分别设置上拉或下拉电阻。

在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

MSP430学习笔记

MSP430学习笔记

图和下方CCR2的框图是一样的。此处省略不写。在CCR中, 左上角为一个捕获源选择寄存器。可以从CCI2A、CCI2B、 GND或者VCC选择捕获源,选择捕获源后有一个选择捕获模 式寄存器Capture Mode,然后过来有一个捕获溢出状态寄 存器COV,SCS同步/异步捕获模式选择位,然后连接到捕获 比较寄存器。下方为模式选择寄存器,具体设置可以查看相 应的寄存器设置。 这里仅是大概介绍一下Timer0的寄存器,具体的设置使用还 看参考相应的寄存器并结合例程慢慢学习理解。
//以下为参考处理程序,不使用的端口应当删除其对于中断源的判断。 if((P1IFG&BIT0) == BIT0) { P2OUT&=~BIT0; //处理P1IN.0中断 P1IFG &= ~BIT0; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT1) ==BIT1) { P2OUT&=~BIT1; //处理P1IN.1中断 P1IFG &= ~BIT1; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT2) ==BIT2) { P2OUT&=~BIT2; //处理P1IN.2中断 P1IFG &= ~BIT2; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT3) ==BIT3) { //处理P1IN.3中断 P1IFG &= ~BIT3; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT4) ==BIT4) { P2OUT&=~BIT4; //处理P1IN.4中断 P1IFG &= ~BIT4; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT5) ==BIT5) { //处理P1IN.5中断 P1IFG &= ~BIT5; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT6) ==BIT6) { //处理P1IN.6中断 P1IFG &= ~BIT6; //清除中断标志 //以下填充用户代码

【LaunchPad】学习第一记

【LaunchPad】学习第一记

MSP430 LaunchPad学习第一记Lyzhangxiang前天收到了SOSO姐的板子,打开来一看板子质量很不错啊,就是不像淘宝上买的那种有光盘资。

只有一张介绍的卡片,看着卡片我心情好是激动想玩玩不了。

上坛子里来看看,原来有——LaunchPad.pdf的资料。

讲解的很详细,虽然是E文的,不过阅读起来还不算是吃力,Ti的东西没话说。

对着着篇文章好好看看,先是下载CCS(当然你可以考虑下载IAR的,不过先前没接触过CCS 所幸这里也是毫无顾忌的选择了他,体会一下新东西嘛,正好430也是第一次玩虽然常常在各种网站上都能见到他的身影)。

想玩430一直是我的一个梦想,用这个词好像有点夸张了,不过的确在淘宝上看到的多是F系列的片子,加上仿真器价格真是不菲,作为学生的我难以接受。

或许这就是一直没能玩上的缘故吧。

这次坛子里的活动第一让我玩到了430,也让我明白了原来430的G系列价格也很便宜甚至比51、PIC还便宜。

16位的东西且不管片上资源的多少,就冲着16位也要去玩下。

记得申请这个板子好几天才收到了SOSO姐的回复(应该是我申请的方式不对,不知道为何发不到申请专栏),那时候我正做着从合肥开往芜湖的火车上(去利尔达面试也拿到了Offer,不知道利尔达怎么样,请知道详情的朋友说下吧),告知了SOSO姐我的地址,哈哈没过几天板子就来了。

当天晚上就下载了很多关于这个板子的资料,多是坛子里面那位热心网友上传的。

首先就是阅读了那个LaunchPad的pdf,然后下载CCS安装完毕,其次看了一下G2211和G2231的数据手册。

大概有个了解之后开始玩了,打开CCS新建工程,关于CCS的操作可以下载那个视频看一下啦,基本对付了。

哦忘了说了还有那个很不错的触摸板子,也有一篇很好的pdf叫——LaunchPad实验板触摸感应子卡使用指南。

原理图以及代码示例里面都有讲解的。

详细的操作我也不说了直接进入主题了,第一次嘛还是跑通Demo 的好,毕竟我是第一次搞430,也不知道代码需要怎样去写。

MSP430初学者教程

MSP430初学者教程

MSP430初学者教程1.了解MSP430体系结构和特性:首先,你需要了解MSP430的体系结构和主要特性。

MSP430采用的是16位RISC架构,具有低功耗特性以及丰富的外设和存储器。

了解这些特性对于理解MSP430的使用至关重要。

3.学习MSP430的编程语言:4.熟悉MSP430的编程模型:了解MSP430的编程模型对于编写有效的程序至关重要。

这包括掌握寄存器、存储器和外设的使用。

你可以通过阅读MSP430的技术手册或官方文档来获得更多信息。

5.编写你的第一个MSP430程序:现在你已经准备好编写你的第一个MSP430程序了。

这个程序的目的是让你熟悉MSP430的编程环境和基本语法。

它可以是一个简单的LED点亮程序,让一个LED灯在一定的时间间隔内闪烁。

6.学习如何调试MSP430程序:当你编写MSP430程序时,你可能会遇到一些错误。

学习如何调试MSP430程序是非常重要的。

MSP430开发环境提供了一些调试工具,你可以使用它们来检查程序的运行情况。

7.学习如何使用MSP430的外设:8.尝试更复杂的MSP430项目:一旦你熟悉了MSP430的基本概念和编程,你可以尝试进行一些更复杂的项目。

比如,你可以使用MSP430控制一些传感器,或者与其他设备进行通信。

这将帮助你更深入地理解MSP430的使用。

9.参与MSP430社区和论坛:加入MSP430的社区和论坛是一个很好的方式来与其他MSP430开发者交流经验和获取帮助。

你可以在这些平台上提问,分享自己的项目经验,与其他人一起学习和进步。

10.持续学习:最后,持续学习是提高你在MSP430开发方面技能的关键。

MSP430的技术在不断发展,新的功能和工具不断出现。

通过阅读相关的书籍、文章和博客,参加培训和研讨会,你可以不断更新自己的知识。

这是一个MSP430初学者教程的总结。

我希望这个教程能够帮助你快速入门MSP430,并在自己的项目中有效使用它。

建立MSP430 Launchpad开发环境

建立MSP430 Launchpad开发环境

建立MSP430 Launchpad 开发环境从MSP430 Launchpad 主页下载Code Composer Studio (CCS)。

在下载页面选择Download latest production CCSv4 MSP430/C28x code size limited image 下面的链接。

有几点要注意:1、下载时需要注_册TI 账户。

2、16KB 限制。

即对于msp430x2xxx 来说不算限制。

3、安装时自动安装驱动及License。

4、使用Vmware 虚拟机连接Launchpad 时会冻住,在一段时间内虚拟机不响应。

USB 设备无法识别。

(Ubuntu11.04 + Vmware 3.1.3 + Windows XP SP3)5、Windows XP 下显示Launchpad 对应的JTAG 仿真器无法启动,但不影响编程及调试。

6、CCS 的IDE 实际上是eclipse。

第4 点比较奇怪,不知道其他人有没有遇到?有没有解决方法?* Linux 篇从MSPGCC 主页下载目前最新的mspgcc-20110716。

解压缩后的文件中除了文档外,还包括README、3 个patch 文件和2 个version 文件。

构筑流程是:1、确保系统中装有以下软件包:patch ncurses-dev build-essential bison flex libgmp3-dev libmpfr-dev libmpc-dev texinfo zlib1g-dev2、阅读README。

3、阅读patch。

4、根据patch 内指示依次补丁、编译及安装binutils、gcc、gdb。

如果patch 内的下载地址失效,用google 搜索同名文件下载并验证md5。

5、根据version 中的版本号下载依次下载、安装msp430mcu 和msp430-libc。

6、下载mspdebug,当前版本mspdebug-0.17。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【Energia 开发环境】MSP430 LAUNCHPAD 学习笔记 7--4 位驱动 1602 液晶 显示 材料:
MSP-EXP430G2 553LaunchPad LCD1602字符液晶 1602LCD 主要技术参数: 显示容量为16×2个字符; 芯片工作电压为4.5~5.5V; 工作电流为2.0mA(5.0V); 模块最佳工作电压为5.0V; 字符尺寸为2.95×4.35(W×H)mm。 MSP430 LAUNCHPAD 提供3.57V 的电压也是能够正常驱动1602的。 1602液晶接口引脚定义 :
int i,temp; digitalWrite( RS,LOW);
digitalWrite( EN,LOW); delayMicroseconds(1); digitalWrite( EN,HIGH); temp = command & 0xf0; for(i=a[3];i>7;i--) //写高四位 {
address = 0x80 + x; } else {
address = 0xc0 + x; } LCD_Command_Write( address); delayMicroseconds(1); while (*s) // 显示字符 {
LCD_Data_Write( *s ); delayMicroseconds(1); s++; } } //lcd 初始化程序 void LCD1602_Init() { int i=0; for(i=8;i<14;i++)//初始化 P2引脚为输出 { pinMode(i,OUTPUT); } delay(100);
static const uint8_t P1_6 = 14; static const uint8_t P1_7 = 15; static const uint8_t P2_7 = 18; static const uint8_t P2_6 = 19; static const uint8_t RED_LED = 2; static const uint8_t GREEN_LED = 14; static const uint8_t PUSH2 = 5; static const uint8_t TEMPSENSOR = 10; // depends on chip
digitalWrite(i,temp & 0x80); temp <<= 1; } digitalWrite( EN,HIGH); delayMicroseconds(1); digitalWrite( EN,LOW);
} //显示字符 void LCD_write_int(unsigned int x,unsigned int y,unsigned int data) {
除了1脚(VSS)2脚(VDD)需要接外,15脚和16脚也需要接正负极,3号脚
最好接 GND,不接的话,会看不到显示的字。 4位接法的硬件连接图:
源程序: /*******************************************************************
1602液晶显示 【Energia 开发环境】MSP430 LAUNCHPAD 学习笔记7--1602液晶显示 网址: /?action-bbs Autor: qinkaiabc * 液晶1602.c--4线驱动
* Created on: 2013-7-27 * Author: Qinkai * P2_0 -> D4 * P2_1 -> D5 * P2_2 -> D6 * P2_3 -> D7 * P2_5 -> EN * P2_4 -> RS * VO(VL) ->GND * RW -> GND
********************************************************************/ int D4 = P2_0; int D5 = P2_1; int D6 = P2_2; int D7 = P2_3; int RS = P2_4; int EN = P2_5; //引脚定义,从头文件可知 int a[6] = { 8, 9, 10, 11,12,13}; void LCD_Command_Write(int command) {
***********************************************************************/
所以在上面的初始化引脚和写命令及写数据,可以直接通过对数字操作。
By qinkaiabc
static const uint8_t P1_2 = 4; static const uint8_t P1_3 = 5; static const uint8_t P1_4 = 6; static const uint8_t P1_5 = 7;
static const uint8_t P2_0 = 8; static const uint8_t P2_1 = 9; static const uint8_t P2_2 = 10; static const uint8_t P2_3 = 11; static const uint8_t P2_4 = 12; static const uint8_t P2_5 = 13;
//
P2.0 8| |13 P2.5
//
P2.1 9| |12 P2.4
//
P2.2 10| |11 P2.3
//
+----+
// Pin names based on the silkscreen
static const uint8_t P1_0 = 2;
static const uint8_t P1_1 = 3;
LCD_Command_Write(0x28); delay(50); LCD_Command_Write(0x06); delay(50); LCD_Command_Write(0x0c); delay(50); LCD_Command_Write(0x80); delay(50); LCD_Command_Write(0x01); delay(50); } void setup() { LCD1602_Init();
digitalWrite(i,temp & 0x80); temp <<= 1; } digitalWrite( EN,HIGH); delayMicroseconds(1); digitalWrite( EN,LOW);
temp=(dat & 0x0f) << 4; for(i=a[3];p; digitalWrite( RS,HIGH); digitalWrite( EN,LOW); delayMicroseconds(1); digitalWrite( EN,HIGH); temp = dat & 0xf0; for(i=a[3];i>7;i--) //写高四位 {
} void loop() {
LCD_Command_Write(0x01); delay(50); LCD_write_string(0,0,"Hello! EEWORLD!"); LCD_write_string(0,1,"MSP430 LAUNCHPAD"); delay(5000); LCD_write_string(0,0,"EnergiaforMSP430");
* pins_energia.h
* Energia core files for MSP430
*
Copyright (c) 2012 Robert Wessels. All right reserved.
*
Contribution: Rei VILO
//
+-\/-+
//
VCC 1| |20 GND
//
unsigned int address; //写地址 if (y == 0) {
address = 0x80 + x; } else {
address = 0xc0 + x; } LCD_Command_Write( address); delayMicroseconds(1); LCD_Data_Write(data); } //LCD 在任意位置写字符串 //列 x=0~15,行 y=0,1 void LCD_write_string(unsigned int x,unsigned int y,char *s) { unsigned int address; //写地址 if (y == 0) {
LCD_write_string(0,1,"");
delay(5000);
}
从头文件中看出 MSP430 Launch Pad 的管脚定义如下:
/*************************************************************************
(A0) P1.0 2| |19 XIN
//
(A1) P1.1 3| |18 XOUT
//
(A2) P1.2 4| |17 TEST
//
(A3) P1.3 5| |16 RST#
//
(A4) P1.4 6| |15 P1.7 (A7) (SCL) (MISO) depends on chip
//
(A5) P1.5 7| |14 P1.6 (A6) (SDA) (MOSI)
digitalWrite(i,temp & 0x80); temp <<= 1; } digitalWrite( EN,HIGH); delayMicroseconds(1); digitalWrite( EN,LOW); temp=(command & 0x0f) << 4; for(i=a[3];i>7;i--) //写低四位 { digitalWrite(i,temp & 0x80); temp <<= 1; } digitalWrite( EN,HIGH); delayMicroseconds(1); digitalWrite( EN,LOW); } void LCD_Data_Write(int dat) {
相关文档
最新文档