MSP430F247学习笔记

合集下载

基于单片机MSP430F247稳压开关电源供电管理系统

基于单片机MSP430F247稳压开关电源供电管理系统

本科毕业设计(论文)资料湖南工业大学教务处2012届本科毕业设计(论文)资料第一部分毕业论文本科毕业设计(论文)2012年6月摘要在电源的实际使用过程中,各种负载对于供电的可靠性要求不同,当单台电源不能提供负载的全部容量的时,就需要多个电源模块并联使用,以提高电源的容量和运行的可靠性。

在实际的使用过程并不是简单的把各个电源并联使用就可以让电源平均承担功率。

这是由于电源各自参数的分散性,使得每个电源的开路电压和内阻均会存在差异,通常开关电源的内阻都非常小,因此开路电压很小的差异就会导致各电源的输出电流有较大的差异,这种状态会导致各个电源的寿命衰减不一致,达不到电源的可靠性和稳定性的要求,这就要求在电源并联使用过程中使用均流技术。

本设计采用超低功耗单片机MSP430F247为主要控制核心部件,应用同步BUCK拓扑结构作为高效率的DC-DC变换;设计并制作了开关电源模块并联供电系统。

应用AMSCS 原理和ECM控制模式实现动态均流控制;使用电流并联监视器件INA194作为电流检测;使用高效率TPS5430芯片设计辅助电源。

实现了系统在500mA-4A范围内可自动分配或者手动任意预制两路DC-DC模块的电流比大小并显示相关参数。

系统元件少,性价比高、系统效率高达85%以上、很好的完成了基本部分和发挥部分的要求。

关键字:MSP430F247,AMSCS,ECM,动态均流,效率ABSTRACTThis design uses the low power consumption MCU, MSP430F247 ,as the main control the core part and uses the application of synchronous BUCK topology structure as high efficiency of the DC-DC transform .The design is made up of the switch power supply module parallel power supply system and uses AMSCS principle and ECM control model to achieve dynamic all flow control. The design uses current parallel surveillance devices,INA194, as electric current detection and successfully uses a high efficiency chip, TPS5430, to design auxiliary power supply. Finally the design realized that current can be set range from 500 mA to 4 A automatically or manually arbitrary distribution prefabricated a DC-DC module of the current size ,and can display related parameters. The system is consist of less component, higher performance price ratio, especially the system efficiency is as high as 85% above. So the system accomplished the basic part and the expression part successfully.Key word:MSP430F247; AMSCS; ECM; Dynamic all flow; Efficiency目录摘要.......................................................... I I ABSTRACT ..................................................... I II 第一章绪论. (6)1.1选题意义及目的 (6)1.2设计任务 (6)1.3设计要求 (7)1.3.1基本要求 (7)1.3.2 发挥部分要求 (7)第二章本系统总体方案设计 (8)2.1.系统方案设计与论证 (8)2.1.1 DC-DC变换器方案论证 (8)2.1.2均流控制方法及实现方案 (8)2.1.3 系统整体框图 (9)2.2.理论分析与参数计算 (9)2.2.1 DC-DC变换器稳压方法 (9)2.2.2 电流电压检测分析与计算 (10)2.2.2.1 电压检测 (10)2.2.2.2 电流检测 (10)2.2.3 均流方法的分析 (11)2.2.4 过流保护及自恢复分析 (11)第三章硬件电路设计 (12)3.1DC-DC电路设计 (12)3.2电流采集电路设计 (13)3.3辅助供电模块设计 (13)第四章软件设计部分 (14)4.1IAR FOR430简介 (14)4.2软件流程图 (14)第五章系统测试 (16)5.1主要元器件 (16)5.2测试方法 (16)5.3测试仪器清单 (16)5.4负载调整额定功率测试 (16)5.5系统效率测试 (17)5.64A均流测试 (17)5.7任意比分流点测试 (17)5.8过流保护及自动自恢复功能 (18)5.9其它功能测试 (18)5.10误差分析 (18)第六章结论 (19)参考文献 (20)致谢 (21)附录 (22)控制程序 (22)第一章绪论1.1选题意义及目的随着电力电子技术的发展,电源技术被广泛应用于计算机、工业仪器仪表、军事、航天等领域,涉及到国民经济各行各业。

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 灵活,功能更强大。

