实验三 热电偶测温电路
-
一、功能实现
设计八路热电偶测温路,将测得的温度全部实时显示在显示屏上。
-
二、电路原理
本系统采用的是K型热电偶进行温度采集,K型热电偶作为一种
温度传感器
,K型热电偶通常和显示仪表,
记录仪表
和电子调节器配套使用。K型热电偶可以直接测量各种生产中从0℃到1300℃范围的液体蒸汽和气体介质以及固体的表面温度。整个系统由温度采集部分,数据处理部分,温度显示部分, 51单片机控制部分组成。温度采集部分先使用K型热电偶对环境温度进行检查,再经过K型热电偶模数转换器—MAX6675,进行温度转换,将环境温度转换成12位二进制数据采集进单片机,以便单片机进行数据处理。在本系统中,由于是8路温度采集,因此使用串行的方式,依次对8路温度进行采集,并用单片机的P3.2口来传输与反馈数据。数据处理部分利用算法,在单片机中对采集到的数据进行处理,并转换成百、十、个位通过P0口进行输出。温度显示部分通过调用LCD的显示函数,将温度以四行两列的方式实时地显示在LCD上。
-
三、电路原理图
-
四、物料清单(小器件未计成本)
-
五、仿真工具选择论述
现有的主流仿真工具有Altium Designer、Multisim、Proteus、Cadence、LTspice、Electronic Workbench、Matlab、TINA-TI、Infineon Designer。此次仿真我使用Proteus,Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件,支持电路图设计、PCB 布线和电路仿真。Proteus 支持单片机应用系统的仿真和调试,使软硬件设计在制作 PCB 板前能够得到快速验证,不仅节省成本,还缩短了单片机应用的开发周期。Proteus 是单片机工程师必须掌握的工具。Proteus 软件分为 ARES 和 ISIS 模块,ARES 用来制作 PCB,ISIS 用来绘制电路图和进行电路仿真。
-
六、仿真结果
1、八路温度检测,都精确的测得,并显示在LCD显示屏上,改变温度后,能够实时更新温度显示数值。
-
七、程序代码
#include <reg52.h>
#include “lcd.h”
#include “disp_temp.h”
#include “read_temp.h”
bit up_temp = 0;
//
初始化定时器
void InitTimer0(void)
{
TMOD = 0x01;
//20ms
TH0 = 0x0B1;
TL0 = 0x0E0;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main()
{
uint tem_buf, temp[8] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
uchar i;
InitLcd1602();
InitTimer0();
while(1)
{
if(up_temp)
{
//
实时更新温度显示数值
EA = 0;
up_temp = 0;
for(i=0; i<8; i++)
{
tem_buf = read_tem(i);
if(tem_buf!=temp[i])
{
temp[i] = tem_buf;
dis_tem(i, temp[i]);
}
}
EA = 1;
//
将温度显示在显示屏上
dis_tem(0,read_tem(0));
dis_tem(1,read_tem(1));
dis_tem(2,read_tem(2));
dis_tem(3,read_tem(3));
dis_tem(4,read_tem(4));
dis_tem(5,read_tem(5));
dis_tem(6,read_tem(6));
dis_tem(7,read_tem(7));
}
}
}
//
定时器中断函数
void Timer0Interrupt(void) interrupt 1
{
static uchar count = 0;
TH0 = 0x0B1;
TL0 = 0x0E0;
if(count >=100)
{
count = 0;
up_temp = 1;
}
else
count++;
//2s
更新一次
}