当前位置:文档之家› Msp430学习笔记

Msp430学习笔记

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 功能选择寄存器rw

2.其他端口:四个控制寄存器(除去中断相关)看看例程

二、时钟部分

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 Modes

MSP430是一个特别强调低功耗的单片机系列,尤其适用于采用电池供电的长时间工作场合。

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

中断是MSP430微处理器的一大特色。有效地利用中断可以简化程序,并且提高执行效率和系统稳定性。几乎所有的msp430系统单片机的每个外围模块都能产生中断,为MSP430针对事件(外围模块产生的中断)进行的编程打下基础。MSP430在没有事件发生时处于低功耗模式,事件发生时通过中断唤醒CPU,时间处理完毕后CPU再次进入低功耗模式,由于CPU运算速度和推出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态,使得系统的整体功耗极大地降低。

MSP430中断可分为三种:1.系统复位中断;2.不可屏蔽中断;3.可屏蔽中断。

多个中断请求发生时,响应最高优先级中断。响应中断时,MSP430单片机会将不可屏蔽中断控制位SR.GIE(总中断允许位)复位。因此,一旦响应了中断,即使有优先级更高的可屏蔽中断出现,也不会中断当前正在响应的中断而去响应更高优先级的中断。但SR.GIE复位不会影响不可屏蔽中断,所以仍可接收不可屏蔽中断的中断请求。

使用中断时要开总中断:

_EINT(); // Enable general interrupts

MSP430f5438初学者笔记

一、简介 1.1CPU: 16-bit RISC 除program-flow指令外所有指令都在寄存器和7种源操作数寻址方式及4种目的操作数合作下执行 16个寄存器,register-to-register指令执行时间是一个CPU时钟 R0 程序计数器寄存器20-bit R1 堆栈指针20-bit R2 状态寄存器16-bit R3 不变的产生器 R4~R15 通用寄存器 1.2指令集: 51指令3格式7中寻址方式附加指令 1.3操作模式 6个可软件设置的LOW-POWER模式一个中断事件可以唤醒5个模式中的任何一个,响应请求,并从中断程序中返回原模式 Mode ACTIVE DISABLED Active mode (AM) 所有时钟ACTIVE Low-power mode 0 (LPM0) ACLK SMCLK FLL CPU MCLK LPM1 ACLK SMCLK CPU FLL MCLK LPM2 DCO发生器ACLK CPU MCLK FLL DCOCLK LPM3 ACLK CPU MCLK FLL DCOCLK DC发生器LPM4 晶振关闭完整数据保留 LPM5 内部调节器关闭无数据保留通过RST和IO唤醒 1.4中断矢量 地址:FFFF~FF80H 1.5 SFR 处于最低地址空间可以进行字访问和字节访问 1.6存储 256K闪存空间64K程序存储器16KRAM 512BBSL程序装载器用于编程存储器串连接口 1.7外围 时钟:支持统一的时钟系统UCS包括: 32K手表晶振(XT1 低频模式) 内部低频振荡器VLO 内部平衡低频振荡器REFO 内部集成数字控制器DCO 高频晶振(XT1高频模式or XT2) FLL锁频环连同一个数字调节器使得DCO构成一个多倍可编程的手表晶振 时钟信号:ACLK 32K手表晶振、高频晶振、VLO、REFO、DCO MCLK CPU用,来源同ACLK

IAR for msp430 学习笔记

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 语言程序模板;

MSP430G2553学习笔记(数据手册)

MSP430G2553学习笔记(数据手册)

MSP430G2553性能参数(DIP-20) 工作电压范围:1.8~3.6V。 5种低功耗模式。 16位的RISC结构,62.5ns指令周期。 超低功耗: 运行模式-230μA; 待机模式-0.5μA; 关闭模式-0.1μA; 可以在不到1μs的时间里超快速地从待机模式唤醒。 基本时钟模块配置: 具有四种校准频率并高达16MHz的内部频率; 内部超低功耗LF振荡器; 32.768KHz晶体; 外部数字时钟源。 两个16 位Timer_A,分别具有三个捕获/比较寄存器。 用于模拟信号比较功能或者斜率模数(A/D)转换的片载比较器。 带内部基准、采样与保持以及自动扫描功能的10位200-ksps 模数(A/D)转换器。 16KB闪存,512B的RAM。 16个I/O口。

