欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 我這個程序為什么不能把單片機從掉電狀態模式中喚醒呀 [打印本頁]

作者: 創造生活    時間: 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.   
復制代碼



作者: 188610329    時間: 2021-11-14 16:47
幾個問題,
1) 中斷不全, 沒有}  結束, 理論上編譯都通不過。
2) 你用的 reg51.h 所以無法判斷你的單片機型號,只能當你是AT89C51 或 STC89C51,那是不支持掉電喚醒的。所以,根據你的芯片手冊,確認你的單片機究竟能否掉電喚醒,以及正確的掉電和喚醒方式。
3)中斷函數中P1 = 0x00; 假定,這是全亮的話,之后,你的程序里面,你再怎么左移右移,燈都是全亮狀態,不會再發生任何變化。
作者: 188610329    時間: 2021-11-15 13:37
188610329 發表于 2021-11-14 16:47
幾個問題,
1) 中斷不全, 沒有}  結束, 理論上編譯都通不過。
2) 你用的 reg51.h 所以無法判斷你的單 ...

這幾天正好在重溫以前寫的代碼,這里我自我糾正一下, STC89C51不是不能斷電喚醒,而是斷電喚醒必須要用:
IT0 = 0;

你如果是89C51的話, IT0 = 1; 是永遠喚不醒的。
作者: 創造生活    時間: 2021-11-16 13:56
多謝大神的指點萬分感激!我在網上也終于找到了AT89C51的資料,原來是搜素關鍵詞搞得不對,原先搜AT89C51中文手冊我找不到資料,搜at89C51中文資料就找到了,現在我最終目的是實現了,單片機能設定掉電模式和喚醒單片機了 ,在此感激大神的指點!!!!!!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1