版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
族徽新华埠的ANHUIXINHUAUNIVERSITY本科毕业论文(设计)题目:基于单片机的智能风扇设计姓名: 学号:专业: 电子信息工程院系:电子通信工程学院指导老师: 职称学历: 助教/硕士完成时间: 2014年5月word文档可自由复制编辑安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。毕业论文(设计)作者签名:日期: word文档可自由复制编辑基于单片机的智能风扇设计摘要电风扇是夏天给人们降温的非常好的家用电器,智能风扇就是能根据温度的改变,风扇转速随之改变,现在的风扇很难做到这一点,只有人为的几档调速。夏夜温度下降后人们容易因熟睡而受凉,当温度升高时,它又不能根据温度的变化改变转速。本设计智能风扇采用单片机AT89C51作为控制系统的核心,使用温度传感器DS18B20进行当前的温度采集,利用PWM脉冲宽度调制技术进行实时调速,并通过LED数码管显示当前温度。同时本次设计还有一个比较创新的地方,本系统具有驱蚊功能。关键词:单片机;温度传感器;风扇;超声波驱蚊word文档可自由复制编辑DesignofSmartFanBasedonSingleChipMicrocomputerAbstractFanisverygoodforpeoplecoolingappliancesinthesummer.SmartFanisaccordingtochangesintemperature,andfanspeedchanges.Nowthefanisdifficulttodothis,onlyafewartificialstallspeed.ThedesignofthefancontrolsystemusesAT89C51microcontroller,theindoortemperaturesensorDS18B20temperatureacquisition,usePWMpulsewidthmodulationtechnologyforreal-timecontrol,anddisplaysthecurrenttemperaturethroughtheLEDdigitaltube.Thesameinnovativedesignaswellasacomparisonwherethesystemhasarepellentfunction.KeyWords:Microcontroller;TemperatureSensors;Fan;UltrasonicInsectRepellenword文档可自由复制编辑TOC\o"1-5"\h\z1绪论 1\o"CurrentDocument"智能风扇发展史 1\o"CurrentDocument"智能风扇的工作原理 2\o"CurrentDocument"本次设计的主要任务和内容 2\o"CurrentDocument"2方案论证 3\o"CurrentDocument"控制核心的选择 3\o"CurrentDocument"显示电路的选择 3\o"CurrentDocument"调速方式的选择 4\o"CurrentDocument"温度传感器的选择 5\o"CurrentDocument"超声波发生器的选择 5\o"CurrentDocument"主要硬件电路设计 7\o"CurrentDocument"系统总体设计 7\o"CurrentDocument"电源电路设计 7\o"CurrentDocument"单片机最小系统电路设计 8AT89C51单片机简介 8单片机最小系统电路 10\o"CurrentDocument"温度采集电路设计 11DS18B20温度传感器简介 11温度采集电路 13\o"CurrentDocument"温度显示电路设计 14word文档可自由复制编辑TOC\o"1-5"\h\zLED数码管简介 14温度显示电路 15\o"CurrentDocument"驱蚊电路设计 15TCT40-16T超声波发射器简介 15驱蚊电路 16\o"CurrentDocument"驱动与调速电路设计 17达林顿反相器ULN2803简介 17驱动与调速电路 18\o"CurrentDocument"独立按键电路设计 18\o"CurrentDocument"4软件设计 20\o"CurrentDocument"系统总体软件设计流程图 20\o"CurrentDocument"用KeilC51进行程序编辑 21\o"CurrentDocument"5系统调试与仿真 22\o"CurrentDocument"系统软件调试 22\o"CurrentDocument"程序下载 22\o"CurrentDocument"系统仿真 226结论 26\o"CurrentDocument"27献 28录 29word文档可自由复制编辑在现实生活中,我们要经常使用一些降温设备。虽然现在不少城市家庭都用空调设备作为降温工具,但在大部分农村家庭风扇仍然是作为夏季降温的主要工具。春夏或者夏秋交替季节,早晚温差比较大,白天温度很高,风扇应该转动的比较快,这样才能给人带来凉爽。到了晚上,气温下降的很多,当人们入睡后,风扇的转动速度应慢慢减下来,防止感冒。虽然现在的风扇有不同的档位可以调节,但都必须人工来换挡,当人们熟睡时就无能为力了。尽管现在普遍采用定时的方式解决这个问题,但定时时间有限,一般最多只有两个小时,在这两个小时内温度并不一定就会下降的很多,风扇关闭后,人们可能就会因为炎热再次醒来开启电扇,这样会使人的睡眠质量大大降低。从以上的分析可知,需要设计出一种很智能化的电风扇来解决。本设计用单片机作为控制核心,用温度传感器采集当前温度,LED数码管显示实时温度,并根据当前检测到的温度,输出不同占空比的PWM脉冲信号,从而风扇实现了不同的转速。电风扇的发展史电风扇简称电扇,香港称为风扇,日本及韩国称为扇风机,从发明到现在已经经过了一百多年,是炎热夏季的宠物。电风扇起源于1830年,是叫詹姆斯的一个美国人发明了一种用发条来驱动的,可以固定在天花板上的电风扇。1880年,一个叫舒乐的美国人第一次将叶片直接装到电动机上,再接上电源,叶片便很快速旋转起来。1882年,一个叫休伊•斯卡茨・霍伊拉的纽约人最早发明了商品化的电风扇。中国生产的第一台风扇起于1916年,直到1925年华生电器制造厂才正式生产电风扇,并很快赢得市场好评。一开始电风扇不能很好的控制时间,过了一段时间,便出现了一种可以设置风扇转动时间,及可以根据设定的时间来开启或者关闭的电风扇,这种风扇在当时相当受好评,也受到广大人民的喜爱。电风扇的操作方式从一原先的旋钮,到word文档可自由复制编辑按键,再到现在的触摸式操作[1]。电风扇的工作原理电风扇的主要功能器件是交流电机,通电后线圈在磁场中因受力而转动,能量的转化形式是这样的:电能主要是转化为机械能,同时由于电阻问题,电能还有一部分转化成内能。电风扇工作时,因为有电流流过电风扇的线圈,而线圈是有电阻的,所以会产生部分热量向外扩散,因此电风扇的温度会增高。但人们为什么会感觉到凉爽呢?因为人体的表面在夏天有大量的汗液,当电风扇工作后,室内的空气会随着电风扇流动,所以就能够蒸发人体表面的汗液,由物理学原理蒸发需要吸热,故人们会感觉到非常凉爽[2]。本次设计的主要任务和内容本设计是以AT8951单片机为主要控制核心,利用51单片机对温度传感器采集到的数据进行处理,并且通过各种电子元器件对电风扇各种工作状态进行实时控制,从而可以达到用户的要求。本次设计主要完成以下内容:(1)能够检测当前温度并显示,可根据预设温度自动开启关闭,当当前温度大于预设温度,自动开启,小于预设温度自动关闭。(2)预设温度可通过按键增加或减少。(3)可随着外界温度的增加风扇可自行调速,主要分为五个档位,温度每升高五度风扇自动增加一档。(4)具有驱蚊功能。word文档可自由复制编辑2方案论证控制核心的选择方案一:采用单片机作为主要控制芯片。在本设计中采用AT89C51单片机,通过软件编程的方法来实现对温度的实时采集和控制,在其I/O口输出相应的控制信号。单片机AT89C51工作电压相对比较低,单片内含有4k字节的ROM和256字节的RAM,并且价格也相对较便宜。方案二:采用电压比较电路作为控制执行部件。将采集到的温度信号转换为电信号并经放大电路放大,集成运算放大器组成的比较电路来判断决定电风扇的转动速度。对于方案一,用单片机作为控制器件,通过简单的程序编写可以将温度传感器DS18B20检测的温度通过LED数码管显示出来,而且可以通过按键扫描程序通过单片机的外部按键对预设的初值进行增加或者减少,同时对于驱蚊功能采用单片机的软件编程更易实现,成本低,故以单片机AT89C51为控制核心,适合本次设计。对于AT89C51的具体参数参见下面“硬件设计”中的各器件介绍。对于方案二,采用电压比较电路作为控制的核心,虽然电路比较简单、容易实现,但不能对预设温度的值进行更改,无法满足不同用户的需求,故本次设计不采用。显示电路的选择方案一:采用LCD液晶显示器显示。方案二:采用数码管做显示器件,共阴极接法,动态方式显示[3]。对于方案一,液晶显示屏显示的字符非常优美,这一优点LED数码管是无法做到的,但是液晶显示屏价格太过昂贵,驱动程序编写起来也是相当复杂的,本次设计不采用。对于方案二,用LED显示,成本非常低,温度显示清晰可见,即使夜间也word文档可自由复制编辑能看见,显示程序的编写也比较容易,因此这种显示方式得到了广泛的应用。不足的地方是采用该方案可能会产生闪烁现象,因为这种动态扫描方式五个LED数码管是逐个点亮的,但由于人眼有个视觉暂留效应,为20MS,我们只要设定合适的扫面周期就可以避免闪烁现象,故这一方案可行。关于LED的详细参数参看下面“硬件设计”中的各器件介绍。调速方式的选择方案一:采用变压器调节方式,运用变压器原理将市电220V交流电压通过线圈降压到不同的值,电风扇电机接到不同电压值的线圈上就可以来控制直流电机的转速。方案二:采用单片机的PWM软件编程方式。PWM中文意思是脉冲宽度调制,英文意思是PulseWidthModulation的简写形式,它是一种按某种规律变化的脉冲方波,在PWM驱动直流电机的调节控制系统当中,最常用的是矩形PWM脉冲波信号,也是编写程序最简单的。在对直流电机的转速进行控制时,需要根据当前温度来输出不同占空比的PWM脉冲。PWM脉冲的占空比是指高电平的时间在一个周期时间内的百分比,若全为低电平,占空比为零,风扇不转;若全为高电平,占空比为100%时,转速达到最大[4]。用单片机输出PWM脉冲信号时,有如下两种方法:(1)利用软件延时。可以利用单片机自带的定时器编程实现不同占空比的PWM脉冲的输出,利用中断程序对单片机输出的电平进行高低转换,从而实现风扇的调速,本设计采用该方法。设计不同占空比的PWM脉冲的思路是:假设采用1S的周期方波,以50MS为基准,则20个基准便就是一个1S,那么当其中4个连续的50MS的高电平脉冲,然后16连续的50MS低电平脉冲,便得到了占空比为20%的PWM方波信号。(2)利用单片机自带的PWM功能。但本次设计所用得AT89C51单片机没有这种功能,只有STC系列的才有,故不可行。对于方案一,该方案可以对直流风扇进行调速,但调节不是很方便,而且采用变压器来改变电压,不能适应人性化要求。word文档可自由复制编辑对于方案二,采用PWM脉冲调制的纯软件的方法来实现对直流电机的实时调速,具有很大的灵活性,而且可以更充分地发挥单片机的功能,综合考虑选用^方^案一二0温度传感器的选择方案一:用热电偶来作为检测温度的元器件,配合适当的外围电路,将检测到的温度信号送入单片机AT89C51处理。方案二:用热敏电阻作为检测温度的元器件,经过运算放大器放大,由于温度变化会引起热敏电阻的电阻值发生相应的变化、便可以得到输出电压变化的信号。方案三:用高精度集成温度传感器DS18B20作为检测温度的元器件,直接输出数字温度信号给单片机处理[5]。对于方案一,采用热电偶作为检测元器件,其检测的温度范围非常宽,可检测-50摄氏度到1600摄氏度,但是电路设计比较复杂,故本设计不采用该方案。对于方案二,采用热敏电阻价格相对便宜、元器件也很容易买到,但热敏电阻对温度的变化不是很敏感,在检测温度信号的时候,还有可能产生失真和误差,故本设计不采用该方案。对于方案三,由于温度传感器DS18B20的集成度很高,大大减少了外接电路,从而检测误差也会变小很多,DS18B20检测温度的原理与前面两种方案的原理有着很大的不同。其检测到的温度值可以直接送入单片机处理,不用编写更多的转换程序,简化了程序的编写,且只用一根线便可与单片机相连,接口相当简单,本次设计采用该方案。关于DS18B20的详细参数参看下面“硬件设计”中的器件介绍。超声波发射器的选择本设计的原理是根据蚊子的生理特性来的,主要灵感来源是现在的智能手机上带有驱蚊的软件。在夏天咬人的一般都是雌蚊,雄蚊几乎是不咬人的,雌蚊在夏天大部分都是怀卵的且在怀卵期间又不喜欢与雄蚊接近,因此当它们感觉到雄word文档可自由复制编辑蚊发出频率在22KHZ的超声波信号时,就会自动离开,因此只需控制超声波发射器发射出模拟雄蚊的超声波就可达到驱蚊的目的。产生该频率的超声波有一下两种方案:方案一:可以通过软件编写,定时器T1产生频率在22KHZ的方波信号,并通过并联的反相器用来增大驱动能力,然后接入超声波发射器,使超声波发射器发出模拟雄蚊的超声波,从而驱逐雌蚊,进而可以避免蚊子的叮咬。方案二:用NE555构成多谐振荡器产生可调频率的方波,从而驱动超声波发射器,使其发射我们需要的超声波信号,达到驱蚊目的[6]。对于方案一:AT89C51单片机定时器T1工作在方式1,可通过初值的设置,输出22KHz的时钟信号输出,不用反复中断,提高了系统的执行效率。超声波发射器选择的是TCT40-16T,为了增大驱动能力,单片机P3.5口产生的方波信号经过并联反相器后加在超声波发射器的两端,这样超声波发射器就可以发射22KHz的超声波,本设计采用该方案。关于TCT40-16T的详细参数参看下面“硬件设计”中的器件介绍。对于方案二:由于NE555产生的超声波频率调节是依靠调节滑动变阻器实现的,不好可视化的调节频率,不方便用户使用。word文档可自由复制编辑3系统主要硬件电路设计系统总体设计本次设计的思路:本次设计主要利用AT89C51单片机为控制核心,利用温度传感器DS18B20采集当前温度送入单片机处理,单片机根据当前温度与预设温度的比较决定是否开启风扇,并通过五段LED数码管显示当前温度和预设温度。当当前温度高于预设温度,风扇开启,低预设温度时风扇关闭。单片机根据当前的温度输出相应占空比的PWM脉冲,并通过ULN2803增大驱动后,送入12V的直流电机,从而产生不同转速。本次设计的系统总框图如图3.1所示:图3,1系统总体框图电源电路设计直流稳压电源作为直流能源的提供者,在电路中起到很关键的作用,因此对电源的要求比较高,尤其是对电源纹波系数和输出电流能力的要求上,如果电源word文档可自由复制编辑
没有达到设计所需电源的要求,将直接影响系统的正常工作。常用的转5V电源有线性型稳压芯片和开关型稳压芯片两大类。线性型稳压芯片线性度高,纹波小,外围电路简单。开关型稳压电路功耗小,转换率高,但纹波大,受尖峰脉冲干扰严重。综合考虑选用线性型三端稳压芯片LM7805。本次设计需要两个幅度不同的直流电压5V和12V。其中5V电压的产生是将市电〜220V交流电经过降压器降压,桥式整流滤波后送入稳压器件LM7805,输出的电压可能还含有纹波,在通过470uf带极性的电容滤除低频信号,0.1uf不带极性的电容滤除高频信号,进而可以得到稳定的5V电压[7]。12V电压只需将5V电压经过运算放大器放大即可得到,5V和12V电压产生电路如图3.2(a)和3.2(b)所示:图3.2(a)5V电压产生电路ZCIOOJ1ste工nU1780547DUT4TEXT图3.2(a)5V电压产生电路ZCIOOJ1ste工nU1780547DUT4TEXT、——1>5V,C3D.liJl<1EXT^图3.2(b)12V电压产生电路单片机最小系统电路设计AT89C51简介word文档可自由复制编辑AT89C51是美国ATMEL公司生产的低电压单片机,其含有4K字节的ROM和256字节的RAM,兼容MCS-51指令。其中央处理器是8位的,且含有Flash存储单元,功能非常强大。AT89C51单片机具有以下标准的功能:一个8位CPU频率范围1.2-12MHZ,4K字节Flash闪存,256字节内部数据存储器RAM,4个8位并行I/O口,一个全双工串行口,2个16位定时/计数器,5个中断源的中断控制系统,片内自带振荡器和时钟电路。AT89C51单片机管脚图如3.3所示:U119?XTAL1 PO.O/ACOF'O,1/ADIF'Li.2/AD2XT.HL2 F'Li.3/AD6F'Li.4/AC4PO.5/AD5F'LI.0/AC6RST F'Li.7/AD7F2.。阖P2.1.(ASP2.2/A10391S3837369353433322921222324P3EN F2.3/A11ALE P2.4/A12EA P2.5/A13P2.6/A14P2.7/A15P1D F3.0/RXDF'U P3.1/TXDFT2 P3.2/INTUF'13 F'3.3/lNTTF,1.4 P3.4jTUF'1j5 P3.5jT1P1fi P3.6/WRF11,7 P3.7/RD302531_>261272S1023■1112KW161B45.7817AT89L51<TEXT>图3.3AT89C51单片机各管脚功能如下⑻:VCC:40引脚接5V供电电压。GND:20引脚接地。XTAL1:19引脚为单片机提供外部时钟信号,外接石英晶体和微调电容。XTAL2:18引脚为单片机提供外部时钟信号,外接石英晶体和微调电容。P0口:P0.7〜P0.0,这组引脚共8条,其中P0.7为最高位,P0.0为最低位。是漏极开路的8位准双向I/O口,有两种功能。第一:做通用I/O口,无片外内word文档可自由复制编辑存时,P0口可做通用I/O接口使用。第二:做地址/数据口,在访问外部内存时,用作地址总线的低8位和数据总线。P1口:P1.7〜P1.0,其中P1.7为最高位,P1.0为最低位,仅用作I/O口。P2口:P2.7〜P2.0,其中P2.7为最高位,P2.0为最低位。P2口是带内部上拉电阻的8位准双向I/O接口,具有两种功能。第一:做通用I/O口,无片外内存时,P2口可用作通用I/O口。第二:做地址口,在访问外部内存时,用作地址总线的高8位。P3口:P3.7〜P3.0,其中P3.7为最高位,P3.0为最低位。P3口是双功能口。具有两种功能。第一:用作通用I/O口。第二功能:P3.0RXD串行口输入在3.11乂口串行口输出;P3.2INTO外部中断0输入;P3.3INT1外部中断1输入;P3.4T0定时计数器的脉冲输入;P3.5T1定时计数器的脉冲输入;P3.6WR片外RAM写信号;P3.4RD片外RAM读信号。RST:9引脚复位输入,高电平有效。武函:29引脚外部程序内存读信号。当访问外部程序内存时,此脚定时输出脉冲作为读片外程序内存的选通信号,通常接EPROM的OE端。PS函端在每个机器周期中两次有效,但当访问外部RAM时,两次PSEF负脉冲不出现。PSEN可驱动8个LS型TTL。ALE/PROG:30引脚地址锁存允许/编程线,当访问片外存储器时,在P0.7〜P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器。EA/VPP:31引脚内外部程序内存选择输入端。EA=1,CPU访问片外ROM,并执行其指令。当PC>0FFFH时,自动转向片外ROM。EA=0,不论片内是否含有内存,只执行片外ROM的指令。单片机最小系统电路单片机工作时需要时钟信号,时钟信号通常可由外部方式或者单片机的内部方式提供。本次设计采用内部时钟方式,利用单片机内部自带的反相放大器,word文档可自由复制编辑
XTAL2为放大器的输出端,XTAL1为放大器的输入端,这两个引脚外接石英晶体振荡器和微电容,构成可以自激的振荡器。本设计在XTAL1和XTAL2外接了一个12MHZ的晶振,30pf的电容[9]。复位是使单片机回复到初使的状态,就跟计算机的重启差不多,并从初始状态从新工作。单片机是高电平复位,一般有两种方式:按键复位和上电复位,两种复位方式均可。本次设计采用按键复位,当按下按键开关S1时,系统复位一次,电阻R2、R3为10k。其时钟电路与复位电路如图3.4所示:C310uf<TEX7>U110k弋TE:C310uf<TEX7>U110k弋TE:。■:: <TEX7>R110k10仅TALI PO.O/ADOF0.1/AD1P0.2/AD2XTA12 P0.3/ADGF'0.4.'^D4P0.5/AD5P0.6XAD6RST F,0.7/hD7FZ.DWflSR2d如 P2.2j^:10.33183837383352433322日2122232430P:i;EN F23311ALE P2.4/:^12EA P2,5A13P2.6/M4P2.7A15P1.0 P3.0/RXDP1.1 P3.1/TXDFl2 H32/INT02531261272S10211212413PIS P33/INT-1P14 P3.4T0P15 P3.OT1HI.0 K3.D/IJUF;P1.7 P2.7JRD5146157-1Fi817AT60C51图3.4最小系统电路温度采集电路设计.4.1DS18B20简介DS18B20内部结构主要有四个部分:64位的只读程序存储器ROM、温度传感器、非挥发的报警触发器TH和TL、配置寄存器。总共有三个管脚,包含DQ,word文档可自由复制编辑GND,VDD。其中DQ为数字信号端,GND为电源地,VDD为电源输入端。DS18B20的主要性能特点如下:(1)仅可用一个端口便可以通信;(2)无须外部器件;3)DS18B20支持多点组网功能;(4)适应电压范围广,电压范围为3.0〜5.5V;(5)待机功耗为零;(6)温度以9位或12位数字;(7)具有报警命令识别功能;(8)具有负电压特性,电源接反时,芯片不会烧坏;DS18B20的管脚图及部分温度值与DS18B20输出的数字量对照表见图和表3-1所示:图3.5DS18B20温度传感器word文档可自由复制编辑
表3-1部分温度值与DS18B20输出的数字量对照温度值/℃数字输出(二进制)数字输出(十六进制)+125000001111101000007D0H+8500000101010100000550H+25.62500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101101110FF5EH-25.6251111111101101111FF6FH-551111110010010000FC90H.3温度采集电路DS18B20数字温度传感器检测现场温度,将检测到的温度值送入AT89C51单片机的P1.0口,经过单片机处理后显示此时温度值,并与设定温度值做比较,输出相应占空比的PWM脉冲信号。电路如图3.6所示:**GND7 DS18B20xTEKTx**GND7 DS18B20xTEKTxA5kJ1*XTAL1 P口.岫口口PD.1/AD1P0.2/^D2XT^JL2 PD.3/AD3PD.4aMPD.5/^D5PD.B/AD6RST P07/AD7PZ.0/A3P2.1/A9P22A10—_2_PSEM P2.3j(411图上 P2.4A12EA P25AA13P2E依IdF27A15P1.0 P3.0yRMDPl.1 F3.1JT^DPI.2 P3.2/1NTOP1.3 P3.3ANI1PI4 P3JJTCiPI.5 P3.5/T1PI.5 P3.5IVVRPI.7 P3.7JRD-2—4-5—H<TEK7>图3.6温度采集电路word文档可自由复制编辑
温度显示电路设计LED数码管简介本设计选用五个LED数码管来进行温度显示。LED又称为数码管,主要是由8个发光二极管构的。LED数码管按结构可以分为共阴极和共阳极两种结构,如图3.7所示:共阴极把8个发光二极管阴极连接在一起,共阳极把8个发光二极管阳极连接在一起。通过编程的方式使单片机的引脚输出不同的高低电平,便可以得到相应的数字,这种数码管的显示方式就被称做段选码[10。edgndcpd数码管引脚图共阴极接法共阳极接法edgndcpd数码管引脚图共阴极接法共阳极接法图3.7七段LED数码管表3-2七段LED数码管的段选码显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03fHC0H87fH80H106HF9H96fH90H25bHA4HA77H88H34fHB0HB7fH83H466H99HC39HC6H56dH92HD3fHA1H67dH82HE79H86H707HF8HF71H8EHword文档可自由复制编辑
假如一个数码管采用共阴极接法接入单片机中,想要显示数字“5”须使a、c、d、f、g这5个二极管同时发光(即这5个二极管接入高电平),而其他二极管不发光。只要P0口输入01101101(6dH)即可。字形与段选码的对照见表3-2。温度显示电路卜XTMiX1AL2AST本次设计主要显示当前温度值和预设温度值,其中前三个LED数码管显示当前温度值,可显示0到99.9不同的温度,后两个LED数码管显示之前预设定的温度值。数码管显示采用共阴极接法,其中a,b,c,d,e,f,g,dp分别与P0.0到P0.7相连,作为段选信号,又因为P0口输出的是低电平,所以在P0口接了10K的上拉电阻,P2.0到P2.5分别接到1,2,3,4,5,6引脚作为位选信号。显示电路如图3.8所示:卜XTMiX1AL2ASTR0.1MP1kij'apsPO.iWMPOSWMR0J5WMKlJ.iADT琥T慎口P22j(A1i:iPZJ^HPZ^?SIZP2£iAl3pasan。之泰IS限际修F3.1Q2JE.PS;JhTD_psjiJrTP打iTClP3ST1F*标'PjT.抵ATeSC5IoTCXTo图3.8温度显示电路驱蚊电路设计TCT40-16T超声波发射器简介TCT40-16T是一种较小的超声波发射器,它能发射出不同频率的超声波,适用于家用电器及其他电子设备的超声波遥控装置。其器件外观如图3.9所示:word文档可自由复制编辑
图3.9超声波发射器TCT40-16T驱蚊电路P3.5是单片机定时器T1的时钟输出端口,我们可以利用定时器T1输出频率为22KHZ的方波信号,并通过并联反相器增大驱动后送入超声波发射器TCT40-16T来模拟雄蚊发出的超声波,进而达到驱蚊目的[11。驱蚊电路如图3.10所示:LI►XIAL1印.0MDOFO.2XflD2国3LI►XIAL1印.0MDOFO.2XflD2国3间启田.中四MA1FO.'3/AD5rsfffl.7/AD7Pi.OfASP2.1i*AjFIIJA1QrScnALEr2.3JA11PI4JA123F25JA13P2BJAH.PZ.7JA15P1.DP3.(VRX[>P1.1F3.1/TXDP1.2P1.3pg.aflHTOpg.Oi'iNTiF1.4FM.WEP1.5P1.Bp—riPZE丽Fl.7F37JHDATSQC5^国F二:%3aZZZ上_32逢♦4工2a工■IE工_10才.1:_13NOT图3.10驱蚊电路word文档可自由复制编辑
驱动与调速电路设计达林顿反相器ULN2803简介因为直流电机工作时需要较大的电流,而单片机I/O口输出的电流都在几十毫安级别,无法满足直流电机的工作电流,所以必须要外加驱动电路。在本设计驱动电路中,选用达林顿反向驱动器ULN2803来驱动直流风扇电机。ULN2803在使用时接口非常简单,并且操作很容易,可为电机提供几百毫安的驱动电流,它实际上是一个集成芯片,单块芯片可同时驱动8个直流电机。ULN2803实际上是16个NPN晶体管组成,总共含有18个引脚。ULN2803的管脚图如下图3.11所示:图3.11ULN2803管脚图各引脚简介如下:1-8引脚:8个输入端口;9引脚:接地端;10引脚:为COM端,一般悬空或接电源,但与负载的电源共同接在一起,驱动效果更好,本次设计接12电源。ULN2803可以输出最大电流可达500毫安,word文档可自由复制编辑
最大电压可达50V。本系统选用的电机为12V直流无刷电机,所需电流为300毫安左右,因此可用ULN2803来驱动。11-18引脚:8个输出端口;驱动与调速电路本次设计利用PWM脉冲宽度调制技术对直流电机进行实时调速,风扇分为五档,预设温度t0为25度,温度每增高5度,风扇增加一档。当当前温度低于预设温度时,输出占空比为0的PWM脉冲,风扇不转。当当前温度大于预设温度时,风扇转动,并且可以根据当前温度输出相应占空比的PWM脉冲,进而实现了对风扇的自动调速。驱动与调速电路如下图3.12所示:直流风扇电机与ULN2803的COM端供接12V电源,直流电机另一端接ULN2803的4C,单片机的P3.4口接4B,通过单片机的P3.4口输出不同占空比的PWM脉冲信号,便可以对直流电机进行调速,系统选用的电机为12V直流无刷电机。an12-3工±二口:-一XTALdPD.O/ADOPD.1/AD1PD2/AD2*T&L2PD.3/AD3FD.q/AMFDJ5/AD5FDJD/ADOR5JFO7/ADFan12-3工±二口:-一XTALdPD.O/ADOPD.1/AD1PD2/AD2*T&L2PD.3/AD3FD.q/AMFDJ5/AD5FDJD/ADOR5JFO7/ADFFZ.O/^P2.1/AQP2.2^10PSENP2.3^11P2.4^12£AF2.5ZA13P2.7/M6F1.0F3n/RKDP1.1P3.1/FXDF1.2F3.ZflNTOF1.3F3.3riNT1Pl.4F3.4/TCIP1.5F3.5H1P1.6P2.6AVR-P1.7P3.7/RD-<=<=£嚏323和2526273I..Ia".LJeJJ-lBIBBED5EDQ日Q123^-5676cccccccC123-A5B7SC图3.12驱动与调速电路独立按键电路设计本次设计需要两个独立按键S2和S3,主要是用来对预设温度初值进行调整。当S2每按下一次,预设初值自动加一,S3每按下一次预设温度初值自动减一。word文档可自由复制编辑加减采用中断方式实现,将S2与P3.2相连,S3与P3.3相连。当有键按下立刻执行中断程序,低电平有效。独立按键电路如下图3.13所示:U1:=-XT.AL1F'Li.O/.™P0.1/AD1P0.2WD2XT.AL2P0.3/AD3P0.47AD4P0.5/AD5P0.6/AD6RSTP0.7WD7P2.0/fl8P2.1/fl0P2.2/A10PSENP2.3/A11ALEP2.47A12EAP2.5/A13P2.6/A1-4P2.7/A15P1£lP3.0/RXDF,1.1P3.1/TXDF'12P3.2/INTUFTaP3.3/INT1F,1.4P3.4.'TUF'1j5P35TlF'lJSF'3.6,"iiiiRF,1.7P3.7/RD伯1802AT80L51<TEXT:=-2930316.7839 « dS33373635343332212223242526nR313k322728R410k"口Tt□□'匚」111277
逅151677,TES3<TEXT>图3.13独立按键电路word文档可自由复制编辑4软件设计4.1系统总体软件设计流程图初始化程序后,传感器采集温度送入单片机,通过LED显示。当有键按下时处理按键,无键按下,根据温度得到不同的转速,如图4.1所示:风扇转动图4.1软件总体设计流程图word文档可自由复制编辑4.2用KeilC51进行程序编写KeilC51软件目的主要在于解决嵌入式软件开发商面临的问题,当有新项目的时候,只需要从设备数据库选择使用的设备,uVisionIDE将设置好所有的编译器,链接器和存储器选项[12]。KeilC51是美国KeilSoftware公司开发的51系列并且兼容单片机C语言的嵌入式开发软件,与单片机汇编语言相比,C语言的灵活性更强一点,程序编写相比于汇编也更简单,很容易学习和使用,且编写的函数模块可移植性强[13]。一般创建一个KeilC51应用程序需要按照下面的步骤:(1)创建一个工程项目文件;(2)为工程项目选择目标器件;(3)为工程项目设置软硬件调试环境;(4)创建源程序项目文件;(5)保存创建的源程序项目文件;(6)把源程序文件添加到项目中;KeilC51使用界面如图4.2:图4.2KeilC51使用界面word文档可自由复制编辑5系统调试与仿真系统软件调试源程序通过编译,只能说明源程序的语法没有问题,但不能保证程序的逻辑功能和需要的逻辑功能一致,所以还必须对程序进行调试。程序调试时可以采用单步执行或者连续执行,连续执行速度快,但当出错时不易查出错误的地方。单步执行简单方便,可以检查每条指令的正确性,但比较繁琐,消耗大量时间。因此可先连续调试,对有问题的地方在单步调试[14]。程序下载程序调试好以后,就可以下载了,将经过编译后生成的.HEX文件下载到单片机上,下载在单片机上的程序将在程序存储器储存起来,即使掉电后仍然保存,不会因此而丢失。本次设计的总程序清单见附录2。系统仿真本次设计采用protues软件进行仿真,Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计[15]。ProteusISIS的工作界面是一种标准的Windows界面,其中包含标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择窗口、图形编辑窗口。word文档可自由复制编辑
(1)本次设计的预设温度值为25度,当当前温度大于设定温度时直流电机开始转动。当当前温度为26度时直流电机转动情况如图5.1所示:图5.1当前温度为26度的转速情况word文档可自由复制编辑
图5.1当前温度为26度的转速情况word文档可自由复制编辑(2)当当前温度值升高至31度时,其电机转速如图5.2所示:显然转速较温度为26的时候有了明显的增加,表明单片机对电机的转速控制功能能够正常实现。图5.2当前温度为31度的转速情况图5.2当前温度为31度的转速情况word文档可自由复制编辑(3)当我们通过独立按键S2将预设温度增加到29大于当前温度26时,输出占空比为零的脉冲,直流电机将停止转动,如图5.3所示:FJ-JUUfi.tt-VE:Urii|'IFtJ*dJ-Ftj«U>r-tFtiTijTFU3HlHiflTN«m.GND••F1FKn13kUSFJ-JUUfi.tt-VE:Urii|'IFtJ*dJ-Ftj«U>r-tFtiTijTFU3HlHiflTN«m.GND••F1FKn13kUSvccDQ图5.3当前温度小于设定温度的转速情况word文档可自由复制编辑本次毕业设计以单片机AT89C51为主控芯片,硬件主要包含电源电路、单片机最小系统电路、温度采集电路、温度显示电路、独立按键电路、驱蚊电路、驱动与调速电路。用DS18B20温度传感器采集当前温度送入单片机处理,LED数码管能正常显示当前温度和设定温度,并能根据当前温度和设定温度的差值调节风扇转速,在一定范围内实现了对风扇的实时调速。独立按键部分也能正常使用,可以调节预设温度t0的值。同时超声波发射器也能正常工作,达到了驱蚊目的。本次设计对于现实生活具有积极的作用,可以用来作为降温工具,环保且智能,能够给人带来很多方便,同时驱蚊的功能在夏季还是很有必要。word文档可自由复制编辑致谢本次毕业设计是在涂老师的细心指导下完成的,从开始的选题,到内容的指导,及写论文和调试的整个过程中,涂老师都给了我悉心的指导,谨此送去最真挚的感谢。整个毕设期间,我学习了很多知识,到图书馆查阅资料,上网看单片机教程及相关模拟仿真软件的使用,使深深体会到动手实践与理论结合的重要性。在这里还要感谢大学四年里教育我的所有老师和陪伴我的所有亲朋好友,在四年的学习中给予了我许多教导和帮助。最后,衷心的感谢在百忙之中评阅本论文和参加答辩的各位老师!word文档可自由复制编辑参考文献[1]王伦.电风扇原理与维修技术[M].北京:新时代出社,1999:8-12.⑵王振德.等现代科技百科全说.桂林:广西师范大学出版社,2006:123-125.[3]张毅刚.新编MCS—51单片机应用设计[M].哈尔滨工业大学出版社,2008:151-157.[4]蓝厚荣.单片机的PWM控制技术[M].工业控制计算机,2010:97-98.[5]廖琪梅,杨文昭等.基于单总线器件DS18B20的温度测量仪[J].国外电子元器件.[6]谢自美.电子线路设计•实验•测试[M].武汉:华中科技大学出版社,2000:31-32.[7]康华光.电子技术基础模拟部分[M].高等教育出版社,2005:486-508.[8]陈朝大.单片机原理与应用[M].北京:化学工业出版社,2013:14-15.[9]刘同法,陈忠平,彭继卫,眭仁.单片机外围接口电路与工程实践[M].北京:北京航空航天大学出版社,2009:598-564.[10]胡全.51单片机的数码管动态显示技术[M].信息技术出版社,2009:25-26.[11]王港元.电工电子实践指导[M].南昌:江西科学技术出版社,2003:292-293.[12]李明.C语言程序设计教程[M].北京:上海交通大学出版社,2010:37-65.[13]马忠梅,籍顺心等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003:224-225.[14]陈小忠.单片机接口技术实用子程序[M].北京:人民邮电出版社,2005:206-207.[15]孙号.Proteus软件在设计电子电路中的应用[M].仪表技术,2009:74-75.word文档可自由复制编辑附录一电路总图pgu-mPaiinK-ichhuhb-iehword文档可自由复制编辑附录二程序代码清单#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P1A0;sbitkey2=P3A2;sbitkey3=P3A3;sbitP3_4=P3A4;sbitP3_5=P3A5;floatff;uinty3;ucharshi,ge,xiaoshu,yushe=25;ucharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};〃段码ucharcodetablel[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};〃带小数点的段码uchardispbitcode[]={ 〃位选0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchardispbuf[8]={0,0,0,0,0,0,0,0};voidDelay(uintnum)//延时函数{while(--num);}voiddigitalshow(uchara4,uchara3,uchara2,uchara1,uchara0){dispbuf[0]=a0;dispbuf[1]=a1;dispbuf[2]=a2;dispbuf[3]=a3;dispbuf[4]=a4;P2=0xff;P0=dispcode[dispbuf[0]];P2=dispbitcode[5];word文档可自由复制编辑Delay(1);P2=0xff;P0=dispcode[dispbuf[1]];P2=dispbitcode[4];Delay(1);P2=0xff;P0=dispcode[dispbuf[2]];P2=dispbitcode[2];Delay(1);P2=0xff;P0=tablel[dispbuf[3]];P2=dispbitcode[1];Delay(1);P2=0xff;P0=dispcode[dispbuf[4]];P2=dispbitcode[0];Delay(1);)voiddmsec(uintcount)(uinti; //1ms延时while(count--)(for(i=0;i<125;i++){})}voidtmreset(void){DQ=0;Delay(90); //精确延时大于480usDQ=1;D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 足球奖学金合同(2篇)
- 雨水收集池施工合同(2篇)
- 幼儿斑马 课件
- 第13课《唐诗五首·钱塘湖春行》八年级语文上册精讲同步课堂(统编版)
- 坚定跟党走课件
- 党课 制作课件
- 西京学院《自动控制原理实验》2022-2023学年期末试卷
- 西京学院《外贸函电》2021-2022学年期末试卷
- 4种高逼格的动画封面模板
- 部编版语文三年级上册第五单元基础知识复习卷含答案
- 风机安装工程质量通病及预防措施
- 三角形钢管悬挑斜撑脚手架计算书
- 文件和文件夹的基本操作教案
- 剪纸教学课件53489.ppt
- 旅游业与公共关系PPT课件
- 施工单位资质报审表(共4页)
- 劳动法讲解PPT-定稿..完整版
- 彩色的翅膀_《彩色的翅膀》课堂实录
- 假如你爱我的正谱
- 中医住院医师规范化培训基地工作指南
- 人教PEP四年级上册英语《Unit 5 A Let's talk 》PPT课件
评论
0/150
提交评论