注意:MSP430G2553无P3口!

MSP430G2553的时钟 基本时钟系统的寄存器 DCOCTL-DCO控制寄存器 DCOx DCO频率选择控制1 MODx DCO频率校正选择,通常令MODx=0

注意:在MSP430G2553上电复位后,默认RSEL=7,DCO=3,通过数据手册查得DCO频率大概在0.8~1.5MHz之间。 BCSCTL1-基本时钟控制寄存器1 XT2OFF 不用管,因为MSP430G2553内部没有XT2提供的HF时钟 XTS 不用管,默认复位后的0值即可 DIV Ax 设置ACLK的分频数 00 /1 01 /2 10 /4 11 /8 RSELx DCO频率选择控制2 BCSCTL2-基本时钟控制寄存器2

单片机学习日志

msp430学习笔记 默认分类2009-10-06 16:18:36 阅读5 评论0 字号:大中小 这只是我在学习TI公司生产的16位超的功耗单片机MSP430的随笔,希望能对其他朋友有所借鉴,不对 之处还请多指教。 下面,开始430之旅。 讲解430的书现在也有很多了,不过大多数都是详细说明底层硬件结构的,看了不免有些空洞和枯燥,我认为了解一个MCU的操作首先要对其基础特性有所了解,然后再仔细研究各模块的功能。 1.首先你要知道msp430的存储器结构。典型微处理器的结构有两种:冯。诺依曼结构——程序存储器和数据存储器统一编码;哈佛结构——程序存储器和数据存储器;msp430系列单片机属于前者,而常用的 mcs51系列属于后者。 0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储 剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-0x1100 2.复位信号是MCU工作的起点,430的复位型号有两种:上电复位信号POR和上电清楚信号PUC。POR 信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误是产生。但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。复位后的状态不写 了,详见参考书,嘿嘿。 3.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。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,程序从这个地址继续执行。 这里要注意,中断允许位SR.GIE和中断嵌套问题。如果当你执行中断程序过程中,希望可以响应更高级

S.D.Lu的MSP430入门学习笔记(4):时钟选择(2)VLO、LFXT1和XT2

S.D.Lu的MSP430入门学习笔记(4): 时钟选择(2)VLO、LFXT1和XT2 MSP430最多可提供4种时钟源:DCO、VLO、LFXT1和XT2,有些器件不包含XT2或LFXT1。 VLO是一个内部超低功耗、低频率振荡器,上图中的时钟源1,其频率为12KHz。其使用方法请参考TI官方例程“msp430g2xx2_1_vlo.c”,在此不作赘述。 LFXT1是外部时钟源,它有LF和HF两种模式,分别支持外部低频和高频时钟。 XT2是外部高频时钟源,支持0.4~16MHz高频时钟。 (注:G2xx2系列没有XT2,G2xx2系列LFXT1不支持HF模式。) MSP430的主时钟、子时钟和辅助时钟,可以分别通过相应的寄存器控制位选择4种时钟源中的一种作为其来源。之后还可以通过分频器分频,得到想要的时钟频率。 主时钟是CPU运行的时钟源,子时钟和辅助时钟是各个片内外设的时钟源。在MSP430系统中,有时为了降低功耗会关闭CPU和一些外设,同时要求一些外设继续工作。

和时钟模块相关的寄存器只有6个,时钟配置的过程就是设置这些寄存器。具体各寄存器的各个位的功能请查看《MSP430x2xx系列用户指南》(中文版)第五章。 时钟的切换 一次PUC之后,基本时钟模块将DCOCLK用于MCLK。如果需要将MCLK时钟源改为LFXT1或XT2。 把MCLK的源从DCO时钟转换成晶振时钟(LFXT1CLK 或XT2CLK)的顺序是: 1. 打开晶体振荡器并选择合适的模式 2. 清零OFIFG标志 3. 等待至少50uS 4. 测试OFIFG,并重复2至4的步骤,直到OFIFG保持被清零。 作者:S.D.Lu 深圳 2014-3-25

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时钟配置及ad模块等学习笔记

