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

標題: 51單片機掉電后喚醒的問題 [打印本頁]

作者: 單片機小小白白    時間: 2018-10-10 09:39
標題: 51單片機掉電后喚醒的問題
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);
}



作者: zhanghyg    時間: 2018-10-10 11:31
要么你設置成上升沿,要么你P3.2接高電平。就不會一直喚醒
作者: 文鳳軒    時間: 2018-10-10 11:55
p3.2口接上拉電阻
作者: wulin    時間: 2018-10-10 15:03



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


作者: 單片機小小白白    時間: 2018-10-10 20:11
zhanghyg 發表于 2018-10-10 11:31
要么你設置成上升沿,要么你P3.2接高電平。就不會一直喚醒

不知道是軟件的事還是硬件的事。我又發現更詭異的事情。就是用示波器長時間觀看晶振,5~10秒這樣觀察。會發現晶振才幾十KHZ.如果短時間觀察,幾微秒,則正常11.0592
搞的我頭都大了
邪性!!
作者: 單片機小小白白    時間: 2018-10-10 20:11
文鳳軒 發表于 2018-10-10 11:55
p3.2口接上拉電阻

不知道是軟件的事還是硬件的事。我又發現更詭異的事情。就是用示波器長時間觀看晶振,5~10秒這樣觀察。會發現晶振才幾十KHZ.如果短時間觀察,幾微秒,則正常11.0592
搞的我頭都大了
邪性!!
作者: 單片機小小白白    時間: 2018-10-10 20:12
wulin 發表于 2018-10-10 15:03
官方示例

這是想著先手動測試成功了,再實現自動復位呢
作者: 單片機小小白白    時間: 2018-10-10 20:17
文鳳軒 發表于 2018-10-10 11:55
p3.2口接上拉電阻

我有接過20K上拉電阻,無效啊
莫非接的太大了?
回頭我換個小的試試
作者: yzwzfyz    時間: 2018-10-11 03:00
當你用表棒觸碰晶振時,表棒就參與到振蕩中去了!!!極可能引起振蕩異常,所以測量晶振的頻率是有一點點小技巧的。許多情況下不允許直接接觸,必須直接接觸時,也不要接觸IC的輸入端,而要接觸輸出端(晶振所接的端口分輸入輸出)。
作者: yzwzfyz    時間: 2018-10-11 03:01
你的問題解決的要點是:如果削除中斷的條件!才能解決一直中斷的問題。
作者: 單片機小小白白    時間: 2018-10-11 10:07
yzwzfyz 發表于 2018-10-11 03:00
當你用表棒觸碰晶振時,表棒就參與到振蕩中去了!!!極可能引起振蕩異常,所以測量晶振的頻率是有一點點小 ...

哪里是輸入?哪里是輸出?我是小白,晶振不就兩個腳么?
作者: 單片機小小白白    時間: 2018-10-11 10:14
yzwzfyz 發表于 2018-10-11 03:01
你的問題解決的要點是:如果削除中斷的條件!才能解決一直中斷的問題。

中斷觸發條件是外部電平的下降沿。用示波器看不出變化來。我有考慮過接上拉電阻或者去藕電容,沒有效果。
我昨天給技術打電話,我能感覺出他的一臉嫌棄,他讓我看范例。他掉電前有這么個操作
int0=1;
昨天簡單試了下,好像正常了,今天下班了,用電流驗證下,畢竟我做休眠是為了第功耗
作者: danaofu    時間: 2018-10-11 10:52
循環后加break試試
作者: Y_G_G    時間: 2018-10-11 22:41
你不覺得中斷喚醒之后又去設定掉電模式了嗎?復位之后程序還是從主函數開始執行的,也就是000H開始的.你得設定一個位,用于檢測是不是中斷喚醒的.

作者: 單片機小小白白    時間: 2018-10-13 19:08
Y_G_G 發表于 2018-10-11 22:41
你不覺得中斷喚醒之后又去設定掉電模式了嗎?復位之后程序還是從主函數開始執行的,也就是000H開始的.你得設 ...

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

作者: 單片機小小白白    時間: 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++;
    }
}



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

你好,有時間能不能教我一下怎么測晶振呢?
作者: youguxiake    時間: 2018-10-13 21:23
同問我也有這個問題
作者: 冬暖夏涼ana    時間: 2019-4-15 12:59
感謝樓主最后的方法,很有用




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲九九 | 国产成人精品久久 | www亚洲精品 | 免费在线一区二区 | 亚洲欧美另类在线观看 | 国产欧美日韩视频 | 国产精品久久久久久久一区二区 | 欧州一区二区三区 | 亚洲瑟瑟 | 国产成人一区二区三区 | 欧美亚洲另类在线 | 亚洲国产精品99久久久久久久久 | 国产区在线观看 | 性色av香蕉一区二区 | av在线天堂| 成人精品| 日韩欧美国产一区二区 | 在线观看视频一区二区三区 | 日韩最新网址 | 国产精品久久久99 | 成人动漫一区二区 | 男人的天堂视频网站 | 99福利在线观看 | 亚洲人成人一区二区在线观看 | 亚洲a视频 | 久久亚洲一区 | 91精品国产91久久综合桃花 | 亚洲毛片 | 999久久久久久久久6666 | 久久久国产精品 | 欧美视频1区| 中文字幕第九页 | 亚洲一区中文字幕在线观看 | 中文字幕视频在线观看 | 精品日韩一区 | 一级免费毛片 | 99re6在线视频| 日韩第一区 | 久久久久久成人 | 国产一区二区视频免费在线观看 | 一区二区三区在线 |