亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

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

QQ登錄

只需一步,快速開始

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

1.5V無(wú)線鼠標(biāo)改造為鋰電池

[復(fù)制鏈接]
ID:134239 發(fā)表于 2016-9-20 20:24 | 顯示全部樓層 |閱讀模式
QQ圖片20160921192909.png
QQ圖片20160921192938.png

鼠標(biāo)有點(diǎn)老,是用一節(jié)5號(hào)電池,10天左右就沒電,所以改造為鋰電池.
0.png
//無(wú)線鼠標(biāo)電源管理
//單片機(jī):stc15w204s
//頻率:6M
//單片機(jī)工作時(shí)管理2.5V穩(wěn)壓輸出,鼠標(biāo)5分鐘無(wú)動(dòng)作關(guān)閉2.5V輸出,單片機(jī)進(jìn)入掉電模式
//單片機(jī)工作時(shí)電池電壓低于3.6V時(shí),進(jìn)入掉電模式
//按鼠標(biāo)左鍵可喚醒單片機(jī)
//掉電模式工作電流: <20uA    工作電流: <10mA   鋰電池容量:1300mAH  型號(hào):14500

無(wú)線鼠標(biāo)電源管理-15w204.rar (95.87 KB, 下載次數(shù): 24)

下面是部分程序預(yù)覽:
  1. //無(wú)線鼠標(biāo)電源管理
  2. //單片機(jī):stc15w204s
  3. //頻率:6M
  4. //單片機(jī)工作時(shí)管理2.5V穩(wěn)壓輸出,鼠標(biāo)5分鐘無(wú)動(dòng)作關(guān)閉2.5V輸出,單片機(jī)進(jìn)入掉電模式
  5. //單片機(jī)工作時(shí)電源電壓低于3.6V時(shí),進(jìn)入掉電模式
  6. //按鼠標(biāo)左鍵可喚醒單片機(jī)
  7. //掉電模式工作電流: <20uA           工作電流: <10mA                電池容量:1300mAH  型號(hào):14500
  8. #include "stc15w204s.h"
  9. #include <intrins.h>                 
  10. typedef unsigned int u16;  //16位無(wú)符號(hào)整型數(shù)
  11. typedef unsigned char u8;  //8位無(wú)符號(hào)整型數(shù)

  12. /*************        本地常量聲明        **************/

  13. //CMPCR1
  14. #define        CMPEN        0x80        //1: 允許比較器, 0: 禁止,關(guān)閉比較器電源
  15. //#define        CMPIF        0x40        //比較器中斷標(biāo)志, 包括上升沿或下降沿中斷, 軟件清0
  16. //#define        PIE                0x20        //1: 比較結(jié)果由0變1, 產(chǎn)生上升沿中斷
  17. //#define        NIE                0x10        //1: 比較結(jié)果由1變0, 產(chǎn)生下降沿中斷
  18. //#define        PIS                0x08        //輸入正極性選擇, 0: 選擇內(nèi)部P5.5做正輸入,           1: 由ADCIS[2:0]所選擇的ADC輸入端做正輸入.
  19. //#define        NIS                0x04        //輸入負(fù)極性選擇, 0: 選擇內(nèi)部BandGap電壓BGv做負(fù)輸入, 1: 選擇外部P5.4做輸入.
  20. //#define        CMPOE        0x02        //1: 允許比較結(jié)果輸出到P1.2, 0: 禁止.
  21. #define        CMPRES        0x01        //比較結(jié)果, 1: CMP+電平高于CMP-,  0: CMP+電平低于CMP-,  只讀

  22. //CMPCR2
  23. //#define        INVCMPO        0x80        //1: 比較器輸出取反,  0: 不取反
  24. //#define        DISFLT        0x40        //1: 關(guān)閉0.1uF濾波,   0: 允許
  25. //#define        LCDTY        0x00        //0~63, 比較結(jié)果變化延時(shí)周期數(shù)


  26. #define        Pin0                0x01        //IO引腳 Px.0
  27. #define        Pin1                0x02        //IO引腳 Px.1
  28. #define        Pin2                0x04        //IO引腳 Px.2
  29. #define        Pin3                0x08        //IO引腳 Px.3
  30. #define        Pin4                0x10        //IO引腳 Px.4
  31. #define        Pin5                0x20        //IO引腳 Px.5
  32. #define        Pin6                0x40        //IO引腳 Px.6
  33. #define        Pin7                0x80        //IO引腳 Px.7
  34. //#define        PinAll                0xFF        //IO所有引腳

  35. sbit KongZi = P3^2;
  36. u8  i ;
  37. bit DianYa=0;
  38. void ConfigTimer2(u8 s);

  39. void main()
  40. {       
  41.     //IO口初始化
  42.         P3M1 |= Pin3;       
  43.         P5M1 |= Pin4+Pin5;          //P3.3 P5.4 P5.5設(shè)置為高阻輸入
  44.         //比較器初始化
  45.         CMPCR1 = 0;
  46.         CMPCR2 = 5;                //比較結(jié)果變化延時(shí)周期數(shù), 0~63
  47.         CMPCR1 |= CMPEN;        //允許比較器                ENABLE,DISABLE
  48.     //        CMPCR1 |= PIE;                //允許上升沿中斷        ENABLE,DISABLE
  49.     //        CMPCR1 |= NIE;                //允許下降沿中斷        ENABLE,DISABLE
  50.     //        CMPCR1 |= PIS;                //輸入正極性選擇, 0: 選擇內(nèi)部P5.5做正輸入,           1: 由ADCIS[2:0]所選擇的ADC輸入端做正輸入.
  51.         //  CMPCR1 |= NIS;                //輸入負(fù)極性選擇, 0: 選擇內(nèi)部BandGap電壓BGv做負(fù)輸入, 1: 選擇外部P5.4做輸入
  52.     //        CMPCR1 |= CMPOE;        //允許比較結(jié)果輸出到P1.2,   ENABLE,DISABLE
  53.     //        CMPCR2 |= INVCMPO;        //比較器輸出取反,         ENABLE,DISABLE
  54.         //  CMPCR2 |= DISFLT;        //內(nèi)部0.1uF濾波,          ENABLE,DISABLE


  55.     CLK_DIV=0x07;         //低速模式128分頻
  56.         WDT_CONTR=0x37;             //喂狗  20S
  57.         //IT1=0;                         //設(shè)置INT1中斷類型上沿和下沿均可喚醒
  58.         IT1=1;                         //設(shè)置INT1中斷類型下沿可喚醒
  59.         EX1=1;                         //使能INT1中斷
  60.         EA=1;
  61.         KongZi=0;
  62.     ConfigTimer2(10);   //配置T2定時(shí) 0-16s
  63.     while (1);
  64.    
  65. }

  66. /* 配置并啟動(dòng)T2,s-T2定時(shí)時(shí)間 */
  67. void ConfigTimer2(u8 s)
  68. {
  69.     unsigned long tmp;  //臨時(shí)變量
  70.    
  71.     tmp = 6000000 / 12 / 128 ;      //定時(shí)器計(jì)數(shù)頻率
  72.     tmp = tmp * s ;  //計(jì)算所需的計(jì)數(shù)值
  73.     tmp = 65536 - tmp;        //計(jì)算定時(shí)器重載值
  74.     T2H = (u8)(tmp>>8);  //定時(shí)器重載值拆分為高低字節(jié)
  75.     T2L = (u8)tmp;
  76.           
  77.         AUXR &= 0xEF;  // 啟動(dòng)T2定時(shí)器  方式 :16位重裝模式計(jì)數(shù)器
  78.         AUXR |= 0x10;  // 啟動(dòng)T2定時(shí)器
  79.            IE2 &= 0xFB;  // 使能T2中斷
  80.         IE2 |= 0x04;  // 使能T2中斷
  81.           
  82.     //ET2 = 1;        //使能T2中斷
  83.     //T2R = 1;        //啟動(dòng)T2定時(shí)器
  84. }
  85. /* 外部中斷服務(wù)函數(shù) , P3.3下降沿觸發(fā)*/
  86. void exint1()interrupt 2
  87. {     CMPCR1 |= CMPEN;  //開啟比較器
  88.           if(DianYa==1)
  89.           {             DianYa=0;
  90.                  if((CMPCR1 & CMPRES) == 0)         //低電壓檢測(cè)
  91.                      {        
  92.                             CMPCR1 = 0;         //關(guān)閉比較器
  93.                                 DianYa=1;         //掉電記錄
  94.                                 KongZi=1;         //控制端 1:2.5V沒輸出 0:2.5V輸出
  95.                             PCON=0x02;  //進(jìn)入掉電模式
  96.                                  _nop_();
  97.                                 _nop_();
  98.                                 return;
  99.                      }
  100.           }
  101.           i=0;
  102.           KongZi=0;         //控制端 1:2.5V沒輸出 0:2.5V輸出
  103. }

  104. /* T2中斷服務(wù)函數(shù) */
  105. void InterruptTimer2() interrupt 12
  106. {       
  107.     WDT_CONTR=0x37;             //喂狗  20S
  108.         if((CMPCR1 & CMPRES) == 0)        //低電壓檢測(cè)
  109.     {        
  110.             CMPCR1 = 0;          //關(guān)閉比較器
  111.                 DianYa=1;          //掉電記錄
  112.                 KongZi=1;          //控制端 1:2.5V沒輸出 0:2.5V輸出
  113.             PCON=0x02;   //進(jìn)入掉電模式
  114.                  _nop_();
  115.                 _nop_();
  116.                 return;
  117.      }

  118.     i++;
  119.     if(i>=30)                 //空閑5分鐘進(jìn)入掉電模式
  120.         {   i=0        ;
  121.                 CMPCR1 = 0;         //關(guān)閉比較器
  122.             KongZi=1;         //控制端 1:2.5V沒輸出 0:2.5V輸出
  123.                 PCON=0x02;  //進(jìn)入掉電模式
  124.                  _nop_();
  125.                 _nop_();
  126.        
  127.         }       

  128. }
復(fù)制代碼


評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2016-9-21 07:07 | 顯示全部樓層
電路圖上有個(gè)錯(cuò)誤,+4.2v和-4.2v之間的電壓是8.4v,而且-4.2v與gnd發(fā)生了短路,2.5v的輸出也一樣。
回復(fù)

使用道具 舉報(bào)

ID:134239 發(fā)表于 2016-9-21 19:20 | 顯示全部樓層
本帖最后由 0o000000 于 2016-9-21 19:24 編輯
npn 發(fā)表于 2016-9-21 07:07
電路圖上有個(gè)錯(cuò)誤,+4.2v和-4.2v之間的電壓是8.4v,而且-4.2v與gnd發(fā)生了短路,2.5v的輸出也一樣。


標(biāo)注錯(cuò)誤而已,修改一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表