LZ在前一段时间做电子系统设计,虽然是电类的学生但是主要是搞电网方向的,对单片机之类的东西是纯纯的初学者,在51黑电子论坛里看了很多大神的作品,也得到了很多大神提供的资料,甚是感激;于是决定把自己做的东西也放出来,供大家参考。
再次说明我不是这个方面的专家,有些东西做的确实糟糕,只能供大家参考一下,从里面找一找需要的东西。
首先说明一下我这个设备:这是一个基于51单片机的多功能遥控器,通过温湿度模块收集数据,并实时在显示屏上显示,根据预设的信息通过遥控模块来控制空调,这个模块还可以学习并发射其他指令,并且,通过ESP8266模块,可以初步实现(真的浪费了8266这个模块了...你们完全可以用一些较为便宜的模块来代替)手机通过网络对设备的控制。
所用到的元器件有:STC90C52RC、ESP8266-01S、XK2233红外模块(这个是在淘宝一个店里买的,店家说这个模块用的是XK2233单片机,具体叫什么不确定,性能不稳定,控制距离非常短,特别坑)、DHT11、LCD1602。
我们一开始预想能做出最终的自己的板子,但是无奈队友太坑,画的板子都是错最后印出来不能用,不得已只能拿着开发板去验收。
下面的附件是这个设备完整的工程,运行环境keil5。点开就可以用,编译是没有bug的,不过在实际运行的过程中可能会有一些问题,比如,我在两块不同的开发板上跑这个程序,一块正常,另一块的屏幕则会显示一些意想不到的字符并且不受控制(我就是因为这个原因最后才不得已拿着我的大开发板去验收)。
制作出来的实物图:
XK2233
显示屏幕
单片机源程序:
- /*****************************
- * 系统运行文件
- * 建档:2017年4月25日
- * 最后编辑:2017年4月25日
- * 作者:ZHY
- *****************************/
- #include <SYS.h>
- int mode=0;//0-自动,1-制热,2-制冷,3除湿,4-吹风
- /*****************************
- * 程序函数
- *****************************/
- void SYS()
- {
- getDHT11();//获取温湿度
- Lcd1602_Stat();//依据当前状态显示
- while(SYS_SW)//工作开关打开
- {
- xk_setmod();//设置空调型号
- xk_on();//开机
- xk_settemp();//设置温度26°C
- while(1)
- {
- getDHT11();
- /********************************调节温度********************************/
- if(T_H==2&&T_L>=5&&T_L<=7)//温度在25到27°C之间,温度合适,准备调节湿度
- {
- }
- if((T_H==2&&T_L<5)||T_H<2)//温度低于预设值
- {
- if(SYS_CW)//如果工作在制热模式,选择制热模式
- {
- if(mode!=1)
- {
- xk_warm();
- mode=1;
- }
- }
- else//如果工作在制冷模式,准备调节湿度
- {
- }
- }
- if((T_H==2&&T_L>7)||T_H>2)//温度高于预设值
- {
- if(SYS_CW)//制热模式准备调节湿度
- {
- }
- else//制冷模式
- {
- if(mode!=2)
- {
- xk_cold();
- mode=2;
- }
- }
- }
- /********************************调节湿度********************************/
- if(T_H==2&&T_L>5&&T_L<7&&RH_H>=6)//如果过于潮湿,除湿(这里只是示意一下,实际上湿度的判断应该与温度相结合)
- {
- if(mode!=3)
- {
- xk_aref();
- mode=3;
- }
- }
- else if(T_H==2&&T_L>5&&T_L<7&&RH_H<=6)//各项参数均符合要求,吹风增加室内对流,促进温湿度平衡//或者干脆删掉这一项,太鸡肋了
- {
- xk_blow();
- mode=4;
- }
- /********************************关闭空调********************************/
- if(!SYS_SW)//如果系统开关被关闭,则关闭空调
- {
- xk_off();
- break;
- }
- Lcd1602_Stat();
- }
- if(!SYS_SW)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
- 单片机源程序如下:
复制代码
所有资料51hei提供下载:
demo.rar
(49.38 KB, 下载次数: 206)
|