标题:
SH88F516低电压检测LPD监测电源电压-中颖单片机源程序
[打印本页]
作者:
weihu
时间:
2017-11-18 04:34
标题:
SH88F516低电压检测LPD监测电源电压-中颖单片机源程序
本帖最后由 weihu 于 2017-11-18 04:35 编辑
实现本功能的中颖单片机源码如下:
/***************************************************************************************************************
说明:低电压检测(LPD)功能用来监测电源电压,如果电压低于指定值时产生内部标志,LPD功能用来通知CPU电源是否被切断
或电池用尽,因此在电压低于最小工作电压之前,软件可以采取一些保护措施。
本程序通过监测P4.7(VLPD)引脚电压,若低于指定电压就产生中断。
要求:打开J11的2脚。
****************************************************************************************************************/
#include <sh88f516.h>
void init();
main()
{
init();
while(1);
}
void init()
{
CLKCON = 0x00;
P0M0 = 0x00;
P0M1 = 0x01; //P0.0
P0_0 = 0;
IPH1 = 0x80;
IPL1 = 0x80; //中断优先级设定 此处的设置表明LPD具有最高优先级
IEN1 = 0x80; //IEN1 = 1000 0000B 即 ELPD=1 打开LPD中断
LPDCON = 0xA1; //LPDCON = 101- --01B LPDEN=1 允许低电压检测
//LPDCON = 101- --01B LPDF=0 LPD中断标志位,默认为0,为1时表示有LPD中断发生
//LPDCON = 101- --01B LPDV=0 LPD检测电压源,为0检测电源电压,为1检测VLPD(P4.7)引脚电压
//LPDCON = 101- --01B LPDS[0,1]=01 比较电压选择,00=3.7V,01=3.9V,10=4.2V,11=4.4V
EA = 1; //IEN0 = 1000 0000B 即 EA=1 开总中断
}
void LPD_INT() interrupt 14 using 1 //外部中断4的中断号为14.
{
P0_0 = 1; //中断处理函数部分,如实时进行数据存储
LPDCON &= 0xBF; //LPDCON & 1011 1111 清0中断标志位, 由硬件或软件清0
…………
…………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
压缩包里面包含有中颖单片机sh88f516常用功能的源码,中文注释都很详细
下载地址:
http://www.51hei.com/bbs/dpj-98300-1.html
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1