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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5383|回復(fù): 16
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)低功耗無(wú)法喚醒的求助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
60黑幣
本帖最后由 一夜暴富 于 2021-8-30 15:43 編輯

目前低功耗方案:電池3.7V單獨(dú)給單片機(jī)供電,單片機(jī)再控制引腳給①電池3.7V升壓12V電路②12V降5V電路使能,從來(lái)給12V負(fù)載和5V傳感器工作目前遇到的問(wèn)題:希望通過(guò)旋鈕和按鈕喚醒,但旋鈕的喚醒非常玄學(xué),大部分情況下都不行,偶爾又可以,按鈕則時(shí)而靈時(shí)而不靈
兩個(gè)控制電路如下:

旋鈕按鈕電路如下:
控制單片機(jī)進(jìn)入低功耗代碼如下:

觸發(fā)外部中斷出低功耗代碼如下:


其中16,17是使能腳。XA XB是旋鈕引腳,P36是按鈕引腳
判斷有沒(méi)有結(jié)束低功耗是靠屏幕有沒(méi)有亮起
大部分情況下屏幕都無(wú)法亮起
或許還需要補(bǔ)充什么?
希望各位不嗇賜教

最佳答案

查看完整內(nèi)容

1,不要在中斷函數(shù)中設(shè)定或者使用Delay()長(zhǎng)時(shí)間延時(shí),沒(méi)有辦法的情況下才會(huì)在中斷中使用,如果可以的話,中斷函數(shù)盡可能的短 2,在PCON=0x02;之后至少要加四個(gè) _nop_ (); 不知道為什么,官方叫這么做,你就這么做,錯(cuò)不了 3,進(jìn)入掉電之前,你要用的喚醒中斷都要先設(shè)定 4,中斷喚醒之后,程序會(huì)執(zhí)行PCON=0x02;之后的代碼,由于沒(méi)有看到完整的代碼,不知道你程序是怎么跑的,這STC喚醒壓根就不是什么高深技術(shù)或者商業(yè)機(jī)密,大可上傳代碼文件,你 ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2021-8-30 15:20 | 只看該作者
1,不要在中斷函數(shù)中設(shè)定或者使用Delay()長(zhǎng)時(shí)間延時(shí),沒(méi)有辦法的情況下才會(huì)在中斷中使用,如果可以的話,中斷函數(shù)盡可能的短
2,在PCON=0x02;之后至少要加四個(gè)        _nop_  (); 不知道為什么,官方叫這么做,你就這么做,錯(cuò)不了
3,進(jìn)入掉電之前,你要用的喚醒中斷都要先設(shè)定
4,中斷喚醒之后,程序會(huì)執(zhí)行PCON=0x02;之后的代碼,由于沒(méi)有看到完整的代碼,不知道你程序是怎么跑的,這STC喚醒壓根就不是什么高深技術(shù)或者商業(yè)機(jī)密,大可上傳代碼文件,你截個(gè)圖,沒(méi)頭沒(méi)尾的
5,一定要P00=0;P01=0.....嗎?難道不成P0=0x00嗎?
6,聽(tīng)說(shuō)現(xiàn)在STC15可以仿真,你可以搞個(gè)仿真電路,也許論壇有人會(huì)玩,反正我只對(duì)開(kāi)發(fā)板感興趣
回復(fù)

使用道具 舉報(bào)

板凳
ID:887186 發(fā)表于 2021-8-30 16:44 | 只看該作者
補(bǔ)充一下:5V的使能引腳關(guān)閉后
5V的電壓每次都不同
當(dāng)5V的降壓使能引腳關(guān)閉后,最后停在了2V,就可以正常喚醒
如果5V的降壓使能引腳關(guān)閉后只有0.3V了,就不能正常喚醒了
回復(fù)

使用道具 舉報(bào)

地板
ID:887186 發(fā)表于 2021-8-30 18:54 | 只看該作者
本帖最后由 一夜暴富 于 2021-8-30 19:00 編輯
Y_G_G 發(fā)表于 2021-8-30 16:44
1,不要在中斷函數(shù)中設(shè)定或者使用Delay()長(zhǎng)時(shí)間延時(shí),沒(méi)有辦法的情況下才會(huì)在中斷中使用,如果可以的話,中斷函 ...

