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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

帶低壓報警的51單片機太陽能充電寶設(shè)計與制作(完整代碼資料)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:721056 發(fā)表于 2020-11-25 09:13 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
本設(shè)使用太陽能電池板不定時自供電給鋰電池,同時加入51單片機通過adc0809芯片解析鋰電池電源,并能進行低壓報警,支持兩路5V1A同時放電,增加三個按鍵,支持菜單切換顯示等功能。以及相關(guān)設(shè)計所用的模塊資料。
所用模塊:
STC89C51單片機最小系統(tǒng)
1602LCD
ADC0809模數(shù)轉(zhuǎn)換芯片
DC-DC升壓芯片
太陽能板
鋰電池充放電管理模塊
3.7V鋰電池(1S)
實物圖:



太陽能充電模塊:



升壓模塊:




部分單片機程序代碼:
  1. void Hardware_Init(void)
  2. {
  3.         EA=1;                                 //開總中斷
  4.     TMOD=0x02;                         //設(shè)定定時器 T0工作方式
  5.     TH0=216;                         //利用T0中斷產(chǎn)生CLK信號
  6.     TL0=216;  
  7.     TR0=1;                                 //啟動定時器T0
  8.     ET0=1;                                 //配置adc0809
  9.     STR=0;
  10.     OE=0;
  11.         delayms(50);
  12.         LcdInit();                        //lcd初始化
  13.         for(i=0;i<14;i++)LcdWriteData(welcome[i]);
  14.         led_warn();                        //小燈報警
  15.         delayms(100);
  16.         LcdWriteCom(0x01);  //清屏
  17.         for(i=0;i<12;i++)LcdWriteData(instruction1[i]);
  18.         LcdWriteCom(0x40+0x80);
  19.         for(i=0;i<9;i++)LcdWriteData(instruction2[i]);
  20.         LED=1;
  21.         delayms(100);
  22. }
  23. /*******************************************************************************
  24. 函數(shù)名:  key_scan()
  25. 功  能:    按鍵掃描函數(shù)
  26. *******************************************************************************/
  27. uint update=0;
  28. void key_scan(void)
  29. {
  30.    if(KEY1==0)
  31.    {
  32.            delayms(5);                                         //按鍵消抖,具體原理自行百度
  33.          if(KEY1==0)
  34.          {
  35.                  while(KEY1==0);                                 //等待按鍵釋放,保證按下按鍵只運行一次程序
  36.                  LcdWriteCom(0x01);                   //清屏
  37.                 for(i=0;i<15;i++)LcdWriteData(I_Disp[i]);
  38.                 update=1;                                         //開啟實時更新標(biāo)志位,主函數(shù)內(nèi)更新
  39.          }
  40.    }
  41.    if(KEY2==0)
  42.    {
  43.            delayms(5);
  44.          if(KEY2==0)
  45.          {
  46.                  while(KEY2==0);
  47.                  LcdWriteCom(0x01);                          //清屏
  48.                  update=0;                                                //關(guān)閉實時更新標(biāo)志位
  49.                  LcdWriteCom(0x80);
  50.                  for(i=0;i<12;i++)LcdWriteData(instruction1[i]);
  51.                  LcdWriteCom(0x40+0x80);
  52.                  for(i=0;i<9;i++)LcdWriteData(instruction2[i]);
  53.          }
  54.    }
  55.    if(KEY3==0)
  56.    {
  57.            delayms(5);
  58.          if(KEY3==0)
  59.          {
  60.                  while(KEY3==0);                                   //可增加額外任務(wù)
  61.                 LED=!LED;
  62.          }
  63.    }
  64. }
  65. /*******************************************************************************
  66. 函數(shù)名:  battery_check()
  67. 功  能:    電池檢測及報警函數(shù)
  68. *******************************************************************************/
  69. void battery_check(void)
  70. {
  71.         AD();                                //adc數(shù)據(jù)解析
  72.         if(update)
  73.         {
  74.                 LcdDisplay();
  75.                 delayms(4);                //建議加延時,否則小數(shù)點后兩位變化過快看不清
  76.         }
  77.         if(KEY1&&KEY2&&KEY3) //由于按鍵引腳和adc引腳分時復(fù)用,所以當(dāng)按鍵使用引腳時,停止adc使用
  78.         {                                         //否則adc數(shù)據(jù)不準(zhǔn)確,將影響報警準(zhǔn)確度
  79.            if(disbuff[0]<=3&&disbuff[1]<=2)led_warn();          //警報功能,預(yù)設(shè)3.2V
  80.         }
  81. }

  82. /*******************************************************************************
  83. 函數(shù)名:  main()
  84. 功  能:  主函數(shù)
  85. 注  意:  主函數(shù)內(nèi)由于加入延時,因此按鍵掃描需稍長時間按下才可有反應(yīng)(非中斷式按鍵觸發(fā))
  86. *******************************************************************************/
  87. void main(void)
  88. {
  89.         Hardware_Init();                //系統(tǒng)初始化
  90.         while(1)
  91.           {
  92.                   key_scan();                        //按鍵掃描
  93.                 battery_check();        //電壓檢測顯示、報警
  94.           }         
  95. }
