久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6981|回復: 18
打印 上一主題 下一主題
收起左側

51單片機掉電后喚醒的問題

  [復制鏈接]
跳轉到指定樓層
樓主
ID:283725 發表于 2018-10-10 09:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
SCT89C52單片機,打開用外部中斷0喚醒。設置下降沿觸發。
運行的結果是掉電后,P3.2口接地,會一直“喚醒--睡眠--喚醒--睡眠。。。。。”
應該只喚醒一次啊!
程序如下 ,還望大神指點

#include <reg52.h>
#include <stdio.h>
#include <intrins.h>
#include "CONFIG.H"
extern void DelayMS(unsigned int);
void main()
{
    EA=1;//開總中斷
    IT0=1;//下降沿觸發
    EX0=1;//開外部中斷0。由P3.2口引入
    while(1)
    {        
        LED1 = 0;
        FM = 1;
        DelayMS(80);
        PCON = 0X02;
        DelayMS(10);
    }
}
void exter0() interrupt 0//外部中數函數
{
        PCON = 0x00;
        LED1 = 1;
        FM = 0;
        DelayMS(20);
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:330198 發表于 2018-10-10 11:31 | 只看該作者
要么你設置成上升沿,要么你P3.2接高電平。就不會一直喚醒

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:386381 發表于 2018-10-10 11:55 來自手機 | 只看該作者
p3.2口接上拉電阻

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:213173 發表于 2018-10-10 15:03 | 只看該作者



官方示例:http://www.zg4o1577.cn/bbs/dpj-36974-1.html

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:283725 發表于 2018-10-10 20:11 | 只看該作者
zhanghyg 發表于 2018-10-10 11:31
要么你設置成上升沿,要么你P3.2接高電平。就不會一直喚醒

不知道是軟件的事還是硬件的事。我又發現更詭異的事情。就是用示波器長時間觀看晶振,5~10秒這樣觀察。會發現晶振才幾十KHZ.如果短時間觀察,幾微秒,則正常11.0592
搞的我頭都大了
邪性!!

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:283725 發表于 2018-10-10 20:11 | 只看該作者

不知道是軟件的事還是硬件的事。我又發現更詭異的事情。就是用示波器長時間觀看晶振,5~10秒這樣觀察。會發現晶振才幾十KHZ.如果短時間觀察,幾微秒,則正常11.0592
搞的我頭都大了
邪性!!
回復

使用道具 舉報

7#
ID:283725 發表于 2018-10-10 20:12 | 只看該作者

這是想著先手動測試成功了,再實現自動復位呢
回復

使用道具 舉報

8#
ID:283725 發表于 2018-10-10 20:17 | 只看該作者

我有接過20K上拉電阻,無效啊
莫非接的太大了?
回頭我換個小的試試
回復

使用道具 舉報

9#
ID:123289 發表于 2018-10-11 03:00 | 只看該作者
當你用表棒觸碰晶振時,表棒就參與到振蕩中去了!!!極可能引起振蕩異常,所以測量晶振的頻率是有一點點小技巧的。許多情況下不允許直接接觸,必須直接接觸時,也不要接觸IC的輸入端,而要接觸輸出端(晶振所接的端口分輸入輸出)。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

10#
ID:123289 發表于 2018-10-11 03:01 | 只看該作者
你的問題解決的要點是:如果削除中斷的條件!才能解決一直中斷的問題。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

11#
ID:283725 發表于 2018-10-11 10:07 來自手機 | 只看該作者
yzwzfyz 發表于 2018-10-11 03:00
當你用表棒觸碰晶振時,表棒就參與到振蕩中去了!!!極可能引起振蕩異常,所以測量晶振的頻率是有一點點小 ...

哪里是輸入?哪里是輸出?我是小白,晶振不就兩個腳么?
回復

使用道具 舉報

12#
ID:283725 發表于 2018-10-11 10:14 來自手機 | 只看該作者
yzwzfyz 發表于 2018-10-11 03:01
你的問題解決的要點是:如果削除中斷的條件!才能解決一直中斷的問題。

中斷觸發條件是外部電平的下降沿。用示波器看不出變化來。我有考慮過接上拉電阻或者去藕電容,沒有效果。
我昨天給技術打電話,我能感覺出他的一臉嫌棄,他讓我看范例。他掉電前有這么個操作
int0=1;
昨天簡單試了下,好像正常了,今天下班了,用電流驗證下,畢竟我做休眠是為了第功耗

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

13#
ID:403004 發表于 2018-10-11 10:52 | 只看該作者
循環后加break試試
回復

使用道具 舉報

14#
ID:401564 發表于 2018-10-11 22:41 | 只看該作者
你不覺得中斷喚醒之后又去設定掉電模式了嗎?復位之后程序還是從主函數開始執行的,也就是000H開始的.你得設定一個位,用于檢測是不是中斷喚醒的.

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

15#
ID:283725 發表于 2018-10-13 19:08 | 只看該作者
Y_G_G 發表于 2018-10-11 22:41
你不覺得中斷喚醒之后又去設定掉電模式了嗎?復位之后程序還是從主函數開始執行的,也就是000H開始的.你得設 ...

感謝回復。我的思路就是這樣的,不想從00H開始執行。因為一開始會有好多的始化操作。
回復

使用道具 舉報

16#
ID:283725 發表于 2018-10-13 19:24 | 只看該作者
感謝大家的幫助。
我用3231芯片做了個電子時鐘,想每秒讀取一次時間。讀取完成之單片機就掉電,等待下一秒3231的喚醒脈沖。這樣能最大限度的降低功耗。
我的程序掉電部分已經能夠正常去行了。準備轉戰下一個難題
我將范例程序貼出來,新手參考下,老鳥無視,主要是自我總結
INT0 = 1;                   //ready read INT0 port
while (!INT0);              //check INT0
這兩個語很重要,一個是將INT0置1
下一句是檢測INT0是否為1,不是1就一直檢測。說明置1的重要性
當然,有的時候,不加這兩句是可以正常運行的。
以下是完整的范例程序

/*------------------------------------------------------------------*/
/* --- STC MCU Limited ---------------------------------------------*/
/* --- STC89-90xx Series MCU Power-Down wakeup by INT0 Demo --------*/
/* If you want to use the program or the program referenced in the  */
/* article, please specify in which data and procedures from STC    */
/*------------------------------------------------------------------*/

#include "reg51.h"
#include "intrins.h"

//External interrupt0 service routine
void exint0() interrupt 0           //(location at 0003H)
{
}

void main()
{
    IT0 = 1;                        //set INT0 int type (1:Falling 0:Low level)
    EX0 = 1;                        //enable INT0 interrupt
    EA = 1;                         //open global interrupt switch

    while (1)
    {
        INT0 = 1;                   //ready read INT0 port
        while (!INT0);              //check INT0
        _nop_();
        _nop_();
        PCON = 0x02;                //MCU power down
        _nop_();
        _nop_();
        P1++;
    }
}


回復

使用道具 舉報

17#
ID:283725 發表于 2018-10-13 19:31 | 只看該作者
yzwzfyz 發表于 2018-10-11 03:00
當你用表棒觸碰晶振時,表棒就參與到振蕩中去了!!!極可能引起振蕩異常,所以測量晶振的頻率是有一點點小 ...

你好,有時間能不能教我一下怎么測晶振呢?
回復

使用道具 舉報

18#
ID:409197 發表于 2018-10-13 21:23 | 只看該作者
同問我也有這個問題
回復

使用道具 舉報

19#
ID:498201 發表于 2019-4-15 12:59 | 只看該作者
感謝樓主最后的方法,很有用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品在线视频免费观看 | 丝袜 亚洲 欧美 日韩 综合 | 国产在线精品一区二区三区 | 天天拍天天操 | 亚洲视频中文字幕 | 中文字幕在线人 | 99精品国产一区二区三区 | 亚洲成人福利视频 | 色婷婷九月 | 精品国产乱码一区二区三区a | 成人福利在线观看 | 成人精品一区二区 | 精品视频在线播放 | 久久久久久久综合 | 欧美电影免费网站 | 国产做爰 | 黄色片免费看视频 | 欧美日韩在线免费 | 欧美精品91 | 日韩看片| 亚洲人成人一区二区在线观看 | www.黄网 | 亚洲精品久久久久久首妖 | 久久99精品久久久 | 国产探花在线观看视频 | 久久久久亚洲 | 一区二区三区影院 | 欧美日韩一区二区电影 | 在线一区视频 | 91热在线| 国产精品亚洲一区 | 日韩精品一区二区三区久久 | 情侣酒店偷拍一区二区在线播放 | 国产精品久久久久久久久久久久午夜片 | 91免费观看 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 欧美 日韩 国产 成人 在线 91 | 9久久精品 | 久久久精品国产 | 在线免费观看黄a | 日韩欧美电影在线 |