版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 TOC o 1-3 h z u HYPERLINK l _Toc264232311 前言 PAGEREF _Toc264232311 h 2 HYPERLINK l _Toc264232312 第一章 智能温度测量仪表方案设计与论证 PAGEREF _Toc264232312 h 3 HYPERLINK l _Toc264232313 1.1 功能与要求 PAGEREF _Toc264232313 h 3 HYPERLINK l _Toc264232314 1.2 方案的论证与比拟 PAGEREF _Toc264232314 h 4 HYPERLINK l _Toc264232315 方案确
2、实定 PAGEREF _Toc264232315 h 5 HYPERLINK l _Toc264232316 1.3.1 数据采集通道的理论计算 PAGEREF _Toc264232316 h 5 HYPERLINK l _Toc264232317 1.3.2 温度值粗测理论推导 PAGEREF _Toc264232317 h 6 HYPERLINK l _Toc264232318 1.3.3 根据T1确定差分局部的理论推导 PAGEREF _Toc264232318 h 7 HYPERLINK l _Toc264232319 第二章 智能温度测量仪表的硬件设计 PAGEREF _Toc264
3、232319 h 7 HYPERLINK l _Toc264232320 2.1 系统硬件框图 PAGEREF _Toc264232320 h 7 HYPERLINK l _Toc264232321 系统的输入通道设计 PAGEREF _Toc264232321 h 8 HYPERLINK l _Toc264232322 单片机最小系统 PAGEREF _Toc264232322 h 8 HYPERLINK l _Toc264232323 人机接口电路 PAGEREF _Toc264232323 h 9 HYPERLINK l _Toc264232324 串口电路 PAGEREF _Toc26
4、4232324 h 9 HYPERLINK l _Toc264232325 2.6 执行电路 PAGEREF _Toc264232325 h 10 HYPERLINK l _Toc264232326 第三章 软件设计 PAGEREF _Toc264232326 h 10 HYPERLINK l _Toc264232327 下位机软件的设计 PAGEREF _Toc264232327 h 10 HYPERLINK l _Toc264232328 3.1.1 下位机主程序设计 PAGEREF _Toc264232328 h 11 HYPERLINK l _Toc264232329 3.1.2 CH
5、451中断子程序设计 PAGEREF _Toc264232329 h 11 HYPERLINK l _Toc264232330 3.1.3 数字滤波函数和ADC0809读函数设计 PAGEREF _Toc264232330 h 12 HYPERLINK l _Toc264232331 3.1.4 快速测量温度粗值函数设计 PAGEREF _Toc264232331 h 13 HYPERLINK l _Toc264232332 上位机软件设计 PAGEREF _Toc264232332 h 13 HYPERLINK l _Toc264232333 第四章 智能温度测量系统的安装与调试 PAGER
6、EF _Toc264232333 h 14 HYPERLINK l _Toc264232334 4.1 硬件调试 PAGEREF _Toc264232334 h 14 HYPERLINK l _Toc264232335 4.2 软件调试 PAGEREF _Toc264232335 h 15 HYPERLINK l _Toc264232336 整机调试过程 PAGEREF _Toc264232336 h 15 HYPERLINK l _Toc264232337 第五章 设计体会与小结 PAGEREF _Toc264232337 h 16 HYPERLINK l _Toc264232338 参考文
7、献 PAGEREF _Toc264232338 h 17 HYPERLINK l _Toc264232339 附录 PAGEREF _Toc264232339 h 18前言随着时代的进步和开展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比拟成熟的技术, 本文主要介绍了一个基于AT89C51单片机的测温系统,描述了利用温度传感器PT100测温系统的过程,对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了分析,对各局部的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作
8、温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。第一章 智能温度测量仪表方案设计与论证1.1 功能与要求功能基于单片机的温度测控系统分为上位机和下位机两局部。其中上位机应可通过虚拟仪器的前置面板界面显示温度数据,假设温度超过设定温度,在显示屏上进行报警提示。而下位机那么是可以利用单片机对温度传感器采集到的温度数据及时采样,并在数码管上显示,用矩阵键盘来控制和设定温度值,并将采集到的温度数据通过串口传到上位PC机。要求:.学生自行设计硬件电路并焊接电路板.编写上位机虚拟仪器和下位机程序.实现温度测控并进行系统功能测试1.2 方案的论证与比拟方案一:通过运放构成1毫安恒流源,将Pt100加在
9、恒流源上,其输出接入仪用放大器,然后经A/D转换,将数据送入单片机。单片机 AD转换仪用放大器由运放构成1mA电流源图1 方案1的系统方框图本方案的优点是有较大的较稳定的电压输出,输出电压的范围相对较大且线性度好但缺点是每次输出的电压中有无用电压,且在温度小于300时,其无用电压约占50%,从而导致放大倍数不高,测量精度偏低。方案二:利用1K的电阻与PT100构成电桥采集电路,将采集信号经过仪用放大器放大后在由固定的差分放大电路进行二级放大,然后将放大信号经过A/D转换,最后传给单片机。PT100电桥采集电路仪用放大器固定差分放大器A/D转换单片机图2 方案二的系统框图 本方案的优点是有较大的
10、电压输出范围,温度低于100度时,测量精度可到达1度。但缺点是温度较高时,线性度不好,测量精度达不到1度,且不能自动换挡。方案三:由PT100和10K电阻组成电桥采集电路,将采集信号传送给仪用放大器放大,然后将放大的信号经过差分电路进行二级放大,由于放大倍数的因素需对二级放大参加补偿,然后进行A/D转换,最后将数字量传送给单片机。PT100组成电桥10K仪用放大器INA114差分电路A/D转换ADC0809CD4051DA5615 单片机 89C51图3 方案三的系统框图 在软件上,通过改变仪用放大器的倍数,从而实现自动换挡,即可以测量较大范围内的电信号。当初步测量出被测信号后,就可也综合考虑
11、,选择出适宜的仪用放大器的放大倍数和差分电路所需的DA输出电压。这样就可以实现精确测量。本方案的优点是有较好的线性电压输出,可自动选择量程,有较高的测量精度,测量范围较大。但缺点是抗干扰能力相对较弱,需要加必要的抗干扰设计,否那么干扰太强同样达不到设计要求的精度。方案确实定综合比拟以上各种方案的性能后,决定采用方案三。 数据采集通道的理论计算温度传感器:为温度,为比例系数,为常系数在精确测量时,和的值会根据分段情况有所变化,为电阻变化值。 1电桥输入输出关系:为电桥输出电压,为电桥输入电压,为由于电桥不平衡而出现的常偏差系数,为10K欧姆电阻。 2仪用放大器输入输出关系:比例系数,输出电压。
12、3差分放大输入输出关系:比例系数,为DA输出电压,输出电压。 =(-) (4)DA输入输出关系:为DA的参考电压,为DA输入的数字量。 =2/1024 (5) 表1 各参数值为测量值或设计值,均为国际单位BA2582010000502020201020AD输入输出关系:数字量输出: =51 6那么由123456得: T = + - +A (7) 温度值粗测理论推导由于每次测量时不知道温度大概值,于是有必要先粗测出温度值,根据7让 - +A = 0 8 表2 参数取值及对应值 25850201015730126 从而 T 1= 9表3 参数取值及对应值 258502010 根据T1确定差分局部的
13、理论推导要确保精度到达0.1度,那么有约为0.04时能被AD识别出来,于是 /(4R)5* 9那么40000;取=258, =20。由123得=0.0129*T1 +0.6450 0.645与B有很大关系又实测出最大约为4.6V,测出希望有一定的输出14.2V之间,那么由(4) (5) 得3.145*T1+98.7393.145*T1+144 10第二章 智能温度测量仪表的硬件设计2.1 系统硬件框图本设计选用PT100作为温度传感器,采用三线制接法,与10K电阻构成电桥,将输出电压依次送入仪用放大器,一阶低通滤波器,差动放大器,一阶低通滤波器,ADC0809转换,最后将转换后的数字信号经单片
14、机进行数字滤波,得到温度值。同时可以通过矩阵键盘进行控制,通过LED进行显示。系统硬件方框图如图3所示。PT100组成电桥10K仪用放大器INA114LPF、差分电路A/D转换ADC0809CD4051DA5615单片机 89C51MAX232上位机CH4514*4键盘4位LED图3系统硬件框图系统的输入通道设计本系统输入通道作用是将温度转换为电压信号,再转换为数字信号传给单片机。其组成包括:电桥仪用放大器、程控差分放大器,A/D转换及低通滤波器。具体电路如图4所示。 图4 系统输出通道电路图单片机最小系统本局部的作用是处理数据,控制各器件。组成包括89c52单片机,时钟电路,复位电路。其具体
15、电路如图5所示。图5 单片机最小系统电路图人机接口电路本电路的作用是实现温度显示,温度设定。组成模块有4位集成数码显示,4*4键盘等。具体电路如图6所示。图6 人机接口电路图 串口电路本电路的作用是实现单片机与上位机的通讯。其组成包括:MAX232,串口通讯接口等。具体电路如图7所示。图7 串口通讯电路 执行电路本局部的作用是通过三极管推动继电器工作。组成包括:三极管,继电器,发光二极管等,具体电路如图8所示。图8 执行电路第三章 软件设计下位机软件的设计 下位机主程序设计 系统的软件设计可以分为几个局部,首先是各个模块的底层驱动程序编写,然后是系统的联机调试,编写上层系统程序。本系统软件程序
16、主要包括:模数转换ADC0809的底层驱动模块,数模转换TLC5615的底层驱动模块,人机交互CH451的底层驱动模块包含键盘扫描和数码管显示,串口通信MAX232的底层驱动等。系统的软件流程如图9。图9 主程序流程图 CH451中断子程序设计选用高速线串行接口可节省I/O口,其操作命令均为位, 其中高位为标识码, 低位为参数,其会自动扫描,这就可以省去单片机的大量工作。CH451中断子程序流程如图10。图10 CH451中断子程序流程图 数字滤波函数和ADC0809读函数设计屡次采样,然后将采样值按顺序排列,再将中间值作为最终输出,这样通过运用中值滤波可以去掉偶然因素引起的波动或采样不稳定这
17、里ADC0809的时钟约1.3M,超过其设计最大值,极有可能并不稳定,通过求平均值,消除脉冲性干扰,得到相对平滑的波形。程序流程如图11。ADC0809为8位并口输出,8通道,逐次逼近,8位模数变换器。程序流程如图12。开始对数据按大小排序读取n个平均数据输出中间值图11 数字滤波函数流程图 图12 ADC0809读函数流程图 快速测量温度粗值函数设计 由于刚开始测量时不知道被测温度的大概值,于是这里设计了自动换挡测量出温度的粗值,从而可以计算出差分电压局部所需要的被减电压,从而通过TLC5615输出,进而实现精确测量。快速测量温度粗值函数程序流程如图13。图13 快速测量温度粗值函数流程图上
18、位机软件设计 通过MAX232实现串口通讯,下位机将数据发送到到上位机。上位机可以利用其相对强大的数据处理能力将数据进一步处理,让后输出显示,也可以实现远程控制。本出只是将数据上传,让后以波形,数字和温度计形式显示出来。此处运用LABVIEW软件实现,其程序图如图14。前置面板如图15。 图14 上位机程序图 图15 上位机前置面板第四章 智能温度测量系统的安装与调试4.1 硬件调试将硬件设计好后,通过软件将采集局部的模拟电路进行调试,让其输出入一定的模拟量测,在测量其输出,看是否与理论值相当。再加一定的干扰,在侧其出处是否稳定。经过这样必要的软件仿真后,在焊接实际器件,由于没有印刷电路板,那
19、么得花费较多时间焊接,并检查是否虚焊,短路等。排除一些列问题后,在进行输入输出测试。看与理论值有多大的误差,是否可用。测试顺序依次是:电桥,仪用放大器,差动放大器。4.2 软件调试先编写好ADC0809的驱动程序,在其输入端接上标准电压,对其进行A转换,让其输出以8位二进制代码形式,通过8个发光二极管显示,看起是否有输出,输出值是否准确。这样将其调通。再编写TLC5615的驱动程序,通过万用表测量其输出,看其是否有输出,其输出值是否与程序中的设定值相当。这样将其调通。最后写CH451的驱动程序,按照PDF芯片资料,编写程序,在检查无误后,看起是否可以控制数码管,键盘是否有限。此芯片的操作比拟难
20、,不容易检查控制上的问题,我主要是通过,在程序中加延时,加死循环,然后观察其现象,用万用表测量其电压,看是否正常。这样将其调通。所有驱动完成后在编主程序,按照需要调用相应函数,协调其中的变量关系等。最终实现完全调通。整机调试过程将所有的硬件组装起来,下载软件,启动智能温度测量系统,在温度下测量,看其输出是否正常,绘制出输入输出关系图,并与标准温度变化曲线进行比拟,进而根据标准温度变化的图计算出修正参数,然后修改源程序中由原来理论值得到的参数。再次启动系统看是否满足要求,如不行,那么再次修正。如此往复几遍前方才满足要求。第五章 设计体会与小结到达设计要求,且在一定范围内其精度可以到达0.1摄氏度
21、。很累!但是学到了知识,也得到了快乐!设计时要查阅相关书籍 ,一本本的摊开在桌上,看芯片资料,就一个CH451的资料就有15页,它不像小说一目十行几分钟就可以读完,要用这种器件就必须一丝不苟的了解其功能,一点错误就可能导致数据出不来,然后设计局部电路图,再将所有模块连接起来。设计时还算轻松,初次完全自主进行系统设还是有许多问题都没考虑到,如理论值,理论状态,往往与实际有一定的差距,这些差异如何决绝是以前从来没考虑过的。有些心里想的虽然头头是道,但实际上存在许多问题。就连一个简单的电阻都会有问题,理论上要多大就有多大,而实际上首先是只有固定的电阻,且还有一定的误差。如果用电位器,其大小是可以调节
22、,但是它所温度和电磁干扰影响较大。在做电桥时由于以上两种电阻的缺点,输入电源又不稳定,以及输出的电压又小毫伏级,使得输出电压相对噪音很大.比拟难以处理。在用不同电阻打结电路,接不同电源,发现以上问题后,最终解决方案是采用固定电阻,对电源加以滤波,再加屏蔽。由于选择的是10K电阻,相对误差有10%,即绝对值有1000,而Pt100才一两百欧姆,这就不能随便接,而要具体测量数个电阻阻值后,从中选出能和Pt100构成对称电桥,即使这样最后还是有约2mv的电压误差,而它看似小,实际上却可以代表30读摄氏度。如不考虑,必将导致最后设计上的失败。其实刚开始时,心里是没有多大把握能做出个什么东西的,毕竟从来
23、就没进行过系统设计,但是觉得总会有这一天的,不可能什么事只有到会了才去做。设计过程比拟长,人也一直觉得比拟累,但是它就像一次跋涉,每次穿过了荆棘,登上一座山坡,总会有的美景可以欣赏,人的视野也更开阔,往脚下一看,会觉得没想到能爬上来;同时也增加信心,敢于向更高的山峰进军。参考文献1.?单片微型计数机与接口技术?(第2版) 李群芳,张士军,黄 建 编著,电子工业出版社,20052 ?微机原理试验指导书? 武汉理工大学华夏学院 20063 ?传感与检测技术? 戴卓 主编, 武汉理工大学出版社 20034 ?测控电路? 张国雄 主编 机械工业出版社 20215 ?LabVIEW8.20程序设计从入门
24、到精通? 陈锡辉,张银鸿 编著 清华大学出版社 2007附录源程序#define CH451_RESET 0 x0201 /复位#define CH451_LEFTMOV 0 x0300 /设置移动方式-作移#define CH451_LEFTCYC 0 x0301 /设置移动方式-左循#define CH451_RIGHTMOV 0 x0302 /设置移动方式-右移#define CH451_RIGHTCYC 0 x0303 /设置移动方式-右循#define CH451_SYSOFF 0 x0400 /关显示、键盘、看门狗#define CH451_SYSON1 0 x0401 /开显示#
25、define CH451_SYSON2 0 x0403 /开显示、键盘#define CH451_SYSON3 0 x0407 /开显示、键盘、看门狗功能#define CH451_DSP 0 x0500 /设置默认显示方式#define CH451_BCD 0 x0580 /设置BCD译码方式#define CH451_TWINKLE 0 x0600 /设置闪烁控制#define CH451_DIG0 0 x0800 /数码管位0显示#define CH451_DIG1 0 x0900 /数码管位1显示 #define CH451_DIG2 0 x0a00 /数码管位2显示#define C
26、H451_DIG3 0 x0b00 /数码管位3显示#define CH451_DIG4 0 x0c00 /数码管位4显示#define CH451_DIG5 0 x0d00 /数码管位5显示#define CH451_DIG6 0 x0e00 /数码管位6显示#define CH451_DIG7 0 x0f00 /数码管位7显示#define CH451_POT 0 x1a00#include #include /如果使用键盘中断请定义#define USE_KEY 1#define uchar unsigned char/*/须主程序定义的参数/*sbit relay=P20;sbit c
27、h451_dclk=P21; /串行数据时钟上升延激活sbit ch451_din=P22; / 串行数据输出,接CH451的数据输入sbit ch451_load=P23;sbit ch451_dout=P33; /INT1,键盘中断和键值数据输入,接CH451的数据输?sbit ad0809_ale=P24;sbit ad0809_EOC=P25;sbit ad0809_ST=P26;sbit ad0809_OE=P27;sbit din5615=P13; sbit sclk5615=P14;sbit cs5615=P15;sbit A4051=P10;sbit B4051=P11;sbi
28、t C4051=P12;sbit abc=P17;unsigned char ch451_key=0;/ 存放键盘中断中读取的键值unsigned int dav=5;unsigned int tfast;bit setb=0;bit chuan=0;unsigned int ad0809_data=0;unsigned char ad0809_flag=70;unsigned char ad0809_i=0;unsigned char flag=0;unsigned char cai=39;/采样次数unsigned char getev39=19,1,2,3,5,4,18,17,16,15
29、,14,13,12,11,10,9,8,7,6;/unsigned char showtemp3=0,8,0;/用于存储设定的温度数据 高位在前unsigned char gettemp4;/存储采样到的温度/*/* /延时程序void delay(unsigned char m)unsigned char i,j,k; for(i=0;im;i+) for(k=0;k20;k+);/*void da5615(unsigned int a) unsigned char i; a=6;/让00 0000 1111 1000 11变为1111 1000 1100 0000 cs5615=1; sc
30、lk5615=1; sclk5615=0; cs5615=0; for(i=0;i12;i+) din5615=a&0 x8000; sclk5615=0;a=1;sclk5615=1; sclk5615=0; cs5615=1; /*/*/*/*函数名称:uart_init功能: uart初始化函数参数:无返回值:无*/void tdata_pc(unsigned char dat) /uart_init(); TI=0;ES=1; ES=0;SBUF=dat; void uart_init()TMOD=0 x20;TH1=0 xef;TL1=0 xef;/2400TR1=1; PCON=P
31、CON|0 x80;REN=1;SM0=0;SM1=1;EA=1;ES=1;/*函数名称:uart_send功能: 发送数据参数:dat(待发送数据)返回值:无*/ /定义一无符号整型变量存储12字节的命令字。void ch451_write(unsigned int command) unsigned char i;#ifdef USE_KEY EX1=0; /禁止键盘中断 #endif ch451_load=0; /命令开始 for(i=0;i=1; ch451_dclk=1; /上升沿有效 ch451_load=1; /加载数据 #ifdef USE_KEY EX1=1; #endif/
32、*/*/初始化子程序void ch451_init() P1=0 x60;ch451_din=0; ch451_dclk=1; /先低后高,选择4线输入 ch451_din=1; ch451_load=1; ch451_dout=1; #ifdef USE_KEY IT1=0; /设置下降沿触发 IE1=0; /清中断标志 PX1=1; /设置低优先级 EX1=1; /开中断 #endif/*/*/输入命令子程序,MCU从451读一字节/*/void Set_temp(void) /设定保温点 unsigned char i; ch451_write(CH451_DIG0|showtemp0)
33、;/显示原来设定温度 ch451_write(CH451_DIG1|showtemp1); ch451_write(CH451_DIG2|showtemp2); /设定温度 ch451_write(CH451_TWINKLE|1); /闪烁 EX1=1; /允许键盘中断 while(flag=0); EX1=0; /禁止键盘中断 flag=0; showtemp0=ch451_key; /保存数据 ch451_write(CH451_DIG0|showtemp0); /显示键值 ch451_write(CH451_TWINKLE); /停止闪烁 ch451_write(CH451_TWINKL
34、E|2); EX1=1; /允许键盘中断 while(flag=0); EX1=0; /禁止键盘中断 flag=0; showtemp1=ch451_key; ch451_write(CH451_DIG1|showtemp1); ch451_write(CH451_TWINKLE); ch451_write(CH451_TWINKLE|4); EX1=1; /允许键盘中断 while(flag=0); EX1=0; /禁止键盘中断 flag=0; showtemp2=ch451_key; ch451_write(CH451_DIG2|showtemp2); ch451_write(CH451_
35、TWINKLE); /*/*/输入命令子程序,MCU从451读一字节unsigned char ch451_Read() unsigned char i; unsigned char keycode1,keycode;/定义命令字,和数据存储器/EA=0; / EX1=0; /关中段 keycode1=0 x07; /输入读451命令字 ch451_load=0; for(i=0;i=1; /往右移一位 ch451_dclk=1; /产生时钟上升沿锁通知CH451输入位数据 ch451_load=1;/产生加载上升沿通知CH451处理命令数? keycode=0; /去除keycode key
36、code1=0; ch451_dclk=0; /产生时钟下升沿通知CH451输出下一位 ch451_dclk=1; for(i=0;i3;i+) /输出行数 有四行 第一行0keycode1=1;keycode1|=ch451_dout;ch451_dclk=0;ch451_dclk=1;for(i=0;i3;i+) / 输出列数 四列 第一列为0keycode=1;keycode|=ch451_dout;ch451_dclk=0;ch451_dclk=1; keycode=keycode1*4+keycode;/计算键值换算成编号 return(keycode); /#/*/键盘中断 读取键
37、值并且转换为二进制代码 void ch451_inter() interrupt 2 using 1 unsigned char i; unsigned char keycode1,keycode;/定义命令字,和数据存储器 EA=0; keycode1=0 x07; /输入读451命令字 ch451_load=0; for(i=0;i=1; /往右移一位 ch451_dclk=1; /产生时钟上升沿锁通知CH451输入位数据 ch451_load=1;/产生加载上升沿通知CH451处理命令数? keycode=0; /去除keycode keycode1=0; ch451_dclk=0; /
38、产生时钟下升沿通知CH451输出下一位 ch451_dclk=1; for(i=0;i3;i+) /输出行数 有四行 第一行0keycode1=1;keycode1|=ch451_dout;ch451_dclk=0;ch451_dclk=1;for(i=0;i3;i+) / 输出列数 四列 第一列为0keycode=1;keycode|=ch451_dout;ch451_dclk=0;ch451_dclk=1; ch451_key=keycode1*4+keycode;/计算键值换算成编号 if(ch451_key=10) setb=1; else if(ch451_key=11)/b多采样5
39、次 cai=cai+3; ch451_write(CH451_DIG0|cai/100); ch451_write(CH451_DIG1|cai/10); ch451_write(CH451_DIG2|cai%10); delay(250); delay(200); else if(ch451_key=12)/c少采样5次 cai=cai-5; ch451_write(CH451_DIG0|cai/100); ch451_write(CH451_DIG1|cai/10); ch451_write(CH451_DIG2|cai%10); delay(250); delay(200); flag=
40、1; /标记 IE1=0; /清中断标志 EA=1;/# unsigned char Read_0809(unsigned char channel) unsigned int a=0,b; unsigned char getdata=0,getdata22=0,out=0,j=0; ad0809_ST=0; P0=channel; /选择采集通道 ad0809_ale=0; /存入通道地址 ad0809_ale=1; ad0809_ale=0; ad0809_OE=0; ad0809_ST=1; ad0809_ST=0; /AD开始 while(jcai) /采样cai次 delay(1);
41、 if(ad0809_EOC=1) ad0809_OE=1; P0=0 xff; /读数据前置1 getdata=P0; ad0809_OE=0; ad0809_ST=1; ad0809_ST=0;/开始下一次转换 a=a+getdata; j+; out=a/cai; b=a/cai;getdata22=(unsigned char)(8*b+34*dav-3786)/100);/换算为温度值/if(chuan=1) tdata_pc(getdata22);/发送到上位机/ tdata_pc(dav,1);/发送到上位机return(out); /*/读取N个平均数 对其排序 取其中间值输出
42、unsigned char doevdata(unsigned char n) unsigned char i,j,a; unsigned int count=0; for(i=0;in;i+) getevi=Read_0809(0); /count=count+getevi; for(i=0;in;i+) for(j=i;jgetevj)/此处有待优化 a=getevi; getevi=getevj; getevj=a; /for(i=) /a=count/2/n+getev(n-1)/2/2;a=getev(n-1)/2; return(a); /#/* /一档 K=2580度10度 0131
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安仁县带编教师招聘考试备考题库及答案解析
- 2026年日土县带编教师招聘考试模拟试题及答案解析
- 2026年高中物理强基计划选拔试题
- 2026年剑川县带编教师招聘考试参考题库及答案解析
- 2026海南省安宁医院考核招聘工作人员7人笔试备考试题及答案详解
- 2026年全椒县带编教师招聘笔试参考题库及答案解析
- 2026年刚察县带编教师招聘笔试模拟试题及答案解析
- 2026年独山县带编教师招聘笔试模拟试题及答案解析
- 2026年遂川县带编教师招聘笔试备考试题及答案解析
- 2026年郎溪县带编教师招聘笔试模拟试题及答案解析
- 杜邦安全管理体系22要素
- 中学化学教学策略研究
- 河湖巡查工作方案
- 资产评估学教程(第八版)习题及答案 乔志敏
- 第二章热力学参数状态图
- 山西幼儿园教师师德档案
- 管理学原理 教案 第四章 决策
- 诗园里的百音盒-群文阅读课件
- 初中数学人教九年级上册第二十四章圆数学活动探究四点共圆的条件PPT
- 中医药翻译技巧课件
- 三上话说温州家乡的地形市公开课金奖市赛课一等奖课件
评论
0/150
提交评论