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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5730|回復: 16
收起左側

用一個按鈕實現開關單片機MCU

[復制鏈接]
ID:103131 發表于 2021-4-23 18:18 | 顯示全部樓層 |閱讀模式
    我用一個人按鈕開關機,我關機,PCON = 0X02,可是到了喚醒設備就沒有反應了,芯片是STC12,請各位大神回答
回復

使用道具 舉報

ID:824490 發表于 2021-4-23 23:45 | 顯示全部樓層
http://m.raoushi.com/bbs/dpj-203511-1.html
給你參考一下,希望能幫到你。

評分

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

查看全部評分

回復

使用道具 舉報

ID:103131 發表于 2021-4-24 09:05 | 顯示全部樓層
名字不是重點 發表于 2021-4-23 23:45
http://m.raoushi.com/bbs/dpj-203511-1.html
給你參考一下,希望能幫到你。

不用電路吧,我只要按鈕控制CPU
回復

使用道具 舉報

ID:879348 發表于 2021-4-24 09:13 | 顯示全部樓層
要開外部中斷才能喚醒
回復

使用道具 舉報

ID:824490 發表于 2021-4-24 09:14 | 顯示全部樓層
goldbirderman 發表于 2021-4-24 09:05
不用電路吧,我只要按鈕控制CPU

不用電路?那你還搞什么PCON = 0X02?直接一個開關控制電源得了。
回復

使用道具 舉報

ID:103131 發表于 2021-4-24 09:56 | 顯示全部樓層
名字不是重點 發表于 2021-4-24 09:14
不用電路?那你還搞什么PCON = 0X02?直接一個開關控制電源得了。

NOP() NOP()  PCON NOP() NOP()
回復

使用道具 舉報

ID:103131 發表于 2021-4-24 09:57 | 顯示全部樓層
goldbirderman 發表于 2021-4-24 09:05
不用電路吧,我只要按鈕控制CPU

你知不知道這樣是什么意思?
回復

使用道具 舉報

ID:103131 發表于 2021-4-24 09:58 | 顯示全部樓層
名字不是重點 發表于 2021-4-24 09:14
不用電路?那你還搞什么PCON = 0X02?直接一個開關控制電源得了。

是什么意思?
回復

使用道具 舉報

ID:403593 發表于 2021-4-24 10:33 | 顯示全部樓層
建議你先找相應的例程,然后在例程上改,stc的下載軟件上都有
回復

使用道具 舉報

ID:155507 發表于 2021-4-24 10:39 | 顯示全部樓層
用一個人按鈕開關在 P3.2 INT0喚醒測試程序

  1. #include "reg51.h"
  2. #include "intrins.h"

  3. //External interrupt0 service routine
  4. void exint0() interrupt 0           //(location at 0003H)
  5. {
  6. }

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

  12.     while (1)
  13.     {
  14.         INT0 = 1;                   //ready read INT0 port P3.2
  15.         while (!INT0);              //check INT0
  16.         _nop_();
  17.         _nop_();
  18.         PCON = 0x02;                //MCU power down
  19.         _nop_();
  20.         _nop_();
  21.         P1++;
  22.     }
  23. }



復制代碼
回復

使用道具 舉報

ID:889094 發表于 2021-4-24 11:21 | 顯示全部樓層
喚醒單片機,是空閑狀態還是休眠狀態?不管哪個狀態都是需要中斷喚醒或RST喚醒,當然RST是重啟了
中斷喚醒需要設置,需要有進入休眠或空閑的指令,需要有喚醒的中斷進入

評分

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

查看全部評分

回復

使用道具 舉報

ID:889094 發表于 2021-4-24 11:22 | 顯示全部樓層

最好的方法是看手冊,官方手冊上面說的還是挺細致的
回復

使用道具 舉報

ID:390416 發表于 2021-4-24 15:21 | 顯示全部樓層
回復

使用道具 舉報

ID:103131 發表于 2021-4-26 15:07 | 顯示全部樓層
birdzhyli 發表于 2021-4-24 11:22
最好的方法是看手冊,官方手冊上面說的還是挺細致的

請問這個怎樣喚醒?

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++;
    }
}
回復

使用道具 舉報

ID:584814 發表于 2021-4-26 17:23 | 顯示全部樓層
疑似長眠不醒的樣子。
首先你要確定用什么方式喚醒,一般有定時器或中斷或都用。啟動專用的定時器就是到時間就醒,中斷則必須有相應的中斷事件比如按鍵發生才會醒。詳見器件手冊,如果是STC的其燒錄軟件里也自帶程例。

評分

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

查看全部評分

回復

使用道具 舉報

ID:889094 發表于 2021-4-26 20:01 | 顯示全部樓層
goldbirderman 發表于 2021-4-26 15:07
請問這個怎樣喚醒?

void main()

這個看著像手冊上的示例,while(1)中進入休眠,遇到中斷會醒一下,醒來給P1++,估計是讓led燈什么的變化,然后循環繼續休眠,估計應該是某個按鍵接的外部中斷,每按一次P1輸出變化
應該就是這個樣子的
回復

使用道具 舉報

ID:889094 發表于 2021-4-26 20:03 | 顯示全部樓層
goldbirderman 發表于 2021-4-26 15:07
請問這個怎樣喚醒?

void main()

應該是按一下休眠,再按一下醒過來,再按再休眠
中間那個while(!INT0)也是判斷等待中斷的,INT0來一個高電平就過去了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表