找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 950|回复: 3
打印 上一主题 下一主题
收起左侧

我这个程序为什么不能把单片机从掉电状态模式中唤醒呀

[复制链接]
跳转到指定楼层
楼主
ID:881715 发表于 2021-11-14 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       各位大神大家好,今天从网上找了一个例子,功能是开机小灯流水闪烁,按下P3.3,单片机进入掉电模式,只有一个小灯常亮,松开P3.3,按下P3.2进入中断函数,单片机被唤醒,P1口小灯全亮一下,然后继续闪烁。     可是功能却无法实现,单片机无法被唤醒请大神指点一下,将感激不尽!
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. sbit key=P3^3; //按键按下进入掉电模式

  5. void delay() //延时程序函数
  6. { unsigned int i;
  7.   for(i=0;i<30000;i++);
  8. }
  9. void delay20ms() //防抖延时程序函数
  10. {  uchar i,j;
  11. for(i=0;i<100;i++        )
  12.    for(j=0;j<60;j++);
  13. }
  14. void init()        //中断0初始化函数
  15. {EA=1;
  16. EX0=1;
  17. IT0=1;
  18. }
  19. /*按键检测函数,按键按下单片机进入掉电模式*/
  20. void keytest()
  21. { if(key==0)
  22.   {delay20ms();
  23.    if(key==0)
  24.    {PCON=PCON|0X02;
  25.    }
  26.    while(!key);
  27.   }
  28. }
  29. void main()
  30. { uchar aa=0XFE;
  31.   init();
  32.   while(1)
  33.   {
  34.    P1=aa;
  35.    aa=_crol_(aa,1);
  36.    delay();
  37.    keytest();

  38.   }
  39. }
  40. /*中断函数,退出掉电模式*/
  41. void int0() interrupt 0        using 1
  42. {

  43. PCON=0X00;
  44. delay();
  45.   delay();
  46.   delay();
  47. P1=0X00;
  48. delay();
  49.   delay();
  50.   delay();
  51.   
  52.   
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:624769 发表于 2021-11-14 16:47 | 只看该作者
几个问题,
1) 中断不全, 没有}  结束, 理论上编译都通不过。
2) 你用的 reg51.h 所以无法判断你的单片机型号,只能当你是AT89C51 或 STC89C51,那是不支持掉电唤醒的。所以,根据你的芯片手册,确认你的单片机究竟能否掉电唤醒,以及正确的掉电和唤醒方式。
3)中断函数中P1 = 0x00; 假定,这是全亮的话,之后,你的程序里面,你再怎么左移右移,灯都是全亮状态,不会再发生任何变化。
回复

使用道具 举报

板凳
ID:624769 发表于 2021-11-15 13:37 | 只看该作者
188610329 发表于 2021-11-14 16:47
几个问题,
1) 中断不全, 没有}  结束, 理论上编译都通不过。
2) 你用的 reg51.h 所以无法判断你的单 ...

这几天正好在重温以前写的代码,这里我自我纠正一下, STC89C51不是不能断电唤醒,而是断电唤醒必须要用:
IT0 = 0;

你如果是89C51的话, IT0 = 1; 是永远唤不醒的。
回复

使用道具 举报

地板
ID:881715 发表于 2021-11-16 13:56 | 只看该作者
多谢大神的指点万分感激!我在网上也终于找到了AT89C51的资料,原来是搜素关键词搞得不对,原先搜AT89C51中文手册我找不到资料,搜at89C51中文资料就找到了,现在我最终目的是实现了,单片机能设定掉电模式和唤醒单片机了 ,在此感激大神的指点!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表