msp430f247

msp430f247

MSP430F23xMSP430F24x(1)MSP430F2410 ZHCSA15H–JUNE2007–REVISED AUGUST2011混合信号微控制器特性•低电源电压范围,1.8V至3.6V•片载比较器•超低功耗•具有可编程电平检测功能的电源电压监控器/监视器–激活模式:270μA(在1MHz频率和2.2V电压•欠压检测器条件下)•引导加载程序–待机模式(VLO):0.3μA•串行板上编程、无需外部编程电压、由安全熔丝实–关闭模式(RAM保持):0.1μA现的可编程代码保护•可在不到1μs的时间里超快速地从待机模式唤醒•系列产品包括:•16位精简指令集(RISC)架构,62.5ns指令周期时–MSP430F233间–8KB+256B闪存存储器,•基本时钟模块配置:–1KB RAM–内部频率高达16MHz–MSP430F235–内部极低功耗低频(LF)振荡器–16KB+256B闪存存储器–32kHz晶振–2KB RAM–具有4个精度为±1%校准频率且高达16MHz–MSP430F247,MSP430F2471(1)的内部频率–32KB+256B闪存存储器–谐振器–4KB RAM–外部数字时钟源–MSP430F248,MSP430F2481–外部电阻器–48KB+256B闪存存储器•带内部基准、采样与保持以及自动扫描功能的12–4KB RAM位模数(A/D)转换器–MSP430F249,MSP430F2491•具有3个捕获/比较寄存器的16位Timer_A–60KB+256B闪存存储器•具有7个捕获/比较寄存器(带有影子寄存器)的–2KB RAM16位Timer_B–MSP430F2410•4个通用串行通信接口(USCI)–56KB+256B闪存存储器–USCI_A0和USCI_A1–4KB RAM–支持自动波特率检测的增强型通用异步接收发器•采用64引脚四方扁平(QFP)和64引脚四方扁平(UART)无引线(QFN)封装(请见可用选项)–IrDA编码器和解码器•如需了解完整的模块说明,请查阅《MSP430x2xx –同步串行外设接口(SPI)系列用户指南》,文献编号:SLAU144–USCI_B0和USCI_B1–I2C(1)除了ADC12模块不在MSP430F24x1上执行–同步串行外设接口(SPI)外,MSP430F24x1器件与MSP430F24x器件完全一样。

MSP430f247单片机笔记

MSP430f247单片机笔记

