打印
[其它应用]

SH88F516低电压检测LPD监测电源电压-中颖单片机源程序

[复制链接]
721|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
实现本功能的中颖单片机源码如下:
  • /***************************************************************************************************************
  • 说明:低电压检测(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黑下载附件…………


[color=rgb(51, 102, 153) !important]复制代码




压缩包里面包含有中颖单片机sh88f516常用功能的源码,中文注释都很详细
下载地址:http://www.51hei.com/bbs/dpj-98300-1.html
     

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

960

主题

2908

帖子

7

粉丝