標題:
單片機+PCF8591熱敏電阻測試數碼管顯示源碼
[打印本頁]
作者:
86yanggang
時間:
2018-5-18 23:04
標題:
單片機+PCF8591熱敏電阻測試數碼管顯示源碼
熱敏電阻測試數碼管顯示單片機源程序如下:
/*-----------------------------------------------
名稱:IIC協(xié)議 PCF8591 AD/DA轉換 測試熱敏電阻
修改:無
內容:使用1路ad測試熱敏電阻阻值,并查表得到溫度值,溫度精度和多種參數有關。
------------------------------------------------*/
#include <reg52.h>
#include "i2c.h"
#include "delay.h"
#include "display.h"
code unsigned int vt_table[]= // 電壓溫度對照表
{
4132,4098,4063,4026,3988,3949,3908,3866,3823,3779,
3733,3686,3639,3590,3540,3489,3437,3385,3331,3277,
3222,3166,3110,3054,2997,2940,2882,2824,2767,2709,
2651,2593,2536,2478,2421,2365,2309,2253,2198,2143,
2089,2036,1984,1932,1881,1831,1782,1734,1686,1640,
1594,1550,1506,1464,1422,1381,1341,1303,1265,1228,
1192
};
#define AddWr 0x90 //寫數據地址 PCF8591
#define AddRd 0x91 //讀數據地址 PCF8591
extern bit ack;
unsigned char ReadADC(unsigned char Chl);
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
unsigned int num=0;
unsigned char i,temp;
Init_Timer0();
while (1) //主循環(huán)
{
num=ReadADC(0);
//變成mv 最大值255 。255x19=4845mv,如果增加精度可以使用浮點計算
num=num*19;
for(i=0;i<61;i++)
{
//判斷采集電壓值大于或者等于表格電壓時,停下來并記錄當前i值
if(num >= vt_table[i])
{
temp=i;
//如果是前10個數據表明是負溫度,需要把溫度符號顯示出來,并且前10位溫度遞增
if(i<10)
{
temp=10-temp; //如果i=0,表示-10
TempData[0]=0x40;//'-'號
}
else
{
temp-=10; //如果大于等于10表明正溫度,把前10個表格負溫度去掉
TempData[0]=0x00;//符號位顯示空
}
break; //檢測到即跳出循環(huán),否則繼續(xù)循環(huán)
}
}
TempData[3]=dofly_DuanMa[temp/10];//顯示2位數溫度值
TempData[4]=dofly_DuanMa[temp%10];
DelayMs(200); //延時防止采集頻率過快
}
}
/*------------------------------------------------
讀AD轉值程序
輸入參數 Chl 表示需要轉換的通道,范圍從0-3
返回值范圍0-255
------------------------------------------------*/
unsigned char ReadADC(unsigned char Chl)
{
unsigned char Val;
Start_I2c(); //啟動總線
SendByte(AddWr); //發(fā)送器件地址
if(ack==0)return(0);
SendByte(0x40|Chl); //發(fā)送器件子地址
if(ack==0)return(0);
Start_I2c();
SendByte(AddWr+1);
if(ack==0)return(0);
Val=RcvByte();
NoAck_I2c(); //發(fā)送非應位
Stop_I2c(); //結束總線
return(Val);
}
復制代碼
所有資料51hei提供下載:
133-熱敏電阻測試數碼管顯示.zip
(35.78 KB, 下載次數: 95)
2018-5-18 23:04 上傳
點擊文件名下載附件
C51源代碼
下載積分: 黑幣 -5
作者:
13306446378
時間:
2019-4-9 18:00
最近就在弄這個,幫助很大!
作者:
jemery1030
時間:
2020-9-14 08:37
只剩熱敏電阻尚未測試,幫助很大,我等等測試。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1