POR信号产生源:1.给器件上电2.复位管脚产生复位信号超级电压监视电路发现电压不稳时,产生POR信号PUC信号产生源:1.产生了POR信号2.看门狗定时器溢出3.看门狗定时器安全密匙错误空间安全密匙错误系统复位后器件的初始化状态:POR信号后NMI管脚为复位模式O被切换到输入状态3.外设模块和相应的寄存器被初始化到确定的状态4.状态寄存器被复位5.看门狗定时器被打开回到以确定位置重新开始读取数据软件初始化:1.设置看门狗2.配置外设资源430单片机中断种类有三种:1.系统复位2.非可屏蔽中断3.可屏蔽中断非可屏蔽中断产生有三种情况:1.非可屏蔽管脚RST/NMI被配置为NMI模式时,产生了用户设定的电平跳变2.振荡器失效3.对FLASH空间的错误访问非屏蔽中断NMI为多源中断,只有一个中断向量,该中断向量对应着多个中断标志,进入该中断向量后用户先要判断那种原因导致了非可屏蔽中断(通过标志位判断,OFIFG=1,振荡器失效中断;ACCVIFG=1,.对FLASH空间的错误访问中断;NMIFG=1,非可屏蔽管脚RST/NMI被配置为NMI模式时,产生了用户设定的电平跳变产生的中断;),这些中断的中断标志位都要通过软件进行手动清除;可屏蔽中断:可通过状态寄存器中的通用中断标志位GIE来使能控制;可屏蔽中断的执行过程:1.可屏蔽中断发生到执行一般需要大约6个机器周期2.单源中断的中断标志位可通过硬件自动清除,多源中断的中断标志位要通过软件清除;状态寄存器被清除,所有低功耗模式结束,CPU进入活跃模式,同时GIE通用中断标志位被清除,其它中断无法打断,用户可通过软件再次打开;4.中断返回时,SR状态寄存器被还原,CPU置为中断前的模式,GIE重新置位,GIE=1;在PUC信号后,由DCOCLK作MCLK的时钟信号,根据需要可将MCLK的时钟源另外设置为LFXT1或XT2,设置顺序如下。

(1). 清OSCOFF/XT2(开启外部晶振)(2). 清OFIFG(3). 延时等待至少50uS(4). 再次检查OFIFG,如果仍置位,则重复(1)~(4)步,直到OFIFG=0为止。

计算机硬件技术基础MSP430_复习知识点

计算机硬件技术基础MSP430_复习知识点

计算机硬件技术基础MSP430_复习知识点第⼀章基本原理1.冯诺依曼计算机:⼯作原理为存储程序+程序控制,结构为输⼊设备,存储器,运算器,控制器,输出设备2.基本概念【Bit:位】【Byte:字节,8个⼆进制位】【word:字,CPU内部数据处理基本单位,⼆进制位数和内部寄存器,运算装置,总线宽度⼀致】3.CPU,存储器,输⼊输出设备,输⼊输出设备通过I/O接⼝和系统连接,各个部位通过总线链接。

4.总线分为:地址总线(AB),数据总线(DB),控制总线(CB)。

地址总线宽度,决定CPU寻址能⼒,能够使⽤多⼤的内存或I/O端⼝。

数据总线的宽度决定⼀次最多传送数据的宽度。

5.存储单元:存储信息的基本单元。

存储单元内容:存储的数据。

存储单元地址:每个单元有唯⼀的编制,译码后可以得到相应的选通信号。

6.读操作:发出地址信号选中存储单元,发出读控制信号,将存储单元的内容通过数据总线传⼊CPU中。

写操作:CPU发出地址信号,选中相应的存储单元;CPU发出存储器写控制信号;将写的内容通过数据总线写⼊选中存储单元中。

7.定址原则:任何操作对象都有确定的地址,译码电路将地址信号实现定制功能。

8.微机的⼯作过程:取指令,将指令取出到CPU并且进⾏译码。

执⾏指令,由控制电路发出执⾏指令所需要的信号,控制CPU执⾏响应操作。

第⼆章数字的表⽰运算9.N进制到⼗进制:略。

⼗进制到N进制:整数部分为除n取余,商零为⽌,先低后⾼。

⼩数部分为乘2取整,到零为⽌,先⾼后低。

10.⼆进制数和⼗六进制数的运算:算术运算,进位和借位都存储在标志寄存器中。

11.⽆符号数:所有各位都表⽰数值⼤⼩,最⾼位⽆符号意义。

⽤于处理全部是正数的场合。

12.带符号数:⽤补码来表⽰带符号数。

求补运算:按位取反,最低位+1,相当于(0-该数)补码:正数的补码:全部为数字位(最⾼位是0)。

负数的补码:对该数正数进⾏求补运算(最⾼位为1)。

补码真值计算:最⾼位为0,等于⼆进制的数值。

msp430复习资料

msp430复习资料

