欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機ADC0832電壓檢測程序(充電自動提醒)

[復制鏈接]
跳轉到指定樓層
樓主
Proteus仿真圖:

ADC分壓原理:


單片機源碼:
  1. /*******************************************************************************
  2. *  標題:                        ADC0832檢測電壓                                *
  3. *  時間                      2018年9月27日22:36:36                                                   *
  4. *                                                                                                                                                           *
  5. *  實驗說明:采用ADC0832進行電壓外部電壓測量,可在此基礎上開發其他模塊,例如
  6. GSM通信,智能開鎖、溫度檢測等。本原理圖中ADC0832的參考電壓為5V,外部輸入電壓為5V,
  7. 改變熱敏電阻的值可以改變輸出電壓                                                                                                *
  8. ********************************************************************************
  9. * 實驗心得:ADC0832進行AD轉化的時候,需要研究下時序圖,在進行數據檢測的時候需要
  10. 進行兩次檢測,如果前后兩次數據相等,那么再返回得到的值,減少了測量誤差         *
  11. ********************************************************************************/
  12. #include <reg51.h>
  13. #include "lcd.h"
  14. #include "define.h"
  15. #include "ADC0832.h"               

  16. //全局函數
  17. void Vol_True();
  18. void Vol_TrueDisply();
  19. //全局變量
  20. unsigned char i = 0;
  21. unsigned char Vo[] = "Voltage:";           //LCD1602上顯示電壓
  22. unsigned char Voltage_bit;
  23. unsigned char V_H, V_d, V_ld, V_lld;            //分別是個位、第一位小數位、第二位小數位
  24. float Voltage;
  25. unsigned int Change_Voltage;

  26. void main()
  27. {
  28.         LcdInit();                         //初始化LCD1602
  29.         while(1)
  30.         {
  31.                    Vol_True();
  32.                 LcdWriteCom(0x80);
  33.                 for(i=0; i<9; i++)
  34.                 {
  35.                         LcdWriteData(Vo[i]);
  36.                 }
  37.                 Vol_TrueDisply();        
  38.         }
  39. }

  40. void Vol_True()
  41. {
  42.         Voltage_bit = ADC0832(0);                        //從ADC轉化通道0進入,模數轉化后的值為Voltage_bit;
  43.         Voltage = ((float)Voltage_bit/256)*5;        //Voltage為實際電壓的值,5v為ADC0832的參考電壓
  44.         Change_Voltage = (Voltage+0.137)*1000;         //+0.137是進行誤差校準
  45.         V_H = Change_Voltage/1000+'0';                                 
  46.         V_d = (Change_Voltage%1000)/100+'0';
  47.         V_ld = (Change_Voltage%100)/10+'0';
  48.         V_lld = Change_Voltage%10+'0';        
  49. }

  50. void Vol_TrueDisply()
  51. {
  52.         LcdWriteCom(0x89);
  53.         LcdWriteData(V_H);
  54.         LcdWriteData('.');
  55.         LcdWriteData(V_d);
  56.         LcdWriteData(V_ld);
  57.         LcdWriteData(V_lld);
  58.         LcdWriteCom(0x8e);
  59.         LcdWriteData('V');        
  60. }
復制代碼



全部資料51hei下載地址:
充電自動提醒.rar (84.9 KB, 下載次數: 83)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:501764 發表于 2019-4-23 20:54 來自觸屏版 | 只看該作者
感謝樓主
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表