MSP430收集资料笔记 问: 个刚从51转到msp430这块的学生,我想知道,分频其实到底可以干什么,具体什么时候才会需要我们去分频? 能举些详细的例子告诉我分频什么时候改用,什么时候不该用吗?不需要代码,例子就好 答: 51也要分频啊,一个系统CPU(中央处理单元)的频率最高的,其他的外设都是低速的,都要通过主时钟分频产生低速的时钟来工作;比如8Mhz的单片机是说CPU的时钟是工作在8mhz,但gpio、串口,定时器等它们的工作频率很低的,这个时钟就需要分频来产生;当你想要改变一个外设的工作频率时就需要重新设置分频系数,比如串口波特率,定时时间,IIC时钟,spi时钟等等; 问: MSP430单片机的定时器,看门狗等东西的时钟来源于于各个时钟 (SMCLK,ACLK,MCLK,DCO等)有什么区别呢?还有这些问什么要分频呢,不分频好像程序也可以写啊! 有这三种时钟我也知道,我只是想知道。我是想知道这些时钟给外设使用的时候到底到底选择哪个,为什么要选择这个? 答: 不知道楼主用的是那个型号!我用的149,就用这个给你说吧!msp430F149 不分频具体的根据系统需要决定,楼主应该是初学吧!有些问题你不必深究,慢慢的在学习和使用中你就明白了,刚开始你知道怎么用就可以了! CTRL_C+CTRL_V,就算是抄别人的,也自己敲一遍,加深理解,加深印象!

话有说回来,学编程本来就是这么个过程,一看二抄三写四调试!我就是这么过来的,网上资源很多,多看看别人是怎么学的,怎么做的! || || 信号源---分频输出---------》时钟----------------》输出信号源----------外围模块|| (DCO)//************不设置即被MCLK默认***********************// || (LFXTI)→MCLK==→信号源分频输出=→信号源供给外围模块,CPU || (LFXT2) 1)MCLK系统主时钟。除了CPU运算使用此时钟以外,外围模块也可以使用。MCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。 (2)SMCLK系统子时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。SMCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。 ||(DCO)//************不设置即被MCLK默认***********************// ||(LFXTI)→信号源分频输出=→SMCLK==→信号源供给外围模块 ||(LFXT2) (3)ACLK辅助时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源。 PUC复位后,MCLK和SMCLK的信号源为DCO,DCO的振荡频率默认为800KHZ。ACLK的信号源为LFXT1。 || ||LFXI1=→信号源分频====》ACLK========→外围模块 MCLK,SMCLK ||PUC复位===|=======》 DCO=800KHZ |ACLK | |LFXTI

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 功能选择寄存器rw 2.其他端口:四个控制寄存器(除去中断相关)看看例程

二、时钟部分 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 Modes MSP430是一个特别强调低功耗的单片机系列,尤其适用于采用电池供电的长时间工作场合。 系统根据应用和节能使用不同的时钟信号,这样可以合理利用系统的电源,实现整个系统的超低功耗。 中断是MSP430微处理器的一大特色。有效地利用中断可以简化程序,并且提高执行效率和系统稳定性。几乎所有的msp430系统单片机的每个外围模块都能产生中断,为MSP430针对事件(外围模块产生的中断)进行的编程打下基础。MSP430在没有事件发生时处于低功耗模式,事件发生时通过中断唤醒CPU,时间处理完毕后CPU再次进入低功耗模式,由于CPU运算速度和推出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态,使得系统的整体功耗极大地降低。 MSP430中断可分为三种:1.系统复位中断;2.不可屏蔽中断;3.可屏蔽中断。 多个中断请求发生时,响应最高优先级中断。响应中断时,MSP430单片机会将不可屏蔽中断控制位SR.GIE(总中断允许位)复位。因此,一旦响应了中断,即使有优先级更高的可屏蔽中断出现,也不会中断当前正在响应的中断而去响应更高优先级的中断。但SR.GIE复位不会影响不可屏蔽中断,所以仍可接收不可屏蔽中断的中断请求。

MSP430初学者教程(最详细)

