IAR for msp430 学习笔记

合集下载

MSP430单片机笔记

MSP430单片机笔记

1、MSP430 端口功能P1、P2 I/O、中断功能、其他片内外设功能P3、P4、P5、P6 I/O、其他片内外设功能S、COM I/O、驱动液晶2、PxDIR 方向寄存器0 为输入模式1 为输出模式在PUC 后全都为位,作为输入时,只能读;作为输出时,可读可定。

3、PxIN 输入寄存器输入寄存器是只读的,用户不能对它写入,只能读取其IO 内容。

此时引脚方向必须为输入。

4、PxOUT 输出寄存器这是IO 端口的输出缓冲器,在读取时输出缓存的内容与脚引方向定义无关。

改变方向寄存器的内容,输出缓存的内容不受影响。

5、PxIFG 中断标专寄存器标志相应引脚是否有待处理中断信息。

0 没有中断请求1 有中断请求6、PxIES 中断触发沿选择寄存器0 上升沿使相应标志置位1 下降沿使相应标志置位7、PxIE 中断使能寄存器0 禁止中断1 允许中断8、PxSEL 功能择寄存器0 择引脚为I/O 功能。

1 择引脚为外围模块功能9、关于端口P3、P4、P5、P6端口P3、P4、P5、P6 是没有中断功能的,其它功能与P1、P2 相同。

所以在此不再作详尽说明。

10、关于端口COM、S这些端口实现与LCD 片的驱动接口,COM 端是LCD 片的公共端,S 端为LCD片的段码端。

LCD 片输出端也可以用软件配置为数字输出端口,详情使用请查看其册。

11、WDT 看门狗看门狗定时器实际上是一个特殊的定时器,它的的功能是当程序运行发生故障序时能使系统从新启动。

其原理就是发生的故障的时间满足规定的定时时间后,产一个非屏蔽中断,使系统的位。

12、定时器各种定时器功能看门狗定时器基本定时,当程序发生错误时执行一个受控的系统重启动。

基本定时器基本定时,支持软件和各种外围模块工作在低频率、低功耗条件下。

定时器A基本定时,支持同时进行的多种时序控制、多个捕获、比较功能和多种输出波形(PWM),可以以硬件方式支持串行通信。

定时器B基本定时,功能基本同定时器A,但比较定时器 A 灵活,功能更强大。

430学习笔记

430学习笔记

一,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单片机深入学习笔记

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学习总结前言这次主要看的资料是MSP430F425型号的,与MSP430F169有点区别,但由于MSP430单片机采用模块化结构,在不同型号的单片机中,同一种模块的使用方法和寄存器都是相同的。

下面会对它们的功能和区别加以说明。

一、MSP430单片机的特点1、我觉得MSP430最大的特点就是超低功耗,430之所以能够在低功耗的条件下运行,主要是由于引入了“时钟系统”的概念,和采用模块化结构。

让CPU可以间歇性的工作,节省功耗。

在MSP430单片机中,通过时钟配置可以产生3种时钟:MCLK:主时钟,MCLK是专门为CPU运行提供的时钟,MCLK配置的越高,CPU执行的速度就越快。

一旦关闭MCLKE,CPU 就停止工作,所以在超低功耗中通过间接开启MCLK的方式降低功耗。

SMCLK:子系统时钟,为单片机内部某些高速设备提供时钟,并且SMCLK是独立于MCLK的,关闭MCLK让CPU停止工作,子系统SMCLK开启,仍然可以使外设继续工作。

ACLK:活动时钟;ACLK一般是由32.768KHz晶振直接产生的低频时钟,在单片机运行时一般不关闭,和定时器使用间接唤醒CPU。

时钟系统对于3种时钟不同程度的关闭,就可以进入不同的低功耗模式(低功耗在下面讨论)。

2、MSP430单片机采用模块化结构,每一种模块都具有独立而完整的结构,这样就可以单独开启或者关闭某些模块,只需要激活某些使用的模块,以节省电力。

3、MSP430单片机的内核是16位RISC处理器,其运算能力和速度都具有一定的优势。

MSP430还有其它的一些优势在这里就不一一列举了。

