找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用stc8單片機(jī)低成本qc快充充電寶給路由器供電 含原理圖PCB源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
設(shè)目的是為了在斷電的時(shí)候能利用帶qc快充功能的充電寶直接給路由器供電,相比于一般的5v-12v升壓的方案,效率更高且輸出功率更大。為了能夠方便的調(diào)節(jié)輸出電壓為路由器常用的5v,9v或12v,使用了一顆stc8g1k08-8pin的單片機(jī)(官方價(jià)0.65元,某一個(gè)寶0.7元還包郵)。
PCB大小只有10.5x25mm,小巧精致。
附件里包含原理圖,PCB和單片機(jī)的源碼。原理圖和pcb是AD的,源碼是keil4的。
原創(chuàng)設(shè)計(jì),歡迎大家一起交流。

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機(jī)源程序如下:
  1. #include "STC8Gxx.h"

  2. #define MAX_OUT 2 //2:12v,3:20v

  3. void Delay1500ms();                //@11.0592MHz
  4. void Delay50ms();                //@11.0592MHz
  5. void OUT_5V();
  6. void OUT_9V();
  7. void OUT_12V();
  8. void OUT_20V();

  9. sbit DNL0=P5^5;
  10. sbit DPH0=P3^1;
  11. sbit DPL0=P3^2;
  12. sbit KEY=P3^0;
  13. sbit LED=P5^4;
  14. unsigned char OUT_STATE=0;        //0:5V,1:9V,2:12V,3:20V

  15. int main()
  16. {
  17. //        Delay1500ms();
  18.         P5M0|=0x30;                //P54,P55 OUT_PP
  19.         P5M1&=~0x30;
  20.         P3M0&=~0x06;        //P31,P32 INPUT
  21.         P3M1|=0x06;
  22.         P3M0&=~0x01;        //P30 Normal
  23.         P3M1&=~0x01;

  24.         P_SW2|=0x80;         //P31,P32 PUSH_UP DIS
  25.         P3PU&=~0x06;
  26.         P_SW2&=~0x80;

  27.         DNL0=0;

  28.         Delay1500ms();

  29.         OUT_5V();

  30.         while(1)
  31.         {
  32.                 if(KEY==0)
  33.                 {
  34.                         Delay50ms();
  35.                         while(KEY==0);
  36.                         Delay50ms();
  37.                         OUT_STATE++;
  38.                 }
  39.                 else continue;
  40.                 if(OUT_STATE>MAX_OUT) OUT_STATE=0;

  41.                 if(OUT_STATE==0) OUT_5V();
  42.                 else if(OUT_STATE==1) OUT_9V();
  43.                 else if(OUT_STATE==2) OUT_12V();
  44.                 else OUT_20V();

  45.                 Delay1500ms();
  46.         }

  47. }

  48. void Delay50ms()                //@11.0592MHz
  49. {
  50.         unsigned char i, j, k;

  51.         i = 3;
  52.         j = 207;
  53.         k = 28;
  54.         do
  55.         {
  56.                 do
  57.                 {
  58.                         while (--k);
  59.                 } while (--j);
  60.         } while (--i);
  61. }

  62. void Delay1500ms()                //@11.0592MHz
  63. {
  64.         unsigned char i, j, k;

  65.         i = 85;
  66.         j = 40;
  67.         k = 170;
  68.         do
  69.         {
  70.                 do
  71.                 {
  72.                         while (--k);
  73.                 } while (--j);
  74.         } while (--i);
  75. }

  76. void OUT_5V()
  77. {
  78.         LED=1;

  79.         P5M0|=0x30;                //P54,P55 OUT_PP
  80.         P5M1&=~0x30;
  81.         P3M0&=~0x06;        //P31,P32 INPUT
  82.         P3M1|=0x06;
  83.         P3M0&=~0x01;        //P30 Normal
  84.         P3M1&=~0x01;

  85.         P_SW2|=0x80;         //P31,P32 PUSH_UP DIS
  86.         P3PU&=~0x06;
  87.         P_SW2&=~0x80;
  88.         
  89.         DNL0=0;        
  90. }

  91. void OUT_9V()
  92. {
  93.         P5M0|=0x30;                //P54,P55 OUT_PP
  94.         P5M1&=~0x30;
  95.         P3M0|=0x06;                  //P31,P32 OUT_PP
  96.         P3M1&=~0x06;

  97.         P_SW2|=0x80;           //P31,P32 PUSH_UP EN
  98.         P3PU|=0x06;
  99.         P_SW2&=~0x80;

  100.         DNL0=1;
  101.         DPH0=1;
  102.         DPL0=0;
  103.         LED=1;
  104. }

  105. void OUT_12V()
  106. {
  107.         P5M0|=0x30;                //P54,P55 OUT_PP
  108.         P5M1&=~0x30;
  109.         P3M0|=0x06;                  //P31,P32 OUT_PP
  110.         P3M1&=~0x06;

  111.         P_SW2|=0x80;           //P31,P32 PUSH_UP EN
  112.         P3PU|=0x06;
  113.         P_SW2&=~0x80;

  114.         DNL0=0;
  115.         DPH0=1;
  116.         DPL0=0;
  117.         LED=0;
  118. }

  119. void OUT_20V()
  120. {
  121.         P5M0|=0x30;                //P54,P55 OUT_PP
  122.         P5M1&=~0x30;
  123.         P3M0|=0x06;                  //P31,P32 OUT_PP
  124.         P3M1&=~0x06;

  125.         P_SW2|=0x80;           //P31,P32 PUSH_UP EN
  126.         P3PU|=0x06;
  127.         P_SW2&=~0x80;

  128.         DNL0=1;
  129.         DPH0=1;
  130.         DPL0=1;
  131.         LED=0;
  132. }