1.寄存器R0~R3 :分别为程序计数器、堆栈指针、状态寄存器和常数发生器。

PC(程序计数器即R0)用来存放下一条将要从程序存储器中取出的指令地址。

SP(堆栈指针即R1) 指明堆栈顶。

SR(状态寄存器即R2)各位的含义:15~9 8 7 6 5 4 3 2 1 0 保留V SCG1 SCG00 OscOFF CPUOFF GIE N Z C 状态标志:C进位标志位,运算结果进位时C置位,否则C复位。

Z 零标志,运算结果0置位,否则复位。

N 负标志位,为负结果置位,否则复位。

V 溢出标志,运算结果超出符号位时置位,否则复位, 溢出情况如下:正数+正数=负数正数-负数=负数负数+负数=正数负数-正数=正数控制标志:GIE 中断标志位,控制可屏蔽中断,置位可响应可屏蔽中断。

CPUOFF cpu控制位,置位可是cpu进入关闭模式。

OscOFF 晶振控制位,置位使晶体振荡器处于停止状态。

SCG0,SCG1 时钟控制位,SGC1置位关闭SMCLK ,SGC0 置位关闭DCO发生器。

2.MSP430 单片机存储空间结构:该系列单片机采用的是同一结构,是物理上完全分开离的存储区域,ROM、FLASH、RAM、外围模块、特殊功能寄存器SFR 等,被安排在同一地址空间。

存储空间分布:1)中断向量被在相同的空间:0FFE0~0FFFFH;2)8位、16位外围模块占用相同范围的存储器地址;3)特殊功能寄存器占用相同范围的存储器地址;4)数据存储器都从0200H处开始;5)程序存储器的最高地址都是0FFFFH;3. 中断源:能够对cpu请求中断服务的功能模块。

中断标志:片内或片外在进行中断请求时置位的寄存器。

中断事件:系统在中断时,中断程序所要完成的任务。

中断向量:就是中断向量指针。

中断向量指针:存放中断程序入口地址的存储单元。

4. POR信号产生之后,系统状态为:RST/NMI 引脚被设置为复位模式;I/O引脚被转换成输入模式;状态寄存器复位;看门狗定时器进入看门狗模式;程序计数器PC 指向复位向量的地址(0FFEH) 上电复位(POR)与上电清除(PUC)上电复位(POR)与上电清除(PUC)信号可以使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 功能选择寄存器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寄存器列表二,初学430必会知识

MSP430寄存器列表二,初学430必会知识

