论文部分内容阅读
摘 要:温度是在生产与生活中都常涉及到的表征物体的冷热程度的物理量,故温度控制在各生产领域中都会受到重视。以STC89C52单片机为主控制单元,以DS18B20为温度传感器,从硬件电路和系统程序这两个方面设计了一种温度控制系统。结果表明:该系统可以实时存储及显示相关温度数据,并能调控相关温度。
关键词:单片机;温度控制;STC89C52;DS18B20
由于系统受其他热源的干扰,系统在实际生产环境下热交换较难控制的,故系统温度往往会因受到外界干扰的影响。
目前,51系列单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。STC89C52属于51系列增强型的8位单片机。为此,本文拟以STC89C52单片机为主控制单元,以DS18B20为温度传感器,来设计温度实时测量及控制系统,该系统能够根据温度传感器DS18B20 所采集的温度在液晶屏上实时显示,并能通过STC89C52单片机的控制把温度控制在设定的范围之内。
一、硬件电路设计
本文所设计的系统是一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统,其主要模块有:单片机最小系统模块、温度采集模块、电源模块、按键处理模块、实时时钟模块、数据存储模块、LCD显示模块以及通讯模块。该系统可以实时存储及显示相关温度数据,并能调控相关温度。
1、单片机最小系统模块设计
在本文所设计的系统中,其控制核心是51系列增强型8位单片机STC89C52。STC89C52单片机是深圳宏晶科技有限公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个512K的片内数据存储器RAM;4K片内程序存储器;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。STC89C52单片机有32个I/O口,片内含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1€%eS,其最小系统包括复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择)
STC89C52单片机的一个执器周期由6个状态(s1-s6)组成,每个状态又持续2个震荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为1/6us;在一数情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。对于单周期指令,当指令操作码读人指令寄存器时,使从S1P2开始执行指令。如果是双字节指令,则在同一机器周期的s4读人第二字节。若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1。在加结束时完成指令操作。多数STC89C52指令周期为1-2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令,在执行Movx指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。
2、温度传感器模块设计
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。本文所设计的系统采用单线数字器件DS18B20来作为检测和控制温度的传感器。DS18B20传感器的输出信号进4.7K的上拉电阻,可直接接到单片机的P1.0引脚上。一般而言,DS18B20传感器将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上,有外供电源线VDD、单线数据传输总线端口DQ、共用地线GND等3根外引线。
本文所设计的系统之所以选择单线数字器件DS18B20来作为检测和控制温度的传感器,是经过多方面比较和考虑的,主要原因有以下几方面:(1)DS18B20温度传感器的系统特性优良。DS18B20温度传感器的测温精度为士0.5℃,测温范围为-55℃~+125℃。DS18B20温度传感器的温度转换精度9~12位可变(12位精度转换的最大时间为750ms),能够直接将温度转换值以16位二进制数码的方式串行输出,并可通过数据线供温度传感器的用电,从而具有超低功耗的特点。(2)DS18B20温度传感器具有成本优势。由于计算机技术和微电子技术的发展,DS18B20温度传感器的功能越来越强大,但其价格却越来越低。一般来说,一只DS18B20温度传感器的价格只要十元人民币左右,因此具有较好的成本优势。(3)使用DS18B20温度传感器的系统维护简便。由于DS18B20温度传感器是全数字元器件,引线较少,使得使用DS18B20温度传感器的系统接口较为简化,且具有故障率低、抗干扰性强的特点,这便给使用DS18B20温度传感器系统的调试和日常维护带来了很大的方便。(4)使用DS18B20温度传感器的系统的复杂度低。由于DS18B20温度传感器是单总线类型的器件,而且一条总线上可连接几十个DS18B20温度传感器,故使用DS18B20温度传感器的系统的微处理器与其接口时仅需占用1个I/O端口,检测温度时无需其他任何的外部元件,因此使用DS18B20温度传感器的系统的复杂度通常较低。
3、其他模块设计
本文所设计的温度控制系统采用电源稳压芯片是LM2596,该开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,输入电压是+5v,输入电压是+24v,同时具有很好的线性和负载调节特性。该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在€?%的范围内,振荡频率误差在€?5%的范围内;可以用仅80€%eA的待机电流,实现外部断电;具有自我保护电路(一个两级降频限流保护和一个在异常情况下断电的过温完全保护电路)。DS18B20温度传感器有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接。 二、系统程序设计
本文所设计的温度控制系统的相关程序主要是采用C语言来编写的。温度控制系统的主程序进行初始化后,通过调用参数设置模块、温度检测模块、温度控制模块、温度显示模块等模块来实现温度控制系统的各项功能。用的是循环查询方式,来显示和控制温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序。
1、参数设置模块
参数设置模块主要是负责温度控制系统参数的设置,主程序每循环一次都会扫描系统参数,从而判断是否有新输入的系统参数,如果有则进行相关操作处理。参数设置模块的程序流程框图如图1所示。
1、温度检测模块
温度检测模块的主要功能包括温度控制系统初始化时,判断温度传感器DS18B20是否存在, 如果温度传感器DS18B20存在则进行相关操作处理,如果温度传感器DS18B20不存在则返回温度控制系统主程序。温度检测模块的程序流程图如图2所示。
3、温度控制模块
温度控制模块将从系统读取当前温度后与目标温度进行比较,如果不等于目标温度则调控并更新当前温度,其程序流程图如图3所示。
4、温度显示模块
温度显示模块主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。温度显示模块的程序流程图如图4所示。
三、结语
在生产与生活中,温度都是常常会涉及到的表征物体的冷热程度的物理量,故温度控制在生产与生活中都会受到重视。特别是在生产领域,温度通常能够影响到生产效率的提高、产品质量的保证、安全生产的保障、资源能源的节约等,因此做好温度控制显得十分有意义。
参考文献:
[1]李广弟,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版社,2001.
[2]蔡美琴,张为民,等. MCS-51系列单片机系统及其应用[M].北京:高等教育出版社,2004.
[3]陈德军,刘福华.一种基于多通道实时数据采集及分析软件的设计与实现[J].测控技术,2004,(1).
[4]刘瑞星,胡健,等. Protel DXP 实用教程[M].北京:机械工业出版社,2003.
[5]张毅刚等.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,1997.
[6]余锡存.单片机原理与接口技术[M].西安:西安电子科技大学出版社,2003.
作者简介:杨云刚,西安外事学院学生。
关键词:单片机;温度控制;STC89C52;DS18B20
由于系统受其他热源的干扰,系统在实际生产环境下热交换较难控制的,故系统温度往往会因受到外界干扰的影响。
目前,51系列单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。STC89C52属于51系列增强型的8位单片机。为此,本文拟以STC89C52单片机为主控制单元,以DS18B20为温度传感器,来设计温度实时测量及控制系统,该系统能够根据温度传感器DS18B20 所采集的温度在液晶屏上实时显示,并能通过STC89C52单片机的控制把温度控制在设定的范围之内。
一、硬件电路设计
本文所设计的系统是一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统,其主要模块有:单片机最小系统模块、温度采集模块、电源模块、按键处理模块、实时时钟模块、数据存储模块、LCD显示模块以及通讯模块。该系统可以实时存储及显示相关温度数据,并能调控相关温度。
1、单片机最小系统模块设计
在本文所设计的系统中,其控制核心是51系列增强型8位单片机STC89C52。STC89C52单片机是深圳宏晶科技有限公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个512K的片内数据存储器RAM;4K片内程序存储器;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。STC89C52单片机有32个I/O口,片内含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1€%eS,其最小系统包括复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择)
STC89C52单片机的一个执器周期由6个状态(s1-s6)组成,每个状态又持续2个震荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为1/6us;在一数情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。对于单周期指令,当指令操作码读人指令寄存器时,使从S1P2开始执行指令。如果是双字节指令,则在同一机器周期的s4读人第二字节。若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1。在加结束时完成指令操作。多数STC89C52指令周期为1-2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令,在执行Movx指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。
2、温度传感器模块设计
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。本文所设计的系统采用单线数字器件DS18B20来作为检测和控制温度的传感器。DS18B20传感器的输出信号进4.7K的上拉电阻,可直接接到单片机的P1.0引脚上。一般而言,DS18B20传感器将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上,有外供电源线VDD、单线数据传输总线端口DQ、共用地线GND等3根外引线。
本文所设计的系统之所以选择单线数字器件DS18B20来作为检测和控制温度的传感器,是经过多方面比较和考虑的,主要原因有以下几方面:(1)DS18B20温度传感器的系统特性优良。DS18B20温度传感器的测温精度为士0.5℃,测温范围为-55℃~+125℃。DS18B20温度传感器的温度转换精度9~12位可变(12位精度转换的最大时间为750ms),能够直接将温度转换值以16位二进制数码的方式串行输出,并可通过数据线供温度传感器的用电,从而具有超低功耗的特点。(2)DS18B20温度传感器具有成本优势。由于计算机技术和微电子技术的发展,DS18B20温度传感器的功能越来越强大,但其价格却越来越低。一般来说,一只DS18B20温度传感器的价格只要十元人民币左右,因此具有较好的成本优势。(3)使用DS18B20温度传感器的系统维护简便。由于DS18B20温度传感器是全数字元器件,引线较少,使得使用DS18B20温度传感器的系统接口较为简化,且具有故障率低、抗干扰性强的特点,这便给使用DS18B20温度传感器系统的调试和日常维护带来了很大的方便。(4)使用DS18B20温度传感器的系统的复杂度低。由于DS18B20温度传感器是单总线类型的器件,而且一条总线上可连接几十个DS18B20温度传感器,故使用DS18B20温度传感器的系统的微处理器与其接口时仅需占用1个I/O端口,检测温度时无需其他任何的外部元件,因此使用DS18B20温度传感器的系统的复杂度通常较低。
3、其他模块设计
本文所设计的温度控制系统采用电源稳压芯片是LM2596,该开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,输入电压是+5v,输入电压是+24v,同时具有很好的线性和负载调节特性。该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在€?%的范围内,振荡频率误差在€?5%的范围内;可以用仅80€%eA的待机电流,实现外部断电;具有自我保护电路(一个两级降频限流保护和一个在异常情况下断电的过温完全保护电路)。DS18B20温度传感器有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接。 二、系统程序设计
本文所设计的温度控制系统的相关程序主要是采用C语言来编写的。温度控制系统的主程序进行初始化后,通过调用参数设置模块、温度检测模块、温度控制模块、温度显示模块等模块来实现温度控制系统的各项功能。用的是循环查询方式,来显示和控制温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序。
1、参数设置模块
参数设置模块主要是负责温度控制系统参数的设置,主程序每循环一次都会扫描系统参数,从而判断是否有新输入的系统参数,如果有则进行相关操作处理。参数设置模块的程序流程框图如图1所示。
1、温度检测模块
温度检测模块的主要功能包括温度控制系统初始化时,判断温度传感器DS18B20是否存在, 如果温度传感器DS18B20存在则进行相关操作处理,如果温度传感器DS18B20不存在则返回温度控制系统主程序。温度检测模块的程序流程图如图2所示。
3、温度控制模块
温度控制模块将从系统读取当前温度后与目标温度进行比较,如果不等于目标温度则调控并更新当前温度,其程序流程图如图3所示。
4、温度显示模块
温度显示模块主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。温度显示模块的程序流程图如图4所示。
三、结语
在生产与生活中,温度都是常常会涉及到的表征物体的冷热程度的物理量,故温度控制在生产与生活中都会受到重视。特别是在生产领域,温度通常能够影响到生产效率的提高、产品质量的保证、安全生产的保障、资源能源的节约等,因此做好温度控制显得十分有意义。
参考文献:
[1]李广弟,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版社,2001.
[2]蔡美琴,张为民,等. MCS-51系列单片机系统及其应用[M].北京:高等教育出版社,2004.
[3]陈德军,刘福华.一种基于多通道实时数据采集及分析软件的设计与实现[J].测控技术,2004,(1).
[4]刘瑞星,胡健,等. Protel DXP 实用教程[M].北京:机械工业出版社,2003.
[5]张毅刚等.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,1997.
[6]余锡存.单片机原理与接口技术[M].西安:西安电子科技大学出版社,2003.
作者简介:杨云刚,西安外事学院学生。