基于C8051F020的档案库温湿度控制器设计

发布者:psi33最新更新时间:2012-09-10 来源: 21ic 关键字:C8051F020  档案库  温湿度控制器 手机看文章 扫描二维码
随时随地手机看文章

  在一些仓储管理、生产制造、气象观测、科学研究以及日常生活中,对温湿度的要求普遍存在,如《档案库房技术管理暂行规定》中就明确指出:档案库房(含胶片库、磁带库)的温度应控制在14~24℃,有设备的库房日变化幅度不超过±2℃;相对湿度应控制在45%~60%,有设备的库房日变化幅度不超过±5%。本文利用新型的C8051F020单片机和I2C总线数字式温湿度传感器SHT11设计了一套满足此要求的自动化设备。

  系统硬件设计

  基于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[page]

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控制算法及输出控制子程序。

关键字:C8051F020  档案库  温湿度控制器 引用地址:基于C8051F020的档案库温湿度控制器设计

上一篇:四位二进制转十进制计算显示程序
下一篇:基于C51单片机的汽车嵌入式车载防盗系统设计方案

推荐阅读最新更新时间:2024-03-16 13:07

基于C8051F020的嵌入式以太网监控系统
  引 言   近年来,随着网络技术的发展,网络化席卷全球。在工业现场中如何将测控系统等仪器和设备接入互联网,实现信息共享和远程控制成为人们关注的话题。传统的工业测控现场所采用的总线技术(如RS232和RS485等)能够很好地解决仪器与设备的互联互通问题,并得到了广泛的应用。但此类总线是专为工业所设计的,并不能解决因特网的接入问题。采用单片机配合以太网控制芯片构成测控系统,可解决测控系统与互联网的接入问题,但却需要花费大量的时问和精力进行开发。采用商品化的串口服务器或网络服务器进行网络互联,虽可实现网络互联,但软硬件成本很高。针对这些情况,我们采用低成本的RS232以太网转换模块作为网络互联媒介,设计了基于美国Cygnal公司的
[单片机]
基于<font color='red'>C8051F020</font>的嵌入式以太网监控系统
无创血氧饱和度检测仪的设计
0 引言 氧是维持人体组织细胞正常功能、生命活动的基础。人体的绝大多数组织细胞的能量转换都是在氧的参与下完成的。所以,实时监护人体组织中氧的代谢及运输过程,可以间接获得细胞的代谢状态,在生命科学的研究领域有重要的意义。 要了解人体组织中氧的代谢及运输过程,即掌握动脉血管内的血氧运输代谢情况,人们通常采用两种有效实用的方法。第一种方法:直接采集人体动脉血样进行血气分析。它包括血液的pH,PO2,PCo2的测定值,还包括经计算求出的血氧饱和度等参数,但这种方法是有创测量,且对血液标本采集有一些限制要求,不能作为实时监护的方法。第二种方法:利用无创血氧测量技术来检测动脉血氧饱和度。它是利用近红外光在组织中血红蛋白氧合状态不同时具有独特
[测试测量]
无创血氧饱和度检测仪的设计
基于C8051F020的多路无线温度采集系统的设计方案
1.引言 随着科技的不断进步,在多数领域中有线连接的方式已经不能满足科技高速发展的要求,无线通信正进入到我们生活中的各个领域,它与有线连接方式相比,具有携带方便、使用灵活、不必考虑走线等优点。在无线报警、工业数据采集、遥控、遥测射频IC卡、手持PDA、无线图像传输、不停车收费、无线抄表等各个方面有着极其广泛的应用。本文所介绍的测温系统也是无线通讯系统的应用之一。它以SOC单片机C8051F020为中央控制器,以CC1000为无线传送模块和温度测量电路构成了多路无线温度采集系统。 将8路的温度数据进行采集,通过无线方式送给主机C8051F020进行处理。 调制解调由CC1000完成,系统采用频移键控调制(FSK),载波频率为433M
[电源管理]
基于<font color='red'>C8051F020</font>的多路无线温度采集系统的设计方案
基于C8051F020的伺服阀温度零漂测控系统
  以高性能单片机C8051F020为核心控制芯片的自动测控系统,能自动测温,到测温点自动输出线性电流、自动采集负载压力等,并进行计算、显示及打印测试数据,其可靠性、精度、效率都大大提高。    1 系统方案设计   系统进入温度零漂测试状态时,由嵌入式微计算机控制,升温信号通过光电隔离控制固体继电器组去驱动油箱里11个功率是kW级的加热管快速升温。到某个测温点时,自动输出经D/A转换后的模拟三角波周期信号加在伺服阀的绕组上,驱动伺服阀工作,使得阀的两个负载腔的压力值随控制电流大小呈差动变化。压力的变化作用在压力变送器上,经A/D不断采样比较,当差值为最小时(一个周期出现两次最小值),计算机由此计算出对应加在伺服阀上的电流
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved