急求单片机的自动断电C语言程序!!!

急求单片机的自动断电C语言程序!!!,第1张

用一个PNP(或NPN)三极管起到开关的作用.控制单片机的电源.E极接5VCC,C极通过限流电阻族缺接单片机的VCC,另外,加一个开关S,一端接单片机的VCC,一端加外加5VCCC.B极接单片要的P1.0口,程序的思路是:按下开关S,使单片机运行程序从P1.0输出低电平,使三极管导通,单片机供电,按然放开开关S.这时,单片机内部兆戚辩的定器启动,进行定时,定时隐时现2个小时后,中断使P1.0口输出低电平,本极管截止,单片机断电.程序如下:

/*用定时器定时2小时后控制单片机断电,

作者:w418781840,日期,2008.5.26*/

//========声明区====================

#include <reg51.h>

#define count 50000//定时50MS

#define TH_M1 (65536-count)/256

#define TL_M1 (65536-count)%256

unsigned long count_T0 //中断计数

sbit p1_0=P1^0 //声明P1.0口

//====主函数==============

main()

{ EA=1 //开总中断

ET0=1 //定时器中断

TMOD=0x01 //工作方式1

TH0=TH_M1 //赋值

TL0=TL_M1 //启动

TR0=1 //输出低电平,给单片机供电

p1_0=0 //等待

while(1)

}

//======定时器中断函数=======

void timer(void)interrupt 1

{ TH0=TH_M1 //重新赋值

TL0=TL_M1

if(++count_T0==144000) //144000*50MS=2小时

TR0=0 //关闭定时器

p1_0=1 //2小时到,输出低电,断电.

}

///////////仔岁//////////////////////////////

PLC程序断电丢失问题,在西门子的PLC中不会出现程序断电丢失,只会出现数据由于长激枯时间没有得电导致丢失,下次得电的时候恢复初始值,这个时间根据PLC类型的不同而时间不定。一般要求程序不丢失的话会有电池明碰洞提供的,在PLC端有插槽,不同品牌的PLC,电池类型不同,一般电池的持续时间最长能达到2年。PLC断电保持有以下几种方法: 1、V区可以在系统块里设置相应的保持字节。如果没有电池卡,数据将保持约200小时.(是靠内部超级电容来维持的),电容没电了,相应数据丢失。 2、V区可以在系统块里设置相应的保持字节。安装电池卡后,数据将保持200天左右,电池卡没电后,相应数据丢失。 3、在数据块里写入数据,能保证在任何时候丢电的情况下,当PLC上电时,能自动写入相应区域。(不适用吵键于经常修改的数据) 4、用程序将数据写入永久存储区。(此方法慎用,频繁写入会导致PLC报废) 5、用传送指令将出厂数据恢复到相应地址。 如果是放在M区的话,这里有14个字节只要在系统块设定了保持的话就会自动写eeprom保持。 如果是放在V区的话,可以在菜单有个地方找到一个条目,从RAM创建数据块。创建之后这数据就编程数据块受到eeprom的保持。

彻底断电后重新上哪纤电时时钟可能正常走时也可能不走并显示乱码何以解决山察?这是楼主的问题。解决之道,在你的程序里加一个可选的时钟设置功能需要时启用这个功能设定好时间后启动走时,并进行写保护做时钟,时间设置功能是基本要求就算你不拔电池,一旦走时出现误差也要重新设置李唯仿时间进行修正啊!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12435832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存