1.3 课题研究的方法和内容
本课题的研究方式是依据温度控制技术在实际生活中的一些应用,通过对被控对象与被测对象的选定及测量来顺利完成软件的设计与运行。此次的设计题目是基于单片机的鸡舍温度控制器软件设计,在这个设计中,分析的对象是鸡舍温度,通过DS18B20温度传感器采集温度,以STC89C52单片机为控制器进行设计,以C语言为设计语言,实现对鸡舍温度的自动控制。
本课题涉及的知识主要有单片机、C语言、PID控制算法等。
课题的主要任务是利用C语言软件开发工具keil对各个程序模块进行设计,并将程序下载到单片机后调试。
本温度控制器软件主要包括的程序模块有:键盘程序模块、显示程序模块、输入程序模块、控制程序模块、输出程序模块。各个程序模块的功能如下:
键盘程序模块功能:用于设置P.I.D、温度设定值、报警值等参数。
显示程序模块功能:用于显示被测温度值等。
输入程序模块功能:对温度信号的采集。
控制程序模块功能:完成PID运算。
输出程序模块功能:将PID算出的数字控制信号转换成模拟信号输出。
该温度控制器软件设计框图如图1.1所示。
图1.1 温度控制器软件框图
2 对课题中知识及软、硬件的认识与研究
2.1 STC89C52单片机
STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如图2.1。
图2.1 单片机总控制电路
(1) 时钟电路
STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图2.2所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图2.3所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
图2.2 内部方式时钟电路 图2.3 外部方式时钟电路
(2) 复位及复位电路
复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表2-1所示。
表2-1 寄存器的复位状态
寄存器 复位状态 寄存器 复位状态
PC 0000H TCON 00H
ACC 00H TL0 00H STC89C52单片机的鸡舍温度控制器软件设计(4):http://www.751com.cn/zidonghua/lunwen_3017.html