微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
1999年 第18卷 第4期 Vol.18 No.4 1999



基于PIC单片机的温度湿度控制系统的设计
陆　英
　　摘　要：用PIC16C73单片机实现的4路温度、湿度控制系统，包括系统硬件和软件设计，给出了详细的电路原理图。
　　关键词：PIC单片机　温度湿度控制　A/D转换　串行接口
　　温度、湿度控制在工农业生产中应用很多。对于一个比较大的系统，人们往往采用微机进行控制，小一些的系统较多采用51或96等系列的单片机。然而，不管是用哪一种，总要对系统进行扩展：扩展程序存储器、扩展并行口做键盘，还要有A/D转换，如果数据较多的话，还必须扩展数据存储器等。这对许多控制器来讲，成本太高，系统资源没有得到充分利用。为此，我们利用PIC16C73型单片机设计了1个4路温度、湿度控制系统。
1　PIC16C73单片机简介
　　PIC16C73单片机是由美国Microchip公司生产的8位单片微机，采用Harvard结构，这种结构使指令执行和取指操作重叠进行，因而可以达到很高的执行速度。它只有35条单字节指令，且除了跳转指令是2周期外，其它指令都是单周期指令。这些特点使它相对于别的8位单片机节省了1/2的程序空间，并具有4:1的速度优势。
　　PIC16C73在1个芯片上集成了1个8位算术逻辑单元和工作寄存器，4KB程序存储器，192个数据寄存器，22个I/O口，3个定时/计数器及2个捕捉/比较/PWM模块，2个串行口，A/D转换器具有5路模拟量输入端，还有时钟、复位、看门狗定时器等。其中5路模拟量输入通道共同复用1个采样/保持和A/D转换器。管脚分配如图1，其中标了2种以上功能的是复用端口。


2　控制系统的硬件设计
　　控制系统原理图如图2所示。


图2　控制系统原理图
2．1　硬件构成原理
　　以PIC16C73单片机为运算和控制中心，扩展1片E2PROM作为数据寄存器IC2，使数据在掉电后不丢失，IC3为8位串行输入并行输出移位寄存器，IC4为8位数据锁存器。
　　单片机PIC16C73的RA0～RA3为4路模拟量输入端，RB0～RB7构成4×4键盘及显示器数码管的位选，RC6用于8位段码输出，RC3、RC4用于与E2PROM接口，RC0～RC2、RC5是4路开关量输出，RC7用于报警。
2．2　测温、测湿电路
　　采用玻璃封装的开关二极管1N4148作温度传感器，电路如图3。R1、R2、D1（1N4148）、W1组成测量电桥，其输出信号接差动放大器A1，经放大后的信号送A/D转换。电路的调整过程是：以冰水混合物作为0℃的标准，以沸水作为100℃的标准（用0～100℃的水银温度计校准）。将传感器插入冰水中，调W1使A1输出电压为0V，将传感器插入沸水中，调W2使A1输出电压为设计值（如2.5V），再将传感器插入冰水中，看输出是否仍为0V，若不是，则调整W1使之为0V，然后再插入沸水中，看输出是否为2.5V，如此反复调整几次即可。


图3　温度变送电路
　　湿度传感器采用电容式湿敏元件，变送电路如图4。


图4　湿度变送电路
2．3　扩展E2PROM
　　PIC16C73内部具有同步串行口（SSP）模块，用于与其它外设或微处理器通信的接口，具有SPI总线和I2C总线2种操作方式。这里选用I2C总线工作方式与E2PROM通信。PIC16C73有2个脚可用作数据传输。RC3用作时钟信号，RC4用作数据信号，见图2。
2．4　控制系统的功能
　　1．控制键的设置。控制系统设有16个键：0～9为10个数字键；A键显示各通道测量值；B键显示、设定各通道上限值；C键显示、设定各通道下限值；D键为通道号加1功能键；E为显示、查看、修改结束键；F键为小数点。
　　2．实测值的显示。控制器平时只显示0号通道的温度测量值，当工作人员需要查看其它通道测量值时，按下A键，再按通道号即可。若继续查看下一通道，就按D键，查看完后按E键返回。
　　3．上、下限值的设定。按下B（C）键，再按通道号，显示该通道的上（下）限值，此时若按数字键即认为是修改设定值；按下D键进行下一通道的显示和设定，过程同上；按E键返回。设定值和实测值存入E2PROM。
3　控制系统的软件设计
3．1　主程序流程图
　　由于篇幅限制，主程序只给出图5所示的流程图。



3．2　A/D转换
　　由于PIC16C73单片机内含A/D转换器，因此模拟参考电压可由软件设置为器件的正电源电压或RA3引脚的电压，这里采用电源电压作为参考电压。A/D模块有3个寄存器：A/D转换结果寄存器（ADRES），A/D控制寄存器0（ADCON0）和A/D控制寄存器1（ADCON1）。
　　A/D控制寄存器0（ADCON0）：控制A/D模块的工作，寄存器的上电复位值是00H，未用位执行读操作时为0，不能执行写操作，其他位均可读写。
　　A/D控制寄存器1（ADCON1）：只用了0～2位，这3位是A/D转换口配置位，这些位将模拟口配置成不同的工作方式，包括模拟量输入输出、数字量输入输出以及参考电压（RA3）。
　　以RA0通道为例，可写出A/D转换程序如下：
　　BSF　　　STATUS，RP0　　；选择页面1
　　CLRFADCON1；配置A/D输入
　　BSFPIE1，ADIE；使能A/D中断
　　BCFSTATUS，RP0；选择页面0
　　MOVLW0XC1；时钟、A/D接通
　　MOVWFADCON0；
　　BCFPIR1，ADIF；清除A/D中断标志
　　BCFINTCON，PEIE；使能外围功能
　　BCFINCON，GIE；使能所有中断 
4　结束语
　　本系统是为种植与养禽两用大棚而设计的，能控制3路温度和1路湿度。其中，1路控制孵化机的温度，1路控制出稚机的温度，另2路用于大棚的温度和湿度控制。控制温度为0～100℃，精度为±1℃；控制湿度为5％～95％RH。完全能够满足生产要求。
作者单位；广东韶关大学机电系（512003）
参考文献
　1　方佩敏.新编传感器原理、应用、电路详解.北京：电子工业出版社，1994
收稿日期：1998-10-24