謝謝大佬的指導(dǎo),不知道大佬能否推薦一些低功耗的DC-DC 12v降壓5V的芯片
回復(fù)

使用道具 舉報(bào)

5#
ID:401564 發(fā)表于 2021-8-30 22:10 | 只看該作者
一夜暴富 發(fā)表于 2021-8-30 18:54
謝謝大佬的指導(dǎo),不知道大佬能否推薦一些低功耗的DC-DC 12v降壓5V的芯片

為什么對(duì)5V的DC-DC如此執(zhí)著呢?這5V你要輸出多大的電流?帶馬達(dá)嗎?
如果只是單片機(jī)和傳感器供電,直接一個(gè)HT7350不就行了嗎?
如果是要大電流,3.7直接升壓5V效率不是更高的嗎?3.7升12V的效率如果是90%,12降到5V又是90%的效率,那么整個(gè)電路的效率就是80%左右了.........
回復(fù)

使用道具 舉報(bào)

6#
ID:569384 發(fā)表于 2021-8-31 08:56 | 只看該作者
只要配置和電路沒(méi)問(wèn)題那就是程序的問(wèn)題,另外中斷里竟然調(diào)用delay(),不能啊!oled_wr_byte()也不要放外部中斷里面吧,不要問(wèn)為什么,我也不懂!
回復(fù)

使用道具 舉報(bào)

7#
ID:887186 發(fā)表于 2021-8-31 10:02 | 只看該作者
Y_G_G 發(fā)表于 2021-8-30 22:10
為什么對(duì)5V的DC-DC如此執(zhí)著呢?這5V你要輸出多大的電流?帶馬達(dá)嗎?
如果只是單片機(jī)和傳感器供電,直接一個(gè)H ...

恩,就是DC-DC比較好使能控制,所以一直想用DC-DC
但如果LDO本身的工作電流就很低的話,我也是傾向于用LDO更方便的。
還想請(qǐng)教一下,那我是選擇12V降5V的LDO合適,還是3.7V升5V的升壓電路 ,這兩個(gè)哪個(gè)功耗會(huì)更低一些?
回復(fù)

使用道具 舉報(bào)

8#
ID:956872 發(fā)表于 2021-8-31 18:10 | 只看該作者
Y_G_G 發(fā)表于 2021-8-30 16:44
1,不要在中斷函數(shù)中設(shè)定或者使用Delay()長(zhǎng)時(shí)間延時(shí),沒(méi)有辦法的情況下才會(huì)在中斷中使用,如果可以的話,中斷函 ...

外部中斷里按鍵需要消抖嗎及松手等待嗎
回復(fù)

使用道具 舉報(bào)

9#
ID:401564 發(fā)表于 2021-8-31 20:50 | 只看該作者
一夜暴富 發(fā)表于 2021-8-31 10:02
恩,就是DC-DC比較好使能控制,所以一直想用DC-DC
但如果LDO本身的工作電流就很低的話,我也是傾向于用L ...

我的回答已經(jīng)說(shuō)了你想要的知道的知識(shí)點(diǎn)了
回復(fù)

使用道具 舉報(bào)

10#
ID:401564 發(fā)表于 2021-8-31 20:54 | 只看該作者
PEB188 發(fā)表于 2021-8-31 18:10
外部中斷里按鍵需要消抖嗎及松手等待嗎

去抖動(dòng)是肯定要的
如果程序沒(méi)有什么其它任務(wù),肯定是直接在中斷中放一個(gè)延時(shí)省事了
如果有多重任務(wù)的話,肯定是不能在中斷中有長(zhǎng)延時(shí),比如有數(shù)碼管顯示的時(shí)候,只要是在中斷中有延時(shí),哪怕只有1mS,人眼也能感覺(jué)到數(shù)碼管閃了一下
如果在中斷中有等待松開(kāi)的話,就更不用說(shuō)了,數(shù)碼直接就是長(zhǎng)亮一位或者長(zhǎng)暗
回復(fù)

使用道具 舉報(bào)