復(fù)制代碼


所有資料51hei提供下載:
QC.zip (655.66 KB, 下載次數(shù): 148)

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:328014 發(fā)表于 2020-12-9 19:28 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:357153 發(fā)表于 2020-12-28 14:18 | 只看該作者
感謝樓主的分享。收藏、值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

地板
ID:430492 發(fā)表于 2020-12-29 14:06 | 只看該作者
好資料,感謝樓主的分享!快充協(xié)議數(shù)據(jù)格式最為重要了。
回復(fù)

使用道具 舉報(bào)

5#
ID:873241 發(fā)表于 2021-1-4 16:44 來自手機(jī) | 只看該作者
不錯(cuò),正好有需求,宿舍晚上就斷電了,買了變壓器,但是太費(fèi)電了,這個(gè)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

6#
ID:430492 發(fā)表于 2021-1-5 17:00 | 只看該作者
這個(gè)思路不錯(cuò),其實(shí)是誘導(dǎo)QC協(xié)議,感謝樓主的分享。
回復(fù)

使用道具 舉報(bào)

7#
ID:64053 發(fā)表于 2021-3-30 23:35 | 只看該作者
LR2010B是什么東東呢
回復(fù)

使用道具 舉報(bào)

8#
ID:756506 發(fā)表于 2021-3-31 11:55 | 只看該作者
不錯(cuò),贊一個(gè)。什么時(shí)候做個(gè)玩玩。
回復(fù)

使用道具 舉報(bào)

9#
ID:756506 發(fā)表于 2021-3-31 11:56 | 只看該作者
93mxt 發(fā)表于 2021-3-30 23:35
LR2010B是什么東東呢

是個(gè)3.3V的LDO。

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

10#
ID:64053 發(fā)表于 2021-4-3 00:02 | 只看該作者

其實(shí)是不是也可以用絲印的662K呢
謝謝回復(fù)
回復(fù)

使用道具 舉報(bào)

11#
ID:857072 發(fā)表于 2021-9-23 23:29 來自手機(jī) | 只看該作者
93mxt 發(fā)表于 2021-4-3 00:02
其實(shí)是不是也可以用絲印的662K呢
謝謝回復(fù)

1117-3.3唄
回復(fù)

使用道具 舉報(bào)

12#
ID:395359 發(fā)表于 2021-12-25 10:26 | 只看該作者
太好了!一直都想做一個(gè)類似的東西!感謝!!
回復(fù)

使用道具 舉報(bào)

13#
ID:983641 發(fā)表于 2022-2-14 12:07 | 只看該作者
是一個(gè)實(shí)用的東東。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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