二、MSP430单片机的内部资源1、I/O口寄存器PxIN: Px口输入寄存器PxOUT: Px口输出寄存器PxDIR : Px口方向寄存器 0=输入 1=输出PxSET: Px口第二功能选择寄存器 0=普通I/O 1=第二功能使用总结:以上的4个寄存器是所有I/O都具有的,在使用I/O 口之前首先要设置PxDIR,对于要使用第二功能的还要设置PxSET下面介绍的是430中P1,P2口引发中断需要设置的寄存器(MSP430单片机只有P1、P2口能引发中断)PxIE : Px口中断允许寄存器 0=不允许 1=允许PxIES : Px口中断沿选择寄存器 0=上升沿 1=下降沿PxIFG : Px口中断标志位寄存器 0=中断条件不成立1=中断条件曾经成立(说明:无论中断是否被允许,也不论是否正在执行中断服务程序,只要I/O满足中断条件,PxIFG的相应位就会置1,只能通过软件清除,这个可以用来判断哪一位I/O发生了中断,也不会漏掉每一次中断。

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口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

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大部分时间都处于低功耗状态,使得系统的整体功耗极大地降低。

IARmsp430使用指南

IARmsp430使用指南

第一讲软件使用实验板使用msp430g2553的芯片,需要使用IAR FOR MSP430 5.5以上版本一、软件安装打开EW430-EV-web-5502.exe开始安装连续点击next这里点击上面的圆点,再点next这时需要填写name,company,license。

name,company可以随意填写,license使用破解器生成。

打开文件IAR kegen PartA.exe。

从product菜单中选择msp430 v5.50,点击generate如图,得到了license number 和license key,将license number输入刚才打开的安装文件的license栏,点next接下来,在license key中输入刚才破解文件生成的license key安装选择complete,接下来,选好安装路径,就可以一直下一步直到安装完成了。

二、创建工程打开软件,看到此窗口:首先,我们新建一个工程我们使用C语言对单片机进行编程,因此选择C-main,点击ok,并保存三、配置软件建立工程以后,我们要选择芯片类型,即我们使用的msp430g2553进入option选项更改Device为g2553,并点击ok四、编译运行这时,工程设置已经完成,可以对程序进行编译仿真。

这两个按钮分别是compile和make单击make,并保存编译完成,即可开始仿真在线仿真分为是否下载两种,绿色箭头为下载最新程序后运行,空白箭头为不下载直接运行为了保证程序是最新修改,我们点击绿色箭头,即进入仿真阶段程序从main开始运行,箭头指向的绿色语句为将要运行的语句,运行结束后自动复位。

此时出现的仿真控制栏,可控制仿真的运行。

一般来说,如果不需要单步调试,点击全速运行即可。

若要结束,则点击X。

以上仿真,是基于编译器模拟的仿真,若要接上板子在线仿真,则需要做其他设置。

五、在线调试仍然是打开option选项,选择debuggerdriver中的simulator改为fet debugger此时,点击下载运行若没有连接好实验板,则会报错连接好实验板后,若驱动已经装好(若无驱动,从iar安装目录中IAR Systems\Embedded Workbench 6.4 Evaluation\430\drivers中查找安装驱动),即可看到下载成功。

430学习1

430学习1

MSP430学习笔记之二:时钟模块MSP430系列单片机基础时钟主要是由低频晶体振荡器,高频晶体振荡器,数字控制振荡器(DCO),锁频环(FLL)及FLL+等模块构成。

由于430系列单片机中的型号不同,而时钟模块也将有所不同。

虽然不同型号的单片机的时基模块有所不同,但这些模块产生出来的结果是相同的.在MSP430F13、14中是有TX2振荡器的,而MSP430F11X,F11X1中是用LFXT1CLK 来代替XT2CLK时钟信号的.在时钟模块中有3个(对于F13,F14)时钟信号源(或2个时钟信号源,对于F11X、F11X1):1-LFXT1CLK: 低频/高频时钟源.由外接晶体振荡器,而无需外接两个振荡电容器.较常使用的晶体振荡器是32768HZ。

2-XT2CLK: 高频时钟源.由外接晶体振荡器。

需要外接两个振荡电容器,较常用的晶体振荡器是8MHZ。

3-DCOCLK: 数字可控制的RC振荡器。

1-ACLK: 辅助时钟信号.由图所示,ACLK是从FLXT1CLK信号由1/2/4/8分频器分频后所得到的.由BCSCTL1寄存器设置DIVA相应为来决定分频因子.ACLK可用于提供CPU外围功能模块作时钟信号使用.2-MCLK: 主时钟信号.由图所示,MCLK是由3个时钟源所提供的。

他们分别是LFXT1CLK,XT2CLK(F13、F14,如果是F11,F11X1则由LFXT1CLK代替),DCO时钟源信号提供.MCLK主要用于MCU和相关系统模块作时钟使用。

同样可设置相关寄存器来决定分频因子及相关的设置。

3-SMCLK: 子系统时钟,SMCLK是由2个时钟源信号所提供.他们分别是XT2CLK(F13、F14)和DCO,如果是F11、F11X1则由LFXT1CLK代替TX2CLK。

同样可设置相关寄存器来决定分频因子及相关的设置。

MSP430X1X1系列产品中,其中XT1时钟源引脚接法有如3种应用。

F13、14的XT1相同。

MSP430系列微控制器开发软件IAR的使用_2

MSP430系列微控制器开发软件IAR的使用_2

MSP430系列微控制器开发软件IAR的使用——流水灯电路的设计2.1引言基于微控制器的电路开发,无论大到一个应用系统,还是小到一个本章将要涉及的流水灯控制电路,设计者都需要具有以下3个方面的知识:对所使用微控制器芯片的了解、编程语言的掌握和开发软件的使用。

MSP430系列微控制器的开发软件有2种,一种为TI 公司提供的Code Composer TM Essentials开发软件,另一种为IAR公司的产品Embedded Workbench for MSP430。

这两种开发软件都可以从TI公司的网站下载免费的代码限制版。

本章描述Embedded Workbench for MSP430开发软件的使用,这里以版本v5.30为例,通过编写一个使用P1并行输入/输出端口控制的流水灯来介绍应用系统的开发过程,内容包括工程建立,源程序的编辑、编译、模拟调试以及向目标芯片的程序代码下载。

源程序采用C语言编写。

作为第一个接触的应用程序,程序中涉及的系统时钟初始化、P1端口的配置部分建议读者简单地承认。

硬件电路是编写软件程序的基础,电路的具体结构决定了源程序的组成。

图2.1所示为一个由8个发光二极管组成的流水灯电路。

1.8图2.1基于P1端口的流水灯原理电路图图 2.1给出的基于P1并行输入/输出端口的流水灯原理电路图是在图 1.3所示的MSP430芯片最小系统电路图的基础上,通过添加8个发光二极管构成的。

芯片不需要使用的管脚在这里没有画出,组装电路的时候这些没有画出的管脚悬空即可。

12 二极管D1~D8和电阻R2组成流水灯的显示电路。

图中8个发光二极管的连接方式被称为共阴极连接方式,即所有二极管的N极被连接在一起,再通过电阻R2与地线相连接。

对于这种连接方式,如果P1端口的某个管脚输出逻辑“1”,即高电平,则对应的发光二极管被点亮;如果P1口的某个管脚输出逻辑“0”,即低电平,则对应的发光二极管熄灭。

电阻R2为限流电阻,限流电阻用来防止电流过大损坏电路器件。

IAR For MSP430使用说明

IAR For MSP430使用说明

MSP430仿真软件IAR 基本使用方法 2009/11/25(1) 双击打开软件,进入软件后出现一个对话框,如下图所示,单击Create New Project 来新建一个工程文件(New Project);(2) 点击后出现以下对话框,如下图所示,不做任何选择,默认后点击OK:(3) 点击OK后出现Project存放文件夹选择界面,如下图所示,点击新建文件夹,如‘430FWTest’,新建完成后双击进入该文件夹,或者选择已经存在的文件夹双击进入:(4) 命名New Projiect,进入新建好的文件夹后,命名Project,命名无限制,可以与此文件夹重名,如命名为‘430FWTest’,然后点击保存(S),则建好一个Project,如下图所示:(5) 添加需要仿真的.c文件,把需要仿真的.c文件Copy到上面所建的工程文件夹‘430FWTest’,比如:把ZF_Fwtest_005J.C复制粘贴到刚建好的文件夹,如下图所示:(6) 在IAR中添加需要仿真的File,把需要仿真的.c文件Copy进工程文件夹后,在IAR 主画面右击工程名,出现下面的对话框,选择“Add”,出现“Add Files…..”,单击“Add Files…..”,添加.C仿真文件(ZF_Fwtest_005J.C),单击打开:A)右击工程名,出现下面的对话框,单击选择“Options….”:B)单击“Options…”,出现下面的对话框,在“Device”选择窗口选择仿真所用的MSP430型号,ZF所用型号为MSP430F4270,找到该型号后单击即OK:C)选择左边框菜单栏的“Debugger”,出现下面的对话框,然后选择“Driver”为“FET Debugger”:D)选择左边框“FET Debugger”菜单,如下图所示,选择连接方式为“Texas Instrument LPT-IR..”(即并口连接方式),然后点击OK,设置完毕:(8)点击“Project”下拉菜单中的“Rebuild All”对程序进行软件仿真;(9)点击“Rebuild All”后出现下面保存仿真生成文件的对话框,输入生成仿真文件(.eww)的名称,如:“430FWTest”,然后点击保存(S)即开始仿真,如下图:按Ctrl+D烧录程序:(11)然后出现在线仿真对话框:(12)点击“View”,添加在线仿真所需要的小工具,如“Watch”“Breakpoints”等,如下图已经添加“Watch”和“Breakpoints”,Watch在线仿真比较常用,可查看寄存器的值:把需要查看内容的寄存器直接在程序中选中,然后用鼠标直接拖入“Watch”就可以查看到寄存器中的值,如下图:(13)设置断点,双击要设置断点的语句,在语句钱会出现一颗红点,即断点,注意:若需要设置多个断点,则需要在Download之前设置完成,在Download之后,软件限制只能设置1个断点:(14)程序运行,Download后按“F5”即开始运行,或者用鼠标单击按钮,如下图所示:(15):返回程序开头,即Reset;(16):单步仿真;(17):进入子函数和跳出子函数;(18):执行下一语句;(19):自动执行到光标停止;(20):全速运行;(21):退出在线仿真;(15)若不需要在线仿真,在Download程序后,点击上图中的,退出在线仿真,上电后则开始独立运行;。

