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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5360|回復: 7
打印 上一主題 下一主題
收起左側

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

  [復制鏈接]
跳轉到指定樓層
樓主
本設使用太陽能電池板不定時自供電給鋰電池,同時加入51單片機通過adc0809芯片解析鋰電池電源,并能進行低壓報警,支持兩路5V1A同時放電,增加三個按鍵,支持菜單切換顯示等功能。以及相關設計所用的模塊資料。
所用模塊:
STC89C51單片機最小系統
1602LCD
ADC0809模數轉換芯片
DC-DC升壓芯片
太陽能板
鋰電池充放電管理模塊
3.7V鋰電池(1S)
實物圖:



太陽能充電模塊:



升壓模塊:




部分單片機程序代碼:
  1. void Hardware_Init(void)
  2. {
  3.         EA=1;                                 //開總中斷
  4.     TMOD=0x02;                         //設定定時器 T0工作方式
  5.     TH0=216;                         //利用T0中斷產生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. 函數名:  key_scan()
  25. 功  能:    按鍵掃描函數
  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;                                         //開啟實時更新標志位,主函數內更新
  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;                                                //關閉實時更新標志位
  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);                                   //可增加額外任務
  61.                 LED=!LED;
  62.          }
  63.    }
  64. }
  65. /*******************************************************************************
  66. 函數名:  battery_check()
  67. 功  能:    電池檢測及報警函數
  68. *******************************************************************************/
  69. void battery_check(void)
  70. {
  71.         AD();                                //adc數據解析
  72.         if(update)
  73.         {
  74.                 LcdDisplay();
  75.                 delayms(4);                //建議加延時,否則小數點后兩位變化過快看不清
  76.         }
  77.         if(KEY1&&KEY2&&KEY3) //由于按鍵引腳和adc引腳分時復用,所以當按鍵使用引腳時,停止adc使用
  78.         {                                         //否則adc數據不準確,將影響報警準確度
  79.            if(disbuff[0]<=3&&disbuff[1]<=2)led_warn();          //警報功能,預設3.2V
  80.         }
  81. }

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

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

使用道具 舉報

沙發
ID:517951 發表于 2020-11-25 23:08 | 只看該作者
正準備給我的1602萬年歷增加太陽能供電的,想什么就來什么,不錯。
回復

使用道具 舉報

板凳
ID:852195 發表于 2020-12-3 11:24 | 只看該作者
以前做了個太陽能充電寶放車用,現在看看如何加入這個監察電路入去
回復

使用道具 舉報

地板
ID:595677 發表于 2020-12-9 17:00 | 只看該作者
看的幾個都沒低功耗的呀
回復

使用道具 舉報

5#
ID:370511 發表于 2020-12-9 17:28 | 只看該作者
馬克,學習新知識
回復

使用道具 舉報

6#
ID:370511 發表于 2020-12-9 17:29 | 只看該作者
馬克,學習到了新的知識了!
回復

使用道具 舉報

7#
ID:796461 發表于 2020-12-9 20:03 來自手機 | 只看該作者
樓主,這個給0809信號的是電池的正極嗎
回復

使用道具 舉報

8#
ID:839987 發表于 2021-2-27 23:46 來自手機 | 只看該作者
正好想要研究研究
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av网站在线免费观看 | 99视频网| 欧美日韩国产一区二区三区 | 精品一区二区三区在线观看国产 | 亚洲精品v| www.色.com| 国产精品久久久久久婷婷天堂 | 视频一区二区国产 | 久久精品99国产精品日本 | www.天天操.com | 国外成人在线视频 | 日韩高清一区二区 | 国产精品99久久久久久久久 | 欧美三级久久久 | 免费国产黄网站在线观看视频 | 福利二区 | 97久久精品午夜一区二区 | 天堂亚洲 | 日本羞羞影院 | 黄色a级一级片 | 一区二区三区在线观看视频 | 欧美一区免费 | 精品乱码一区二区三四区 | 亚洲第一天堂 | 特黄色一级毛片 | 中文字幕亚洲视频 | 日韩电影一区二区三区 | 国产伦精品一区二区三区高清 | 在线免费视频一区 | av一区二区三区 | 日韩a在线 | 91久久久久久 | 久久精品99 | 99久热在线精品视频观看 | 日韩精品免费 | 依人成人| 久久精品久久综合 | av片网站 | 日韩精品一区二区三区在线观看 | 91视视频在线观看入口直接观看 | 日韩中文一区二区三区 |