WORD格式可编辑
图10:(a)管脚排列 (b)共阳结构
设计中采用的是7SEG-MPX4-CA,如下图示:
1234为位选,ABCDEFG DP为段码。
图11:ABCDEFG DP为段码
四、硬件电路
4.1、温度采集转换电路模块
温度采集电路模块包括K型热电偶和max6675所组成的电路模块,其电路原理图如图3-2所示,热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0℃~+l023.75℃范围变化。冷端即安装MAX6675的电路板周围温度,
专业知识整理分享
WORD格式可编辑
此温度在-20℃~+85℃范围内变化。当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。MAX6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,因为这样会造成冷端误差。
错误!
图12:温度采集转换电路模块
4.2、放大电路
专业知识整理分享
WORD格式可编辑
放大器的输入信号Vin=Vout=(V+ - V-)。根据电路图可以得到方程:
VA+=300V-/(300+30) ① VA-= VA+ ②
(V?—Vo)(R1?R4)?(VA- —Vo)R4 ③
联立方程可得: Vo=-10(V+ - V-)= S-10 Vout
4.3、电压跟随器
根据电路图可得: Vin = -Vout
4.4、A/D转换电路
MAX6675内部有自带12位AD转换器,在数字控制器的作用下,A/D转换器将模拟信号转换为数字量输出。
AD量化单位: q=5V/4096
转换结果: D=Vin(mV)/q(mV)
专业知识整理分享
WORD格式可编辑
五、整体电路设计
图13:整体电路设计
六、软件设计:
软件包括四个函数:主函数、读取AD转换数值函数、显示函数、延时函数。
#include \
#include \延时函数用
#define uchar unsigned char //用uchar代替unsigned char,1字节0-255 #define uint unsigned int //用uint代替nsigned int,2字节0-26653 sbit SO=P1^0; //P1.0口与SO相连 sbit SCK=P1^1; //P1.1口与SCK相连 sbit CS=P1^2; //P1.2口与CS相连
专业知识整理分享
WORD格式可编辑
uint j; float wendu;
uint Read_AD(); //AD转换数据数据读取,并返回值 void Display_temp(); //温度显示
uchar qian=0,bai=0,shi=0,ge=0,xiao=0; //初始化LED uint temp;
uchar code tab_1[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共阳LED段码表
uchar code tab_2[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //含小数点共阳段码 \ \ \ \ \ \ \ \ \ \
uchar code tab_3[4]={0x01,0x02,0x04,0x08}; //位码
uint Read_AD( ) // AD转换数据读取子函数,并返回值 { uchar i;
unsigned long Temp_2; Temp_2=0; CS=1; SCK=0;
_nop_(); //这个_nop_()等效与汇编里面的NOP指令,即空一个机器周期, CS=0;
for(i=0;i<16;i++) //16位数据读取 {
Temp_2<<=1; //向左移一位
_nop_();
SCK=1; //上升沿脉冲
if(SO==1) {Temp_2=Temp_2|0x01;} else Temp_2=Temp_2|0x00;
_nop_();
SCK=0;
_nop_();
}
Temp_2=Temp_2&0x7FF8; //取3-14位 Temp_2=Temp_2*1024/4096; //变换为温度值 return(Temp_2); //返回值 }
专业知识整理分享