体系硬件规划
依据C8051F020的档案库温湿度操控器,主器材为8051F020,从器材为I2C总线数字温湿度传感器SHT11。
SHT11是瑞士Sennsirion公司出产的具有I2C总线接口的单片全校准数字式相对湿度和温度传感器。传统的模仿式湿度传感器一般都要规划信号调度电路并通过杂乱的校准和标定进程,因而丈量精度难以确保,且在线性度、重复性、互换性、一致性等方面往往不尽人意。SHT11是瑞士Sennsirion公司推出的依据CMOSensTM技能(将温湿度传感器、信号扩大调度、A/D转化、I2C总线悉数集成在一个芯片上)的新式温湿度传感器,该传感器的湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和8位。
C8051F020单片机是集成在1块芯片上的混合信号体系级单片机,具有与MCS8051内核及指令彻底兼容的微操控器。除了具有规范8051机的数字外设部件外,片内还集成了数据收集与操控体系中常用的模仿部件和其他数字外设及功用部件,内部还具有JTAG和调试电路,通过JATG接口能够运用安装在终究运用体系产品上的单片机进行非侵入、全速及在线体系调试。
由二者组成的温湿度操控器的硬件衔接如图1所示。
图1 C8051F020与SHT11的接线图
运用I/O端口初始化程序发动优先权交叉开关译码器把P0.0、P0.1引脚别离装备成SDA
(串行数据)、SCL(串行时钟),然后别离接SHT11的DATA和SCK,在时钟的操控下来完结对SHT11收集并进行A/D转化后的温湿度数据的读取,P0.2、P0.3被装备成根本输入输出,依据读取的温湿度值的凹凸来操控两个继电器,从而到达操控温湿度调理器的意图。在串行通讯进程中主器材为8051F020,从器材为SHT11。
软件规划
1 Bang-Bang操控
在档案室温湿度操控中,对温湿度的要求不是一个定值,而是一个规模。履行机只要两种状况:on,工作;off,不工作。关于这种履行机,选用典型的数字操控算法为Bang-Bang操控算法。这样需求两个温度设置点:THIGH和TLOW,两个湿度设置点HHIGH和HLOW。温度操控和湿度操控相同,所以只介绍温度的操控。假如温度高于THIGH,则操控器封闭电源(继电器开释),假如温度低于TLOW,则操控器翻开电源(继电器吸合)。THIGH与TLOW之差称为滞后。运用滞后延长了继电器的运用寿命,因为它减少了继电器开关次数。
2程序规划
该程序包含:
● 体系复位子程序(Reset_Init):完结对内部振荡器的设置,对XBR0和XBR2的设置将SMB连到通用的I/O引脚;
● SMBus初始化子程序(SMBus_Init):装备并使能SMBus,设置SMBus时钟速率,为第一次传输铲除SM_BUSY标志;
● A/D转化和读取转化数据得子程序(ADCRead);Bang-Bang操控算法子程序(Bang-Bang);
● 输出操控子程序(OUTcontrol)。现把首要的发动A/D转化及读取数据子程序给出。
ADCRead:
WRITE EQU 00H
//SMBus写指令
READ EQU 01H
//SMBus写指令
Chip-A EQU 00H
//SHT11从地址
MEAMURE_TEMP EQU 03H
//SHT11丈量温度指令
MEARURE_HUMI EQU 05H
//SHT11丈量湿度指令
CLR RW
//写从地址
MOV A,#CHIP_A
ORL A,#WRITE
MOV WRIT_ADC, A
SETB SM_BUSY
SETB STA
JB SM_BUSY, $
//写温度丈量指令
CLR RW
MOV A,# MEAMURE_TEMP
ORL A,#WRITE
MOV WRIT_ADC, A
SETB SM_BUSY
SETB STA
JB SM_BUSY, $
//读测得的温度
SETB RW
MOV A, # CHIP_A
ORL A,#READ
MOV READ_ADC, A
SETB SM_BUSY
SETB STA
ACALL DELAY
MOV TEMPR, RECEIVE_BYTE
——————
//写湿度丈量指令
——————
//读测得的湿度值
因为湿度丈量和温度丈量程序相同,所以没有给出,丈量后的温度数据和湿度数据别离放在TEMPR和HUMIR两个寄存器中,然后通过线性批改程序和棒棒算法程序后操控继电器的动作。
结束语
本文规划温湿度调理体系,主器材为8051F020,从器材为I2C总线数字温湿度传感器SHT11,接口电路用I/O端口初始化程序发动优先权交叉开关译码器把引脚别离装备成串行数据及串行时钟,并装备根本输入输出。软件规划则选用Bang-Bang操控算法,需凹凸两个温度设置点,温度高于高点则封闭电源,低于低点则翻开电源。操控程序含体系复位、初始化、A/D转化和读取数据转化、Bang-Bang操控算法及输出操控子程序。