基于PIC单片机构成的环境温湿度实时测控装置设计
处理子程序
温度传感器选用DS1820,其软件的编写相对简单,DS1820输入单片机的信号为9位数字信号,它不需要进行转换。这里应注意的是,软件控制单片机向DS1820发送的复位脉冲一定要大于1ms,否则软件将无法正常运行。这主要与DS1820的写时间有关,在用软件进行写0之后和写1之前,必须有800μs的低脉冲,写1后再写1也是如此,否则将出现数据写错误。
由于PIC16C73内含A/D转换器,因此,参考电压可由软件设置为器件的正电源电压,同时由RA0引脚接入的模拟电压可经A/D转换成数字信号。系统中的A/D模块有3个寄存器分别为:A/D转换结果寄存器(ADRES)、A/D控制寄存器0(ADCON0)和A/D控制寄存器1(ADCON1)。其中A/D控制寄存器0用于控制A/D模块的工作,寄存器的上电复位值是00H,未用位在执行读操作时为0,不能执行写操作,其它位均可读写。A/D控制寄存器1则只用了0~2位,这3位是A/D转换口配置位,通过这些位可将模拟口配置成不同的工作方式,包括模拟量输入输出、数字量输入输出以及参考电压。
以RA0通道为例,其A/D转换程序如下:
BSF STATUS,RP0 ;选择页面1
CLRF ADCON1 ;配置A/D输入
BSF PIE1,ADIE ;使能A/D中断
BCF STATUS,RP0 ;选择页面0
MOVLW 0XC1 ;时钟、A/D接通
MOVWF ADCON0 ;
BCF PIR1,ADIF ;清除A/D中断标志
BCF INTCON,PEIE ;使能外围功能
BCF INTCON,GIE ;使能所有中断
3 结束语
本装置对需要温湿度实时控制的工作场合是非常必要的,并且具有较大的应用价值。由于采用了一线数字温度传感器DS1820来实现多点温度采样,所以可实现多点温度采样的集中控制。配置的RS-232接口可使多个这样的装置方便地与上位机(计算机)互联,以实现温湿度的测控。该装置现已成功地应用于程控机房中,效果较好。
- 基于PIC16C73的电子束焊机电视监视系统设计(11-25)
- 基于Linux的嵌入式工业测控系统设计方案(06-11)
- 基于双DSP及VI技术的无线测控系统设计(08-21)
- 在应用可编程测控网络设计(03-15)
- 一种太阳能报警器系统设计(04-26)
- 基于ARM和Linux通用工控平台设计与实现(06-08)