11#
ID:887186 發(fā)表于 2021-9-1 10:38 | 只看該作者
Y_G_G 發(fā)表于 2021-8-31 20:50
我的回答已經(jīng)說(shuō)了你想要的知道的知識(shí)點(diǎn)了

好的,謝謝~還有最后一個(gè)問(wèn)題
為什么我給lm2596使能腳高電平,讓它停止工作
理應(yīng)VOUT應(yīng)該0V左右,但每次關(guān)閉后的電壓都不同,從0.050V~2V左右都有
這是為什么呢,電路就是上面的電路
回復(fù)

使用道具 舉報(bào)

12#
ID:401564 發(fā)表于 2021-9-1 11:30 | 只看該作者
一夜暴富 發(fā)表于 2021-9-1 10:38
好的,謝謝~還有最后一個(gè)問(wèn)題
為什么我給lm2596使能腳高電平,讓它停止工作
理應(yīng)VOUT應(yīng)該0V左右,但每 ...

這個(gè)不好說(shuō),要結(jié)合實(shí)際情況的
你看一下數(shù)據(jù)手冊(cè)有沒(méi)有說(shuō)明的
如果數(shù)據(jù)手冊(cè)沒(méi)有說(shuō)明,理論上輸出就應(yīng)該是0V,你就要看一下你硬件電路了
回復(fù)

使用道具 舉報(bào)

13#
ID:887186 發(fā)表于 2021-9-3 19:34 | 只看該作者
Y_G_G 發(fā)表于 2021-9-1 11:30
這個(gè)不好說(shuō),要結(jié)合實(shí)際情況的
你看一下數(shù)據(jù)手冊(cè)有沒(méi)有說(shuō)明的
如果數(shù)據(jù)手冊(cè)沒(méi)有說(shuō)明,理論上輸出就應(yīng)該是 ...

不知道大佬能否再幫我解答一下
我是在喚醒中斷里寫(xiě)了喚醒后單片機(jī)該做什么
而不是寫(xiě)在
PCON = 0x02;
                _nop_;
                _nop_;
                _nop_;
                _nop_;
的后面。
請(qǐng)問(wèn)這樣是可以的嗎
回復(fù)

使用道具 舉報(bào)

14#
ID:401564 發(fā)表于 2021-9-3 23:04 | 只看該作者
一夜暴富 發(fā)表于 2021-9-3 19:34
不知道大佬能否再幫我解答一下
我是在喚醒中斷里寫(xiě)了喚醒后單片機(jī)該做什么
而不是寫(xiě)在

看不到完整程序和電路,不知道你要做什么
這個(gè)是我一個(gè)藍(lán)牙耳機(jī)的,長(zhǎng)按或者雙擊喚醒的,按鍵和其它函數(shù),你可以先不管,你大概看一下喚醒的流程就可以了
void main(void)
{
        Mcu_Rst();          //單片機(jī)復(fù)位
        Mcu_Awaken(); //單片機(jī)喚醒操作
        Stc8g_Adc_int();//stc8gadc初始化
        Tap6130_Start();  //耳放啟動(dòng)
//———————————————————————————————————————————————————————————————————          
        while(1)
        {                         
         if((USB==1)||(ON==1)) Battry_Voltage_Disp(ADC_VCC);        //電池電壓處理
         if((USB==0)&&(ON==1))        Key_Disp();                                         //按鍵處理                 
         if((TWO_PRE==1)||(LONG_PRE==1))
                {                                       
                        ON=!ON;                                                                                //長(zhǎng)按/雙擊有效
                        TWO_PRE=0;
                        LONG_PRE=0;
                        Mcu_Up=0;                                                                                //清除按鍵喚醒標(biāo)志位
                        if(ON==1)                                                                          
                          {                                                       
                                        Delay_ms(300);                                                                //延時(shí)一定時(shí)間開(kāi)機(jī),沒(méi)有為什么,就是達(dá)到某個(gè)效果而已,可有可無(wú)
                                        Tap6130_Start();                                                         //如果是按鍵開(kāi)機(jī),就啟動(dòng)耳放和藍(lán)牙
                                        Stc8g_Adc_int();                                                        //stc8gadc初始化                        
                                }                               
                }
                else if(ONE_PRE==1)
                                {
                                   ONE_PRE=0;                                                                  //單擊有效
                                   Mcu_Up=0;
                                   if(ON==1)Play();                                                                         //播放/暫停/接聽(tīng)/掛斷                                  
                                }                          
                        else if((USB==0)&&(ON==0)&&(Mcu_Up==0))                //UBS在插著,就不關(guān)機(jī)
                                        {                               
                                                Delay_ms(300);                                                                //延時(shí)0.3秒關(guān)機(jī)
                                                Mcu_Sleep();                                                                //單片機(jī)進(jìn)入掉電模式
                                                PCON=0x02;                                                                        //進(jìn)入掉電模式
                                                _nop_();                               
                                                _nop_();
                                                _nop_();
                                                _nop_();
                                                _nop_();
                                                Mcu_Awaken();                                                                  //單片機(jī)喚醒
                                                if(USB==1)Stc8g_Adc_int();                                        //如果USB高電平,就表示是USB播放,stc8gadc初始化               
                                        }                                                               
        }                          
//———————————————————————————————————————————————————————————————————                                       
}

