pt100测温程序
Pt100铂电阻测温特性实验.

实验三十Pt100铂电阻测温特性实验一、实验目的:在实验二十九的基础上了解P t100热电阻—电压转换方法及P t100热电阻测温特性与应用。
二、基本原理:利用导体电阻随温度变化的特性,可以制成热电阻,要求其材料电阻温度系数大,稳定性好,电阻率高,电阻与温度之间最好有线性关系。
常用的热电阻有铂电阻(500℃以内)和铜电阻(150℃以内)。
铂电阻是将0.05~0.07mm的铂丝绕在线圈骨架上封装在玻璃或陶瓷内构成,图30—1是铂热电阻的结构。
在0~500℃以内,它的电阻R t与温度t的关系为:R t=R o(1+At+Bt2),式中: R o系温度为0℃时的电阻图30—1铂热电阻的结构值(本实验的铂电阻R o=100Ω)。
A=3.9684×10-3/℃,B=-5.847×10-7/℃2。
铂电阻一般是三线制,其中一端接一根引线另一端接二根引线,主要为远距离测量消除引线电阻对桥臂的影响(近距离可用二线制,导线电阻忽略不计)。
实际测量时将铂电阻随温度变化的阻值通过电桥转换成电压的变化量输出,再经放大器放大后直接用电压表显示,如图30—2所示。
图30—2热电阻信号转换原理图图中△V=V1-V2;V1=[R3/(R3+R t)]V c;V2=[R4/(R4+R1+R W1)]V c;-V2={[R3/(R3+R t)]-[R4/(R4+R1+R W1)]}V c;△V=V1所以Vo=K△V= K{[R3/(R3+R t)]-[R4/(R4+R1+R W1)]}V c。
式中R t随温度的变化而变化,其它参数都是常量,所以放大器的输出Vo与温度(R t)有一一对应关系,通过测量Vo可计算出R t:Rt=R3[K(R1+R W1)V c-(R4+R1+R W1)V o]/[KV c R4+(R4+R1+R W1)V o]。
P t100热电阻一般应用在冶金、化工行业及需要温度测量控制的设备上,适用于测量、控制<600℃的温度。
PT100铂热电阻测温实验

PT100铂热电阻测温实验PT100铂热电阻测温实验一、实验目的1.了解PT100铂热电阻的测温原理;2.掌握PT100铂热电阻的测温方法;3.学会使用数据采集仪进行温度测量。
二、实验原理PT100铂热电阻是一种利用铂金电阻随温度变化的特性来测量温度的传感器。
其基本原理是:在0℃时,PT100铂热电阻的阻值为100Ω,随着温度的升高,其阻值按一定规律增加。
通过测量PT100铂热电阻的阻值,可以推算出相应的温度值。
PT100铂热电阻的阻值与温度之间的关系可以用斯特曼方程表示:R(T) = R0(1 + AT + BT^2 + CT^3(1 - T0))其中,R(T)为温度T时的阻值,R0为0℃时的阻值,A、B、C为斯特曼系数,T0为参考温度(通常为0℃)。
在本实验中,我们只需要知道R0和A的值即可进行温度测量。
根据国际电工委员会(IEC)标准,PT100铂热电阻的R0为100Ω,A 为3.9083×10^-3℃。
三、实验步骤1.将PT100铂热电阻接入数据采集仪的输入通道;2.打开数据采集仪软件,设置采样率和采样时间;3.将数据采集仪与计算机连接,启动数据采集软件;4.将PT100铂热电阻放入恒温槽中,设置恒温槽的温度;5.等待恒温槽温度稳定后,记录数据采集仪显示的温度值;6.重复步骤4和5,改变恒温槽的温度,记录多个温度值;7.将实验数据整理成表格,进行分析和处理。
四、实验结果与分析实验数据如下表所示:根据实验数据,我们可以得出以下结论:1.PT100铂热电阻的测温精度较高,相对误差在±0.5%以内;2.随着温度的升高,PT100铂热电阻的阻值逐渐增大,与斯特曼方程的描述相符;3.数据采集仪能够准确地采集PT100铂热电阻的温度信号,并将其转换为数字量输出。
五、实验总结与体会通过本次实验,我们了解了PT100铂热电阻的测温原理和方法,并掌握了使用数据采集仪进行温度测量的技能。
pt100 查表法程序

