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

標題: 用stc8單片機低成本qc快充充電寶給路由器供電 含原理圖PCB源碼 [打印本頁]

作者: ylj20000606    時間: 2020-12-9 11:20
標題: 用stc8單片機低成本qc快充充電寶給路由器供電 含原理圖PCB源碼
設目的是為了在斷電的時候能利用帶qc快充功能的充電寶直接給路由器供電,相比于一般的5v-12v升壓的方案,效率更高且輸出功率更大。為了能夠方便的調節輸出電壓為路由器常用的5v,9v或12v,使用了一顆stc8g1k08-8pin的單片機(官方價0.65元,某一個寶0.7元還包郵)。
PCB大小只有10.5x25mm,小巧精致。
附件里包含原理圖,PCB和單片機的源碼。原理圖和pcb是AD的,源碼是keil4的。
原創設計,歡迎大家一起交流。

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


單片機源程序如下:
  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. }
復制代碼


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


作者: 51hei團團    時間: 2020-12-9 19:28
好資料,51黑有你更精彩!!!
作者: yyght    時間: 2020-12-28 14:18
感謝樓主的分享。收藏、值得學習
作者: cooleaf    時間: 2020-12-29 14:06
好資料,感謝樓主的分享!!快充協議數據格式最為重要了。
作者: 慌焰火柴    時間: 2021-1-4 16:44
不錯,正好有需求,宿舍晚上就斷電了,買了變壓器,但是太費電了,這個不錯
作者: cooleaf    時間: 2021-1-5 17:00
這個思路不錯,其實是誘導QC協議,感謝樓主的分享!!
作者: 93mxt    時間: 2021-3-30 23:35
LR2010B是什么東東呢
作者: yaoziqiang    時間: 2021-3-31 11:55
不錯,贊一個。什么時候做個玩玩。
作者: yaoziqiang    時間: 2021-3-31 11:56
93mxt 發表于 2021-3-30 23:35
LR2010B是什么東東呢

是個3.3V的LDO。
作者: 93mxt    時間: 2021-4-3 00:02
yaoziqiang 發表于 2021-3-31 11:56
是個3.3V的LDO。

其實是不是也可以用絲印的662K呢
謝謝回復
作者: a185980800    時間: 2021-9-23 23:29
93mxt 發表于 2021-4-3 00:02
其實是不是也可以用絲印的662K呢
謝謝回復

1117-3.3唄
作者: terrygame122    時間: 2021-12-25 10:26
太好了!一直都想做一個類似的東西!感謝!!!
作者: youlinys    時間: 2022-2-14 12:07
是一個實用的東東。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕一区二区三区精彩视频 | 国产特黄一级 | 网页av| 国产精品永久 | 国产精品久久久久久久久久免费 | 一级久久久久久 | 色婷婷久久久久swag精品 | 亚洲国产精选 | 精品久久99| 国产精品99久久久精品免费观看 | 国产视频在线观看一区二区三区 | 午夜婷婷激情 | 91影院在线观看 | 精品国产精品 | 国产午夜精品一区二区三区四区 | 日韩毛片 | 在线国产一区二区 | 亚洲啊v在线 | 国产欧美精品一区二区 | 国产伦精品一区二区三区视频金莲 | 亚洲国产精品一区 | 亚洲精品一区二区三区蜜桃久 | avav在线看 | 国产在线97 | 精品国产免费人成在线观看 | 久久久久久久香蕉 | 蜜桃在线视频 | 国产精品久久久久久久久久久久 | 亚洲国产精品成人久久久 | 精品亚洲永久免费精品 | 国产精品三级 | 一级毛毛片| 亚洲综合99 | 北条麻妃99精品青青久久 | a爱视频| 亚洲精品二区 | 人人九九精 | 性生生活大片免费看视频 | 激情视频网站 | 国产成人福利在线观看 | 亚洲一区二区成人 |