MSP430寄存器列表二作者 wynne 日期 2006-5-10 20:39:001推荐/************************************************************* 特殊功能寄存器地址和控制位************************************************************//*中断使能1*/#define IE1_ 0x0000sfrb IE1 = IE1_;#define WDTIE 0x01 /*看门狗中断使能*/#define OFIE 0x02 /*外部晶振故障中断使能*/#define NMIIE 0x10 /*非屏蔽中断使能*/#define ACCVIE 0x20 /*可屏蔽中断使能/flash写中断错误*/ #define URXIE0 0x40 /*串口0接收中断使能*/#define UTXIE0 0x80 /*串口0发送中断使能*//*中断标志1*/#define IFG1_ 0x0002sfrb IFG1 = IFG1_;#define WDTIFG 0x01 /*看门狗中断标志*/#define OFIFG 0x02 /*外部晶振故障中断标志*/#define NMIIFG 0x10 /*非屏蔽中断标志*/#define URXIFG0 0x40 /*串口0接收中断标志*/#define UTXIFG0 0x80 /*串口0发送中断标志*//* 中断模式使能1 */#define ME1_ 0x0004sfrb ME1 = ME1_;#define URXE0 0x40 /* 串口0接收中断模式使能 */#define USPIE0 0x40 /* 同步中断模式使能 */#define UTXE0 0x80 /* 串口0发送中断模式使能 *//* 中断使能2 */#define IE2_ 0x0001sfrb IE2 = IE2_;#define URXIE1 0x10 /* 串口1接收中断使能 */#define UTXIE1 0x20 /* 串口1发送中断使能 *//* 中断标志2 */#define IFG2_ 0x0003sfrb IFG2 = IFG2_;#define URXIFG1 0x10 /* 串口1接收中断标志 */#define UTXIFG1 0x20 /* 串口1发送中断标志 *//* 中断模式使能2 */#define ME2_ 0x0005sfrb ME2 = ME2_;#define URXE1 0x10 /* 串口1接收中断模式使能 */#define USPIE1 0x10 /* 同步中断模式使能 */#define UTXE1 0x20 /* 串口1发送中断模式使能 *//************************************************************* 看门狗定时器的寄存器定义************************************************************/#define WDTCTL_ 0x0120sfrw WDTCTL = WDTCTL_;#define WDTIS0 0x0001 /*选择WDTCNT的四个输出端之一*/#define WDTIS1 0x0002 /*选择WDTCNT的四个输出端之一*/#define WDTSSEL 0x0004 /*选择WDTCNT的时钟源*/#define WDTCNTCL 0x0008 /*清除WDTCNT端: 为1时从0开始计数*/#define WDTTMSEL 0x0010 /*选择模式 0: 看门狗模式; 1: 定时器模式*/#define WDTNMI 0x0020 /*选择NMI/RST 引脚功能 0:为 RST; 1:为NMI*/#define WDTNMIES 0x0040 /*WDTNMI=1时.选择触发延 0:为上升延 1:为下降延*/#define WDTHOLD 0x0080 /*停止看门狗定时器工作 0:启动;1:停止*/#define WDTPW 0x5A00 /* 写密码:高八位*//* SMCLK= 1MHz定时器模式 */#define WDT_MDLY_32 WDTPW+WDTTMSEL+WDTCNTCL /* TSMCLK*2POWER15=32ms 复位状态 */ #define WDT_MDLY_8 WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0 /* TSMCLK*2POWER13=8.192ms " */ #define WDT_MDLY_0_5 WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1 /* TSMCLK*2POWER9=0.512ms " */#define WDT_MDLY_0_064 WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0 /* TSMCLK*2POWER6=0.512ms " *//* ACLK=32.768KHz 定时器模式*/#define WDT_ADLY_1000 WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL /* TACLK*2POWER15=1000ms " */#define WDT_ADLY_250 WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0 /* TACLK*2POWER13=250ms " */#define WDT_ADLY_16 WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1 /* TACLK*2POWER9=16ms " */#define WDT_ADLY_1_9 WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0 /* TACLK*2POWER6=1.9ms " *//* SMCLK=1MHz看门狗模式 */#define WDT_MRST_32 WDTPW+WDTCNTCL /* TSMCLK*2POWER15=32ms 复位状态 */ #define WDT_MRST_8 WDTPW+WDTCNTCL+WDTIS0 /* TSMCLK*2POWER13=8.192ms " */#define WDT_MRST_0_5 WDTPW+WDTCNTCL+WDTIS1 /* TSMCLK*2POWER9=0.512ms " */#define WDT_MRST_0_064 WDTPW+WDTCNTCL+WDTIS1+WDTIS0 /* TSMCLK*2POWER6=0.512ms " *//* ACLK=32KHz看门狗模式 */#define WDT_ARST_1000 WDTPW+WDTCNTCL+WDTSSEL /* TACLK*2POWER15=1000ms " */#define WDT_ARST_250 WDTPW+WDTCNTCL+WDTSSEL+WDTIS0 /* TACLK*2POWER13=250ms " */#define WDT_ARST_16 WDTPW+WDTCNTCL+WDTSSEL+WDTIS1 /* TACLK*2POWER9=16ms " */#define WDT_ARST_1_9 WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0 /* TACLK*2POWER6=1.9ms " *//************************************************************ 硬件乘法器的寄存器定义************************************************************/#define MPY_ 0x0130 /* 无符号乘法 */sfrw MPY = MPY_;#define MPYS_ 0x0132 /* 有符号乘法*/sfrw MPYS = MPYS_;#define MAC_ 0x0134 /* 无符号乘加 */sfrw MAC = MAC_;#define MACS_ 0x0136 /* 有符号乘加 */sfrw MACS = MACS_;#define OP2_ 0x0138 /* 第二乘数 */sfrw OP2 = OP2_;#define RESLO_ 0x013A /* 低6位结果寄存器 */ sfrw RESLO = RESLO_;#define RESHI_ 0x013C /* 高6位结果寄存器 */ sfrw RESHI = RESHI_;#define SUMEXT_ 0x013E /*结果扩展寄存器 */const sfrw SUMEXT = SUMEXT_;/************************************************************ * DIGITAL I/O Port1/2 寄存器定义有中断功能************************************************************/#define P1IN_ 0x0020 /* P1 输入寄存器 */const sfrb P1IN = P1IN_;#define P1OUT_ 0x0021 /* P1 输出寄存器 */sfrb P1OUT = P1OUT_;#define P1DIR_ 0x0022 /* P1 方向选择寄存器 */ sfrb P1DIR = P1DIR_;#define P1IFG_ 0x0023 /* P1 中断标志寄存器*/sfrb P1IFG = P1IFG_;#define P1IES_ 0x0024 /* P1 中断边沿选择寄存器*/ sfrb P1IES = P1IES_;#define P1IE_ 0x0025 /* P1 中断使能寄存器 */ sfrb P1IE = P1IE_;#define P1SEL_ 0x0026 /* P1 功能选择寄存器*/sfrb P1SEL = P1SEL_;#define P2IN_ 0x0028 /* P2 输入寄存器 */const sfrb P2IN = P2IN_;#define P2OUT_ 0x0029 /* P2 输出寄存器 */sfrb P2OUT = P2OUT_;#define P2DIR_ 0x002A /* P2 方向选择寄存器 */sfrb P2DIR = P2DIR_;#define P2IFG_ 0x002B /* P2 中断标志寄存器 */sfrb P2IFG = P2IFG_;#define P2IES_ 0x002C /* P2 中断边沿选择寄存器 */ sfrb P2IES = P2IES_;#define P2IE_ 0x002D /* P2 中断使能寄存器 */sfrb P2IE = P2IE_;#define P2SEL_ 0x002E /* P2 功能选择寄存器 */sfrb P2SEL = P2SEL_;/************************************************************* DIGITAL I/O Port3/4寄存器定义无中断功能************************************************************/#define P3IN_ 0x0018 /* P3 输入寄存器 */const sfrb P3IN = P3IN_;#define P3OUT_ 0x0019 /* P3 输出寄存器 */sfrb P3OUT = P3OUT_;#define P3DIR_ 0x001A /* P3 方向选择寄存器 */sfrb P3DIR = P3DIR_;#define P3SEL_ 0x001B /* P3 功能选择寄存器*/sfrb P3SEL = P3SEL_;#define P4IN_ 0x001C /* P4 输入寄存器 */const sfrb P4IN = P4IN_;#define P4OUT_ 0x001D /* P4 输出寄存器 */sfrb P4OUT = P4OUT_;#define P4DIR_ 0x001E /* P4 方向选择寄存器 */sfrb P4DIR = P4DIR_;#define P4SEL_ 0x001F /* P4 功能选择寄存器 */sfrb P4SEL = P4SEL_;/************************************************************* DIGITAL I/O Port5/6 I/O口寄存器定义PORT5和6 无中断功能************************************************************/#define P5IN_ 0x0030 /* P5 输入寄存器 */const sfrb P5IN = P5IN_;#define P5OUT_ 0x0031 /* P5 输出寄存器*/sfrb P5OUT = P5OUT_;#define P5DIR_ 0x0032 /* P5 方向选择寄存器*/sfrb P5DIR = P5DIR_;#define P5SEL_ 0x0033 /* P5 功能选择寄存器*/sfrb P5SEL = P5SEL_;#define P6IN_ 0x0034 /* P6 输入寄存器 */ const sfrb P6IN = P6IN_;#define P6OUT_ 0x0035 /* P6 输出寄存器*/sfrb P6OUT = P6OUT_;#define P6DIR_ 0x0036 /* P6 方向选择寄存器*/ sfrb P6DIR = P6DIR_;#define P6SEL_ 0x0037 /* P6 功能选择寄存器*/ sfrb P6SEL = P6SEL_;。

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单片机应用笔记