pt100 查表法程序PT100是一种广泛应用于温度测量的传感器,主要用于工业自动化、实验室测试以及其他需要精确温度控制的领域。
在PT100传感器中,温度与电阻之间存在一种线性关系,通过测量电阻的变化来确定温度。
为了准确地将PT100传感器的电阻值转换为温度值,可以使用查表法。
查表法是一种常见的数据处理方法,通过预先计算并存储温度与电阻之间的对应关系,以便后续的温度测量中进行查询和匹配。
下面是一个使用查表法的PT100温度测量程序的示例:```python# PT100温度查表程序# 定义查表数据table = {100: -200,200: -150,300: -100,400: -50,500: 0,600: 50,# ... 其他温度和电阻的对应关系}# 根据电阻值查找温度def lookup_temperature(resistance):if resistance in table:return table[resistance]else:# 进行线性插值计算lower_resistance = max(key for key in table if key < resistance)higher_resistance = min(key for key in table if key > resistance)lower_temperature = table[lower_resistance]higher_temperature = table[higher_resistance]temperature = lower_temperature + (higher_temperature - lower_temperature) * (resistance - lower_resistance) / (higher_resistance - lower_resistance)return temperature# 测试查表函数resistance = 350temperature = lookup_temperature(resistance)print('电阻值 {} 对应的温度为 {}°C'.format(resistance, temperature))```上述程序中,我们首先定义了一个查表数据(table),其中包含了一些电阻值和对应的温度。
Pt100热电阻测温实验

Pt100热电阻测温实验:T(℃)404550556065707580859095100 V/mv-11.9-12.9-16.0-19.1-21.8-24.7-27.5-30.2-32.8-36.5-19.3-41.5-44.4 V/mv-4.3-9.1-10.7-14.2-18.4-21.2-24.3-26.9-28.4-30.9-33.1-37.3-41.1平均值-8.1-11-13.4-16.7-20.1-23.0-25.9-28.6-30.6-33.7-36.1-39.4-42.8程序x=[40:5:100];y=[-8.1,-11.0,-13.4,-16.7,-20.1,-23.0,-25.9,-28.6,-30.6,-33.7,-36.1,-39.4,-42.8];p=polyfit(x,y,1);z=polyval(p,x);plot(x,z,'-k',x,y,'r.')title('Vop-p-X曲线')grid onxlabel('X/mm')ylabel('V/v')hold on(1)灵敏度计算:x=[40:5:100];y=[-8.1,-11.0,-13.4,-16.7,-20.1,-23.0,-25.9,-28.6,-30.6,-33.7,-36.1,-39.4,-42.8];P=polyfit(x,y,1)程序结果:p =-0.5699 14.5538由以上程序可得两条直线方程分别为:V1=-0.5699 x+14.5538所以灵敏度分别为 S1=-0.5699mV/℃(2)非线性误差:x=[40:5:100];y=[-8.1,-11.0,-13.4,-16.7,-20.1,-23.0,-25.9,-28.6,-30.6,-33.7,-36.1,-39.4,-42.8];P1=polyfit(x,y,1)p=polyfit(x,y,1);z=polyval(p,x);c=abs(z-y);Vm=max(c)程序结果:Vm = 0.6363所以,满量程输出由图可得为 -42.8mV,非线性误差为 0.6363.思考题1、总结Pt100热电阻传感器有哪些优缺点。
Pt1000热电阻温度测量

