第一个部分为按钮控制模块。此部分是专门用来设定风扇的上限温度和下限温度,由三个按钮来完成此项功能。一个按钮为切换调整的是上限温度还是下限温度,还有两个按钮分别来对上下限温度进行向上调整和向下调整。这也是本次试验中真正也是唯一一处用户手动控制操作的一个部分。
第二个部分为温度的实时读取模块。利用计时器来设定一个时间段,从而不断地通过中断来读取并跟新外界温度的信息。此模块中包括了对于温度传感器DS18B20的初始化,读取命令等众多的函数模块,在此就先将它统称为实时读取模块了。
第三个部分为风扇控制模块。此模块的主要功能是根据从第二部分中读取的数据来实现对风扇控制,执行风扇的运转和暂停工作。此过程也会在中断的程序中出现,从而起到实时更新实时比较的作用。此项模块中当然也包括了对于风扇的各项函数,在此也只是一个统称。
第四部分为液晶屏幕显示模块。此项模块主要是用来实时显示收集到的各项数据,其中很多操作是对于LCD液晶显示屏的初始化和设定操作,之后再调用相应的函数,来实现显示的功能。虽然整个显示的可能比较简单,但是前期的操作还是很多的,并且都是为了显示而做的,例如数字的转换和计算,所以都被分类到这一模块里来了。
(3) 论文的重点和难点
重点:对于本课题来说,其重点在于对于温度的实时操控性,即要随时读取当前的实时温度并不断进行判断,从而控制风扇的开与关,在此同时,还要不断关注对于上下限温度是否有调整,这一系列的实时操作要结合在一起,形成一个完整的系统程序来运行。在此过程中,要完成各个模块的协调工作,在不互相干扰的情况下完成所需要的功能及各项任务。所以在众多的函数中间怎样安排好之间的逻辑关系和顺序,就变得十分重要了。此外,为了实现实时的特性,中断的操作就成了程序的关键,怎样合理的设计中断服务程序也成了本次实验中的一个重点。
难点:本次课题现在主要的难点在于在此次的研究中,用到了从未接触过的DS18B20温度传感器和L298芯片,这两种芯片的运用是要通过我自己在之后的阶段中不断自学、请教老师和翻阅资料来完成的。而且这两个芯片,在本次的课题研究中占了很重要的地位,是用来实现核心模块运转的核心芯片,承担了温度的实时监测和风扇转动与停止的控制作用。此外,本次的实验要使两个实时监控的同时实现,即实时监控温度从而判断风扇的转动与否,还有的就是实时监控按钮从而来调节上下限温度。在这两个实时监控的之间是否会有什么冲突或者信息的不匹配是很可能发生的,在课题的研究之中也会特别关注到这一问题。
1.4 对于论文的各类支持
(1) 课题实验的方法和思路
在本课题中,为了实现对于温控风扇的开发,在读取外部数据方面,我利用了DS18B20温度传感器来读取实时的温度数据,从而在AT89C52中进行控制,来根据用户所设定的温度上下限来进行调控,从而实现温控风扇的基本功能。还利用了L298芯片来实现对于风扇的控制的具体的实现,操控了风扇的运转和停止。此外还有另外的三个按钮来实现对于上下限温度的改动,从而使得程序更加具有可实用性,更符合实际的应用要求。
故本课题,主要的方法是采用编程的方式,利用在主程序中不断的出现的定时中断来判断并读取外部数据,以此来具体来实现以上的各项功能。
(2) 课题实验的实行环境 基于Proteus仿真的温控风扇的开发+源程序(3):http://www.751com.cn/zidonghua/lunwen_23064.html