




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MSP430程序库SVS(电源电压监控器)模块电源电压监控对于单片机来说,也是经常要用的模块。当需要稳定的工业级产品时,经常要对电源电压监控,以保证单片机系统工作于正常环境或范围中。MSP430F16x提供了一个现成的电源电压监控器模块SVS,方便检测电源电压或者是外部电压,可以设置为电压过低时复位 或置标志位。本程序即完成SVS的设置使用的程序库(msp430f14x没有此模块)。 硬件介绍: MSP430单片机含有的SVS模块可以很方便的监控电源电压或外部电压。电源电压监控器(SVS)是用于监控AVCC电源电压或外部电压。 SVS的可配置当电源电压或外部电压下降到低于用户选择的电压级别时设置一个标志,或产生POR复位。SVS模块有以下特点:可以监控AVCC电压;可选择产生复位信号;可软件设置SVS比较器输出信号;低电压标志可以被锁定或被用户程序访问;有14个可供选择的电压门限;可以监控外部输入电压。SVS模块可以很方便的监控电源电压或系统的其他电压,可以产生复位信号或是置标志位。SVS模块仅有一个8位的寄存器,使用十分方便。寄存器SVSCTL:高四位VLDx用来设置监控电源电压的门限、关闭SVS或者选择监控外部输入电压。具体含义如下: 0000 SVS is off 0001 1.9 V 检测AVCC是否低于1.9v,以下类似 0010 2.1 V 0011 2.2 V 0100 2.3 V 0101 2.4 V 0110 2.5 V 0111 2.65 V 1000 2.8 V 1001 2.9 V 1010 3.05 1011 3.2 V 1100 3.35 V 1101 3.5 V 1110 3.7 V 1111 检测由SVSIN引脚输入的电压是否低于1.2 V.当高四位是 0时,SVS模块是关闭的;1-14分别是对电源电压监控的14个门限电压;15时,监控外部电压,门限电压是1.2v。PORON位设置是否启动电压低于门限时,单片机复位:1 复位 0 置标志位SVSFGSVSON位,这位和其他模块的ON位不太一样,SVSON位仅仅指示当前SVS模块是否打开,而不是用来开关模块的。SVSOP位,这位是设置SVS内部比较器输出值:0 输出低电平 1 输出高电平。SVSFG位,标志位 指示是否检测到低电压 仅PORON 为0时有效 出现低电压后置1;改为不会自动清零,必须软件清零。另外,SVS模块值得一提的是:SVS门限电压已经设置回差带:每个SVS的水平已经滞后AVCC,接近临界值时,以减少小型电源电压的变化的敏感性。 SVS的操作和SVS /掉电互操作如图:如图:为防止电压在门限附近变动时,SVS过于敏感,每个门限附近都有回差带。这样SVS模块用起来更好用。 程序实现: 程序主要是对SVS模块寄存器SVSCTL的设置和检测。首先是设置SVS函数:void SVSSetup(char voltageLevel,char reset) SVSCTL = voltageLevel 4; /*if(voltageLevel = 0x15) /外部输入 打开对应功能口 P6SEL |= BIT7; /不需要,当用SVSIN时,自动从此脚检测 */ if(reset = 1) SVSCTL |= reset 3; voltageLevel:这个参数和寄存器SVSCTL的高四位VLDx意思完全一样,程序仅仅是把它移动到高四位赋值给寄存器SVSCTL,reset参数对应PORON位,也是直接赋值给对应位完成设置。检测是否有低于门限电压的情况出现:char SvsFlg() return (SVSCTL&SVSFG);这个函数更简单,仅仅把标志位SVSFG的值返回,以便用户判断是否出现了低于门限的情况出现。标志位清零:/* 名 称:ClearSvs* 功 能:电源电压监控器的过低标志* 入口参数:sync:同步 1:阻塞运行直到该函数电压恢复正常 0:不阻塞,清除即返回* 出口参数:无* 说 明: 若传入参数为0 不阻塞 则如果电压没有恢复到正常范围 则标志会立即被 单片机重新置位(1)*/void ClearSvs(char sync) if(!sync) SVSCTL &= SVSFG; return; while(SVSCTL&SVSFG) SVSCTL &= SVSFG; /清除标志 直到电压正常由于SVSFG标志位不会在处理后自动被清除,所以必须软件清零。这个函数有两种工作方式,同步阻塞等待,直到电压恢复正常后才返回和清零后即返回。程序实现比较简单,但能够完成SVS的功能。下面介绍如何使用本程序库。 使用示例: 使用程序库的方式还是和以前一样:工程中加入SVS.c文件,源文件中加入对SVS.h的文件包含。main.c主要内容如下:#include /430寄存器头文件#include #include Lcd12864.h#include SVS.h/* 名 称:main主程序* 功 能:设置串口,输出信息,从串口读计算机键盘输入数据,测试串口收发* 入口参数:无* 出口参数:无* 说 明:复位测试时 每次电压调低再调正常 液晶显示的数据加1 不复位时 每次调低 输出一个电压过低。*/void main() / Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; ClkInit(); LcdInit(); /*/= 电压过低时复位测试= _no_init char ff; /复位不初始化 SVSSetup(0x0A,1); /检测电源电压 3.05v 低于3.05v时单片机复位 ff+; /此变量 每次复位加1 printf(%d,ff); / 电压调低(3.05v)再调高,显示变量将加1 */ SVSSetup(0x0A,0); /测电源电压 3.05v 低于3.05v时单片机 不复位 /0x0A 改为0x0f 则对P6.7电压监控 检测是否低于1.2v while(1) if(SvsFlg() printf(电压过低); /SVSFG位必须 软件清零,如果电压没有回到3.05以上, /位的值立即被单片机置为1 ClearSvs(1); /清除标志 直到恢复正常电压 本程序使用12864液晶来显示电压过低的情况:复位时,设置一个_no_init变量,每次复位加1,可以看到电压调低后,显示数字被加1.不复位置,显示电压过低。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安阳市2024-2025学年八年级下学期语文期中模拟试卷
- 阿拉善盟2025-2026学年八年级下学期语文月考模拟试卷
- 安徽省滁州市南谯区2023-2024学年高三上学期第二次月考化学考题及答案
- PSH的识别与护理课件
- 2025 年小升初清远市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 广东省广州市2025年高中“古诗文积累与阅读竞赛”初赛试题(语文)
- 教师教学2025工作总结
- 社区消防知识培训课件信息
- 2024-2025学年山东省潍坊市寒亭区青岛版五年级下册期中测试数学试卷(含答案)
- 房子首付合同范本
- 2025年秋季学期第一次中层干部会议上校长讲话:凝心聚力明方向沉心落力干实事
- 医院患者身份识别核查流程规范
- 广西2025年公需科目学习考试试题及答案4
- 代加工板材合同协议书范本
- 2025年事业单位工勤技能-湖南-湖南地质勘查员二级(技师)历年参考题库含答案解析(5卷)
- 肝炎的分型及护理
- 高中语文38篇课内文言文挖空一遍过(教师版)
- 2025年高考真题物理(四川卷)-2
- 《人为因素与航空法规》课件(共九章)
- 企业负责人财税知识培训
- 部编新课标培训课件
评论
0/150
提交评论