| 
黄金会员 主题
回帖0
积分8141
阅读权限40
注册时间2013-1-5
最后登录1970-1-1
在线时间 小时
 
 | 
 
| 原来的思路:想让单片机进入掉电状态,休息16秒后,醒来闪一下灯。(灯接在P11端口上),然后再进入到掉电状态。但实际程序运行是,灯在不停的闪烁,根本没有休眠。不知是怎么回事?帮助分析一下原因?所用芯片为STC15W204S,一般的STC芯片应都可以试验。因第一次使用STC的片子,还不太熟悉。 #include "reg51.h"
 #include "intrins.h"
 
 sfr WKTCL = 0xaa;                   //掉电唤醒定时器计时低字节
 sfr WKTCH = 0xab;                   //掉电唤醒定时器计时高字节
 
 sbit P11 = P1^1;
 
 void main()
 {
 WKTCL = 32000;                     //设置唤醒周期为488us*(49+1) = 24.4ms
 WKTCH = 0x80;                   //使能掉电唤醒定时器
 
 while (1)
 {
 PCON = 0x02;                //进入掉电模式
 _nop_();                    //掉电模式被唤醒后,直接从此语句开始向下执行,不进入中断服务程序
 _nop_();
 P11 = 0;                 //接LED灯,低电平灯亮。
 延时1秒函数——;      //延时函数省略了,可以随便加个延时就行。
 P11 = 1;
 }
 
 
 | 
 |