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

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

QQ登錄

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

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

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

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:283037 發(fā)表于 2018-3-1 08:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)教大神,我用STC15W408AS讀取溫度,串口輸出,因?yàn)樾枰?jié)能,所以想要輸出一次溫度值后進(jìn)入掉電模式,再用定時(shí)器喚醒。
掉電、喚醒部分的程序基本按手冊(cè)上復(fù)制的,可是單片機(jī)還是一直不停的輸出溫度值,進(jìn)不了掉電模式。
幫忙看一下是哪里不對(duì),感謝。
  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; //掉電測(cè)試口
  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)                                            //如果萬(wàn)位為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_();         //中斷喚醒后從此開(kāi)始執(zhí)行。
  37.                               
  38.                 _nop_();
  39.                
  40.                 P10 = !P10;         //喚醒后取反測(cè)試口
  41. //---------------------------------------------------------               
  42.                        
  43.                        
  44.                        
  45.                         }  
  46.                 }   
  47.                
  48.         }

  49. }
復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
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位值

評(píng)分

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

查看全部評(píng)分

回復(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)入掉電模式,有沒(méi)有其它辦法。
回復(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)入掉電模式,有沒(méi)有其它辦法。

長(zhǎng)時(shí)間休眠只有重復(fù)進(jìn)入掉電模式,單次最大設(shè)置數(shù)32767,也就是32766+1,約16秒
WKTCL = 0xFE;          // 低8位值,我在樓上回復(fù)有點(diǎn)錯(cuò)誤。
WKTCH= 0x80+0x7F;  //使能掉電喚醒定時(shí)器 +高7位值
測(cè)試程序可以這樣改:
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_();                        //掉電模式被喚醒后,直接從此語(yǔ)句開(kāi)始向下執(zhí)行,不進(jìn)入中斷服務(wù)程序
                        _nop_();
                }
                P10 = !P10;                        //掉電喚醒后,取反測(cè)試口       
        }
}
回復(fù)

使用道具 舉報(bào)

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

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

使用道具 舉報(bào)

6#
ID:468762 發(fā)表于 2019-1-19 21:15 來(lái)自觸屏版 | 只看該作者
alewe 發(fā)表于 2018-3-1 21:37
感謝。我想要實(shí)現(xiàn)每休眠10分鐘發(fā)送一次數(shù)據(jù), 是不是只有重復(fù)進(jìn)入掉電模式,有沒(méi)有其它辦法。

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

使用道具 舉報(bào)

7#
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.                 //長(zhǎng)時(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_();                        //掉電模式被喚醒后,直接從此語(yǔ)句開(kāi)始向下執(zhí)行,不進(jìn)入中斷服務(wù)程序
  20.                         _nop_();
  21.                 }
  22.                 P6=~P6;                        //掉電喚醒后,取反測(cè)試口        
  23.         }
  24. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

8#
ID:525244 發(fā)表于 2019-9-24 17:32 來(lái)自觸屏版 | 只看該作者
wulin 發(fā)表于 2018-3-2 09:14
長(zhǎng)時(shí)間休眠只有重復(fù)進(jìn)入掉電模式,單次最大設(shè)置數(shù)32767,也就是32766+1,約16秒
WKTCL = 0xFE;         ...

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

使用道具 舉報(bào)

9#
ID:975054 發(fā)表于 2021-10-31 18:09 | 只看該作者
感謝感謝!我也試試,正好低功耗改進(jìn)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线观看欧美一区 | 精品国产乱码久久久久久影片 | 国产精品久久久久久吹潮 | 亚洲在线一区 | 国产午夜视频 | 综合久久av | 桃色五月 | 色婷婷一区二区三区四区 | 精久久久| 99精品国产一区二区青青牛奶 | 四色成人av永久网址 | 在线视频一区二区 | 久草成人| 日韩免费视频一区二区 | 欧美日韩专区 | 成人欧美一区二区三区视频xxx | 日韩电影在线一区 | 中文字幕免费中文 | 特黄小视频 | 99福利视频| 亚洲精品女人久久久 | 日韩精品一区二区三区老鸭窝 | 成人h视频在线 | 麻豆91av| 福利视频一区二区三区 | 狠狠草视频 | 日韩二三区 | 亚洲国产精品va在线看黑人 | 欧美成人aaa级毛片在线视频 | 在线观看国产 | 欧美精品在线观看 | 一区二区三区韩国 | 亚洲一区二区视频在线播放 | 久久精品国产久精国产 | 免费av一区二区三区 | 欧美高清一级片 | 成人午夜免费在线视频 | 亚洲97 | 无人区国产成人久久三区 | 久久午夜精品福利一区二区 | 日日爽|