【《基于单片机的智能温控风扇设计》11000字(论文)】_第1页
【《基于单片机的智能温控风扇设计》11000字(论文)】_第2页
【《基于单片机的智能温控风扇设计》11000字(论文)】_第3页
【《基于单片机的智能温控风扇设计》11000字(论文)】_第4页
【《基于单片机的智能温控风扇设计》11000字(论文)】_第5页
已阅读5页,还剩22页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的智能温控风扇设计目录TOC\o"1-3"\h\u29381绪论 2325011.1研究意义 251621.2发展趋势 2222842系统选用 3211442.1系统基本构成 3287482.2控制芯片 339272.3温度传感器 436352.4显示方式 4287612.5电机调速方式 455453系统硬件设计 6191003.1系统控制芯片介绍 6257403.1.1芯片简介 6138483.1.2主要功能介绍 6179983.1.3各引脚功能介绍 677513.2单片机最小系统 8304573.2.1晶振电路 871023.2.2复位电路 9283683.3DS18B20传感器的介绍 1019613.3.1DS18B20的特点 10175023.3.2DS18B20引脚功能 11533.3.3DS18B20内部构成 1181263.3.4DS18B20的工作时序 1233653.4数码管显示电路 14208293.5风扇驱动电路 15200003.6按键模块 17285474系统软件设计 19103744.1软件介绍 19146924.1.1KeilC51 19227294.1.2Proteus 19131984.2主程序流程图 22111574.3DS18B20子程序流程图 22207144.4数码管显示子程序流程图 2313704.5按键子程序流程图 24216805系统调试 26212285.1硬件调试 26156055.1.1按键显示部分的调试 2652015.1.2风扇调速电路部分调试 26170935.2软件调试 2631493结论 271绪论1.1研究意义人类社会发展至今,经济水平不断提高、科技不断进步,使得人们在满足生产的情况下,开始追求高质量生活。而且人们对自然的利用改造程度也不断加深,例如温度。在过去,夏热炎热、冬日寒冷,都是人力无法改变的自然状态,而今,空调极大地改善了这种恶劣环境。但是,刃有双利,空调给人了带来好处的同时,也造成了很严重的大气污染,危害人类未来发展。再者就是,虽然我国经济有了很大的进步,不过空调并还未进入能够普遍承受的行列中。所以,风扇就成为了经济实惠又能确实满足人类美好生活愿意的选择。而智能风扇则是其进一步发展,在基本需求的基础上,还进一步提升了使用体验,其性价比远高于空调、普通风扇。智能风扇只需要很低的电能消耗,便能根据周围环境,在内置单片机的作用下,实时改变出风状态,以对周遭的温度状态进行改变。这样不仅使得人类从风扇的关注中解放自己,让其自动运行,还能使得经济效益最高话,能量消耗最低化。1.2发展趋势得益于温控系统研究、单片机发展双方结合带来的奇妙效果,智能温控风扇的进步也有了很大的进步,在各领域个行业受到的普遍欢迎。所以说,智能温控风扇行业不论是创新、发展的成熟趋势,不仅有科学技术的贡献,也是市场消费需求的选择,所以,在未来,其还有很大的发展空间。而且,智能温控风扇优点众多,其低能量消耗、高经济效益、方便快捷的使用,不仅满足了大层面上的战略发展,也符合社会普通民众的切实需求。再加之,温控和单片机的不断进步,所以,未来,其一定会有更进步的发展和更普遍的应用。