如何学习 学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。 下面以系列为例,解释一下学习的过程。 (1)获取资料 购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET 使用指导、F1xx系列、F4xx系列的使用说明和具体芯片的数据说明,可以找到FET的、实验板、知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。 (2)购买FET和实验电路板 如果经济条件不错,可以直接购买。 (3)自制FET和实验电路板 自制仿真器FET,首先要到网上找到FET,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。FET电常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画,画完后,就学习认识,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。 自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个的功能,还需要、按钮、、三端、、散热器、、普通电容、电阻、等元件的知识,对于初学者,可以做一个只有3个、8个按钮、8个的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。由于系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上,在未干的情况下,将芯片放在焊盘上,注意芯片第一的位置,并使与焊盘对齐,将擦干净的(不能有任何)接触引脚,引脚只要一热,焊盘上的就自动将引脚焊住了,千万注意上不能有,焊接时最好配备一个。焊接电路板时,每一个元件都要核对参数,可以用万用表测量的元件一定要测量。 (4)从网上获得IA 到利尔达公司或的网站下载IA,并安装到计算机上。 (5)调试FET和实验板

MSP430学习笔记加密熔丝烧断器的制作

MSP430加密熔丝烧断器的制作 在过去,如果一个项目做完后。将交付客户检收时往往需将芯片进行加密保护措施,如果要买一个专业的TI编程器带加密功能的设备价格可达1000-2000RMB左右。如果认为太贵的话,大家不防考虑一下采用以简单的方法为你的芯片。成本也较专业级的低得多,同时也可以直接应用于产品生产时之用。 以下是为大家编写的教大家如何制作的MSP430加密熔丝烧断器的制作主要要点,有兴趣的朋友不防一起动手试试制作。 提出MSP430 系列单片机在代码保护及加密方面的解决方案;在此方案的基础上,对MSP430 系列单片机的JTAG结构及加密熔断的应用范围、原理、条件参数、操作时序及具体的方法进行阐述;结合实际对一款MSP430系列加密熔断器的功能特征、硬件结构、软件流程及部分程序进行详细的说明。 引言 MSP430系列单片机是德州仪器(TI)公司推出的一款16位超低功耗单片机。它能够在1.8~3.6V电压、1MHz频率的条件下运行,耗电电流在0.1~400μA。在运算速度上,MSP430系列单片机能在8 MHz 晶振的驱动下,实现125ns的指令周期。16位的数据宽度、125ns的指令周期以及多功能的硬件乘法器相配合,能实现数字信号处理的某些算法(如FFT等) 。 在整合方面,MSP430系列单片机将大量的CPU外围模块集成在片内,有如下一些模块:看门狗(WDT) 、模拟比较器、串口、硬件乘法器、液晶驱动器、10位/12位/14位ADC、端口0~6 、基本定时器。其中定时器A、B均带有多个捕获/ 比较寄存器,同时可实现多路PWM 输出;模拟比较器与定时器配合,可方便地实现ADC;液晶驱动多达160 笔段;硬件ADC 模块在小于10 μs的速率下实现10~14 位的高速、高精度转换,同时提供采样/保持与参考电压;端口0、1、2能够接收外部上升沿或下降沿的中断输入。 MSP430系列单片机的开发调试有多种技术方案,其中以JTAG和BOOTSTRAP(简称“BSL”) 方式最为方便。对于Flash型的MSP430单片机初期开发进行的仿真,只需要1台PC 机和1个JTAG控制器即可实现。进入产品级开发阶段,为了保护用户代码,烧断Flash的保护熔丝以后就无法再通过J TAG 口访问单片机, 这时用户对Flash中的程序再进行检查或更新就只能通过BOOT2STRAP 进行。不用担心用户代码会泄露,BOOTSTRAP提供了32字节256位的 密码保护,能完全确保代码的安全性。

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)所示。

MSP430学习笔记之四:看门狗

