智能红外遥控电风扇的软件设计
- 格式:doc
- 大小:1.32 MB
- 文档页数:36
摘要本设计是智能红外遥控电风扇的软件系统设计,要求在KEILC环境里编写代码、生成HEX文件,在PROTEUS环境里画出硬件电路图,并且将KEILC生成的HEX文件烧录到单片机里进行仿真。
尽管智能红外遥控电风扇硬件电路比较复杂,但是因为本设计是软件设计,因此在PROTEUS环境里仿真时,用一些简单器件来模拟红外遥控电风扇系统各个模块。
在PROTEUS环境里仿真时,以AT89C51型单片机为数据处理核心、以数字式温度传感器DS18B20为温度数据采集单元、以液晶显示屏LCD1602为温度数据显示单元;以两个开关分别模拟红外信息采集模块和光照度信息采集模块、以直流电动机模拟风扇模块、以电灯模拟照明模块。
关键字:软件设计模拟代替KEILC PROTEUS 仿真AbstractThis design is software system design of the smart infrared remote control electric fan. The code and the HEX file is generated in the KEILC software. The hardware circuit is drawn in the PROTEUS software. The hardware circuit is complex. My design is the software system design. So I use some simple devices to replace modules of the smart infrared remote control electric fan system. For example, I use AT89C51 for data processing core and DS18B20 for temperature data acquisition unit and LCD1602 for temperature data display element when I simulate software system in the Proteus software. I use two switches and electromotor and electric bulb instead of infrared signal acquisition module and light information acquisition module and fan module and lighting module to simulate software system in the PROTEUS software.Key words: software design instead of KEILC PROTEUS simulation目录引言 (5)第一章本设计所用芯片的概述 (6)1.1数字式温度传感器DS18B20的概述 (6)1.1.1数字式温度传感器DS18B20的介绍 (6)1.1.2数字式温度传感器DS18B20操作指令、工作过程及时序 (6)1.2ULN2003A的概述 (7)1.2.1ULN2003A的介绍 (7)1.2.2ULN2003A的工作过程 (8)1.3 液晶显示器的概述 (8)1.3.1LCD1602管脚介绍 (8)1.3.2LCD1602相关指令介绍 (9)1.3.3LCD1602时序介绍 (9)1.4 AT89C51单片机的简述 (10)1.4.1AT89C51管脚介绍 (10)第二章硬件系统模拟 (12)2.1 智能红外遥控电风扇系统模块框图 (12)2.2 硬件模块的模拟 (12)2.2.1 数字式温度传感器模拟温度采集模块 (12)2.2.2 液晶显示屏模拟显示模块 (13)2.2.3 直流电动机模拟风扇模块 (13)2.2.4 电灯模拟照明模块 (14)2.2.5 开关模拟红外信号采集模块 (14)2.2.6 开关模拟光照度信息采集模块 (14)2.3 在PROTEUS仿真时硬件系统电路图 (16)第三章软件流程图 (15)3.1 软件总流程图 (15)3.2 系统在光照度充足状态下工作流程图 (16)3.3 系统在光照度不充足状态下工作流程图 (17)第四章智能红外遥控电风扇系统仿真 (20)4.1 仿真软件简介 (20)4.1.1KEILC简介 (20)4.1.2PROTEUS简介 (20)4.2 各个模块仿真 (21)4.2.1 液晶显示模块仿真 (21)4.2.2 温度采集和温度显示模块仿真 (21)4.2.3 风扇模块和照明模块仿真 (21)4.3智能红外遥控电风扇系统仿真 (21)4.3.1 仿真条件:温度大于50摄氏度且有红外且光不足 (22)4.3.2 仿真条件:温度大于36摄氏度且小于50摄氏度且有红外且光不足 (22)4.3.3仿真条件:温度大于26摄氏度且小于36摄氏度且有红外且光不足 (22)4.3.4仿真条件:温度小于26摄氏度且有红外且光不足 (23)4.3.5仿真条件:温度大于50摄氏度且有红外且光充足 (23)4.3.6 仿真条件:温度大于36摄氏度且小于50摄氏度且有红外且光充足 (24)4.3.7仿真条件:温度大于26摄氏度且小于36摄氏度且有红外且光充足 (24)4.3.8 仿真条件:温度小于26摄氏度且有红外且光充足 (25)4.3.9仿真条件:没有红外 (25)4.4 仿真过程中遇到的问题 (26)4.4.1问题:对温度采集和温度显示模块仿真时,始终无法达到预期效果 (26)4.4.2问题:LCD显示温度非常快,看不清温度值 (26)4.4.3问题:电灯发亮时一闪一闪的 (26)4.4.4问题:温度为零下27摄氏度时,风扇转动 (26)4.3.5问题:风扇不转动 (27)总结 (28)致谢 (29)参考文献 (30)附录系统的主程序 (31)引言当今社会,不管是国内还是海外,物联网越来越发达。
在这种大背景下,家用电器的智能化程度不断加深。
为适应企业的发展,为满足客户的需求,“如何使电风扇智能化”成了众多相关企业领导阶层关注的焦点,以便提高企业效益,提高用户满意度。
在此背景下,在海内外智能电风扇蓬勃发展。
智能电风扇之所以具备智能,是因为智能电风扇应用了数据处理器、传感器。
数据处理器分类很多,不同种类的处理器应用领域也不尽相同。
传感器的种类很多,智能电风扇多使用一种传感器,那么智能电风扇就多具备一种智能。
智能电风扇最起码使用的传感器是温度传感器,温度传感器能使电风扇具备根据温度实时地、自动地调节风扇风速档位的智能。
在国外,基于其他高级处理器的智能电风扇普及程度比较高。
比如美国,基于DSP 和基于FPGA/CPLD处理器的智能电风扇应用很广泛。
DSP处理器处理数据的速度很快,使得智能电风扇“反应”很快。
在国内,单片机技术已经很成熟了,我国在传感器应用领域也取得不少进展。
因此在国内,智能电风扇发展和应用也很快。
智能电风扇在未来的发展是向更加人性化发展。
未来智能电风扇的功能将至少具备智能开关功能、智能调节风速功能、智能照明功能、智能显示功能。
所谓智能开关功能,就是指在电风扇初始化之后,能够根据周围环境里有无人来决定打开或者关闭电风扇系统;所谓智能调节风速功能,就是指电风扇能够根据周围环境温度实时地、自动地调节风扇风速档位;所谓智能照明功能,就是指电风扇能够根据周围环境的明暗情况来实时地、自动地打开或者关闭照明设备;所谓智能显示功能,就是指液晶显示屏能够自动地更新显示内容。
我国科技力量正在迅猛蓬勃发展,我想在未来我国在不仅仅智能电风扇领域取得很大进展,并且我国将在智能家电领域取得较大发展。
第一章本设计所用芯片的概述1.1数字式温度传感器DS18B20的概述1.1.1数字式温度传感器DS18B20的介绍数字式温度传感器DSl820,显著的优点是:(1)接线简洁,DS18B20只有三个管脚,可以与单片机直接连接;(2)测量范围广、测量精度高,测量区间从-55℃一直到+125℃,测量精度是0.5℃;(3)响应时间短,从初始化到响应可在短时间内完成。
表1-1 数字式温度传感器DS18B20管脚说明表数字式温度传感器DS18B20管脚GND 接地DQ 输入/输出VCC 接+5V电源图1-1 数字式温度传感器DS18B20框图1.1.2数字式温度传感器DS18B20操作指令、工作过程及时序数字式温度传感器DS18B20遵循单总线协议。
单总线协议流程是:主机发送指令初始化DS18B20→主机发送DS18B20的ROM操作指令→主机发送DS18B20的存储器操作指令→DS18B20发出数据、主机接收数据。
初始化:对数字式温度传感器DS18B20的所有处理均从初始化开始。
表1-2 DS18B20操作指令说明表ROM操作指令存储器操作指令READ ROM(读ROM) 33H WRITE SCRA TCHPAD(写暂存器)4EH MATCH ROM(匹配ROM) 55H READ SCRA TCHPAD(读暂存器)BEH SKIP ROM(跳过ROM) CCH COPY SCRA TCHPAD(复制暂存器)48H SEARCH ROM(搜索ROM) F0H CONVERT TEMPERSTURE(温度变换)44H ALAR SEARCH(告警搜索) ECH REACLL EPROM(重新调出)B8H 存储器操作指令READ POWER SUPPL Y(读电源) B4H 数字式温度传感器DS18B20各个时序简述:初始化时序:单片机将总线从高电平拉低到低电平并且持续480—960us;紧接着单片机将总线从低电平拉高到高电平;单片机等待15—60us,如果单片机检测到18B20发出的低电平,那么初始化成功。
DS18B20发出低电平状态持续60—240us,然后发出高电平。
图1-2 数字式温度传感器初始化时序示意图写时序:当单片机机将总线从高电平拉低到低电平时,DS18B20就产生写时间时序。
单片机必须在15us之内将所需要写入DS18B20的“位”送到总线上,并且持续15us等待DS18B20进行采样。
如果单片机是发出低电平,那么意味着给DS18B20写入的是“0”;如果单片机是发出高电平,那么意味着给DS18B20写入的是“1”。
另外要注意,给DS18B20多次写入“位”时,两次写入间隔大于等于1us。
读时序:DS18B20把总线从高电平拉低到低电平,并且持续发出低电平15us,紧接着将总线从低电平拉高到高电平,这就告诉单片机DS18B20将要输出数据。