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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機+PCF8591熱敏電阻測試數碼管顯示源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:333350 發表于 2018-5-18 23:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
熱敏電阻測試數碼管顯示單片機源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:IIC協議 PCF8591 AD/DA轉換 測試熱敏電阻
  3.   修改:無
  4.   內容:使用1路ad測試熱敏電阻阻值,并查表得到溫度值,溫度精度和多種參數有關。
  5. ------------------------------------------------*/  
  6. #include <reg52.h>               
  7. #include "i2c.h"
  8. #include "delay.h"
  9. #include "display.h"


  10. code unsigned int  vt_table[]=        // 電壓溫度對照表
  11.         {
  12.                 4132,4098,4063,4026,3988,3949,3908,3866,3823,3779,
  13.                 3733,3686,3639,3590,3540,3489,3437,3385,3331,3277,
  14.                 3222,3166,3110,3054,2997,2940,2882,2824,2767,2709,
  15.                 2651,2593,2536,2478,2421,2365,2309,2253,2198,2143,
  16.                 2089,2036,1984,1932,1881,1831,1782,1734,1686,1640,
  17.                 1594,1550,1506,1464,1422,1381,1341,1303,1265,1228,
  18.                 1192
  19.         
  20.         };

  21. #define AddWr 0x90   //寫數據地址 PCF8591
  22. #define AddRd 0x91   //讀數據地址 PCF8591

  23. extern bit ack;
  24. unsigned char ReadADC(unsigned char Chl);
  25. /*------------------------------------------------
  26.               主程序
  27. ------------------------------------------------*/
  28. main()
  29. {
  30. unsigned int num=0;
  31. unsigned char i,temp;
  32. Init_Timer0();

  33. while (1)         //主循環
  34.   {
  35.   
  36. num=ReadADC(0);
  37. //變成mv 最大值255 。255x19=4845mv,如果增加精度可以使用浮點計算
  38. num=num*19;   
  39. for(i=0;i<61;i++)
  40.    {
  41. //判斷采集電壓值大于或者等于表格電壓時,停下來并記錄當前i值
  42.     if(num >= vt_table[i])
  43.        {
  44.         temp=i;
  45. //如果是前10個數據表明是負溫度,需要把溫度符號顯示出來,并且前10位溫度遞增
  46.         if(i<10)
  47.           {
  48.           temp=10-temp;    //如果i=0,表示-10
  49.           TempData[0]=0x40;//'-'號
  50.           }
  51.         else
  52.           {
  53.           temp-=10; //如果大于等于10表明正溫度,把前10個表格負溫度去掉
  54.           TempData[0]=0x00;//符號位顯示空
  55.           }
  56.                 break;             //檢測到即跳出循環,否則繼續循環
  57.         }
  58.          
  59.       }
  60. TempData[3]=dofly_DuanMa[temp/10];//顯示2位數溫度值
  61. TempData[4]=dofly_DuanMa[temp%10];
  62. DelayMs(200);                    //延時防止采集頻率過快
  63.   }
  64. }
  65. /*------------------------------------------------
  66.              讀AD轉值程序
  67. 輸入參數 Chl 表示需要轉換的通道,范圍從0-3
  68. 返回值范圍0-255
  69. ------------------------------------------------*/
  70. unsigned char ReadADC(unsigned char Chl)
  71. {
  72.    unsigned char Val;
  73.    Start_I2c();               //啟動總線
  74.    SendByte(AddWr);             //發送器件地址
  75.      if(ack==0)return(0);
  76.    SendByte(0x40|Chl);            //發送器件子地址
  77.      if(ack==0)return(0);
  78.    Start_I2c();
  79.    SendByte(AddWr+1);
  80.       if(ack==0)return(0);
  81.    Val=RcvByte();
  82.    NoAck_I2c();                 //發送非應位
  83.    Stop_I2c();                  //結束總線
  84.   return(Val);
  85. }

復制代碼

所有資料51hei提供下載:
133-熱敏電阻測試數碼管顯示.zip (35.78 KB, 下載次數: 95)


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

使用道具 舉報

沙發
ID:507090 發表于 2019-4-9 18:00 | 只看該作者
最近就在弄這個,幫助很大!
回復

使用道具 舉報

板凳
ID:585455 發表于 2020-9-14 08:37 | 只看該作者
只剩熱敏電阻尚未測試,幫助很大,我等等測試。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人性视频在线播放 | 一区欧美| 精品亚洲一区二区三区 | 亚州激情 | 久久久精品视频一区二区三区 | 欧美日韩视频在线播放 | 欧美伊人久久久久久久久影院 | 久久久91精品国产一区二区三区 | 亚洲在线日韩 | 一级黄色片在线免费观看 | 97影院在线午夜 | 国产乱码精品一区二区三区中文 | 国产精品久久久久久久久久久免费看 | 精品国产一区二区国模嫣然 | 欧美在线观看一区 | 国产不卡一区 | 国产欧美精品一区二区色综合 | 精品三区 | 亚州精品天堂中文字幕 | 久久国| 欧美在线观看一区 | 五月婷婷丁香婷婷 | 超碰日本 | 在线观看免费av网 | 久www | 综合网在线 | 欧美日韩久久久 | 午夜精品一区二区三区在线视频 | 国产亚洲精品美女久久久久久久久久 | 日本国产高清 | 一级毛片中国 | 亚洲视频精品在线 | 日本免费一区二区三区 | 亚洲社区在线 | 日韩精品视频一区二区三区 | 美女黄18岁以下禁止观看 | 久久国产精品精品国产色婷婷 | 国产一区在线视频 | 亚洲一区二区中文字幕 | 免费看啪啪网站 | 国产91丝袜在线播放 |