2系统选用2.1系统基本构成本文研究的温控风扇,其系统是在充分调研现实以及贯彻初始理念的情况下设计的,大致功能如下所示。风扇转动的动态变化,是根据特定数据来源进行的。而这数据是工作状态下,传感器通过外界状态检修进而处理产生的。在所有数据中,系统还设置有一高一低两个阈值--高档标准温度、低档标准温度。外界温度处于两个阈值之间的时候,风扇缓慢转动,是为1档。外界温度在最低阈值下时,风扇处于0档,不转动。如果外界温度高于最高阈值,那么风扇在强风档--2档。该温控风扇还配备有小型显示屏以对外展示档数、高低档标准温度、外界实时温度。为了更进一步提高用户体验,风扇的两个阈值--高、低档温度标准,都可以使用按键随心设置。针对电路系统的设置,该温控风扇有以下五个功能模块:显示模块、单片机芯片模块--STC89C51;温度传感器模块--DS18B20;功能按键模块;风扇模块--直流电驱动。具体如图2-1所示。图2-1系统结构框图2.2控制芯片针对控制器的设计,要注意设计中的几个需求点,包括:显示模块的功能--档数显示、外界温度显示、高低档标准显示;高低档标准温度要根据用户实际需求动态设定等外,还有最关键的--温度采集、温度数据转化、数据处理等等。所有的这些需求点都要求控制器要有针对温度的准确判断能力,并且要能负载特定的程序,以对温度微小的变化表现出充分的敏感性。根据以上分析,stc89c51单片机芯片,完美符合了本系统的设计要求,而且其能够在低电压下工作,性能温度,性价比很高。所以选用其为本系统控制器。2.3温度传感器温控风扇是一个典型的温控系统应用。在温控系统中,为了维持有效正常的工作状态,高性能的温度传感器是必不可少的。传感器的主要作用就是温度采集。然后温度数据将被做为控制中心的单片机做为输入变量,经过一系列操作,从而控制风扇的工作[1]。针对设计需求以及市面上各种温度传感器的比较,本系统选用了DS18B20。集成化设计DS18B20有着一个别的温度传感器不可比拟的特殊优势:温度--数字式信号的直接转化。而且DS18B20还有众多的性能优势。第一个是不容易受到干扰,极其温度。第二个是温度采集数据准确度非常高。而且系统将采集到的温度在传感器中进行处理直接输出数字量的工作方式,能够使得进入控制中心的输入量误差最小,对外界温度最为贴近。2.4显示方式本设计需外对外展示的信息并不多,只有三个:低档标准温度、高档标准温度(在用户进行设置时显示),工作时所处环境的实时温度。因为显示内容的简单,所以对器件要求不过,经过对比,进行了最终选择--4位一体的七段LED显示管。其是一个共阴极的数码管,能够对测量到的温度进行实时显示。本系统采用动态扫描。虽然这两个的搭配效果会使得显示画面实时闪烁,但不影响实际功能。2.5电机调速方式为了满足人们所处环境的最佳舒适度,温控风扇实时采集外界温度通过调节风扇电机的转动进而对外界温度进行改变。由于外界温度的动态变化,调节的温度差异也是不尽相同的,所以就要求温控风扇要在多个工作档位之间进行调节。本文选了能够生成特殊矩形方波的脉冲宽度调制做为调节手段。针对更便捷的书面表达,其也被称为PWM调制。在PWM调制中,人为的工作主要是进行源程序编写,然后PWM调制通过此调整整个运作周期中,高电平信号持续时间的占比进行调节。整个周期中,高电平信号高占比例也叫做占空比例。占空比例与风扇的转速呈现正相关。为了实现风扇转速的调节,所以要通过程序进行占空比例的控制。所以,转速会因为高电平在整个工作周期的持续状态而达到最大限制。而且PWM波的信号输出是数字式,不仅不用花费额外的数模转换代价,而且其还有一个优秀的性能--抗干扰能力极强。