MSP430单片机应用笔记

MSP430单片机硬件知识(1)MSP430单片机是TI 公司1996年开始推向市场的超低功耗微处理器,另外他还集成了很多模块功能,从而使得用一片MSP430 芯片可以完成多片芯片才能完成的功能,大大缩小了产品的体积与成本。

如今,MSP430单片机已经用于各个领域,尤其是仪器仪表、监测、医疗器械以及汽车电子等领域。

下面来说一下它的主要特点:(1)低电源电压范围,1.8~3.6V 。

(2)超低功耗,拥有5种低功耗模式(以后会详细介绍)。

(3)灵活的时钟使用模式。

(4)高速的运算能力,16位RISC 架构,125ns 指令周期。

(5)丰富的功能模块,这些功能模块包括:A :多通道10-14位AD 转换器;B :双路12位DA 转换器;C :比较器;D :液晶驱动器;E :电源电压检测;F :串行口USART(UART/SPI );G :硬件乘法器;H :看门狗定时器,多个16位、8位定时器(可进行捕获,比较,PWM 输出);I :DMA 控制器。

(6)FLASH 存储器,不需要额外的高电压就在运行种由程序控制写擦欧哦和段的擦除;(7)MSP430芯片上包括JTAG 接口,仿真调试通过一个简单的JTAG 接口转换器就可以方便的实现如设置断点、单步执行、读写寄存器等调试;(8)快速灵活的变成方式,可通过JTAG 和BSL 两种方式向CPU 内装在程序。