看门狗定时器实际上是一个特殊的定时器,它的的功能是当程序运行发生故障时序时能使系统从新启动。其原理就是发生的故障的时间满足规定的定时时间后,产生一个非屏蔽中断,使系统的复位。这样当在调试程序或预计程序运行在某段内部可能瞬时发生时序错误时(如外部电路干扰)选用设置看门狗定时中断可以避免程序跑飞看门狗的定时时间可以通过WDTCTL中的低三位(SSEL、IS1、IS0)选择,当系统时钟为1MHz时,最大可设置为1秒钟,最小可设置64微秒。 WDTCTL是一个16位寄存器,其高字节为口令,口令为5AH,当对它写入操作时必须写口令才能操作,否则会导致系统复位。 另外该模块还具有定时器的功能。你可通过TMSET位进行选择。你可通过设置CNTCL来使WDTCNT从0开始计数。其定时按选定的时间周期产生中断请求。 当WDT工作在定时器模式时,WDTCTL中断标志位在定时间到时置位,因该模式下定时器中断源是单源的,当得到中断服务时其WDTCTL标志位复位。 WDTCNT计数单元 这是16位增计数器,由MSP430所选定的时钟电路产生的固定周期时钟信号对计数器进行加法计数。如果计数器事先被预置的初始状态不同,那么从开始计数到计数溢出为止所用的时间就不同。WDTCNT不能直接通过软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 WDTCTL控制寄存器 15--8 7 6 5 4 3 2 1 0 口令 HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0 WDTCTL由高8位口令和低8位控制命令组成。要写入操作WDT的控制命令,出于安全原因必须先正确写入高字节看门狗口令。口令为5AH,如果口令写错将导致系统复位。读WDTCTL时不需要口令。这个控制寄存器还可以用于设置NMI引 脚功能。 ISO,IS1 选择看门狗定时器的定时输出。其中T是WDTCNT的输入时钟源周期。 0 T x 2(15) 1 T x 2(13) 2 T x 2(9) 3 T x 2(6) SSEL 选择WDTCNT的时钟源 0 SMCLK 1 ACLK

msp430代码笔记

MSP430F149学习笔记 IAR高精度延时程序 #define CPU_F ((double)8000000) //系统时钟为8MHz,写成当前CPU主频 #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) 使用XT2振荡器,设置时钟 void Clock_init() { unsigned int i; BCSCTL1&=~XT2OFF; //打开XT2振荡器 do { IFG1 &= ~OFIFG; // 清除振荡器失效标志 for (i=0; i<100; i++); // 延时,等待XT2起振 _NOP(); } while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振 BCSCTL2 |=SELM_2+SELS; //选择MCLK、SMCLK为XT2 } 定时器A 相关寄存器介绍 1、TACTL定时器A控制寄存器 TASSEL_x:计时器A的时钟来源选择。 (0,1,2,3——TACLK外部时钟,ACLK辅助时钟,SMCLK子系统时钟,INCLK 为TACLK的反相信号) ID_x:计时器A时钟的分频选择。(0,1,2,3——0,2,4,8) MC_x:定时器A模式选择。(0,1,2,3——停止,增计数,连续计数,增减计数)TACLR:定时器A清除位,置1计数器TAR、分频系数清零、计数模式置为增计数。 TAIE:定时器中断允许。 TAIFG:定时器A中断标志位。 2、TAR :定时器A计数寄存器 3、TACCRx :捕获比较寄存器(0,1,2,)其中CCR0为单中断源TIMERA0_VECTOR, CCR1和CCR2共用另外一个中断源TIMERA1_VECTOR 4、TAIV:中断向量寄存器 5、定时A有三个捕获/比较模块,并且有自己的控制寄存器TACCTL0~TACCTL2 或CCTL0~CCTL2 CM_x:捕获模式(0,1,2,3——禁止,上升沿,下降沿,上升加下降)

MSP430_Timer_A学习笔记

Introduction 1)16-bit timer/counter with three capture/compare registers. 2)Multiple capture/compares,PWM outputs,and interval timing. 3)Interrupt capabilities 4)Selectable and configurable clock source Blockdiagram Operation 1.16- bit Timer Counter 16-bit timer/counter register(TAR) increments or decrements (depending on the mode of operation)with each rising edge of the clock signal. TAR can be written or read with software. Timer_A can generate interrupt when TAR overflows.