3系统硬件设计3.1系统控制芯片介绍3.1.1芯片简介STC89C51具有众多的优点,包括高性能、高稳定性、低功耗、不易被干扰等。而且其做为8051核的八位控制器件,受到了业界的广泛喜爱和应用。STC89C51还因为其较高效的运行速度、较低功耗的优点在精彩纷呈的单片机竞争中,脱颖而出。并且针对普遍醒运用来说,其广泛的工作时钟频率能够符合一般系统的需求,其范围为0~80MHZ。针对众多单片机的各方面横行比较,结合本设计的实际需求,出于经济、功耗、功能、运行速度等多方面的综合考虑,最终,我们选择了STC89C51。3.1.2主要功能介绍看门狗。通道:全双工、异步、串行。(UART)复位电路:MAX8电路(该系列的单片机独有)。存储空间,大小对应如下:数据区域--256字节;程序区域--4KB。时钟振荡器。Flash:系统可编程。8位CPU。三级加密程序存储器。双数据指针。中断向量源8个;可编程I/O口32个;16位的定时器/计数器2个。中断唤醒:外部中断低电平触发(掉电状态下)。EEPROMD。3.1.3各引脚功能介绍Stc89c51芯片引脚图如图3-1所示。图3-1stc89c51芯片引脚图针对上图标示进行如下解释:PSEN:此为外程序读取选通,程序来源为外部存储。XTAL1、XTAL2:分别是系统内晶振时钟电路的反相输入、反相输出。VCC、GND:分别接+5V电源正端、地端。ALE:地址锁存(锁存器即是通过此引脚触发,然后作用到P0传送的低八位的地址数据。除此之外,ALE触发存储地址时,脉冲信号也可以由此引脚修复。其中的脉冲信号来自输出1/6的时钟振荡。)PROG:输入编程脉冲,作用于闪存编程。EA/VPP:该引脚可以连接12V编程电源(VPP)。并且进行加密编程时,EA端会在执行rst时锁存于此。P0.0~P0.7:漏极行双向输出入I/O口。8位依次对应P0口的端口。其可以用做输入端口,此时,8位在输入周期中或者表示数据总线或者或者表示地址总线。这是P0口不同于其他I/O口,而所特有的电路结构。P2.0~P2.7:带内部升压电路的双向I/O端口,一组8位。P2端口即可输入也可输出。其电流能够驱动的TTL负载数为4。用P2端口进行输出时,输出内容为8位P2锁存器内容、存储器地址。若P2端口设置为1,即可进行输入,此时信号为高电平状态。除此之外,针对外部数据存储器,不管是8位地址还是16位地址,P2端口都有自己的访问机制。P1.0~P1.7:除了具有P2同样的功能外,P1还有一个特殊的功能--P1.0、P1.1的第二个函数。其中,各自相应功能如下:P1.0--定时器2外部脉冲的输入;P1.1--方向控制、重载装置触发(T2EX功能)。P3.0~P3.7:除了具有P2同样的功能外,P3还有一个特殊的功能,且后着才是其存在的意义。此特殊的功能如图3-2所示。图3-2P3.0第二功能图3.2单片机最小系统单片机想要运行,至少要配置有“最小系统”--单片机控制器、电信号、复位和晶振电路。如此,才能满足单片机工作所需的基本组成。3.2.1晶振电路在所有部件中,有两个最为重要的引脚--时钟电路51单片机上的XTAL1~2引脚。中央处理器工作频率是振荡电路决定的,并且振荡电路还决定了脉冲信号的生成频率。然而振荡电路的形成,这两个引脚的连接、电容的并联都是是必不可少的。其中,一个引脚输入振荡电路,另外一个引脚输出内部振荡电路。除此之外,电容的并联需要用到两个20pf左右的电容。其作用是在晶振器件单独使用时无法产生稳定的脉冲信号时,进行辅助。具体如图3-3所示。图3-3晶振电路图3.2.2复位电路针对单片机小系统,要设置复位方法,具体有以下两种:通电复位:通电复位电路充分利用了在系统中广泛使用的电容。在其中,电容主要是进行起振辅助。电容在电源打开的状态下进行充电,此期间,复位引脚的作用因为vcc电平变高而激发,最终实现复位。手动复位:虽然手动两个字听起来很笨,但是在原理上,手动复位、通电复位是一样的,区别只在于操作。而且手动复位操作灵活,有着通电复位不可比拟的优势。其操作是基于电源、复位引脚的接线之间的开关的,如果要进行复位,那么只要简单粗暴地接通开关即可。复位电路如图3-4所示。图3-4复位电路图3.3DS18B20传感器的介绍经过体积、准确度、稳定性等各方面的比较,DS18B20具有很明显的优势。因此业内最为流行的单线数字温度传感器之一就是DS18B20。结合本文的实际需求,设计中所用到的温度传感器也选用DS18B20。3.3.1DS18B20的特点(1)测温范围广:-55℃~+125℃。(2)低误差:±0.5°C。(3)扩展性:可以并联形成工作网组,以扩展测温范围。(4)双向通讯接口只需单线。(5)测量分辨能力可以动态设置:9到12位。(6)掉电保护:突然断电是,不会造成数据的丢失。(7)独立性性,对外围元件低依赖。(8)负压特性:引脚状态异常时不会烧坏电路。(9)电源:可以使用内部寄生电路来做为电源。3.3.2DS18B20引脚功能1.VDD:电源输入。2.DQ:信号传输。3.GND:接地。管脚图如图3-5所示。图3-5DS18B20管脚图3.3.3DS18B20内部构成各具体模块包括:温度报警触发器、64位程序存储器、配置寄存器、温度传感器。总体框架如图3-6所示。图3-6DS18B20内部构成图基于上述各元件的具体选用,现在对整体流程进行说明。首先是数据流的方向:DS18B20(测量外界温度、采集、转化、以数字形式输出)->控制中心(根据单片机上烧录的程序进行相应处理)->模块显示(对外展示具体数字信息)。在整个流程中,可以看出信息主要是通过各种数据来表达的,然而各个环境的数据形式不存在一致性,所以转化工作尤为重要。数据转化工作是根据系统指令中相应的指令进行的(以下称为转变指令)。当传感器接受到转变指令时,就会将原始的温度值根据内置的规则变为补码。转变后的补码并不立即输出,而出暂时存入存储器。等到时机成熟,在通过借口输出。该时机指的其实就是中央处理器读取数据。在读取过程中,要根据存储器的地址空间规则进行。读取顺为:低位在前,高位在后。而读取到的补码还有经过一定的计算,其依据主要是补码、原码的转化规则。具体的符号位以及相应操作对应如下:1--补码->原码->十进制数据;0--二进制->十进制具体对应如图表3-1所示。图3-1ROM示意图经过温度传感器中的一系列转化,控制中心得到的温度信息是存储在二进制的数据内的。其二进制的数据的表示规则如下:符号位用字母‘s’,总共16位。具体如表3-1。表3-1换算表LSByteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MDByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8sssss2625243.3.4DS18B20的工作时序初始化时序图如图3-7。图3-7初始化时序图该传感器除了温度采集、数据转化、数据输出外,还有一个重要功能就是检测。传感器的检测是在初始化阶段进行的:先发送一个持续时间不被人类的感官察觉的低电平脉冲信号,大约持续480-960微秒。对于人类这个时间是无法进行任何反应的,所以这个信号针对的是机械器件。机械器件的精密度越高,识别效果越好。信号发送出去之后,释放总线,电平的低状态结束,电平反转。电平反转,将没有低电平的存在,此后一直保持这种状态。在此期间检测总线。如果总线上没有出现低电平,那就是说工作器件没有进行了回应。如果有,那就是其产生了回应。在采取工作之前,传感器会一直做着上述所说的检测,一直到检测结果呈现正常,才会开始下一步工作。DS18B20大概有两种操作模式:(1)写操作写操作工作时序图如图3-8。图3-8写操作时序图如图所示,写周期为60微秒到120微秒。如若需要,控制器将总线拉低1微秒,就进入了写周期。除此之外,操作的状态也可以进行灵活控制。该器件的运作受到中央处理器的控制,这种控制是实时的,也就是说写周期中的操作能够随时被改变。例如,写一半被停止。这种改变是通过切换电平状态实现的,具体过程是:在这个某个操作的进行期间,通过持续拉低电平,超过60微秒后,放开总线。同理,如果某一个时刻,想要写入1,那么就需要使总线保持低电平状态1微秒,然后放开总线,切换电平状态为高电平,最后结束该状态。(2)读操作读操作的工作时序图如图3-9。图3-9读操作时序图上述操作中,器件能够进行0,1的写入,所以本部分进行读的介绍。读与写相对应。具体也是:拉低总线电平,持续1微秒,放开总线,总线电平发生转变,然后DS18B20进行响应,读开始。如是读0,那么拉低总线电平,若是读1,那么操作刚好相反,放开总线后切换的应该是高电状态。传感器在之后的60微秒里,若是要进行工作,那就需要对总线进行采样检测,检测结果决定了器件接下去的操作。在这个过程中,如果线上电平状态为低,那么对应的操作就是读0;如果线上电平状态为高,那么操作就是读1.3.4数码管显示电路根据设计,需要显示的数据有:设置时的最高标准温度、最低标准温度;所处环境的实时温度,结合实际情况,可以确定其显示范围在0到99,所以显示所需要的数码管数量只需要三个。然而,在显示信息的直观,器件的普遍性上,采用三个数码管这种方案存在一定的缺陷。所以,经过理论情况和具体实际情况的想结合,经过多方面的充分考虑,我们选择4位一体的共阴极的7段LED数码管作为显示器件。根据LED数码管的操作说明和组成结构,我们继续如下操作:获取数码管的限时段码(a,b,c,d,e,f,g引脚连接dp端再连接P1的对应端口位),接上拉电阻。为了获取位选码,将S1~S4四个引脚无差错地连接到P2.0、P2.1、P2.2、P2.3端口,具体对应如下:S1--P2.0、S2--P2.1、S23--P2.3、S4--P2.4。此时S1~S4充当的是位选端角色。本次系统采用动态扫描,根据动态扫描(接口电路与数码管的相关引脚相应对连)的工作方式,显示器件上,来自单片机的数据一定要严格有序,所以位选端的连接要谨慎小心,确保没有错误。位选码决定了数码管显示的内容,然而发送到每个数码管上字形码是没有区别的,显示画面是通过每个数码管的不同时机点亮来实现的,而这种点亮控制信息是来自于位选端。相比LCD显示器的高质量显示,本文选择的显示方案存在一定的劣质感,但这只是审美层面的劣质,丝毫没有影响功能的优秀实现。具体原理图如图3-10所示。图3-10数码管引脚图3.5风扇驱动电路本设计选用三极管来进行驱动,放弃了驱动芯片。三级管最主要的作用就是信号放大,如此才能有效地驱动风扇工作。本设计驱动电路下图3-11。图3-11驱动电路图本部分对NPN型的三极管进行阐述。其上基极电流的电流方向为:基极->发射极E。此方向,根据普遍性观点,一般被定义为Ib。而Ic则为:(集电极电流)电极C->发射极E。电流流向在图示中一般用箭头指示,这极大地方便了相关人员的阅读,使得其能够直观地判断发射极E上电流的方向。众所周知,放大是三极管的最主要作用。在此,对放大原理进行阐述如下:特定的电信号通过集电极,进而产生满足三极管运行强度的电流。如此,集电极电流就会因为基极电极产生变化而跟着变化。基极电流极细微的变化会遵循一定的规律引起集电极电流的巨大改变。为了更简洁明了地进行此规律的阐述,先对相关变量进行如下字母化:集电极电流->f;基极电流->m。根据相关理论研究,二者之间满足f=βm(β为三极管的放大倍数)。也就是说,基极电流被放大了β倍。而β系数是极大的,一般情况都是>>1,这也就解释了三极管强大的放大功能。也即因为如此,放大电路中,基极跟发射间任何一个微小的信号就会导致Ib的变化,进而引起Ic的巨大改变。放大电路的名字很容易让人将目光聚集子啊三极管外,但其实,放大电路还有另外一个极其重要的部分偏置电路。虽然在理论上,三极管的放大功能极其强大,但实际运用中,通常放大电路的功能并不是三极管单独支持的简单电路就能得到理想效果的。一般都要在放大电路中结合许多功能部分,如此的复杂的电路才能达到想要的效果。而在这些功能部分,不可或缺的就是偏置电路。在实际中,偏置电路的使用一般是加偏置电流在b脚。本文结合实际情况,将偏置电流加在b脚连线电阻Rb。这样的做法会使得放大的电信号被加到产生的变化电流上。所以,因为这个放大功能,要特别注意电流的范围,不能过大也不能过小。两个相加得到的强度只要满足三极管产生基极电流的所需强度就可。而且偏置电阻的选择还不止这些影响,后续的放大信号的信息也能通过涉及偏置电阻的相关计算直接得到。通过分析,我们可以知道所谓的“电流放大”,其实就是电信号的放大。除此之外,加了偏置电路的放大电路还有与其字面意思相对的两外一个功能减小的信号的放大。普通放大电路针对的只是增强型的信号放大,而相反情况则会失去效果。但是拥有偏置电路的放大电路作用对象还包括了减小的信号。3.6按键模块根据设想,用户可以根据实际情况对智能风扇的两个阈值--高、低标准温度进行主动设置,此过程中,按键模块就必不可少。针对单片机键盘的两种类型进行比较,我们选用独立键盘。独立键盘指的是按键与I/O端口一一对应,各自独立,互不相干。采用独立键盘会让系统更为稳定,其操作也更简便。针对控制中心来说,独立键盘的实现也是比较简单的。简单来说就是根据接线端口的电平状态进而判断键的按键状态。其具体细节如下:程序在初始化阶段就会让连接按键的I/O口一直保持在高电平状态。如果没有按键操作,那么这个状态就不会被改变。如果控制中心检测到I/O口电平状态发生改变出现低电平,那就是说明有按键被按下了。此外,按键还有接地,接地也是电平状态改变的原因。具体就是接地端会在按键时,拉低端口的高电平信号。然后系统就会根据程序检测到的情况判断用户要的效果,进而作出相应反应。在单片机系统的按键模块中,针对控制中心对键盘的链接,有一个普遍出现的问题键盘防抖。按键过程中会造成时间极短的电信号抖动,这种抖动不容易被人力控制,所以要在通过单片机上的程序完成去抖。具体就是在烧录进单片机的程序中加入去抖部分。针对电信号反应,电子器件极其敏感。所以虽然电信号反应不易被人察觉,但是电子器件却能轻松检测出电信号微妙的反应。但这也带来了新的难题电子器件无法分辨检测到的电信号反应是有效信号还是干扰信号。所以软件去抖动就一种极为便捷有效的方法,既能准确进行区分,还能有效去抖。针对有效信号和干扰信号的区别,我们认为可以根据信号持续的时间来加以区分--持续时间太短的电信号视作干扰信号。这也是程序进行识别的原理。其实也就是延时原理检测到低电平时,先不做出有按键活动的判断,而已延时一段时间--一段可以进行按键动作的极端周期,如果极端周期没有结束之前,低电平就消失了,那么我们就认为这个是干扰信号,从而不做反应,也就去抖动。而如果经过了延时,还能再次在检测到I/O口的低电平状态,那么就表示确实是有按键活动产生,此时就可以做出按键判断。单片机从而进行相应响应。硬件电路如图3-12所示:图3-12按键电路图

