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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何用單片機來做充電指示燈(4顆燈)

[復(fù)制鏈接]
ID:959051 發(fā)表于 2022-7-20 09:02 | 顯示全部樓層 |閱讀模式
我用單片機ADC檢測出來了電池電壓,想通過插充電器時檢測電池電量并且通過指示燈指示,同時最后一顆燈閃爍,表示正在充電,充滿后指示燈不閃爍。放電也會顯示指示燈,電量從高到低,通過指示燈來顯示。請問這個判斷代碼該如何寫呢?
回復(fù)

使用道具 舉報

ID:584814 發(fā)表于 2022-7-20 17:07 | 顯示全部樓層
1、將電池正常電壓區(qū)間從低到高分段,再設(shè)一個低和滿;
2、用單片機ADC檢測出來了電池電壓,與上面的比較;
3、滿足某條件就觸發(fā)對應(yīng)的LED,以你想要的方式點亮。
已知你用單片機ADC檢測出來了電池電壓,那就用多個 IF 好了
回復(fù)

使用道具 舉報

ID:959051 發(fā)表于 2022-7-23 09:09 | 顯示全部樓層
man1234567 發(fā)表于 2022-7-20 17:07
1、將電池正常電壓區(qū)間從低到高分段,再設(shè)一個低和滿;
2、用單片機ADC檢測出來了電池電壓,與上面的比較 ...

你好,現(xiàn)在有個問題就是在充電時電壓處于臨界值指示燈不清晰,一會兩個燈閃 一會一個燈閃。差不多持續(xù)30秒到一分鐘的樣子。請問有什么好辦法嗎?
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-7-23 11:34 | 顯示全部樓層
還不行?
你在另外一個帖子說明白了,我以為搞定了呢可以把你自己的完整代碼和硬件電路上傳上來看一下,不要截圖
我覺得你這是個DIY的東西,可以上傳的
回復(fù)

使用道具 舉報

ID:496636 發(fā)表于 2022-7-23 14:24 | 顯示全部樓層
guoqiang881245 發(fā)表于 2022-7-23 09:09
你好,現(xiàn)在有個問題就是在充電時電壓處于臨界值指示燈不清晰,一會兩個燈閃 一會一個燈閃。差不多持續(xù)30 ...

你可以用個延時程序,電壓判斷過程中,得持續(xù)一定時間,狀態(tài)才轉(zhuǎn)變,這樣可以突略掉突然地電壓上升和下降引起的狀態(tài)改變。
各個電壓區(qū)間對應(yīng)各個狀態(tài)。
回復(fù)

使用道具 舉報

ID:959051 發(fā)表于 2022-7-23 22:52 | 顯示全部樓層
Y_G_G 發(fā)表于 2022-7-23 11:34
還不行?
你在另外一個帖子說明白了,我以為搞定了呢可以把你自己的完整代碼和硬件電路上傳上來看一下,不要 ...

我已經(jīng)上傳了代碼,想了好幾天,我覺得這個是最終的,可以實現(xiàn)我的要求。謝謝你們,感謝有你們。
回復(fù)

使用道具 舉報