TACLR: clear TAR,clock divider and count direction 1)Clock Source Select and Divider Source:ACLK,SMCLK,or externally via TACLK or INCLK. The clock source is selected with the TASSELx bits. Using the IDx bits to select divider(2,4 or 8). 2.Starting the Timer MCx>0 and clock source is active. When the timer mode is either up or up/down,the timer may be stopped by writing 0 to TACCR0. The timer may be restarted by writing a nonzero value to TACCR0. (increment to zero) 3.Timer Mode Control(MCx) 1)Up mode Attention: changing TACCR0 while the timer is running. 2)Continuous Mode Usage:Generate independent time interval and output frequencies. Each time an interval is completed, an interrupt is generated. Thenext time interval is added to the TACCRx register in the interrupt service routine(中断服务例程). The CCIFG interrupt flag is set when the timer counts to the TACCR0value. The TAIFG interrupt flag is set when the timer counts from TACCR0 to zero

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-0x1100 3.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序

的核心和中轴线。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,程序从这个地址继续执行。 这里要注意,中断允许位SR.GIE和中断嵌套问题。如果当你执行中断程序过程中,希望可以响应更高级别的中断请求时,必须在进入第一个中断时把SR.GIE置位。 其实,其他的外围模块时钟沿着时钟和中断这个核心来执行的。

MSP430G2553寄存器资料

MSP430G2553学习笔记 常用赋值运算符: 清除:&=~ ,置位:|= ,测试:&= ,取反:^= , 看门狗模块: WDT(看门狗) WDTCTL 看门狗定时器控制寄存器 15--8 7 6 5 4 3 2 1 0 口令HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0 IS1,IS0 选择看门狗定时器的定时输出,T是WDTCNT的输入时钟源周期 0 T x 2(15) 1 T x 2(13) 2 T x 2(9) 3 T x 2(6) SSEL 选择WDTCNT的时钟源 0 SMCLK 1 ACLK IS0、IS1、SSEL可确定WDT定时时间,WDT只能定时8种和时钟源相关的时间WDT可选的定时时间(晶体为32768HZ,SMCLK=1MHZ) SSEL IS1 IS0 定时时间/ms 0 1 1 0.056 Tsmclk x 2(6) 0 1 0 0.5 Tsmclk x 2(9) 1 1 1 1.9 Taclk x 2(6) 0 0 1 8 Tsmclk x 2(13) 1 1 0 16 Taclk x 2(9) 0 0 0 32 Tsmclk x 2(15)(PUC复位后的值) 1 0 1 250 Taclk x 2(13) 1 0 0 1000 Taclk x 2(15) CNTCL当该位为1时,清除WDTCNT TMSEL 工作模式选择 0 看门狗模式 1 定时器模式 NMI 选择RST/NMI引脚功能,在PUC后被复位 0 RST/NMI引脚为复位端

1 RST/NMI引脚为边沿触发的非屏蔽中断输入 NMIES 选择中断的边沿触发方式 0 上升沿触发NMI中断 1 下降沿触发NMI中断 HOLD 停止看门狗定时器工作,降低功耗 0 WDT功能激活 1 时钟禁止输入,计数停止 WDT(看门狗)配置语句 WDTCTL=WDTPW+WDTHOLD;//将WDTPW+WDTHOLD赋值给WDTCTL,关 闭看门狗定时器控制寄存器(Stop watchdog timer) IE1 |= WDTIE;//使能WDT中断 WDTCTL = WDT_ADL Y_1000;//WDT 1 s / 4间隔计时器 WDTCTL = WDTPW + WDTHOLD + WDTNMI + WDTNMIES; // WDTCTL 由高8位口令和低8位控制命令组成,要写入操作WDT的控制命令,出于安全原因必须先正确写入高字节看门狗口令。口令为5AH,如果口 令写错将导致系统复位。读WDTCTL时不需要口令。这个控制寄存器还 可以用于设置NMI引脚功能。 WDT 看门狗定时器(Watch Dog Timer),这是16位增计数器,由MSP430所选定的时钟电路产生的固定周期时钟信号对计数器进行加法计数。如果计 数器事先被预置的初始状态不同,那么从开始计数到计数溢出为止所用 的时间就不同。WDTCNT不能直接通过软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 WDTPW WDTPW=0x5A00,是WDTCTL的密码,只有赋予这个值才能修改WDTCTL 这个寄存器 WDTHOLD WDTHOLD=0x0080,使WDTCTL的HOLD位置1 ************************************************************************************** 时钟模块: DCO(数字控制振荡器) DCOCTL DCO(数字控制振荡器)控制寄存器 7 6 5 4 3 2 1 0 DCO.2 DCO.1 DCO.0 MOD.4 MOD.3 MOD.2 MOD.1 MOD.0