MSP430学习总结

MSP430学习总结

MSP430学习总结MSP430学习总结前言这次主要看的资料是MSP430F425型号的,与MSP430F169有点区别,但由于MSP430单片机采用模块化结构,在不同型号的单片机中,同一种模块的使用方法和寄存器都是相同的。

下面会对它们的功能和区别加以说明。

一、MSP430单片机的特点1、我觉得MSP430最大的特点就是超低功耗,430之所以能够在低功耗的条件下运行,主要是由于引入了“时钟系统”的概念,和采用模块化结构。

让CPU可以间歇性的工作,节省功耗。

在MSP430单片机中,通过时钟配置可以产生3种时钟:MCLK:主时钟,MCLK是专门为CPU运行提供的时钟,MCLK配置的越高,CPU执行的速度就越快。

一旦关闭MCLKE,CPU 就停止工作,所以在超低功耗中通过间接开启MCLK的方式降低功耗。

SMCLK:子系统时钟,为单片机内部某些高速设备提供时钟,并且SMCLK是独立于MCLK的,关闭MCLK让CPU停止工作,子系统SMCLK开启,仍然可以使外设继续工作。

ACLK:活动时钟;ACLK一般是由32.768KHz晶振直接产生的低频时钟,在单片机运行时一般不关闭,和定时器使用间接唤醒CPU。