ID:959051 發(fā)表于 2022-7-23 22:55 | 顯示全部樓層
  1. /*充電檢測****************************************************************************************************/
  2. /**充電
  3. 小于3.5V第一顆燈閃,1.21V
  4. 大于3.5V到3.7V第一顆亮,第二顆閃  1.21-1.28
  5. 3.7V到3.9V第一,二顆燈亮,第三顆閃 1.28-1.35
  6. 3.9V到4.15V第一二三燈亮,第4顆閃 1.35-1.43
  7. 大于4.15V就全亮表示充滿*******P03充電 低插入充電器**************************************************************************************/
  8. void Charge_lamp()
  9. {
  10.         if (P03 == 0)
  11.         {       
  12.                 if (Flag3000ms)
  13.                 {
  14.                         Flag3000ms = 0;
  15.                         if (Adc_celiang() >= 1.470)
  16.                         {       
  17.                                 chongdian4 = 0;chongdian3 = 0;chongdian2 = 0;chongdian1 = 0;P10 = 1;P11 = 1;P12 = 1;P13 = 1;
  18.                         }
  19.                         else if (Adc_celiang() >= 1.425 && Adc_celiang() <= 1.465) //閃第四顆燈
  20.                         {
  21.                                 chongdian4 = 1;chongdian3 = 0;chongdian2 = 0;chongdian1 = 0;;P10 = 1;P11 = 1;P12 = 1;                       
  22.                         }
  23.                         else if (Adc_celiang()>=1.365 && Adc_celiang()<=1.420)  //閃第三顆燈
  24.                         {
  25.                                 chongdian4 = 0;chongdian3 = 1;chongdian2 = 0;chongdian1 = 0;P10 = 1;P11 = 1;P13 = 0;
  26.                         }
  27.                         else if (Adc_celiang()>=1.285 && Adc_celiang()<=1.360)         //閃第二顆燈
  28.                         {
  29.                                 chongdian4 = 0;chongdian3 = 0;chongdian2 = 1;chongdian1 = 0;P10 = 1;P12 = 0;P13 = 0;
  30.                         }
  31.                         else if (Adc_celiang() <= 1.280)  //閃第一顆燈
  32.                         {
  33.                                 chongdian4 = 0;chongdian3 = 0;chongdian2 = 0;chongdian1 = 1;P11 = 0;P12 = 0;P13 = 0;
  34.                         }
  35.                 }       
  36.         }                       
  37.                
  38. }
  39. //充電閃燈判斷
  40. void ChongDSD()
  41. {
  42.         if (P03 == 0)
  43.         {
  44.                        
  45.                 if (chongdian4)  //閃第四顆燈
  46.                 {       
  47.                 //        chongdian4 = 0;
  48.                         if (Flag100ms){Flag100ms = 0;P13 = !P13;}
  49.                 //        P13 = !P13;
  50.                 }
  51.                 else if (chongdian3)  //閃第三顆燈
  52.                 {
  53.                 //        chongdian3 = 0;
  54.                         if (Flag100ms){Flag100ms = 0;P12 = !P12;}
  55.                 //        P12 = !P12;
  56.                 }
  57.                 else if (chongdian2)        //閃第二顆燈
  58.                 {
  59.                 //        chongdian2 = 0;
  60.                         if (Flag100ms){Flag100ms = 0;P11 = !P11;}
  61.                 //        P11 = !P11;
  62.                 }
  63.                 else if (chongdian1)        //閃第一顆燈
  64.                 {
  65.                 //        chongdian1 = 0;
  66.                         if (Flag100ms){Flag100ms = 0;P10 = !P10;}
  67.                 //        P10 = !P10;
  68.                 }
  69.         }
  70. }
復(fù)制代碼
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区影院 | 免费午夜视频在线观看 | 亚洲视频中文字幕 | 久久久久中文字幕 | 中文字幕在线观看视频网站 | 精品成人一区 | 不卡av在线 | 国产精品1区 | 精品少妇v888av| 日韩三级电影在线看 | 日韩中文字幕在线 | 成人av一区 | 在线观看成人小视频 | 国产一在线观看 | 成人一区二 | 一区二区在线看 | 国产精品免费一区二区三区四区 | 色爱综合网 | 欧美一卡二卡在线 | 青春草91| 精品二区视频 | 欧美色999| 精品久久久久久久久久久院品网 | 在线看片国产 | 欧美久久电影 | 精品一区二区视频 | 国产综合久久 | 精品国产一区二区三区久久久蜜月 | 久久青青| 久久久久久高潮国产精品视 | 日韩一区二 | 中文字幕日韩欧美一区二区三区 | 超碰在线人人干 | 欧美一级黄色片免费观看 | 欧美美女被c | 中文日本在线 | 成人亚洲综合 | 久久久久亚洲 | 国产成人免费 | 九九九视频精品 | 国产在线观看一区二区三区 |