4系统软件设计4.1软件介绍4.1.1KeilC51在全球范围内的51单片机开发,该软件的地位和受喜爱程度毋庸置疑。在整个开发流程中,程序编译调试是必不可少且至关重要的步骤。根据本设计的实际情况,系统支持的软件必须是兼容51且基于C开发的。在利用相关器件成功搭建其系统的骨骼--硬件系统后,还要进行血肉的填充--烧录编译无误的程序。只有软硬件结合,才能使得智能风扇达到设计的预期效果。汇编语言可以用来进行51的编程,更高级的C语言也可以。在从面向人类到面向机器的语言过程中,更符合人类习惯的是C语言。并且C语言发展成熟,更符合人类的阅读习惯,也更便于维护,在开发周期紧张的项目中,也更能实现快速开发。综合以上C语言的优点,本设计基于C语言开发。Keil

C51是51系列兼容单片机C语言软件开发系统,功能强大完善,甚至包括了完美的仿真开发调试。KeilC51开发系统各部分功能和使用如下图4-1所示。图4-1keil使用界面4.1.2Proteus为了进行DEA功能仿真,LabCEL公司生产了Proteus,在其上集成了多种功能:模拟MCU、外围设备;DEA仿真。而且,Proteus是具有革命性突破性的。在它之前,没有工具能够在软件平台呈现被模仿的外围器件的功能。Proteus功能特性:1.丰富的元件库2.丰富的仪表资源3.图形显示4.放置选择删除移动旋转绘制元件5.丰富的测试信号为了更高效率地开发,在充分了解proteus后,进行一系列操作,具体如下:打开proteus软件(主界面)->设置view(主要是一些常用功能、模块的测前设置)->正式工作。正式工作的第一步就是整体电路原理图的链接。首先要在软件库里寻找,然后将所有需要的元器件拖到连接版面,在上面完成连接。然后单击“p”(左侧工具栏里),从而可以选取、搜索元件。根据一般的操作流程来说,开发人员要先在纸上画出设计好的原理图,做到胸有成竹后,再在上面进行连接。此时仿真还却最后一个条件:编程程序。首先,在系统源程序建立之后,选择好编译过程中需要的各种路径,包括工具、仿真结果、仿真文件等的路径。然后将源程序载入到仿真工程(点击Add/removesourcefiles)从而将其加载到单片机,运行,等待结果。具体如图4-2所示。图4-2proteus仿真界面图Proteus软件的仿真过程:1.登入主页面,进入元器件模式(点击工具栏中的componentmode)。2.在pickdevice窗口(单击"P")选择所需元器件。3.针对原理图上的元器件,进行种类选择。4.选择电源、地端(terminalmode中),完整连接整个原理图。5.点击play,进行仿真。proteus软件调试:proteus包含了丰富的测试信号,有利于测试工作的进行。针对单片机调试,第一种是对软件编程的调试;第二种是对执行情况的调试。软件编程的调试:软件编程的调试其实就是单独调试。在debug模式下,点击start/restartdebugging,一条一条地运行程序,跟踪程序的运行状态,确保程序无误。除此之外,还有以下按钮可以帮助单步调试:stepover(F10)单句调试;stepinto(F11)调试子程序;stepout(ctrl+F11)退出子程序调试。执行情况的调试方法:该方式是在debug模式,点击execute开始执行程序。在执行过程中,可以暂停软件运行。等到确认程序无误后,点击stopanimation,停止运行。4.2主程序流程图主程序的主要功能就是整合子程序,进行调用从而完成全部功能的体现。其中,调用各模块和其可实现的功能对应如下:调用温度模块--采集温度数据,进而判断风扇的调整类型,再调整风扇的工作模式。其中判断条件并不存在某个单独模块中,而是在主程序中进行相关判断语句的编写。即在主程序中预设用来进行比较的低标准温度和高标准温度。然后根据这两个阈值得出多个温度区间,并且每个曲江都有对应的工作模式。根据采集到的温度数据落在哪个区间,已经现在风扇的工作模式,进而进行调整操作的判断以及调用调节模块进行工作模式转变。主程序流程图如图4-3所示。图4-3主程序流程图4.3DS18B20子程序流程图这部分程序实现的功能为温度采集检测。程序流程如下:初始化传感器(上电之前)->执行指令(ROM中)->处理数据(传感器采集得到的)。初始化传感器其实就是重置传感器。重置又名复位,在程序中自带有复位键,点击此建就会清空传感器的所有状态。DS18B20会处理温度的特定数据,进而使得导致数据变化,读、写操作在器件复位之后进行,循环反复。具体如图4-4所示。图4-4温度采集流程图4.4数码管显示子程序流程图本模块实现的主要是将温度数据进行显示段码和位选码的转换。在此,结合具体器件的选用,针对具体实现过程进行阐述。首先,程序通过动态扫描控制数码管,并给出位选码、选段码。数码管针对位选码、显示段码进行对应引脚的连接,从而控制进数码管进行内容的准确显示,并且是逐位扫描显示。具体流程如图4-5所示。4.5按键子程序流程图根据温度预设值的动态设置需求设定,在实现上,需要用到的是按键子程序。首先对温度预设值的动态设置进行描述。此过程中总共用到三个按键。第一个按键主要是用来启动温度预设值的动态设置功能。在通电模式下,只要按下此键就进入了温度预设值界面。第二个按键就是用来设置高标准温度阈值;在温度设定状态中,在此按下第一个键开启了温度下限设置模式,然后可以按下此键,向下调节温度,其最低范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论