MSP430程序库(十二)SVS(电源电压监控器)模块

MSP430程序库(十二)SVS(电源电压监控器)模块

ID:36851011

大小:415.03 KB

页数:5页

时间:2019-05-16

MSP430程序库(十二)SVS(电源电压监控器)模块_第1页
MSP430程序库(十二)SVS(电源电压监控器)模块_第2页
MSP430程序库(十二)SVS(电源电压监控器)模块_第3页
MSP430程序库(十二)SVS(电源电压监控器)模块_第4页
MSP430程序库(十二)SVS(电源电压监控器)模块_第5页
资源描述:

《MSP430程序库(十二)SVS(电源电压监控器)模块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MSP430程序库<十二>SVS(电源电压监控器)模块电源电压监控对于单片机来说,也是经常要用的模块。当需要稳定的工业级产品时,经常要对电源电压监控,以保证单片机系统工作于正常环境或范围中。MSP430F16x提供了一个现成的电源电压监控器模块SVS,方便检测电源电压或者是外部电压,可以设置为电压过低时复位或置标志位。本程序即完成SVS的设置使用的程序库(msp430f14x没有此模块)。1.硬件介绍:MSP430单片机含有的SVS模块可以很方便的监控电源电压或外部电压。电源电压监控器(SVS)是用于监控AVCC电源电压或外部电压。S

2、VS的可配置当电源电压或外部电压下降到低于用户选择的电压级别时设置一个标志,或产生POR复位。SVS模块有以下特点:可以监控AVCC电压;可选择产生复位信号;可软件设置SVS比较器输出信号;低电压标志可以被锁定或被用户程序访问;有14个可供选择的电压门限;可以监控外部输入电压。SVS模块可以很方便的监控电源电压或系统的其他电压,可以产生复位信号或是置标志位。SVS模块仅有一个8位的寄存器,使用十分方便。寄存器SVSCTL:高四位VLDx用来设置监控电源电压的门限、关闭SVS或者选择监控外部输入电压。具体含义如下:0000SVSisof

3、f00011.9V检测AVCC是否低于1.9v,以下类似00102.1V00112.2V01002.3V01012.4V01102.5V01112.65V10002.8V10012.9V10103.0510113.2V11003.35V11013.5V11103.7V1111检测由SVSIN引脚输入的电压是否低于1.2V.当高四位是0时,SVS模块是关闭的;1-14分别是对电源电压监控的14个门限电压;15时,监控外部电压,门限电压是1.2v。PORON位设置是否启动电压低于门限时,单片机复位:1复位0置标志位SVSFGSVSON位,

4、这位和其他模块的ON位不太一样,SVSON位仅仅指示当前SVS模块是否打开,而不是用来开关模块的。SVSOP位,这位是设置SVS内部比较器输出值:0输出低电平1输出高电平。SVSFG位,标志位指示是否检测到低电压仅PORON为0时有效出现低电压后置1;改为不会自动清零,必须软件清零。另外,SVS模块值得一提的是:SVS门限电压已经设置回差带:每个SVS的水平已经滞后AVCC,接近临界值时,以减少小型电源电压的变化的敏感性。SVS的操作和SVS/掉电互操作如图:如图:为防止电压在门限附近变动时,SVS过于敏感,每个门限附近都有回差带。这

5、样SVS模块用起来更好用。2.程序实现:程序主要是对SVS模块寄存器SVSCTL的设置和检测。首先是设置SVS函数:voidSVSSetup(charvoltageLevel,charreset){SVSCTL=voltageLevel<<4;/*if(voltageLevel==0x15)//外部输入打开对应功能口{P6SEL

6、=BIT7;//不需要,当用SVSIN时,自动从此脚检测}*/if(reset<=1){SVSCTL

7、=reset<<3;}}voltageLevel:这个参数和寄存器SVSCTL的高四位VLDx意思完全一样

8、,程序仅仅是把它移动到高四位赋值给寄存器SVSCTL,reset参数对应PORON位,也是直接赋值给对应位完成设置。检测是否有低于门限电压的情况出现:charSvsFlg(){return(SVSCTL&SVSFG);}这个函数更简单,仅仅把标志位SVSFG的值返回,以便用户判断是否出现了低于门限的情况出现。标志位清零:/*****************************************************************************名称:ClearSvs*功能:电源电压监控器的过低标志*入口参

9、数:sync:同步1:阻塞运行直到该函数电压恢复正常0:不阻塞,清除即返回*出口参数:无*说明:若传入参数为0不阻塞则如果电压没有恢复到正常范围则标志会立即被单片机重新置位(1)****************************************************************************/voidClearSvs(charsync){if(!sync){SVSCTL&=~SVSFG;return;}while(SVSCTL&SVSFG)SVSCTL&=~SVSFG;//清除标志直到电压正常}由

10、于SVSFG标志位不会在处理后自动被清除,所以必须软件清零。这个函数有两种工作方式,同步阻塞等待,直到电压恢复正常后才返回和清零后即返回。程序实现比较简单,但能够完成SVS的功能。下面介绍如何使用本程序库。3.使用示例:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。