热电偶测温电路
时间:2023-07-25 07:07:01
实验三 热电偶测温电路
- 一、功能实现
设计八路热电偶测温路,实时在显示屏上显示所有测温。
- 二、电路原理
该系统采用K型热电偶进行温度采集,K热电偶作为温度传感器,K热电偶通常与显示仪器、记录仪器和电子调节器一起使用。K热电偶可以直接从0中测量各种生产℃到1300℃液体蒸汽、气体介质和固体表面温度的范围。整个系统由温度采集部分,数据处理部分,温度显示部分, 由51单片机控制部件组成。温度采集部分首先使用K热电偶检查环境温度,然后通过K热电偶模数转换器—MAX6675进行温度转换,将环境温度转换为12位二进制数据采集到单片机中,以便单片机进行数据处理。在这个系统中,由于是8路温度采集,所以采用串行采集8路温度,并使用单片机P3.两口传输和反馈数据。数据处理部分使用算法在单片机中处理收集到的数据,并将数据转换为100、10个位置P输出0口。调用温度显示部分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
#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更新一次
}