关于他的内存器结构,在匠人的博客里已有详细的介绍,大家去看就是了。

在这里我主要说说MSP430单片机的复位吧。

MSP430的复位信号有2种:上电复位信号(POR )、上电清除信号(PUC )。

还有能够触发POR 和PUC 的信号:5种来在看门狗,1种来自复位管脚,1种来自写FLASH 键值出现错误所产生的信号。

POR 信号只在2种情况下发生:(1)微处理上电;(2)RST/NMI 管脚上产生低电平时系统复位。

PUC 信号产生的条件:(1)POR 信号产生;(2)看门狗有效时,看门狗定时器溢出;(3)写看门狗定时器安全键值出现错误;(4)写FLASH 存储器安全键值出现错误。

MSP430单片机定时器学习笔记

MSP430单片机定时器学习笔记

MSP430单片机定时器学习笔记
msp430 定时器学习笔记
_BIS_SR(LPM2_bits + GIE) //进入LPM3 低功耗模式和开总中断允许
中断
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
}
TACTL timerA 控制寄存器
TAR timerA 计数器
CCTL0 捕获/比较控制寄存器0
CCRO 捕获/比寄存器0(具有最高中断优先级别,单独使用一个中断向量) CCTL1 捕获/比较寄存器1
CCR1 捕获/比较寄存器1
CCTL2 捕获/比较寄存器2
CCR2 捕获/比较寄存器2
TAIV 中断向量寄存器
其中,定时器,CCR2,CCR1 三者共用一个中断向量
TimerA 输出模式:
输出模式0 输出模式:输出信号OUTx 由每个捕获/比较模块的控制寄存器CCTLx 中的OUTx 位定义,并在写入该寄存器后立即更新。

