https://www.myziyuan.com/
- 互站网
- /********************************************************************* 文件名 : 温度采集DS18B20.c* 描述 : 该文件实现了用温度传感器件DS18B20对温度的采集,并在数码管上显示出来。* 创建人 : 东流,2009年4月10日* 版本号 : 2.0***********************************************************************/#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define jump_ROM 0xCC#define start 0x44#define read_EEROM 0xBEsbit DQ = P2^3; //DS18B20数据口unsigned char TMPH,TMPL; uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/********************************************************************* 名称 : delay()* 功能 : 延时,延时时间大概为140US。* 输入 : 无* 输出 : 无***********************************************************************/void delay_1(){int i,j;for(i=0; i<=10; i++)for(j=0; j<=2; j++);}/********************************************************************* 名称 : delay()* 功能 : 延时函数* 输入 : 无* 输出 : 无***********************************************************************/void delay(uint N){int i;for(i=0; i<N; i++);}/********************************************************************* 名称 : Delay_1ms()* 功能 : 延时子程序,延时时间为 1ms * x* 输入 : x (延时一毫秒的个数)* 输出 : 无***********************************************************************/void Delay_1ms(uint i)//1ms延时{uchar x,j;for(j=0;j<i;j++)for(x=0;x<=148;x++);}/********************************************************************* 名称 : Reset()* 功能 : 复位DS18B20* 输入 : 无* 输出 : 无***********************************************************************/uchar Reset(void){uchar deceive_ready;DQ = 0;delay(29);DQ = 1;delay(3);deceive_ready = DQ;delay(25);return(deceive_ready);}/********************************************************************* 名称 : read_bit()* 功能 : 从DS18B20读一个位值* 输入 : 无* 输出 : 从DS18B20读出的一个位值***********************************************************************/uchar read_bit(void){uchar i;DQ = 0;DQ = 1;for(i=0; i<3; i++);return(DQ);}/********************************************************************* 名称 : write_bit()* 功能 : 向DS18B20写一位* 输入 : bitval(要对DS18B20写入的位值)* 输出 : 无***********************************************************************/void write_bit(uchar bitval){DQ=0;if(bitval==1)DQ=1;delay(5);DQ=1;}/********************************************************************* 名称 : read_byte()* 功能 : 从DS18B20读一个字节* 输入 : 无* 输出 : 从DS18B20读到的值***********************************************************************/uchar read_byte(void){uchar i,m,receive_data;m = 1;receive_data = 0;for(i=0; i<8; i++){if(read_bit()){receive_data = receive_data + (m << i);}delay(6);}return(receive_data);}/********************************************************************* 名称 : write_byte()* 功能 : 向DS18B20写一个字节* 输入 : val(要对DS18B20写入的命令值)* 输出 : 无***********************************************************************/void write_byte(uchar val){uchar i,temp;for(i=0; i<8; i++){temp = val >> i;temp = temp & 0x01;write_bit(temp);delay(5);}}/********************************************************************* 名称 : Main()* 功能 : 主函数* 输入 : 无* 输出 : 无***********************************************************************/void main(){float tt;uint temp;P2 = 0x00;while(1){Reset();write_byte(jump_ROM);write_byte(start);Reset();write_byte(jump_ROM);write_byte(read_EEROM);TMPL = read_byte();TMPH = read_byte();temp = TMPL / 16 + TMPH * 16;P0 = table[temp/10%10];P2 = 6;Delay_1ms(5);P0 = table[temp%10];P2 = 7;Delay_1ms(5);}}
- 2022-01-10 14:39:58
- hhcw0320
- 扩大所有第一章介绍1. 1主题背景水分,防霉,防腐,防爆是仓库日常工作的重要组成部分是仓库管理质量的重要指标。它直接影响储备材料的使用寿命和工作可靠性。为了确保日常工作的顺利进展,主要问题是加强仓库中温度和湿度的监测。然而,传统方法是使用湿度表,毛发湿度表,双金属测量和湿度测试条等测试设备,进行通风,湿润和冷却仓库,不符合温度和湿度要求。本手动测试方法费用昂贵,效率低,测试的温度和湿度误差大,随机性大。因此,我们需要低成本,易于使用和准确的温度和湿度测量仪器。1.2 Desig.n流程和工艺要求首先,基本特点〜检测温度,湿度〜显示温度,湿度〜多余警报II,主要技术参数〜温度试验范围:-30°C - + 50°C〜测量精度:0.5°C〜湿度检测范围:10%-100%RH〜检测精度:1%RH〜显示模式:温度:四位数显示湿度:四位数显示〜报警模式:三位数的三章章节程序的比较和参数由三极管驱动器驱动当使用微控制器作为测量系统时,系统始终具有要测量的信号,并且计算机拾取了必要的输入信息。对于测量系统,如何准确获得测量信号是其核心任务;和测试系统,受控对象状态的测试是一个不可或缺的链路。传感器是用于测量和控制的主要链路。它是测量和控制系统的关键组成部分。自动测量和控制工业生产过程,几乎依靠各种传感器来检测和控制生产过程中的各种参数,使设备和系统在最佳状态下运行,从而确保高效率和高质量。2. 1温度传感器选择方案1:使用热阻温度传感器。热阻是由温度变化的导体的电阻制成的温度测量元件。现在有铂,铜,镍等热阻。其主要特点是高精度,测量范围大,这对于长距离测量方便。铂的物理,化学性质是极稳定的,氧化能力强,易纯度,复制良好,良好的工业抵抗,高抗性,高阻,铂电阻用于工业检测高精度温度和温度标准。缺点是价格是eXPERCE,温度系数小,磁场具有很大的影响,并且易于在还原介质中放气。按IEC标准温度范围-200〜650°C,百度电阻比W(100)\u003d 1.3850,R0为100Ω和10Ω,允许测量误差a±(0.15°C + 0.002 | T |), B为±(0.3°C + 0.005 | T |)。铜电阻的温度系数大于铂电阻,价格低,也易于净化和加工;然而,其电阻率小,稳定性用于腐蚀性介质。该温度用于-50至180℃的行业中使用溶液2:添加AD590,其温度测量范围在-55°C〜+ 150°C之间,但精度高。 M档在温度测量范围内为±0.3°C。 AD590可以承受44V正向电压和20V反向电压,从而颠倒设备不会损坏。可靠使用。它只需要工作通过直流电源,无需执行线性校正,所以它也很方便,借口也很简单。作为电流输出类型传感器的一个功能是与电压输出类型相比具有强大的反外部干扰能力。AD590的测量信号可传输超过100米。综合比较方案1和方案2,程序II更适合在该设计系统中选择温度传感器。2. 2湿度传感器测量空气湿度的选择。该原理基于由空气从空气吸收的空气引起的物理或化学变化,间接地获得吸水量和周围空气。湿度。电容,电阻和湿氢敏感茎是基于水分恒定,电阻率和水分的电阻率和电阻率体积和体积的湿度测量。解决方案1:HOS-201湿传感器。 HOS-201湿传感器是高湿度开关传感器。其工作电压低于1V,频率为50Hz至1 kHz,测量湿度范围为0〜100%RH,工作温度范围为0〜50°C,阻抗为75%RH(25°C)为1MΩ 。这些传感器最初用于开关,并且在宽带范围内不能检测到湿度,因此,主要用于确定预定值或更小的湿度水平。然而,当在一定范围内使用时,该传感器限于良好的线性度,这可以有效地利用其线性特性。解决方案2:HS1100 / HS1101湿度传感器。 HS1100 / HS1101电容传感器在由电容器件组成的电路中建模,并且其电容随着测量温度的温度的增加而增加。无需校准完全互换性,高可靠性和长期稳定性,快速响应时间,专利的固态多MER结构,两个封装(HS1101)和侧触点(HS1101),适用于线性电压。输出和频率输出两个电路,适用于在管道上制造自动插件和自动装配过程。相对湿度为1%--- 100%RH;电容从16个PF变为200pf,其误差不大于±2%RH;响应时间小于5秒;温度系数为0.04pf /℃。可见精度高。综合比较计划一个和计划II,该计划对测量湿度的准确性和要求感到满意,但是限于一定的线性度,这可以有效地利用其线性特性。它尚未在该设计系统中提供至温度-30〜50°C,因此我们选择第二湿度传感器作为这种设计。 2. 3信号采集信道选择在该设计系统中,温度输入信号是8个通道的模拟信号,WHICH需要多通道结构。解决方案1,使用多个并行模拟输入通道。该结构的模拟通道特性是:(1)可以根据输入量测量选择可以选择不同性能等级的设备。整体成本可以很低。(2)硬件复杂,故障率高。(3)简单软件,每个通道都可以独立编程。解决方案2,使用多感测模拟输入通道。这种结构的模拟通道特性是:(1)ADC,S / H.(2)缓慢的处理速度。(3)简单的硬件,成本低。(4)软件更复杂。综合比较方案1和程序II,程序II更适合模拟输入要求的设计系统,比较框图,并且计划两个具有简单的突出显示优势,因此方案2被选为输入通道信号。本文来自:
- 2022-01-10 14:38:36
- 免注册用户
- 用单片机实现温湿度的测量.,可以利温敏传感器,(具体选择看你用于的场合),单片机控制接口的设计,要看你的任务书要求具体要实现什么功能得要看你的任务书要求可以借阅相关书或者例子,推荐编著为何希才的相关书籍。也设计相关的就好可以到CNKI那里有相关的论文谢谢
- 2022-01-10 14:38:36