1 工作原理本系统可以分为五大部分:热电阻温度采集、运行状态显示、继电器控制、键盘输入、风向步进电机控制。
2.1 热电阻温度采集热电阻传感器以其温度特性稳定、测量精图1 Pt1000热电阻温度测量电路度高的特点,在大型中央空调得到了广泛的应用。
采用Pt1000热电阻作为温度传感器的测量电路原理图如图1 所示。
热电阻Rt 与三个电阻接成电桥。
当温度变化时,使得运算放大器的同相输入端的电位发生变化,经过运算放大器放大之后输入到Atmega16单片机进行AD 转换。
由于单片机采用5V 电压作为ADC 的参考电源,而电桥在温度变化为0~100°C 时,输出电压范围为0~0.7V ,所以确定运算放大电路的放大倍数为7,以获得最佳的测量结果。
运算放大电路的电阻按以下公式确定:71045==iu u R R + 456//R R R =取Ω===860,1,6645R k R k R 。
输出电压变化范围大致是0~5V 。
由于ADC 的转换精度为10,故当输入电压为5V 时,其采样值为1023,根据电桥平衡原理,可得到以下公式:)21(1023750-+•=•t t R R R U N V (1) 其中,N ——ADC 数据寄存器的值,U ——电桥电源电压,0R ——Pt1000在0°C 时的电阻1000Ω。
Pt1000热电阻的阻值按以下公式计算::)1(20t B t A R R t ⋅+⋅+= (2)Rt ——温度为t 时铂热电阻的电阻值,Ω;t ——温度,℃;0R ——Pt1000在0°C 时的电阻1000Ω。
A ——分度常数,A =0.00728B ——分度常数,B =-0.000000626用Visual 根据以上公式(1)、(2)生成用N 来查找温度t 的程序表格,其代码如下:Private Sub Pt1000()Me .Cursor = Cursors.WaitCursortxtTab.Clear()Dim U As Integer = 9 '电桥电源电压'热电阻0度时的电阻值Dim Pt1000_R0 As Integer = 1000Dim n As IntegerDim sngT As SingleDim sngRt As SingletxtTab.AppendText("const float Pt1000Tab[]={" & Chr(13) & Chr(10))For n = 0 To 1023sngRt = (10000 * n + 7161000 * U) / (7161 * U - 10 * n)sngT = (-const_A + Sqrt(const_A ^ 2 - 4 * const_B * (1 - sngRt / Pt1000_R0))) / (2 * const_B) If n < 1023 Then txtTab.AppendText(Format(Abs(sngT), "0.0") & ", /* " & n & " */")Else txtTab.AppendText(Format(Abs(sngT), "0.0") & " /* " & n & " */" & Chr(13)& Chr(10) & "};")End IfIf n Mod 5 = 0 ThentxtTab.AppendText(Chr(13) & Chr(10))End IfNexttxtTab.SelectAll()txtTab.Copy()Me .Cursor = Cursors.DefaultEnd Sub生成的程序常数表格(1024个值)部分如下:const float Pt1000Tab[]={0.0, /* 0 */ 0.1, /* 1 */0.2, /* 2 */0.2,……63.4, /* 696 */63.5, /* 697 */……99.3, /* 1022 */99.4 /* 1023 */};2.2 运行状态显示本系统采用一块16×4的字符型液晶模块,这种类型的LCD应用很广泛,其控制驱动主芯片为HD44780及其扩展驱动芯片HD44100(或兼容芯片),少量阻、容元件,结构件等装配在PCB板上而成。
PT100温度测量试验

内燃机测试技术试验实验PT100热电阻温度测量试验实验学时:2实验类型:基础型实验对象:本科生一.实验目的:1.了解热电阻温度测量基本原理。
2.了解PT100热电阻温度特性。
3.掌握PT100热电阻恒流温度测量电路实现和关键参数计算。
二.实验原理及设备说明1.热电阻温度测量基本原理热电阻是中低温区最常用的一种温度检测器。
它的主要特点是测量精度高,性能稳定。
其中铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。
金属热电阻的感温元件有石英套管十字骨架结构,麻花骨架结构得杆式结构等。
金属热电阻常用的感温材料种类较多,最常用的是铂丝。
工业测量用金属热电阻材料除铂丝外,还有铜、镍、铁、铁—镍、钨、银等。
薄膜热电阻是利用电子阴极溅射的方法制造,可实现工业化大批量生产。
其中骨架用陶瓷,引线采用铂钯合金。
热电阻材料热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。
热电阻大都由纯金属材料制成,目前应用最多的是铂和铜,此外,现在已开始采用镍、锰和铑等材料制造热电阻。
金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即Rt=Rt0[1+α(t-t0)]式中,Rt为温度t时的阻值;Rt0为温度t0(通常t0=0℃)时对应电阻值;α为温度系数。
半导体热敏电阻的阻值和温度关系为Rt=AeB/t式中Rt为温度为t时的阻值;A、B取决于半导体材料的结构的常数。
相比较而言,热敏电阻的温度系数更大,常温下的电阻值更高(通常在数千欧以上),但互换性较差,非线性严重,测温范围只有-50~300℃左右,大量用于家电和汽车用温度检测和控制。
金属热电阻一般适用于-200~500℃范围内的温度测量,其特点是测量准确、稳定性好、性能可靠,在程控制中的应用极其广泛。
工业上常用金属热电阻从电阻随温度的变化来看,大部分金属导体都有这个性质,但并不是都能用作测温热电阻,作为热电阻的金属材料一般要求:尽可能大而且稳定的温度系数、电阻率要大(在同样灵敏度下减小传感器的尺寸)、在使用的温度范围内具有稳定的化学物理性能、材料的复制性好、电阻值随温度变化要有间值函数关系(最好呈线性关系)。
PT100多路温控器说明书

多路温度控制器说明书一、功能概述采用高性能单片监控芯片为核心,确保了产品测控的精确性、稳定性。
是一款高精密度、高集成性的控制器。
该产品可以同时配接多路传感器,可以同时对一个环境进行多重控制,或独立监测、控制多个环境的温度。
产品分为4路温度控制;8路温度控制;12路温度控制。
可以分别数字显示12路(最多12路)环境测量的温度值。
产品带有独立的自整定模式和独立的PID参数,且具有计算机通讯功能。
二、机种构成及规格1、面板说明a、显示框(4位数字):显示测温点温度。
b、PRG键:设定选择。
连续按3秒:进入或退出设定模式。
c: SET键:设置/移位键。
连续按1.5秒:进入或退出设置状态点动按键:移动设定数据位置。
d、点动∧和∨键(增/减)键。
按一次,设定时间数据增/减“1”若按下不放,则连续增/减。
2、技术参数表二、控制器接线方式三、控制器外形及按装尺寸可以采用平底导轨或螺栓固定方式安装。
四、程序设定表程序序号功能设定数值说明Cd00 PID自整定设定101~112 按顺序1-12路分别自整定Cd01-12 1-12路温度设定0-999.9度按顺序分别设定温度Cd13 温度超偏差 5.0度超过5度报警Cd14 Pid工作范围30.0 范围外输出为100%Cd15 温度超偏差停机 2.0度Cd16Cd17 积分范围10.0度Cd20 开机PID 0-100 输出功率设定Cd21 显示最小值0 0-11 显示实际温度12-23显示设定温度Cd22 显示最大值23Cd23 循环显示时间 3.0秒循环显示12路温度Cd24 温度显示方式0 带一位小数1 不带小数Cd27 比例系数36 群体修改比例系数Cd0=5 Cd28 积分时间80s 群体修改积分时间Cd0=5 Cd29 微分时间10s 群体修改微分时间Cd0=5 Cd31-Cd66 PID使用Cd31 比例系数1 36Cd32 积分时间1 80sCd33 微分时间1 10sCd34 比例系数2 36Cd35 积分时间2 80sCd36 微分时间2 10sCd37 比例系数3 36Cd38 积分时间3 80sCd39 微分时间3 10sCd40 比例系数4 36Cd41 积分时间4 80s五、故障报警:CD13 温度超偏差功能,温度控制器输出端Y12报警输出。
51+HD7279+ADS1110+PT100的测温系统(程序)

#include <intrins.h>#include <STC12C5A60S2.H>typedef unsigned int uint;typedef unsigned char uchar;typedef unsigned short WORD;float code RTD_TAB_PT100[151] = // 表格是以1度为一步,即-20, -19, -18.....{88.22, 88.62 ,88.62, 89.40, 89.80, 90.19, 90.59, 90.98, 91.37, 91.77, // -30 ~ -2192.16, 92.55, 92.95, 93.34, 93.73, 94.12, 94.52, 94.91, 95.30, 95.69, // -20 ~ -1196.09, 96.48, 96.87, 97.26, 97.65, 98.04, 98.44, 98.83, 99.22, 99.61, // -10 ~ -1100.00,100.39,100.78,101.17,101.56,101.95,102.34,102.73,103.13,103.51, // 0 ~ 9 103.90,104.29,104.68,105.07,105.46,105.85,106.24,106.63,107.02,107.49, // 10 ~ 19 107.79,108.18,108.57,108.96,109.35,109.73,110.12,110.51,110.90,111.28, // 20 ~ 29 111.67,112.06,112.45,112.83,113.22,113.61,113.99,114.38,114.77,115.15, // 30 ~ 39 115.54,115.93,116.31,116.70,117.08,117.47,117.86,118.24,118.62,119.01, // 40 ~ 49 119.40,119.78,120.16,120.55,120.93,121.32,121.70,122.09,122.47,122.86, // 50 ~ 59 123.24,123.62,124.01,124.39,124.77,125.16,125.54,125.92,126.31,126.69, // 60 ~ 69 127.07,127.45,127.84,128.22,128.60,128.98,129.37,129.75,130.13,130.51, // 70 ~ 79 130.89,131.27,131.66,132.04,132.42,132.80,133.18,133.56,133.94,134.32, // 80 ~ 89 134.70,135.08,135.46,135.84,136.22,136.60,136.98,137.36,137.74,138.12, // 90 ~ 99 138.50,138.88,139.26,139.64,140.02,140.39,140.77,141.15,141.53,141.91, // 100 ~ 109 142.29,142.66,143.04,143.42,143.80,144.17,144.55,144.93,145.31,145.68, // 110 ~ 119 146.06 // 120};//float code RTD_TAB_PT100[41] = // 表格是以5度为一步,即-50, -45, - 40.....//{// 80.31, 82.29, 84.27 ,86.25, 88.22, 90.19, 92.16, 94.12, 96.09, 98.04, // -50 ~ -5// 100.00,101.95,103.90,105.85,107.79,109.73,111.67,113.61,115.54,117.47, // 0 ~ 45// 119.40,121.32,123.24,125.16,127.08,128.99,130.90,132.80,134.71,136.61, // 50 ~ 95// 138.51,140.40,142.29,144.18,146.07,147.95,149.83,151.71,153.58,155.46, // 100 ~ 145// 157.33 // 50 //};sbit beep = P3^5;//----------------ADS1110地址、配置字-----------------//#define ADS1110_WR_ADDRESS 0x92 // 1001 001 0 写#define ADS1110_RD_ADDRESS 0x93 // 1001 001 1 读#define ADS1110_CONFIG_REG 0x8C // 连续转换模式,16bit精度,PGA=1 sbit ADS1110_SDA = P1^5; // 模拟I2C数据传输位sbit ADS1110_CLK = P1^6; // 模拟I2C时钟控制位//uchar TMR_H, TMR_L; // AD转换高8位,和低8位uint AD_Result[25];unsigned long nTmp;//*** HD7279 函数定义***void long_delay(void); // 长延时void short_delay(void); // 短暂延时void delay10ms(unsigned char); // 延时10MS void write7279(uchar, uchar); // 写入到HD7279uchar read7279(uchar); // 从HD7279读出void send_byte(uchar); // 发送一个字节uchar receive_byte(void); // 接收一个字节sbit cs =P0^7; // cs at P1.4sbit clk=P0^6; // clk 连接于P1.5sbit dat=P0^5; // dat 连接于P1.2sbit key=P0^4; // key 连接于P1.3sbit Hight_LED = P4^6;sbit Low_LED = P4^1;//****** HD7279A 指令******#define CMD_RESET 0xa4#define CMD_TEST 0xbf#define DECODE0 0x80#define DECODE1 0xc8#define CMD_READ 0x15#define UNDECODE 0x90#define RTL_CYCLE 0xa3#define RTR_CYCLE 0xa2#define RTL_UNCYL 0xa1#define RTR_UNCYL 0xa0#define ACTCTL 0x98#define SEGON 0xe0#define SEGOFF 0xc0#define BLINKCTL 0x88//-------- AT24C04 变量声明---------sbit _24C02_SCL = P2^6; //A T24C04的时钟sbit _24C02_SDA = P2^5; //A T24C04的数据uchar BUF[16]; //数据缓存区uint code nDefaultDATA[] ={// nLowTMP nHightTMP nTMPAdj480, 650, 0 // 默认设置};uint nSettingDATA[3] = {0, 0, 0}; // 当前设置void Delay5us();void AT24C04_Start();void AT24C04_Stop();void AT24C04_SendACK(bit ack);bit AT24C04_RecvACK();void AT24C04_SendByte(uchar dat);uchar A T24C04_RecvByte();void AT24C04_ReadPage();void AT24C04_WritePage();//****** 红外接收******sbit IRIN = P3^3; //红外接收器数据线uchar IRCOM[7];uchar nFlag = 0;uchar nMode = 1; // nMode 0 1 2 3// mean NULL nLowTMP nHightTMP nTMPAdjuint nLowTMP = 480; // 最低温度设定uint nHightTMP = 650; // 最高温度设定char nTMPAdj = 0; // 温度修正void send_ad_result(uchar temp);/*********************************************************************************** ************************************************************************************ ////////////////////////////////HD 7279 函数////////////////////////////////////////************************************************************************************ ************************************************************************************/ void write7279(uchar cmd, uchar dta){cs = 0;send_byte (cmd);send_byte (dta);cs = 1;}uchar read7279(uchar command){cs = 0;send_byte(command);return(receive_byte());cs = 1;}void send_byte( uchar out_byte){uchar i;cs=0;long_delay();for (i=0;i<8;i++){if (out_byte&0x80){dat=1;}else{dat=0;}clk=1;short_delay();clk=0;short_delay();out_byte=out_byte*2;}dat=0;}uchar receive_byte(void){uchar i, in_byte;dat=1; // set to input modelong_delay();for (i=0;i<8;i++){clk=1;short_delay();in_byte=in_byte*2;if (dat){in_byte=in_byte|0x01;}clk=0;short_delay();}dat=0;return (in_byte);}void delay10ms(uint time) //误差-0.000000000001us{uchar a,b,c;uint i;for (i=0;i<time;i++){for(c=7;c>0;c--)for(b=168;b>0;b--)for(a=24;a>0;a--);}}void long_delay(void){unsigned char i;for (i=0;i<0x30;i++);}void short_delay(void){unsigned char i;for (i=0;i<8;i++);}/*********************************************************************************** ************************************************************************************ ////////////////////////////////HD 7279 函数END////////////////////////////////////////************************************************************************************ ************************************************************************************///--------------------- 模块延时程序_1ms -------------------------void delay1ms(uint delay1ms) //STC11F60XE,延时1ms{uchar a,b;// 12M// for(;delay1ms>0;delay1ms--)// for(b=222;b>0;b--)// for(a=12;a>0;a--);// 11.0592Mfor( ; delay1ms > 0; delay1ms--)for(b = 21; b > 0; b--)for(a = 130; a > 0; a--);}void Delay5us() // 晶振11.0592M 误差-0.026765046296us {uchar a;for(a=12;a>0;a--);_nop_();}void delay(uint delay) //STC11F60XE,12M,延时170us{uchar a,b;// 12M// for(;delay>0;delay--)// for(b=78;b>0;b--)// for(a=5;a>0;a--);// 11.0592Mfor( ; delay > 0; delay--)for( b = 2; b > 0; b--)for( a = 232; a > 0; a--);}//--------------------- 数码管显示函数-------------------------void Display_TMP(uint nTmp1){//send_byte(CMD_RESET);write7279(DECODE0,nTmp1/100%100);delay1ms(2);write7279(DECODE0+1,nTmp1/10%10);delay1ms(2);write7279(SEGON,15);delay1ms(2);write7279(DECODE0+2,nTmp1%10);delay1ms(2);write7279(SEGON,63);delay1ms(2);write7279(SEGON,62);delay1ms(2);write7279(SEGON,61);delay1ms(2);write7279(SEGON,60);delay1ms(2);write7279(SEGON,59);delay1ms(2);// write7279(DECODE0+4,nTmp2/100%100); // delay1ms(2);// write7279(DECODE0+5,nTmp2/10%10); // delay1ms(2);// write7279(SEGON,47);// delay1ms(2);// write7279(DECODE0+6,nTmp2%10);// delay1ms(2);// write7279(SEGON,31);// delay1ms(2);// write7279(SEGON,30);// delay1ms(2);// write7279(SEGON,29);// delay1ms(2);// write7279(SEGON,28);// delay1ms(2);// write7279(SEGON,27);// delay1ms(2);//delay10ms(1000);//send_byte(CMD_RESET);}void Display_SETTMP(uint nTmp2){//send_byte(CMD_RESET);write7279(DECODE0+4,nTmp2/100%100);delay1ms(2);write7279(DECODE0+5,nTmp2/10%10);delay1ms(2);write7279(SEGON,47);delay1ms(2);write7279(DECODE0+6,nTmp2%10);delay1ms(2);write7279(SEGON,31);delay1ms(2);write7279(SEGON,30);delay1ms(2);write7279(SEGON,29);delay1ms(2);write7279(SEGON,28);delay1ms(2);write7279(SEGON,27);delay1ms(2);//delay10ms(1000);//send_byte(CMD_RESET);}void Display_SET(){send_byte(CMD_RESET);if (nMode == 1) // set nLowTMP{write7279(SEGON,1);delay1ms(2);write7279(SEGON,2);delay1ms(2);write7279(SEGON,3);delay1ms(2);write7279(DECODE0+4,nLowTMP/100%100);delay1ms(2);write7279(DECODE0+5,nLowTMP/10%10);delay1ms(2);write7279(SEGON,47);delay1ms(2);write7279(DECODE0+6,nLowTMP%10);}if (nMode == 2) // set nHightTMP{write7279(SEGON,0);delay1ms(2);write7279(SEGON,1);delay1ms(2);write7279(SEGON,2);delay1ms(2);write7279(SEGON,4);delay1ms(2);write7279(SEGON,5);delay1ms(2);write7279(DECODE0+4,nHightTMP/100%100);delay1ms(2);write7279(DECODE0+5,nHightTMP/10%10);delay1ms(2);write7279(SEGON,47);delay1ms(2);write7279(DECODE0+6,nHightTMP%10);}if (nMode == 2) // set nTMPAdj{write7279(SEGON,0);delay1ms(2);write7279(SEGON,1);delay1ms(2);write7279(SEGON,2);delay1ms(2);write7279(SEGON,4);delay1ms(2);write7279(SEGON,5);delay1ms(2);write7279(SEGON,6);delay1ms(2);if (nTMPAdj < 0){write7279(SEGON,32);delay1ms(2);write7279(DECODE0+5,(0-nTMPAdj)/10%10);delay1ms(2);write7279(DECODE0+6,(0-nTMPAdj)%10);}if (nTMPAdj > 0){write7279(DECODE0+5,nTMPAdj/10%10);delay1ms(2);write7279(DECODE0+6,nTMPAdj%10);}}}/*********************************************************************************************************************************************************************** ////////////////////////////////红外解码函数-BEGIN/////////////////////////////////************************************************************************************ ************************************************************************************/ void IR_IN() interrupt 2 using 0{// unsigned char j,k,N=0;// EX1 = 0;// delay(15);// if (IRIN==1)// {// EX1 =1;// return;// }// //确认IR信号出现// while (!IRIN) //等IR变为高电平,跳过9ms的前导低电平信号。