最终位OUTx 直通。

输出模式1 置位模式:输出信号在TAR 等于CCRx 时置位,并保持置位到。

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 学习笔记 - 定时器

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 学习笔记 - 系统时钟

msp430 学习笔记 - 系统时钟
#endif
2.2. VLO 设置
使用超低功耗低频振荡器 VLO 可以很大程度地降低系统功耗, 下面的例子是设置 ACLK 为 VLO, MCLK 为 VLO 的 8 分频:
#include <msp430g2553.h>
3
msp430 学习笔记 - 系统时钟
//1延时 //#define CPU_F ((double)16000000) //cpu frequency16000000 #define CPU_F ((double)1630) //cpu frequency1630 //CPU 的实际 MCLK 大约为 13.05/8=1.63KHz #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))
6 SELM.0
5 DIVM.1
4 DIVM.0
3 SELS
2 DIVS.1
1 DIVS.0
0 DCOR
• SELM.0,SELM.1 选择 MCLK 时钟源。 • 0 : 时钟源为 DCOLCK (默认时钟源); • 1 : 时钟源为 DCOCLK ; • 2 : 时钟源为 LFXTlCLK ( 对于 MSP430F11/12X ), 时钟源为 XT2CLK ( 对于 MSP430F13/14/15/16X );
• XT2CLK 高频时钟源 ---- 存在于X13X、X14X、X15X、X16X、X43X、X44X等
• DCOCLK ( Digitally Controlled Oscillator ) 内部数字控制 RC 振荡器, 频率在0~16MHz

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复位电路

MSP430学习(七)——学习MSP430复位电路

MSP430学习(七)——学习MSP430复位电路
在学习过IAR、BSL、JTAG和使用IAR点亮LED之后,大部分的工作,大概应该是专门去学习MSP430-C。

但是,假设有一天我们自己用MSP430做一个器材,总不至于使用买来的开发板或者学习板。

就算去用,个别地方也得我们自己去设计。

这就是我想琢磨琢磨MSP430的复位电路的原因。

所谓复位,可以粗略理解成,单片机正工作着,然而由于各种操作、串扰之类的信号,破坏了正常的时序,单片机就表现不正常了。

比如正说话的人,旁边一人扎扎下子打断了,正说话的那个人接下来可能就忘了原来说啥了,也可能说的不是话了等等;另一种情况,还可能刚一打开电源,较短时间里电压是变化的,变化的过程中,单片机就在那捋啊捋啊捋不出头绪,于是程序不知道从什么地方开始执行起。

这两种情况都需要有个人站出来说一下:好了,一二!咱们重来!
这就是复位和复位的作用。

MSP430的复位和51单片机的复位不一样。

MSP430有两种复位,挺麻烦的。

我也没懂。

每一种MSP430的手册上都有PUC and POR节,给出的信号:
原理性的复位电路,很多书上有介绍。

不能拿来直接用。

但我正在使用的F149和F5529两种板子的复位原理图还真就是书上的,只不过有个板子把SW1换成了MOS管。

另一种更多地被建议使用,是这样的:
用Proteus看一下复位信号,长这样:
没有22u电容时,没这么平滑。

------心存DREAM喜欢琢磨实验并自娱自乐的MIRACLE------实验教学值得学习的去处:
1.中学物理实验教学研讨
2.学生自主创新实验。

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; //清除中断标志 //以下填充用户代码

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。

MSP430单片机学习心得总结

MSP430单片机学习心得总结

MSP430单片机学习心得总结第一篇:MSP430单片机学习心得总结改变CCS字体方法:perferance>General>Apperance>Colors and Fonts >Basic>Text Font将c语言编译成汇编语言之后执行。

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

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

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

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

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

用RSEL选择。

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

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

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

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

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