此帖出自51单片机论坛
最新回复
呵呵,给你一个上电检测的基本框架
/***************************************************************************/
void main()
{
unsigned int i;
EA=0;
SFCF=0X01;
AUXR=0X01;
first_power_on=0;
if(soft_reset_flag!=0Xaa) //是否上电复位,{}里面是上电复位的动作,你要不放心的话可以用多个标志
{
P0=0XFF;
P1=0XFF;
P2=0XFF;
P3=0XFF;
P4_RAM=0XFF;
WR_P4();
clean_pdata();
clean_idata();
for(i=0;i<0xffff;i++) //上电延时
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
if(verify_byte(flag_addr,0x55)) //检查首次上电(EEPROM区标志)
{
first_power_on=1;
init_parameter();
}
}
soft_reset_flag=0X55;
init_watchdog(); //启动看门狗
init_system(); //系统初始化,关屏
init_touch_monitor(); //首次上电触摸屏设置,由first_power_on触发
while(1)
{
scan_work();
if (key_ok)
{
key_ok=0;
operation(); //打开主屏
}
else if(~key_time_flag) //按键nn秒没操作后
{
soft_reset_flag=0Xaa; //软复位,一复位就回复到光屏的待机状态了
SFCF|=0X02; //或者你要进待机、掉电模式随便你
}
}
}
void init_system(void) //系统初始化,关屏
{
TMOD=0X11;
//其他的....
video_power_ctrl=1;
}
详情
回复
发表于 2007-12-12 14:10
| ||
|
||
回复:我的51唤醒不了?
此帖出自51单片机论坛
| ||
|
||
| |
|
|
回复:我的51唤醒不了?
此帖出自51单片机论坛
| ||
|
||
回复:我的51唤醒不了?
此帖出自51单片机论坛
| ||
|
||
| |
|
|
| |
|
|
| |
|
|
| |
|
|
回复:我的51唤醒不了?
此帖出自51单片机论坛
| ||
|
||
回复:我的51唤醒不了?
此帖出自51单片机论坛
| ||
|
||
| |
|
|
| |
|
|
回复: 我的51唤醒不了?
此帖出自51单片机论坛
| ||
|
||
EEWorld Datasheet 技术支持