基于C<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />8051F330单片机的多路温湿度测控系统 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
收集:杨本荣 来源: 网络 发表于 2005-9-3
The Multi-Channel Measurement and Control System of Temperature and Humidity Based-on Single-chip Microcomputer C8051F330
庞清乐,孙同景,秦伟刚 山东大学控制科学与工程学院
Pang,Qingle Sun,Tongjing Qin,Weigang Control Science & Engineering Dept of ShandongUniversity
摘要:介绍了一种高速、高性能的单片机C8051F330,该单片机内部集成了众多的功能部件,是真正的混合信号在片系统。本文对单片机的功能和特点做了详细的介绍,并以一个实际的多路温湿度测控系统为例,给出了其具体的应用方法。
关键词:C8051F330;单片机;传感器;分布式
中图分类号:TP368.1 文献标识码:B
Abstract: This paper introduces C8051F330 single-chip microcomputer with high-speed and high-capability .It is a genuine mix signal system-on-chip for its numerous integrated function parts.The functions and characteristics of C8051F330 is introduced in this article, and the detail applied methods of practical appliance example of the multi-channel measurement and control system of temperature and humidity also are given.
Keywords:C8051F330;single-chip microcomputer;sensor;distributed
1 前言
随着社会的高速发展,温室、粮库、孵化机等恒温场所对自动化水平的要求也越来越高,对室内温湿度的测量和设备的控制操作要用自动控制系统来完成。本系统采用美国Cygnal公司的C8051F330单片机为控制核心,组成的分布式多点温湿度控制系统。它利用较少的外围器件实现了对温湿度的自动控制。Cygnal C8051F×××系列单片机是完全集成的混合信号系统级芯片(SOC)。其中,C8051F330具有高模拟集成度、体积小、集成的FLASH存储器以及低功耗等特点,可用于很多中、小型控制系统和智能仪表。
2 C8051F330单片机简介
C8051F330使用Cygnal的专利CIP-51微控制器内核,CIP-51与MCS-51指令集完全兼容。它采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。CIP-51提供了14个中断源,允许大量的模拟和数字外设中断微控制器,因而有更高的执行效率。该单片机有标准的8051程序和数字地址配置,包括768字节的数据RAM和8KB的FLASH程序存储器。它还具有片内Cygnal 2线(C2)接口调试电路,支持使用安装在最终应用系统中的产品器件进行非侵入式、全速的在系统调试。具有17个I/O引脚,每个端口可以被配置为模拟输入或数字I/O。数字交叉开关允许将内部数字资源映射到端口I/O引脚。C8051F330MCU内部有一个SMBUS/I2C接口、一个具有增强型波特率配置的全双工UART和一个增强型SPI接口,每种串行总线完全用硬件实现,都能向CIP-51产生中断。它内部还有可编程计数器阵列,包括一个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较器。此外捕捉/比较模块4还有提供看门狗定时器(WDT)功能。C8051F330内部有一个10位SAR ADC和一个16通道差分输入多路选择器。该ADC工作在200ksps的最大采样速率时可提供真正的10位线性度。A/D转换可以有6种启动方式,一次转换完成可以产生中断。C8051F330器件内部还有一个电压比较器,可以由用户软件使能/禁止和配置,端口I/O引脚可以通过多路选择器被配置为比较器输入,比较器可以产生中断。C8051F330内部有一个10位电流方式数/模转换器(IDA0)。IIDA0具有灵活的输出更新机制,允许无缝满度变化,支持无抖动波形更新。
3 系统硬件结构
多点温湿度控制系统由PC计算机和C8051F330单片机系统组成,构成小型的分布式控制系统。其结构如图一所示。该系统以C8051F330单片机为核心,主要由以下几部分组成:温度与湿度的检测电路、控制输出电路和数据通讯电路组成。单片机系统的任务是完成现场环境参量的采集、存储与处理,并通过总线同PC机相连。而PC机系统主要承担集中操作管理、通信控制、对每个单片机系统的测控等功能,并协调各从机之间的数据传送,对整个系统进行管理。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
3.1 温度与湿度的检测
温度传感器采用半导体集成温度传感器AD590,将温度转换成4~20mA的电流信号,长距离传输到运算放大器op07,经其放大滤波后,变成电压信号,输入到C8051F330的模拟输入端,经内部的A/D转换器转换成相应的数字量。C8051F330将两路温度采样值取平均后,作为现场温度存入相应的内存单元。湿度传感器采用电容型湿度传感器,型号为HMD1型。湿度采样值经变送器将其变为电压信号输入到单片机的模拟输入端,经内部的A/D转换器转换为数字量。对两路采样值取平均后,作为现场的湿度值。将现场温度和湿度值与系统设定值进行比较,并根据差值来输出相应的控制信号。
3.2 控制输出
控制输出首先经光电隔离器把数字信号与模拟信号隔离开,以避免干扰。再由驱动放大电路驱动中间继电器,通过中间继电器控制执行部件。当温度低于设定值时,则启动加热设备。当湿度低于设定值时,则启动加湿设备。当湿度和温度高于设定值时,启动排气风扇,进行降温和除湿。使温度和湿度保持在设定范围内。
3.3 数据通讯
多个单片机C8051F330的TX0、RX0及P0.2分别通过MAX485与上位机相连,进行串行通信,从而实现多机通信。P0.2控制MAX485的状态或发送,用软件控制。RX0为单片机的串行输入端,接收上位机通过MAX485向单片机发送的数据。TX0为单片机的串行输出端,通过MAX485发送给上位机。
4 系统软件设计
4.1 单片机程序
本系统采用keil μVision2编译器进行编译。
4.1.1 主程序
主程序流程图如图二所示。
a 禁止WDT
WDTE=0;
b 设置系统时钟及复位源
VDM0CN=0x80;//使能VDD监视器
RSTSRC=0x02;//选择VDD监视器为复位源
OSCICN=0x83;//内部振荡器允许,不分频
c I/O端口初始化
P1MDIN=0xF0; //P1.0~P1.3为模拟输入,
//P1.4~P1.7为数字输入
P1MDOUT=0xF0;//P1.0~P1.3为漏极开路输出,
//P1.4~P1.7为推挽输出
XBR0=0x01; //UART0连到P0.4和P0.5
XBR1=0x40; //允许交叉开关和弱上拉
d ADC初始化
ADC0CF=(SYSCLK/5000000)<<3;//ADC转换时钟
//为5MHz,ADC0H:ADC0L中的数//据为右对齐
ADC0CN=0x02; //定时器2溢出启动
//ADC转换
e UART0初始化
REN0=1; //UART0接收允许
TI0=0; //清除发送中断标志
RI0=0; //清除接收中断标志
f 定时器1、定时器2初始化
#define TC_20ms 0x24703 //定时器2在24.5/12MHz
//时对应于20ms的滴答数
TMR2RLH=0xff&((-TC_20ms)>>8);//初始化重载值
TMR2RLL=0xff&(-TC_20ms);
TMR2CN=0x04; //定时器2允许,自动重载16位
CKCON=0x02; //定时器2的时钟源为SYSCLK/12, 定时器1的
//时钟源均为SYSCLK/48
TMOD=0x20; //定时器1为8位自动重装载定时器
TH1=0x96; //定时器1初始值
TL1=0x96; //定时器1重载值
TR1=1; //启动定时器1
TR2=1; //启动定时器2
g 开中断
ET1=1;//允许定时器1中断
ET2=1;//允许定时器2中断
ES0=1;//允许UART0中断
EA=1; //允许所有中断
4.1.2 定时器2中断服务子程序
定时器2中断对应的中断为interrupt5,当定时器2产生溢出中断时,转入interrupt5对应的中断处理子程序。首先读入各个模拟通道的值,存入内存。再根据与设定值的差值来输出相应的控制。
4.1.3 UART0中断服务子程序
PC机通过RS-485网络广播自己所要求的下位机地址,所有下位机把收到的地址与自己的地址进行比较,地址相同的下位机为被选中的下位机,其余的下位机暂时与网络隔离。然后按主从双机的通讯过程进行通信。单片机与上位机通讯采用 “2400,N,8,1”方式,使用串行中断方法来实现。与上位机通讯采用中断方式时,中断流程图如图三所示。
4.2 上位机管理软件
上位机管理软件利用VB6.0开发,
系统模块主要包括:
机的数据通讯。
将通信模块读入的温湿度数据存储于
数据库,以便于查询、统计、打印。
据进行显示、查询、处理。
据库进行管理和维护。
5 结束语
总之,C8051F330单片机是目前
性价比较高的一款单片机,根据其速度高、体积小、设计简单等特点,无论是用于小型的自动控制系统,还是智能仪表的设计,都是一种非常理想的选择。
参考文献:
作者简介:庞清乐,男,1971年生,工程师,汉族,专业:计算机控制,在读硕士研究生,邮箱:stefam@163.com,联系电话:(0531)8393284;孙同景,男,1949年生,教授,博士生导师,研究领域:计算机控制及智能系统。
文章评论(0条评论)
登录后参与讨论