在答辩的时候有被人质疑,觉得在这么短的时间内(差不多7天的样子,每天白天还要上课)不可能完成这样一个东西(这个设计可以说几乎从零开始的,在没有开始竞赛以前我也没有想过自己可以做什么,开始后我才想到做它),首先别人是4个人一组,我就一个人(本来是自由分组,但是参加这个比赛的我基本上都是电子专业的都不认识。。),而且我是学机械的,根本就没有上过单片机相关的课程,,被质疑很正常。那段时间我每天都是两点以后才睡觉的,最晚的一次4点50才睡觉,面对这质疑我只想说,你可以否定我的设计,不过你不可以怀疑我的努力。。。。
其实,在参加这个比赛的时候,我就在想,这个比赛对我来说可能很重要,如果可以拿个好成绩,说不定就可以参加5月份的省赛,和9月份的国赛了。所以,当时花了很多时间和心思去完成它,尽可能的将它完善,最后功夫不负有心人,拿了个第一名,也正是因为这个第一名,后来才去参加省赛和国赛~~
下面来说说正题~~
下面来对我设计的功能进行介绍
本系统采用STC公司的 89C58RD+单片机为控制中心。实现的功能有:
1.实时显示时间和日历
2实时显示温度和湿度
3.可以对房间温度和湿度进行自动控制
4.具有声光防盗报警功能
5.无线控制功能
6.红外人体感应功能
7.低功耗模式(防盗模式)与正常模式任意切换
8.开机图片,程序在线下载等
9.测量水的温度
10.EEPROM数据保存
材料清单 :STC89C58RD+ 单片机
DS1302 时钟芯片
DHT11 温湿度传感器
DS18B20 高精度温度传感器
HC-SR501 红外人体感应模块
LCD12864 液晶显示模块
4路无线遥控 无线控制
其他
继电器,LED灯,STC下载器,9015,9013,10k电阻,4.7k电阻,有源蜂鸣器,微动按键,11.0592MHz和32.768KHz晶振 ,30pf瓷片电容,10uf电解电容,纽扣电池等等,一些元器件组成。
功能的实现
1.DHT11芯片采集温湿度数据传输给单片机进行处理然后后显示在LCD12864液晶屏上,并可以通过设置温湿度上下阀值(可以通过按键调节)来控制房间内的温湿度(通过继电器来进行控制)。
2.DS1302产生时钟数据传输给单片机进行处理然后显示在液晶屏上面,时间可以通过按键进行调节。
这个作品中一共有3个主要部分,一个是最下面的主控板,上面有STC89C54RD+,DS1302,继电器,蜂鸣器,DS18B20等等。第二个是中间的传感器板,上面有DHT11,HC-SR501 ,遥控接收器等等。第三个就是显示部分的LCD12864了~~
功能就这些了~~现在来点图片,毕竟有图有真相嘛~~
开机界面~~
开机图片
开机图片~~
触发报警的界面~~
正常工作界面~~
DS18B20 用来测量水温的~~
~DS1302部分
单片机
主控板正面~~
主控板背面
传感器~
传感器板正面~
传感器板反面~
主控板接线后(相当的乱啊~~)
完成之前在来一张~~~
完成了的整体的图~~
弄个盒子给他装上~~
KEIL编程截图(这些 .C 和 .H 都是自己一行一行敲出来的~~)
protues电路图截图~~
系统方案
整体流程图
恩,图片差不多就这些了,现在开始附上主要资料
第一个的程序和电路图
对于电路图和程序我想进行几点说明:
1.电路图进行了多次改进(标号是多少就是表明是第几次改进了),但是可能和我硬件还是有不同的地方,不过应该是没有错误的,还有其实用protues是不能正常仿真出实物效果来, 因为protues里面的LCD12864是不带字库的,还有些原器件protues里面没有,当时又不想自己画,所以直接找某些差不多的原件进行代替了~~
2.程序也进行了多次改进(最后标号是多少,就是表明是第几次改进了),因为那时候刚把51学的差不多了,所以所有的程序是自己一行一行敲出来的,包括所有的驱动程序,程序里面进行的非常详细的注释,在每一个驱动程序的开始也对该驱动程序进行了详细的介绍~~所以非常适合新手学习,而且里面也用到了多个不同的芯片,那些芯片驱动程序的注释比较详细,而且也可以直接拿到其他项目上去用的~~~