19264液晶屏显示STC12C5A60S2单片机8位AD转换的三线制PT100的温度值的程序
时间: 2023-05-28 12:07:50 浏览: 234
由于没有给出液晶屏型号和连接方式等详细信息,下面仅提供STC12C5A60S2单片机8位AD转换PT100温度的程序参考,具体实现需要根据具体情况进行调整:
```C
#include<reg52.h> //包含STC12C5A60S2单片机的头文件
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P2^4; //定义DQ管脚,连接PT100的三线制接口
void delay(uint x) //延时函数,用于等待PT100的温度数据稳定
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<125;j++);
}
void Init_ADC() //初始化ADC模块
{
ADC_RES=0; //清零ADC转换结果寄存器
ADC_CONTR=0x80; //设置ADC工作模式和时钟,具体可参考数据手册
}
uchar Read_ADC(uchar ch) //读取ADC转换结果函数
{
uchar dat;
ADC_CONTR=0x80|ch; //设置ADC通道和启动转换
delay(1); //等待ADC转换完成
dat=ADC_RES; //读取转换结果
ADC_RES=0; //清零ADC转换结果寄存器
return dat; //返回转换结果
}
float Get_Temperature() //获取温度函数,根据PT100的温度阻值特性曲线进行计算
{
uchar i;
float temp,res;
uchar buf[10];
res=Read_ADC(4); //读取PT100的温度阻值
res=(float)res/255.0*10.0; //将ADC转换结果换算成电压值
res=res/0.0025; //将电压值换算成PT100的阻值
temp=res-100.0; //计算出PT100的温度值
return temp; //返回温度值
}
void main()
{
float temp;
Init_ADC(); //初始化ADC模块
while(1)
{
temp=Get_Temperature(); //获取温度值
//将温度值显示在液晶屏上,具体实现需要根据液晶屏型号和连接方式进行调整
}
}
```
阅读全文