功能说明:
运用所学单片机知识,完成温度信号的测量。要求如下:单片机系统选择使用AT89C51,通过热敏电阻PT100检测温度并使用AD转换获取温度值(不允许使用DS18B20等传感器),在数码管上显示温度值。
仿真电路
程序
PT100驱动
void PT100()
{
double deal,U;//
U=5.0/255.0*getdata;
deal=U*20*10;
temp=(long int)deal;
if(U<5.2&&U>0)
{
dispbuf[0]=temp%10;
dispbuf[1]=temp/10%10;
dispbuf[2]=temp/100%10;
dispbuf[3]=temp/1000;
}
else
{
dispbuf[0]=0;
dispbuf[1]=0;
dispbuf[2]=0;
dispbuf[3]=0;
}
display();
}
main函数
/****************************************************************************************/
main()
{
TMOD = 0x10; //定时器0,工作在定时器方式
TH1 = (65536-200)/256; //0x3c
TL1 = (65536-200)%256; //0xb0
EA = 1; //开总中断
ET1 = 1; //打开(允许)定时器1中断
TR1 =1; //开始(启动)定时
while(1)
{
STAR=0;
OE=0;
STAR=1;
STAR=0;
while(EOC==0)
{
OE=1;
delay_ms(10);
getdata=P1;
OE=0;
PT100();
}
}
}
本设计下载链接
阅读全文