回復(fù)

使用道具 舉報(bào)

15#
ID:887186 發(fā)表于 2021-9-5 14:59 | 只看該作者
Y_G_G 發(fā)表于 2021-9-3 23:04
看不到完整程序和電路,不知道你要做什么
這個(gè)是我一個(gè)藍(lán)牙耳機(jī)的,長(zhǎng)按或者雙擊喚醒的,按鍵和其它函數(shù),你 ...

好的,謝謝!
回復(fù)

使用道具 舉報(bào)

16#
ID:975054 發(fā)表于 2022-12-8 00:54 | 只看該作者
今天剛好碰到這個(gè)現(xiàn)象,單按鍵P32腳INT0開(kāi)始一直可以喚醒,后來(lái)改了些代碼就不行了,正想研究一下,原來(lái)代碼就有長(zhǎng)按1秒(開(kāi)/關(guān)大燈) / 2秒(掉電全關(guān)待機(jī))的軟延時(shí)代碼...... 后來(lái)還加了個(gè)循環(huán)好像就喚不醒了,明天繼續(xù),呵呵!好玩! 謝謝!

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

17#
ID:1114775 發(fā)表于 2024-3-30 14:43 | 只看該作者
Y_G_G 發(fā)表于 2021-8-30 15:20
1,不要在中斷函數(shù)中設(shè)定或者使用Delay()長(zhǎng)時(shí)間延時(shí),沒(méi)有辦法的情況下才會(huì)在中斷中使用,如果可以的話,中斷函 ...

大哥請(qǐng)問(wèn)下仿真的時(shí)候掉電后無(wú)法通過(guò)外部中斷1喚醒是什么情況呀
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 伊人网站在线 | 99精品视频在线观看 | 国产精品久久久久久久久久久久久 | 亚洲一区二区三区在线视频 | 国产日韩欧美精品一区二区三区 | 精品一区二区三区电影 | 成人免费网站视频 | www.色53色.com | 亚洲成人毛片 | 尹人av | 中文字幕的av | 日韩av在线中文字幕 | 天天看天天摸天天操 | 91精品国产高清久久久久久久久 | 亚洲美女视频 | 国产成人精品免费 | 尤物视频在线免费观看 | 成人在线网址 | 日韩免费视频一区二区 | 国产精品免费一区二区三区四区 | 日本网站免费观看 | 日本成人在线观看网站 | 日韩有码在线播放 | 最新伦理片 | 亚洲91精品 | 精品一区二区三区在线视频 | 日本精品久久久久久久 | 自拍偷拍亚洲欧美 | 一区二区三区四区免费观看 | 91在线播| 国产1区| av国产精品| 国产91亚洲精品一区二区三区 | 一区二区三区四区电影视频在线观看 | 日韩激情网 | 亚洲精品国产a久久久久久 午夜影院网站 | 欧美日韩成人一区二区 | www久久久 | 91网视频| 国产ts人妖系列高潮 | 97色在线观看免费视频 |