MSP430学习笔记

LaunchPAD学习笔记 ----- 一:端口配置 1:P1DIR 设置为1,相应管脚为输出。设置为0.相应管脚为输入状态。 2:P1IE 设置为1,相应管脚具有中断功能。设置为0,相应管脚没有中断功能。 3:P1IES 设置为1,选择下降沿触发方式,设置为0,选择上升沿触发方式。 4:P1IFG P1端口的中断标志寄存器,如果P1端口当某个管脚设置成中断管脚,当有中断触发时,想应比特为1 ; 如果没有中断触发,相应比特为0. 5:P1IN P1端口输入寄存器,在输入模式下,读取该寄存器相应管脚上的数据。 6:P1OUT P1端口的输出去寄存器,在输出模式下,如果该寄存器相应比特设置为1时,相应管脚输出高电平; 如果该寄存器相应比特为0时,相应管脚输出低电平。 7:P1SEL寄存器P1端口功能选择寄存器,该寄存器主要控制P1端口的I/O管脚作为一般I/O还是外围模块的功能 端口,该寄存器的相应比特为1时候,相应管脚为外围功能 模块,当该寄存器为0时,相应管脚为一般I/O管脚。

二LaunchPad 写程序的必要头文件和格式: /*=================================================== #include"msp430g2553.h" Void main() { WDTCTL=WDTPW+WDTHOLD;//关闭看门狗。 //WDTPW 是看门狗的密码,写错了会导致系统复位。 **(程序) } ==================================================== =*/ 三点亮LED 仅仅是对IO 口的输入输出操作。与51 很不相同。 P1DIR|=BIT0;//设置P1.0 为输出方向。===P1DIR|=0x01; //{P1DIR=BIT0;是设置P1.0 为输出,其他全部为输入方向。}//注意:LaunchPad 中很多操作是与,或,非等操作组成,时刻注意。 P1OUT|=BIT0;//这条指令就是设置P1.0 输出为高电平。 这样,就点亮了LED(接在P1.0 上的LED);

msp430学习笔记

超低功耗作业 1..MSP430单片机有几种工作模式,在中断子程序中如何设置,可以使系统从 LPM4 模式进入活动模式。 答:MSP430有六种工作模式,分别为:活动模式(AM),低功耗模式0(LPM0),低功耗模式1(LPM1),低功耗模式2(LPM2),低功耗模式3(LPM3),低功耗模式4(LPM4)。 在LPM4下时,按如下置位则可回到活动模式: SCG1=0 CPU处于活动状态 SCG0=0 MCLK活动 OscOff=0 SMCLK活动 CPUOff=0 ACLK活动 2.看门狗用于看门狗监测的原理是什么? 答:看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断。在定时器中断中执行一些复位操作,使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择的定时溢出归零,使处理器重新启动。 WDT设置为看门狗模式,WDT定时时间到或写入错误的安全键值会触发PUC信号,这样将自动清除系统寄存器的各位。这也将WDT再次设置为看门狗模式,RST/NMI 引脚切换到复位模式。 选择看门狗模式时,软件必须周期性的在WDTCTL的CNTCL位中写“1”来使WDTCNT复位以防止超过设定的定时时间。如果程序发生问题,使定时器因不在复位儿超过了定时时间,就会产生系统复位,PUC信号变成有效。程序从上电时的程序开始地址重新开始执行。可通过检测SFR中的IFG1的b0来判断复位原因,定时时间可以通过SSEL,IS0和IS1来选定。 3.捕获/比较寄存器CCR0有什么特殊性? 答:捕获/比较寄存器CCR0用作Timer_A增计数器模式的周期性寄存器。因为CCR0为16位寄存器,所以该模式适用于定时器周期小于65536的连续计数情况。计数器TAR 可以增计数到CCR0的值,当计数器值遇CCR0相等时,定时器复位并从0开始计数。 在增/减计数模式下,定时器先增计数到CCR0的值,然后反向减数计数0,计数周期为CCR0值的两倍。

相关主题
文本预览
相关文档 最新文档