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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8723|回復(fù): 8
收起左側(cè)

STC15W408AS單片機(jī)掉電定時(shí)器的使用問題

  [復(fù)制鏈接]
ID:283037 發(fā)表于 2018-3-1 08:50 | 顯示全部樓層 |閱讀模式
請教大神,我用STC15W408AS讀取溫度,串口輸出,因?yàn)樾枰?jié)能,所以想要輸出一次溫度值后進(jìn)入掉電模式,再用定時(shí)器喚醒。
掉電、喚醒部分的程序基本按手冊上復(fù)制的,可是單片機(jī)還是一直不停的輸出溫度值,進(jìn)不了掉電模式。
幫忙看一下是哪里不對,感謝。
  1. #include "reg51.h"
  2. #include "intrins.h"
  3. //----------------------------------
  4. sfr WKTCL = 0xaa; //掉電喚醒定時(shí)器計(jì)時(shí)低字節(jié)
  5. sfr WKTCH = 0xab; //掉電喚醒定時(shí)器計(jì)時(shí)高字節(jié)
  6. sbit P10 = P1^0; //掉電測試口
  7. //------------------------------------------

  8.   
  9. void main()  
  10. {
  11.         WKTCL = 9999;                        //設(shè)置喚醒周期=488us*(9999+1)
  12.         WKTCH = 0x80;                //使能掉電喚醒定時(shí)器


  13.         delayms(10000);

  14.         while(1)
  15.         {   if(MIC==0)   
  16.                 {
  17.                 delayus(100);
  18.                   if(MIC==0)
  19.                     {  
  20.                         init();              
  21.                     delayms(1000);        
  22.       
  23.                         SendString("temperature is ");
  24.                     delayms(1000);
  25.                         temp=read_temp();       //讀取溫度  


  26.                        if(temp/10000 == 1)                                            //如果萬位為1,則表示溫度為負(fù)
  27.                 serial_send_byte('-');
  28.                 serial_send_byte(temp%10000/1000+'0');     //十位
  29.                 serial_send_byte(temp%1000/100+'0');         //個(gè)位
  30.                 serial_send_byte('.');
  31.                 serial_send_byte(temp%100/10+'0');         //小數(shù)點(diǎn)后第一位
  32.                 serial_send_byte(temp%10+'0');                 //小數(shù)點(diǎn)后第二位
  33.                 SendString("℃\r\n");

  34. //----------------------------------------------

  35.                 PCON= 0x02;                 //進(jìn)入掉電模式
  36.                 _nop_();         //中斷喚醒后從此開始執(zhí)行。
  37.                               
  38.                 _nop_();
  39.                
  40.                 P10 = !P10;         //喚醒后取反測試口
  41. //---------------------------------------------------------               
  42.                        
  43.                        
  44.                        
  45.                         }  
  46.                 }   
  47.                
  48.         }

  49. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2018-3-1 15:39 | 顯示全部樓層
本帖最后由 wulin 于 2018-3-1 17:00 編輯

WKTCL = 9999;??? 8位寄存器最大范圍只能設(shè)置0~255!WKTCH是高7位寄存器,其最高位用作使能控制,WKTCL是低8位寄存器,合計(jì)最大定時(shí)值32767,約16秒。
并且只能字節(jié)操作不能位操作
WKTCL = 0xFF;                        //低8位值
WKTCH= 0x80+0x7F;                //使能掉電喚醒定時(shí)器 +高7位值

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:283037 發(fā)表于 2018-3-1 21:37 | 顯示全部樓層
wulin 發(fā)表于 2018-3-1 15:39
WKTCL = 9999;??? 8位寄存器最大范圍只能設(shè)置0~255!WKTCH是高7位寄存器,其最高位用作使能控制,WKTCL ...

感謝。我想要實(shí)現(xiàn)每休眠10分鐘發(fā)送一次數(shù)據(jù), 是不是只有重復(fù)進(jìn)入掉電模式,有沒有其它辦法。
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2018-3-2 09:14 | 顯示全部樓層
alewe 發(fā)表于 2018-3-1 21:37
感謝。我想要實(shí)現(xiàn)每休眠10分鐘發(fā)送一次數(shù)據(jù), 是不是只有重復(fù)進(jìn)入掉電模式,有沒有其它辦法。

長時(shí)間休眠只有重復(fù)進(jìn)入掉電模式,單次最大設(shè)置數(shù)32767,也就是32766+1,約16秒
WKTCL = 0xFE;          // 低8位值,我在樓上回復(fù)有點(diǎn)錯(cuò)誤。
WKTCH= 0x80+0x7F;  //使能掉電喚醒定時(shí)器 +高7位值
測試程序可以這樣改:
void main()
{
        unsigned char i;
        WKTCL = 0xfe;                        //設(shè)置喚醒周期為488us*(32766+1)≈16s
        WKTCH = 0xff;
       
        while(1)
        {
                i=38;                                //16s*38=10min  注:內(nèi)部低頻振蕩器誤差較大需要修正
                while(i--)
                {
                        PCON = 0x02;        //進(jìn)入掉電模式
                        _nop_();                        //掉電模式被喚醒后,直接從此語句開始向下執(zhí)行,不進(jìn)入中斷服務(wù)程序
                        _nop_();
                }
                P10 = !P10;                        //掉電喚醒后,取反測試口       
        }
}
回復(fù)

使用道具 舉報(bào)

ID:283037 發(fā)表于 2018-3-2 10:30 | 顯示全部樓層
wulin 發(fā)表于 2018-3-2 09:14
長時(shí)間休眠只有重復(fù)進(jìn)入掉電模式,單次最大設(shè)置數(shù)32767,也就是32766+1,約16秒
WKTCL = 0xFE;         ...

已經(jīng)調(diào)試成功,非常感謝您。
回復(fù)

使用道具 舉報(bào)

ID:468762 發(fā)表于 2019-1-19 21:15 來自手機(jī) | 顯示全部樓層
alewe 發(fā)表于 2018-3-1 21:37
感謝。我想要實(shí)現(xiàn)每休眠10分鐘發(fā)送一次數(shù)據(jù), 是不是只有重復(fù)進(jìn)入掉電模式,有沒有其它辦法。

你好,能上傳程序不?我想下載
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-1-20 06:31 | 顯示全部樓層
  1. #include "reg51.h"
  2. #include "intrins.h"
  3. sfr WKTCL=0xAA;   //掉電喚醒定時(shí)器計(jì)時(shí)低字節(jié)
  4. sfr WKTCH=0xAB;   //掉電喚醒定時(shí)器計(jì)時(shí)高字節(jié)
  5. sfr P6=0xE8;
  6. void main()
  7. {
  8.         unsigned char i;
  9.                 //長時(shí)間休眠只有重復(fù)進(jìn)入掉電模式,單次最大設(shè)置數(shù)32767,也就是32766+1,約16秒
  10.         WKTCL = 0xfe;        //設(shè)置喚醒周期為488us*(32766+1)≈16s
  11.         WKTCH = 0xff;        //使能掉電喚醒定時(shí)器  +高7位值
  12.         
  13.         while(1)
  14.         {
  15.                 i=38;      //16s*38=10min  注:內(nèi)部低頻振蕩器誤差較大需要修正
  16.                 while(i--)
  17.                 {
  18.                         PCON = 0x02;        //進(jìn)入掉電模式
  19.                         _nop_();                        //掉電模式被喚醒后,直接從此語句開始向下執(zhí)行,不進(jìn)入中斷服務(wù)程序
  20.                         _nop_();
  21.                 }
  22.                 P6=~P6;                        //掉電喚醒后,取反測試口        
  23.         }
  24. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:525244 發(fā)表于 2019-9-24 17:32 來自手機(jī) | 顯示全部樓層
wulin 發(fā)表于 2018-3-2 09:14
長時(shí)間休眠只有重復(fù)進(jìn)入掉電模式,單次最大設(shè)置數(shù)32767,也就是32766+1,約16秒
WKTCL = 0xFE;         ...

掉電喚醒之后需要繼續(xù)設(shè)置喚醒定時(shí)器吧
回復(fù)

使用道具 舉報(bào)

ID:975054 發(fā)表于 2021-10-31 18:09 | 顯示全部樓層
感謝感謝!我也試試,正好低功耗改進(jìn)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久www成人免费无遮挡大片 | 99精品视频在线观看免费播放 | 久草中文网 | 成年免费大片黄在线观看岛国 | 天天射天天干 | 久久尤物免费一区二区三区 | 一区二区三区视频在线 | 成人精品在线观看 | 久久成人国产精品 | 日本三级网站在线观看 | 一区二区三区在线观看视频 | 国产日韩欧美电影 | 视频一区 国产精品 | 二区成人 | 欧美日韩高清 | av电影一区二区 | 欧美三区在线观看 | 国产欧美日韩一区二区三区 | 欧美一级视频在线观看 | 一区二区三区电影在线观看 | 一级毛片在线播放 | 国产精品久久久久久久久久久免费看 | 国产探花在线精品一区二区 | 国产精品一区在线观看你懂的 | 中文字幕在线一区二区三区 | 久久综合久 | 亚洲综合五月天婷婷 | 怡红院免费的全部视频 | 日韩欧美国产精品一区二区三区 | 亚洲美女一区二区三区 | 久久久婷 | 久久精品亚洲欧美日韩精品中文字幕 | 免费视频久久 | 成人性视频免费网站 | 婷婷久久五月天 | 伊人免费在线观看 | 亚洲人免费视频 | 日韩精品一区二区三区在线播放 | 国产精品久久久久久亚洲调教 | 日本一区二区高清不卡 | 日韩高清不卡 |