基于51單片機鉑電阻PT100溫度計程序設計與仿真,使用用鉑熱電阻PT100作為溫度傳感器,用LM324作為放大電路、ADC0804模數轉換電路將其隨被測溫度變化的電壓信號采集下來送單片機進行處理,將被測溫度數據送4位一體共陰數碼管顯示器上顯示出來。溫度測量范圍:-50度到200度。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
PT100熱電阻溫度計仿真.jpg (172.72 KB, 下載次數: 189)
下載附件
基于51單片機鉑電阻PT100溫度計程序設計與仿真
2019-5-11 19:28 上傳
#include <REGX51.H>
#include <intrins.h>
#define Disdata P0
#define discan P2
sbit adrd=P3^7; //IO口定義
sbit adwr=P3^6;
sbit csad=P3^4;
sbit DIN=P0^7; //LED小數點控制
unsigned char j,k,ad_data,t;
unsigned char dis[4]={0x00,0x00,0x00,0x00};
unsigned char code dis_7[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x40};
unsigned char code scan_con[4]={0xfe,0xfd,0xfb,0xf7}; // 列掃描控制字
void delay(unsigned int t)
{
for(;t>0;t--)
{
;
}
} //11微秒延時函數
void scan()
{
char k;
for(k=0;k<4;k++) //四位LED掃描控制
{
Disdata=dis_7[dis[k]];
if(k==1)
{
DIN=1; //加入小數點
}
discan=scan_con[k];
delay(90);
discan=0xff;
}
}
void ad0804()
{
P1=0xff; //讀取P1口之前先給其寫全1
csad=0; //選通ADCS
adrd=0; //AD讀使能
ad_data=P1; //AD數據讀取賦給P1口
adrd=1;
csad=1; //關閉ADCS
adwr=0;
}
{
ad0804();
ad_compute();
scan();
}
}
...............................................完整源程序請下下載附件
0.png (6.39 KB, 下載次數: 129)
下載附件
2019-5-11 22:21 上傳
全部資料51hei下載地址:
基于51單片機鉑電阻PT100溫度計程序設計與仿真.zip
(76.61 KB, 下載次數: 693)
2019-5-11 19:27 上傳
點擊文件名下載附件
基于51單片機鉑電阻PT100溫度計程序設計與仿真 下載積分: 黑幣 -5
|