復(fù)制代碼
太陽能充電寶設(shè)計.zip (664.17 KB, 下載次數(shù): 132)
代碼資料評論可見。

本貼為原創(chuàng),轉(zhuǎn)載請注明出處!
時間:2020/11/
祝好!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

11#
無效樓層,該帖已經(jīng)被刪除
10#
ID:839987 發(fā)表于 2021-2-27 23:46 來自觸屏版 | 只看該作者
正好想要研究研究
回復(fù)

使用道具 舉報

9#
ID:796461 發(fā)表于 2020-12-9 20:03 來自觸屏版 | 只看該作者
樓主,這個給0809信號的是電池的正極嗎
回復(fù)

使用道具 舉報

8#
ID:370511 發(fā)表于 2020-12-9 17:29 | 只看該作者
馬克,學(xué)習(xí)到了新的知識了!
回復(fù)

使用道具 舉報

7#
ID:370511 發(fā)表于 2020-12-9 17:28 | 只看該作者
馬克,學(xué)習(xí)新知識
回復(fù)

使用道具 舉報

6#
ID:595677 發(fā)表于 2020-12-9 17:00 | 只看該作者
看的幾個都沒低功耗的呀
回復(fù)

使用道具 舉報

5#
無效樓層,該帖已經(jīng)被刪除
地板
ID:852195 發(fā)表于 2020-12-3 11:24 | 只看該作者
以前做了個太陽能充電寶放車用,現(xiàn)在看看如何加入這個監(jiān)察電路入去
回復(fù)

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
沙發(fā)
ID:517951 發(fā)表于 2020-11-25 23:08 | 只看該作者
正準(zhǔn)備給我的1602萬年歷增加太陽能供電的,想什么就來什么,不錯。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99久久久国产精品免费消防器 | 日韩成人在线免费观看 | 日本欧美在线视频 | 欧美中文字幕在线观看 | 在线中文字幕av | 国产激情免费视频 | 欧美一级免费看 | 91精品一区| 国产精品久久网 | 国产成人午夜高潮毛片 | 亚洲精品国产一区 | 在线国产一区二区 | 日韩一区二区免费视频 | 亚洲va国产日韩欧美精品色婷婷 | 色欧美片视频在线观看 | 一级黄色生活视频 | 国产亚洲精品精品国产亚洲综合 | 二区久久 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 日韩一区精品 | 午夜欧美 | 最新国产精品视频 | 亚洲h在线观看 | 国产免费自拍 | 欧美成人a| 99re在线视频 | www..com18午夜观看 | 国产精品久久久久一区二区三区 | 亚洲国产成人在线视频 | 丁香婷婷在线视频 | 久草视频在线播放 | 亚洲一区中文 | 久久精品二区 | 精久久久 | 久久一区二区视频 | 爱爱免费视频 | 国内精品久久久久久 | 精品成人一区 | 亚州一区二区三区 | av夜夜操| 一区二区三区国产 |