(l)温度检测电路选用Dallas公司生产的一线式数字温度传感器DSl820作为温度检测器件,该器件只有3个引脚,即电源VDD、地线GND、数据线DQ.芯片检测温度范围为-55~+125℃;精度为0.5℃,用9bit数字量来表示温度,转换时间200ms.为了更好的保持温度的恒定,我们采用三片DSl820实现对居室环境温度的检测.分别将DSl820放置在房间的不同位置.温度信息的获得由PICl6C73的RA2脚首先发送一个1ms的复位脉冲,使DSl820复位后向PICl6C73发送一个回应脉冲.PICl6C73接到回应脉冲后发送读DSl820序列号的读ROM命令.分别读取三个DSl820的序列号(每一块DSl820有唯一的序列号);然后PICl6C73发定位命令选择在线的DSl820进行温度转换,当温度转换完成后,PICl6C73的RA2脚发DS1820的存储命令完成温度信息数据的转换和读取.(2)湿度检测电路采用MXS型电容式湿敏传感器作为湿度检测器件.环境湿度与传感器电容成线性关系,所以可方便地采用EL7556将湿度转换为PICl6C73可以接受的电信号.EL7556由积分电路、基准电路、频率转换电路及频率-电压(f/v)转换电路等组成,积分电路及Rl、R2、Cl产生一定频率的脉冲信号从EL7556第⑤脚送至第⑧脚.调节R2可使该脉冲信号频率合适.使温度传感器的线性和灵敏度处于较好状态;基准电路和频率转换电路可将湿度传感器的电容
变化转换成频率变化,再经频率-电压转换电路后从第⑨脚输出与频率成线性的电压,经C3等滤波后送入PICl6C73的RAO端,进行A/D变换成数字信号,进一步进行处理.湿度由76%RH时电容值为500pF,电容相对变化率为+1.7pF/%.当湿度为0%~100%RH时,第⑨脚输出的相应的信号频率为0~1000Hz,精度为2%,f/v电路输出的电压为0~5V.调整时,设定湿度为5%RH,调节R2使第⑨脚输出100mV电压即可.(3)定时及控制电器驱动电路定时功能主要用于主人下班前.提前启动空调 加湿器等设备,使房间内温盘度提前达到预设定要求.定时的实现由单片机来完成,时钟频率选用32.768kHz,该频率可使单片机工作在最小功耗状态以及简化分频、定时程序的编写.电器驱动电路控制的设备可以包括空调机、加湿机、吸湿机、通风机等,分别采用过零型固态继电器来控制其工作.利用PICl6C73的RA3口作控制口.继电器采用交流固态继电器H220Dl5,其内部采用光电隔离方式可有效地避免电磁干扰,当单片机检测到温湿度信号超过设定值时,从RA3口发出控制信号,由光耦产生大于5mA的触发电流使固态继电器启动相应的电器得电工作,从而实现对相应设备的控制.设计时应注意各个电器不要同时启动以免冲击电网,这部分工作由软件延时完成.(4)语音电路台湾Windand公司生产的语音处理芯片W5l3000,除了支持按键直接控制话筒和喇叭的随录随放功能和快速搜索放音模式外,还具有完善的CPU微处理器控制模式,用单片机能控制它的所有功能.主要提供的晤音信息为加湿器、吸湿器水箱的水满和缺水报警.语音
的录制等操作由键盘和PICl6C73完成.(5)键盘和显示键盘没有16个按键:0-9为10个数字键:A为设定功能选择键,B为设定完成确定键,C显示选择键,D~F键是完成语音处理、通信等功能.对温湿度的显示采用4位LED动态分时完成. 2软件设计软件用汇编语言编程,采用模块化设计方法.主要包括王程序、中断服务程序、温湿度检测程序、语音处理程序、定时驱动程序、显示子程序等.(1)主程序设计系统上电后对定时器和中断等进行初始化,同时完成对温湿度的设定和系统的自检.初始化完成后,进行温湿度检测、键盘扫描及定时处理等操作,主程序设汁流程同如图2所示.
(2)温湿度处理子程序温度传感器选用了DSl820后,软件的编写相对简单,DSl820输入单片机的信号为9位数字信号,不需要进行转换.这里应注意的是软件控制单片机向DSl820发送的复位脉冲一定要大于1ms.否则软件将无法正常运行.主要由于DS1820的写时间的关系,在用软件进行写0后再写l之前必须有800μs的低脉冲,写1后再写l也是如此,否则将出现数据写错误.PICl6C73内含A/D转换器,参考电压由软件设置为器件的正电源电压,由RA0引脚接入的模拟电压经A/D转换成数字信号.A/D模块有3个寄存器:A/D转换结果寄存器(ADRES),A/D控制寄存器0(ADCONO)和A/D控制寄存器1(ADCONl).A/D控制寄存器0:控制A/D模块的工作,寄存器的上电复位值是00H,未用位执行读操作时为0,不能执行写操作,其它位均可读写.A/D控制寄存器l:只用了0~2位,这3位是A/D转换口配置位,这些位将模拟口配置成不同的工作方式,包括模拟量输入输出、数字量输入输出以及参考电压. 以RAO通道为例,可写出A/D转换程序如下.
F STATUS,RPO ;选择页面l
CLRF ADCONl ;配置A/D输入
F PIEl,ADIE ;使能A/D中断
BCF STATUS,RP0 ;选择页面O
MOVLW OXCl ;时钟、A/D接通
MOVWF ADCONO ;
BCF PIRl,ADIF: ;清除A/D中断标志
BCF INTCON,PEIE ;使能外围功能
BCF INTCON,GIE ;使能所有中断3.结束语
本装置对居室环境的温湿度进行实时检测,并根据用户的设定值控制空调器、加湿器等,具有相应的语音提示功能,方便使用,提高居室环境的舒适度.