基于单片机的智能温控风扇.docx
- 文档编号:7268466
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:32
- 大小:668.41KB
基于单片机的智能温控风扇.docx
《基于单片机的智能温控风扇.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能温控风扇.docx(32页珍藏版)》请在冰豆网上搜索。
基于单片机的智能温控风扇
南京信息职业技术学院
毕业设计论文
作者赵鹏雪学号11141P18
系部电子信息学院
专业物联网应用技术
题目基于单片机的智能温控风扇设计
指导教师周波
评阅教师
完成时间:
2014年4月23日
摘要:
本次设计的单片机系统是基于单片机的智能电风扇设计。
使用的控制芯片是AT89C51,用数字温度传感器DS18B20检测温度并通过数码管显示,通过继电器来实现小电流的单片机控制大电流的电风扇电机工作,利用单片机内部定时器实现电风扇定时时间的设定。
本套系统的软件程序思想主要是通过实时温度与设定的温度上下限值进行比较后,控制电风扇启停、强弱挡,最终使环境维持让人舒适的温度。
用户可以根据自身需求自行设定温度上下限值、电风扇启停及工作时间。
用户设定的温度上下限值通过软件程序自动保存在数字温度传感器DS18B20内部的EPPROM内存单元中,掉电后数据不会丢失,不必劳烦用户每次启动风扇反复重新设定温度上下限值。
【关键词】:
智能,传感器,温控,风扇
1、引言
电扇是人们日常生活中常用的降温工具,从开始的吊扇到现在的USB风扇,无处不见电扇的踪迹。
虽然如今空调已经走进千家万户,但是电扇的低位还是无可取代,作为一种节能环保,并且廉价简单的降温工具,电扇还在很多人家发挥着自己独特的作用。
顺应时代潮流,各种多功能的风扇逐渐在取代传统风扇。
单片机作为一种智能化程度高,控制精度高,操作简单,廉价易得,抗干扰能力强等特点,越来越多的应用于智能化产品之中。
市场上智能风扇产品相继问世,制作方法也多种多样,功能也逐渐完善,普遍都具有了手动变速和定时关闭等功能,相对而言,具备人性化,智能化的风扇还是很少,使用也并不广泛,而且在电子工艺高度发展的今天,智能化的步伐也越来越快,尤其是中国这个高速发展的国家,电扇的智能化也该向前迈进一个步伐。
在中国市场上风扇还是有一定的市场份额的,几乎每个家庭都有风扇,具备价格便宜,摆放轻便,体积灵巧等特点,使得风扇在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,为提高风扇的市场竞争力,使之在技术含量上有所提高,满足智能化的要求,智能风扇很具竞争力。
大学四年即将结束,为了检验自己的学习情况,我决定使用之前所学习到的硬件只是结合相关的软件基础来制作一个基于单片机的智能温控风扇。
基于对人性化与智能化相结合的考虑,同时基于对价格的考虑,本设计决定制作一个基于51单片机的智能温控风扇,该风扇具有随温度自动调节风速的功能,并且在无人时可以自动关闭,而且可以根据每个人的不同情况来设定基准温度,从而实现了人性化与智能化的双重目标。
2、总体设计
本设计的整体思路是:
利用温度传感器DS18B20来检测环境温度,并直接输出数字温度给51单片机进行处理,并将实时温度、设置温度、风速显示在液晶12864上。
设置温度辅以2个可调按键,一个提高设置温度,一个降低设置温度,设置温度只能是整数型式,检测到的环境温度可以精确到小数点后一位。
本系统还配备一个红外探头,探测出风范围内是否有人,若无人则自动关闭风扇。
如图2-1所示。
图2-1硬件总体框图
3、硬件设计
3.1AT89C51单片机概述
在20世纪70年代时,当时的微电子技术正处在一个发展阶段,集成电路也属于中规模的发展时期,对于新材料新工艺尚未进入成熟阶段,单片机也是如此,仍处在一个初级的发展阶段,元件集成规模还比较小,功能也比较简单,一般包括CPU、RAM,有的还包括了一些比较简单的I/O口,将I/O口集成到芯片上,单片机还组要将一些外围的其他处理电路共同构成一个完整的计算系统。
类似的单片机还有Z80微处理器。
1976年由INTEL公司推出的MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,因此逐渐推向了市场。
MCS-48单片机由于它的体积小,功能全,价格低在市场上得到了广泛的应用,这为单片机的发展奠定了基础,在单片机的发展史上增添了亮丽的一笔,一个重要的里程碑。
其后单片机进入多功能强大的发展阶段,由若干但公司研发约有几十个品种,将近300多个系列,此时才算是真正进入单片机时代,普遍的单片机均集成CPU、RAM、ROM、I/O接口也很多、中断系统相当丰富,并且部分单片机还自带A/D转换器,功能性很强大强大,RAM和ROM的容量也日趋增长,寻址空间可达64kB,此时的单片机发展到了一个新纪元,应用领域也日趋广泛,单片机控制的智能化的电器也便走上了发展道路。
上个世纪90年代单片机如雨后春笋一般,MOTOROLA公司推出MC68HC系列单片机, 随后NTEL公司推出了80960超级32位单片机并且将相关产品投放市场,成为单片机发展历史上的一个里程碑。
3.1.1AT89C51单片机组成
如图3-1所示
图3-1AT89C51单片机组成结构图
目前使用较为广泛的主要是89C5X系列的单片机,都采用了标准的MCS-51控制内核,并且此系列单片机品种齐全、性能可靠、小体积、价格便宜、供货充足、调试和编程都十分方便,所以应用比较广泛。
AT89C51是CMOS结构8位单片机,具有低功耗、电压低、性能好等优点,该单片机内部具有一个内存大小为8KB的FLASHEPPROM,可反复擦除程序10000次,设计时采用了CMOS和ATMEL公司的高集成度、数据不易丢失的存储器技术,片内FLASH存储器可以使用常规的非易失性存储编程器进行编写。
因此,STC89C52是一种功能强大,使用灵活并且价格低廉的单片机,可广泛应用于各个控制领域。
AT89C51单片机的主要特性如下:
1.8KB可反复擦写程序的FLASH存储器;
2.全表态工作:
0~24HZ;
3.256x8字节的内部RAM;
4.32个外部双向输入、输出IO口;
3.1.2.AT89C51单片机的引脚结构。
如图3-2所示。
图3-2AT89C51单片机的管脚分布
表3-1AT89C51单片机的引脚功能
引脚
引脚功能
VCC
电源电压
GND
接地
P0口
P0口是双向8位三态IO口,每个IO口都可以独立控制,它不带上拉电路,主要用作数据和地址的输入输出。
P1
P1口试一个普通的输入输出口,其内部带有上拉电阻,也就是说不需要外接上拉电阻。
在对其进行数据读写操作时方法同P0口。
P2
P2口与P1口功能相同,在使用时除像P1口做驱动口外还与P0口构成地址的高8位,与P0口形成16位地址的输入输出数据操作。
P3
P3端口除普通IO口功能外,还有第二功能。
RST
单片机复位引脚,当RST复位引脚上出现两个或两个以上机器周期高电平再变为低电平,单片机将完成复位动作。
表3-2P3口的第二功能表
端口引脚
第二功能
P3.0
RXD(串行输出口)
P3.1
TXD(串行输入口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据写)
P3.7
RD(外部数据读)
XTAL1:
外接时钟引脚。
单片机外接晶振电路的输入端。
片内震荡电路的输入端。
XTAL2:
外接时钟引脚。
单片机外接晶振电路的输出端。
片内震荡电路的输出端。
3.2DS18B20单线数字温度传感器
温度传感器介绍
DS18B20是数字温度传感器。
其主要优点是体积小、价格低、精度高。
用它做温度测量系统的设计时,可以使电路更简单,在一根通信线以上,可以挂很多的DS18B20温度传感器,使用非常方便。
数字温度传感器DS18B20的实物图。
如图3-3所示
图3-3DS18B20实物图
DS18B20数字温度传感器主要由4部分组成:
64位的ROM、温度传感器、非挥发的温度报警触发器TH和TL及配置寄存器。
数字温度传感器DS18B20的内部结构。
如图3-4所示。
图3-4DS18B20内部结构图
表3-3DS18B20传感器引脚图
序号
名称
DS18B20引脚功能说明
1
GND
地信号
2
DQ
数据输入/输出引脚,单总线接口。
3
VDD
可选择的VDD引脚。
4、系统电路设计
4.1单片机最小系统电路设计
4.1.1AT89C51单片机的最小系统。
如图4-1所示。
图4-1AT89C51单片机的组成结构图
(1)时钟电路
时钟电路是能够为AT89C51单片机产生工作所必须的时钟信号,AT89C51单片机本身就是一个复杂的同步时序电路。
AT89C51单片机在唯一的时钟信号的严格控制下按时序执行指令,MCU时钟频率会影响速度和稳定性。
通常时钟有两种:
外部时钟和内部时钟。
本系统使用的内部时钟系统提供时钟信号。
AT89C51单片机内部自带的震荡器是一个高增益反向放大器,XTAL1和XTAL2分别为芯片外部时钟的输入输出端口,它们跨接在晶体振荡器和微调电容之间使用。
对于晶振电路电容的选择,如果所选电容太小,就会影响系统的快速性、稳定性及振荡的频率,所以C1、C2电容一般选在30pf左右。
晶振一般选用范围为1.2MHZ到12MHZ,单片机使用越高的晶振频率就可以得到越高的运行速度,但是这对存储器的存储速度提出了更高的要求。
为了提升晶振电路的稳定性,一般选用温度稳定性好的瓷片电容及频率为12MHZ的晶振。
时钟电路图如图4-2所示。
图4-2时钟电路图
(2)复位电路
AT89C51单片机可以通过RST复位引脚进行初始化操作,其原理是让单片机程序从指定初始化地址开始执行程序。
只要让AT89C51单片机的RST复位引脚上出现两个或两个以上机器周期的高电平,就可以使单片机程序复位,但是如果保持RST复位引脚一直是高电平,那么AT89C51单片机就一直循环复位,一旦RST复位引脚由高电平变为低电平后,单片机便复位成功。
复位电路如图4-3所示。
图4-3复位电路图
4.2按键电路设计
K1是功能键,第一次按下时,可以对下限温度进行设置
第二次按下时,可以对上限温度进行设置
第三次按下时,恢复温度显示。
K2是加一键,可以对上下限温度进行加一调整,长按时执行快速加一操作。
K3是减一键,可以对上下限温度进行减一调整,长按时执行快速减一操作。
按键电路如图4-4所示。
图4-4按键电路图
4.3控制电路设计
4.3.1温度控制电路设计
温度采集电路主要是由数字温度传感器DS18B20组成的。
它能够把采集的温度数据转化成二进制数,经过单片机处理后变为十进制,最后通过数码管显示。
如图4-5温控传感器电路
图4-5传感器电路图
4.3.2声响控制电路设计
该电路主要由数字温度传感器DS18B20、三个按键、一个PNP型三极管和一个蜂鸣器等组成的。
声响电路在每按下按键时会响一声,当没DS18B20数字温度传感器数值超过或低于温度上下限时,单片机就会通过蜂鸣器发出警报声音。
声音电路会在每个按键的按下时响一声,当数字温度传感器DS18B20没有温度数据输出时,单片机将通过蜂鸣器发出报警声音。
上下限温度值主要是通过按键K1、K2、K3来设定。
按键K1、K2、K3分别接入单片机
的P1.4、P1.5、P1.6脚。
电路如图4-6所示
图4-6声响控制电路图
4.4温控自动电路
4.4.1双向晶闸管介绍
双向晶闸管,具有对称性的特点,使它能够在两个方向上导通,是一种理想的交流开关装置。
双向晶闸管由N-P-N-P-N五层半导体制成的,从中引出了三个电极。
双向晶闸管也可以视为两个单向晶闸管反向并联,但它只有一个控制极。
4.4.2继电器介绍
继电器是一种电气控制器件。
它具有控制系统和被控制系统。
经常用在自动控制电路中,它的基本原理是用小电流控制大电流运作,相当于一种“自动开关”。
因此继电器在电路中得到了广泛应用,如用于自动调节、安全保护、转换电路等。
4.4.3电路设计
该电路的主要功能是根据单片机给出的信号来控制继电器,从而控制电风扇。
正常情况下,电风扇工作状态默认为弱风挡,当实时温度低于温度下限TL时,继电器1吸合,关闭风扇;当实时温度高于温度上限时,继电器2吸合,切换到强风档。
电路如图4-7所示。
图4-7温控自动电路
4.5数码显示电路
显示电路部分包括5个共阳极八段数码管,PNP型晶体管,电阻器等。
用单片机的P0端口连接共阳极数码管的8位数据端用来提供段选数据,用单片机的P2端口的P2.3—P2.7连接数码管的片选端用来提供片选信号输,用8550(PNP型)三极管搭建驱动电路驱动来驱动数码管显示。
因为P0口内部没有上拉电阻,所以在P0接一个10K的排阻到电源。
为防止对数码管的损坏,在P0端口各加一个300欧姆的限流电阻。
过P0口把要显示的数据通送给数码管,并且通过P2.7—P2.3五个端口轮流打开数码管的位选通,由于每位数码管刷新显示的时间十分短(扫描周期在20ms左右)和人眼视觉暂留,所以我们基本看不出它的闪烁,而是固定同步显示各数据。
电路如图4-8所示。
图4-8数码管显示电路
4.6电源电路
4.6.1LM7805集成稳压器介绍
三端稳压器LM7805是常见的,可以提供5V直流输出电压,其应用范围非常广泛,包含的调节器的过流保护电路和过载保护电路。
如果使用散热器,可以继续提供1A的输出电流,如果使用周边设备相互配合,可以提供不同的电压和电流。
电路如图4-9所示。
图4-9LM7805引脚图
4.6.2电路设计
本系统设计的电源电路采用9V变压器将220V交流电变为9V交流电,然后经过整流电路、2200uf电解电容滤波后变为较平稳的直流电,再送给LM7805稳压器变为平整的直流电,最后通过220uf电解电容、104pf瓷片电容滤去电压中的毛刺电压,最后得到5V稳压电源。
电路如图4-10所示。
图4-10电源电路图
5、软件设计
5.1总体设计思想
本系统是基于AT89C51单片机设计的。
首先是软件检测数字温度传感器DS18B20工作是否正常,如果发现系统检测不到数字温度传感器DS18B20采集的温度数据时,蜂鸣器发出报警信息,提示用户检查系统或更换数字温度传感器DS18B20。
系统检测正常时,通过3个功能按键K1、K2、K3来设定好系统温度上下限值后,按确认键,系统进入正常运行状态。
通过对数字温度传感器DS18B20进行数据采集,用数码管显示实时温度。
当实时温度低于或高于设定温度上下限时,通过单片机输出信号控制继电器关断从而控制电风扇启停、强弱风挡的切换,从而达到环境温度的调控目的。
5.2各部分的软件框图和程序
5.2.1主程序流程图
主程序流程图如图5-1所示。
图5-1主程序流程图
5.2.2温度显示子程序流程图
数码管显示子程序流程图如图5-2所示。
图5-2DS18B20复位与检测子程序流程图
总结
到目前为止,我的论文基本完成。
从最初的无从下手,毫无头绪,再到对思路的清晰,整个设计过程都是对我的考验。
因为我对电路一直都挺感兴趣的,我开始思考我的论文题目,从定下论文题目后,我开始收集材料,尽量让我的资料更加完整,在之后在写作的过程中,我也遇到了许多的问题,多亏了老师的指导和同学们的帮助,我才能把论文慢慢成形。
当我终于完成了所有的任务之后,看着我的论文,我觉得一切都是值得的。
这次毕业论文的制作过程让我更加了解了自己,知道了独立思考的重要性。
我不会忘记这次在毕业设计中所感受到的一切,这让我知道今后无论遇到任何事,都需要脚踏实地、认真谨慎,更要有不怕困难,坚持不懈的精神。
附录
附录一电路原理图
附录二源程序
;********************************************************************
;精准温度显示温控自动风扇系统*
;*说明:
;*1、K1→按第一次进入设定低温动作温度值TL状态:
;*2、K1→按第二次进入设定高温动作温度值TH状态:
;*3、K1→按第三次显示当前温度值
;*4、设定过程:
K2→加键,K3→减键,可快速调
;5、当实时温度值在TL和TH之间时,开启弱风档;当实时温度低于TL时,关闭风扇;当实时温度高于TH时,开启大风档。
每次设置的TH和TL均被保存在DS18B20的ROM
;内,掉不需重新设置.*
;********************************************************************
TIMER_LDATA23H
TIMER_HDATA24H
TIMER_COUNDATA25H
TEMPLDATA26H
TEMPHDATA27H
TEMP_THDATA28H
TEMP_TLDATA29H
TEMPHCDATA2AH
TEMPLCDATA2BH
TEMP_ZHDATA2CH
BEEPEQUP3.7
DATA_LINEEQUP3.3
C1EQUP3.4;C1控制口,接继电器1
C2EQUP3.5;C2控制口,接继电器2
FLAG1EQU20H.0
FLAG2EQU20H.1
;-------------------------------------------------
K1EQUP1.4
K2EQUP1.5
K3EQUP1.6
;=================================================
ORG0000H
JMPMAIN
ORG000BH
AJMPINT_T0
;--------------------------------------------------
MAIN:
MOVSP,#30H
MOVTMOD,#01H;T0,方式1
MOVTIMER_L,#00H;50ms定时值
MOVTIMER_H,#4CH
MOVTIMER_COUN,#00H;中断计数
MOVIE,#82H;EA=1,ET0=1
LCALLREAD_E2
MOV20H,#00H
SETBBEEP
SETBC1
setbC2
MOV7FH,#0AH;熄灭符
CALLRESET;复位与检测DS18B20
JNBFLAG1,MAIN1
JMPSTART
MAIN1:
CALLRESET
JBFLAG1,START
LCALLBEEP_BL
JMPMAIN1
START:
MOVA,#0CCH;跳过ROM匹配
CALLWRITE
MOVA,#044H;发出温度转换命令
CALLWRITE
CALLRESET
MOVA,#0CCH;跳过ROM匹配
CALLWRITE
MOVA,#0BEH;发出读温度命令
CALLWRITE
CALLREAD;读温度数据
CALLCONVTEMP
CALLDISPBCD
CALLDISP1
CALLSCANKEY
LCALLTEMP_COMP
JMPMAIN1
;====================================================
;功能键扫描子程序
;====================================================
SCANKEY:
MOVP1,#0F0H
JBK1,SCAN_K2
CALLBEEP_BL
SCAN_K1:
CALLALERT_TL
CALLALERT_PLAY
JBK1,SCAN_K1
CALLBEEP_BL
SCAN_K11:
CALLALERT_TH
CALLALERT_PLAY
JBK1,SCAN_K11
CALLBEEP_BL
SCAN_K2:
JBK2,SCAN_K3
CALLBEEP_BL
SCAN_K3:
JBK3,SCAN_END
CALLBEEP_BL
LCALLRESET_ALERT
LCALLRE_18B20
LCALLWRITE_E2
SCAN_END:
RET
;================================================
;设置动作温度值TL,TH
;================================================
RESET_ALERT:
CALLALERT_TL
CALLALERT_PLAY
JNBK3,$;K3为位移键
SETBTR0
RESET_TL:
CALLALERT_PLAY
JNBFLAG2,R_TL01
mov75H,7fh;消影
mov76H,7fh
CALLALERT_PLAY
JMPR_TL02
R_TL01:
CALLALERT_TL
mov75h,7Eh;送设定值
mov76h,7Dh
CALLALERT_PLAY
R_TL02:
JNBK1,K011A
JNBK2,K011B
JNBK3,RESET_TH
JMPRESET_TL
K011A:
INCTEMP_TL
MOVA,TEMP_TL
CJNEA,#120,K012A;没有到设定上限值,转
MOVTEMP_TL,#0
K012A:
CALLTL_DEL
JMPRESET_TL
K011B:
MOVA,TEMP_TL
CJNEA,#00H,K;没有到设定下限值,转
MOVTEMP_TL,#120
K:
DECTEMP_TL
K012B:
CALLTL_DEL
JMPRESET_TL
;-------------------------------------------------------
RESET_TH:
CALLBEEP_BL
JNBK3,$
RESET_TH1:
CALLALERT_PLAY
JNBFLAG2,R_TH01
mov75H,7fh;消影
mov76H,7fh
CALLALERT_PLAY
JMPR_TH02
R_TH01:
CALLALERT_TH
mov75h,7Eh;
mov76h,7Dh
CALLALERT_PLAY
R_TH02:
JNBK1,K021A
JNBK2,K021B
JNBK3,K002
JMPRESET_TH1
K021A:
INCTEMP_TH
MOVA,TEMP_TH
CJNEA,#120,K022A;没有到设定上限值,转
MOVTEMP_TH,#0
K022A:
CALLTH_DEL
JMPRESE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 温控 风扇