时钟系统对于3种时钟不同程度的关闭,就可以进入不同的低功耗模式(低功耗在下面讨论)。

2、MSP430单片机采用模块化结构,每一种模块都具有独立而完整的结构,这样就可以单独开启或者关闭某些模块,只需要激活某些使用的模块,以节省电力。

3、MSP430单片机的内核是16位RISC处理器,其运算能力和速度都具有一定的优势。

MSP430还有其它的一些优势在这里就不一一列举了。

二、MSP430单片机的内部资源1、I/O口寄存器PxIN: Px口输入寄存器PxOUT: Px口输出寄存器PxDIR : Px口方向寄存器 0=输入 1=输出PxSET: Px口第二功能选择寄存器 0=普通I/O 1=第二功能使用总结:以上的4个寄存器是所有I/O都具有的,在使用I/O 口之前首先要设置PxDIR,对于要使用第二功能的还要设置PxSET 下面介绍的是430中P1,P2口引发中断需要设置的寄存器(MSP430单片机只有P1、P2口能引发中断)PxIE : Px口中断允许寄存器 0=不允许 1=允许PxIES : Px口中断沿选择寄存器0=上升沿1=下降沿PxIFG :Px口中断标志位寄存器 0=中断条件不成立1=中断条件曾经成立(说明:无论中断是否被允许,也不论是否正在执行中断服务程序,只要I/O满足中断条件,PxIFG的相应位就会置1,只能通过软件清除,这个可以用来判断哪一位I/O发生了中断,也不会漏掉每一次中断。

msp430单片机入门知识

msp430单片机入门知识

青岛大学-TI 大学生创新中心 傅强 13
1.3.2 数学运算
尽可能避免浮点数运算。 ① 运算慢、非常慢。占用RAM多。 ② 所以应尽量避免使用浮点数float。 防止定点数溢出。
long int x; int a; x=a*1000;//a和1000都是int型,a>65溢出 应改为 x=a*long(1000) 或 x=(long)a*1000
青岛大学-TI 大学生创新中心 傅强 8
1.1.3 MSP430单片机最小系统
一般单片机最小系统需要什么? 电源、晶振、复位、下载/仿真接口 MSP430FE425自带片内数控时钟(DCO), 掉电复位电路(BOR) 一般讲究一点都需要“电源监视芯片” 内部时钟一般不如晶振精确 可以外接手表晶振32.768k,然后倍频 JTAG、SBW、可下载+调试,BSL只能下载

青岛大学-TI 大学生创新中心 傅强 9
1.2 MSP430单片机开发软件入门
一般用IAR430软件 工程管理、程序编辑、代码编译下载、仿真调 试 工程管理:管理外部函数、头文件。。。 程序编辑:写代码 编译:替程序员处理所有打杂的事情C->汇编 调试:真正的考验水平的地方,不是所有单片 机都支持调试,这是要硬件支持的。

青岛大学-TI 大学生创新中心 傅强 6
科普:ROM、RAM、DRAM、SRAM、EEPROM、FLASH
存储器 挥发性存储器 RAM 非挥发性存储器 可擦写 只读
SRAM
速度最高 最贵 计算机CPU 一二级缓存 6个晶体管构成 1bit
DRAM
要定时刷新 计算机 内存条 一个晶体管+ 电容充放电
//扩大10倍

MSP f 学习笔记

MSP f 学习笔记

MSP430F552X中文手册及例程一、先写一篇开个头:这样快速闯入MSP430学习过程进入各个电子产品公司的网站,招聘里面嵌入式占据了大半工程师职位。

广义的嵌入式无非几种:传统的什么51单片机、 MSP430称做嵌入式微控制器;ARM是嵌入式微处理器;当然还有DSP;FPGA。

我们现在就不说别的,就说MSP430单片机,多数想学MSP430的童鞋,对89C51内核系列的单片机是很熟悉的,为了加深对MSP430 系列单片机的认识吗,迅速闯入MSP430学习过程,就必须彻底了解MSP430单片机,我们不妨将51单片机和MSP430两者进行一下比较。

第一点, 51内核单片机是8 位单片机。

其指令是采用的被称为“ CISC ”的复杂指令集,共具有111 条指令。

而MSP430 单片机是16 位的单片机,采用了精简指令集( RISC )结构,只有简洁的27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。

这些内核指令均为单周期指令,功能强,运行的速度快。

第二点,MCU主要分为两种工作模式:待机与执行。

51内核单片机正常情况下消耗的电流为mA级 ,在掉电状态下,其耗电电流仍约为3mA左右 ;即使在掉电方式下,电源电压可以下降到2V ,但是为了保存内部RAM 中的数据,还需要提供约50uA的电流。

而430单片机功耗是在uA级的,工作电流极小,并且超低功耗,关断状态下的电流仅为0.1μA,待机电流为0.8μA,常规模式下的(250μA/1MIPS@3V),端口漏电流不足50 nA,并可零功耗掉电复位(BOR)。

另外,该芯片属低电器件,仅需1.8~3.6V电压供电,因而可有效降低系统功耗。

MSP430将低功耗模式扩展为7种,分别对应不同应用场合及任务的低功耗方式。

以睡眠模式为例,包括深度睡眠模式RTC:只有时钟在跑而其他都不动,目前,TI宣布其MSP430在RTC模式下最低功耗仅为360nA。

430学习经典笔记

430学习经典笔记

1.键盘硬件连接看一看实验板上键盘的接法,如下图所示,可以看到,它与51键盘接法也没有什么区别。

以下程序功能是实现K1~K4分别被按下时,在数码管上分别显示1~4。

2.程序实现void main( void ){uchar temp,keyval = 0;WDTCTL = WDTPW + WDTHOLD; //关闭看门狗BoardConfig(0x88); //打开数码管,关闭流水灯和电平转换P1DIR = BIT7; //设置P1.0~P.3为输入状态,P.7为输出P1OUT = 0;P3DIR |= BIT4; //设置P3.4为输出状态P3OUT |= BIT4; //P3.4输出1P4DIR = 0xff;P5DIR = 0xff;P4OUT = 0x3f;P5OUT = 0xf7;while(1){if(keyin != 0x0f) //如果有键被按下{delay(); //延时消抖if(keyin != 0x0f) //再次检测按键状态{temp=keyin;while(keyin != 0x0f); //等待按键被放开 switch(temp) //转换键值{case 0x0e:keyval = 1;break;case 0x0d:keyval = 2;break;case 0x0b:keyval = 3;break;case 0x07:keyval = 4;break;default:keyval = 0;break;}P4OUT = scandata[keyval]; //用一位数码管显示}}}}看来,键盘处理程序与其他单片机键盘处理程序也没有什么区别。

主要就是来看一看设置。

3.一些符号的函义1.P1DIR查找这个符号,可以看到在msp430x14x.h中有这样的定义:#define P1DIR_ (0x0022) /* Port 1 Direction */DEFC( P1DIR , P1DIR_)再查找数据手册:这样,第1行就不难理解了。

msp430f149学习笔记

msp430f149学习笔记

1.复位信号是MCU工作的起点,430的复位型号有两种:上电复位信号POR和上电清除信号PUC。

POR信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。

而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误时产生。

但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。

复位后的状态不写了,详见参考书,嘿嘿。

2.首先你要知道msp430的存储器结构。

典型微处理器的结构有两种:冯。

诺依曼结构——程序存储器和数据存储器统一编码;哈佛结构——程序存储器和数据存储器;msp430系列单片机属于前者,而常用的mcs51系列属于后者。

0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-0x11003.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。

430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ -8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。

430有三种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu 使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只能由LFXT1产生,供外围模块。

4.中断是430处理器的一大特色,因为几乎每个外围模块都能产生,430可以在没有任务时进入低功耗状态,有事件时中断唤醒cpu,处理完毕再次进入低功耗状态。

整个中断的响应过程是这样的,当有中断请求时,如果cpu处于活动状态,先完成当前命令;如果处于低功耗,先退出,将下一条指令的pc值压入堆栈;如果有多个中断请求,先响应优先级高的;执行完后,等待中断请求标志位复位,要注意,单中断源的中断请求标志位自动复位,而多中断的标志位需要软件复位;然后系统总中断允许位SR.GIE复位,相应的中断向量值装入pc,程序从这个地址继续执行。

IARMSP430 使用指引

IARMSP430 使用指引

IARMSP430使用指引本指引是为配合推出的MSP430学习系统而写的,当然您也可以把它当成您使用IAR FOR MSP430(以下简写为EW430)的一个参考文档!本指引会按照建立一个项目的步骤来撰写,并且会插入附图以加快大家对IAR FOR MSP430的学习使用。

一、安装和运行EW430:EW430是IAR SYSTEMS SOFTWARE INC的产品,该公司的网站是,您可以到这个公司的网站下载到试用版的软件,它和正式版不同的是试用版可以免费使用一段时间而没有功能上的限制,超过这段试用期,如果您打算继续使用,那么您得购买此软件的授权。

下载了试用版后,点击安装包的SETUP.EXE,选择安装路径和安装方式或采用默认的安装,安装包会在目录下产生IAR的目录,并在”开始”菜单产生快捷方式,这一个工程对于经常使用软件的用户来说是非常简单的,因此不再AOSHU。

系统重启后,在系统栏会出现图1.1中的图标。

在这个图标上点击鼠标左键可以很方便的开启IAR FOR MSP和其它IAR系统软件(图1.2)。

图1.1图1.2运行后的界面如图1.3所示(以1.26A版为例)图1.3二、建立工程文件和添加文件我们习惯了在WINDOWS下的各种编程软件中以一个工程(PROJECT)来管理我们正在作的工作,EW430也不例外,因此第一步要作的就是新建一个工程或用其它方法来建立一个工程。

点击”File”菜单下的”New”菜单,出现图2.1中的框,选择”Project”后点击”确定”按键。

图2.1接下来会出现对话框,您得指定你的工程文件保存在哪个目录下图2.2我这此建立的是一个控制液晶模块1602A的工程,取名为lcm1602.prj。

然后点击”Create”按键生成这个项目。

图2.3图中的”Targets”一项中表示目前的这个工程的是用于调试的。

好了,工程文件已经建立完成了,现在可以把要用到的文件添加到工程中去。

要提醒您的是经常使用”File”菜单下的”Save all”保存您到目前完成的工作。

MSP430学习总结(含远程升级方案)

MSP430学习总结(含远程升级方案)

MSP430学习MSP430系列咩有自带IAP功能的特点,必须自行编写IAP程序来进行片内Flash的烧写,才能达到省级的目的。

系统构思:需要升级的二进制文件下载到相应的地址空间,然后让单片机系统自动执行IAP 升级。

MSP430F149是在片内flash中运行。

1.下载升级文件到相应的外扩flash中。

2.从片外flash中编写到片内flash中(从0x1100开始至0xffff)3.编写引导程序,讲程序拷贝到相应的RAM空间(0x0200)中,并将PC指向0x200。

用户指南:如何使用这些寄存器。

数据手册:看电气特性,引脚等等xcl文件。

该文件在安装目录的IAR Systems\Embedded Workbench 5.4 Evaluation\430\config中。

CTRL+K 快注释,屏蔽选中的代码;CTRL+SHIFT+K 取消快注释,取消屏蔽选中的代码;CTRL+SHITF+F 全局搜索,有可能是因为搜狗输入法占用了快捷键而不行!生成下载文本147与149空间对比4系列的可以直接驱动段氏的液晶,1系不可以。

硬件结构MSP:mix signal processor混合信号处理器。

MSP430F149:F表示储存器是flash,14代表ADC是12位,9代表储存容量60kDSP 或者ARM成本比较高,单片机也有自己的生存空间。

MSP430可以进行片内flash自编程。

三个时钟单元MCLK/ACK/SMCLK内部集成Hardware Multiplier硬件乘法器,运算会更快,51单片机则没有!所以做一次运算会花很多个时钟周期!四种低功耗模式!降低时钟,LPM0:active模式下,哪些模块需要打开,可以由用户确定!LPM1:MCLK(主系统时钟)关掉,CPU则停止工作,ACLK(辅助系统时钟)和SMCLK(子系统四中模式消耗的电流设置CPUOFF/SCG0/SCG1---进入不同的低功耗级别。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IAR for MSP430软件安装使用详解
1、下载安装包,注册机
2、运行安装包,进入安装页面,一直Next,直到出现提示输入注册码的页面;
3、若是Win7系统,以管理员身份运行注册机,选择For MSP430 v5.50 然后Get ID
4、将License number粘贴至安装程序的License#一栏,;
5、将注册机中的License key 粘贴至
Next 6、选择安装全部功能;
7、选择安装路径;
8、等待软件自动安装完成,点击Finish 完成安装;
附录A
关于驱动的安装
下载的IAR for MSP430 软件自带的有针对各种操作系统的驱动程序,都存在安装文件中,只需要找到和自己使用操作系统对应的驱动进行安装就行了。

以本机为例,为Win7 64位操作系统,进入软件安装目录
选择图中阴影文件夹,打开看到驱动程序,双击运行即可自动安装。

附录B
从下面几个方面介绍EW430 的基本使用:
一、创建一个工程,并在工程目录下创建C 语言项目
二、设置项目属性
三、编写源程序
四、编译和连接程序
五、下载程序到目标MCU 中
六、运行程序
一、第一次使用EW430时按如下步骤创建工程。

1.在E盘创建工程文件夹(不要用中文);
2.启动IAR Embedded Workbench;
3.创建一个C语言项目;
1>点击菜单栏中Project/Create New Project,创建一个新的项目
2>在弹出的对话框中选择C语言环境,点击前面的+号,选择main,如图;
3>在出现的“另存为”对话框中找到之前在E盘建立的工程文件夹;在其目录下新建一个项目文件夹Day00;双击进入项目文件夹Day00,将新建的项目命名为Day00.ewp保存;如图
4>进入到IAR 提供的集成工作环境下,其中编辑界面下出现的程序main.c 是EW430 提供的C 语言程序模板;
二、设置项目属性
1.进入项目属性设置窗口
点击菜单栏上的Project /options 或右键点击Workspace 区域中的项目名,点Options,如图进入到项目属性设置对话框,如图
单击OK,完成项目属性设置。

2.选择实验用到的MCU芯片型号。

在Options 对话框中,根据具体使用的MCU型号,在Category\General Option\Target\Device选项框中选择芯片型号。

3.选择调试器
在Options 对话框中,Category\Debugger \Setup 中的Driver 选择框中选项FET Debugger(如无JTAG 硬件调试器和实验板,可选Simulator 进行软件调试), 如图
4.设置硬件JTAG 调试器
根据使用的JTAG 调试器类型,在Options 对话框中,Category\FET Debugger \Setup 的Connection 选择框中选项调试器的连接,如果使用的是USB 型JTAG 调试器,则选择Texas Instrument USB-IF;如果使用的是并口型JTAG 调试器,则选择Texas Instrument LPT-IF,如图,然后按OK 按钮,结束属性设置,回到IAR Embedded Workbench IDE 界面(在此我们使用Texas Instrument USB-IF)
三、编写程序代码
在IAR Embedded Workbench IDE 下点击Workspace工程空间的项目名,如Day_00-debug, 有以下几种编写源程序的方法:
1. 在模板文件main.c 的基础上编写源文件新建的项目中main.c 文件已被自动加入到项目中,用户可以在此文件基础上编写自己的文件.
2. 点击菜单栏中file/new/file 新建一个文件,写好程序代码,保存文件,注意后缀为.C, 然后用菜单栏中project/add file 将该文件添加到项目中。

3. 将已写好的.C 文件,添加到项目中为便于管理。

假设已将编写好的源程序拷贝到项目文件夹下,如将test.C 拷贝到了Day_00文件夹下。

如图
点击菜单栏中project/add/add files, 在弹出的add files 窗口中,选中要添加的文件,如test.C, 按“打开”按钮即可将文件添加到项目中。

可以用file/remove 将不用的文件从项目中移出,移出的文件并没有被删除。

注意由于main.C 中已包含有main( )函数,如不将main.C 从项目中移出,在编译时会报函数重复定义的错误。

添加test.c并移除main.c文件后,工作区的目录如图1,工作区项目文件夹下文件如图2;
图1 图2
四、编译和连接项目
1.编译源程序
在IAR Embedded Workbench IDE 下点击Workspace 区域中的test.C 源程序,右键选择compile, 或点击菜
单栏中点击编译源程序。

第1 次编译时会出现保存工作空间Save workspace as 对话框,在对话框中将保存路径切换到一开始建立的工程文件下,将工程空间命名为与工程文件同样的名字,如图
文件路径如下:
项目(project) E:\iar_study\Day_00\Day_00.ewp
工程(workspace) E:\iar_study\iar_study.eww
2.修改
3.连接项目
在IAR Embedded Workbench IDE 下点击Workspace 区域中的要连接的项目Day_00(注意不是test.C 源程
序), 右键选择make, 或点击菜单栏中,编译项目,编译后的状态信息会显示在信息框中。

如无错,在项目的子文件夹\deb\exe\下生成带调试信息的.d43 目标程序。

如图(此处打开的是张老师的编译过的工程文件)
注意:如果点击菜单栏中project/rebuild all 可将编译、连接一起完成。

五、下载程序到目标MCU 中
确认PC 机JTAG 调试器与实验板已连接好, 接通实验板电源,点击project/Debug, 或按快捷键ctrl+D,,程序被下载到目标板上的MCU 中,显示调试界面,如图
注意:点击菜单栏上的快捷键图标,将包含编译、连接、下载所有过程,如果有错,就显示错误。

六、运行程序
将程序正确烧写到目标板后,就可用菜单栏中DEBUG 下的运行命令控制程序的执行,并查看执行的结果。

点击菜单栏下Debug/go,或点击快捷go 图标, 或按快捷键F5, 即均可连续执行程序。

将ucos.d43 烧写到实验板,运行后应该看到实验板上有相应的现象。

关闭实验板电源,断开JTAG 调试器与实验板的连接。

重新给实验板上电,可以看到程序在实验板上运行,程序已固化在MCU 内。

按Reset 复位键,将重新运行程序能。

相关文档
最新文档