温控电风扇设计_第1页
温控电风扇设计_第2页
温控电风扇设计_第3页
温控电风扇设计_第4页
温控电风扇设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、河南工程学院河南工程学院 毕业设计(论文)毕业设计(论文) 题题 目目: 温控电风扇温控电风扇 学学 生生 姓姓 名:名: 李李 欢欢 欢欢 系系 部:部: 电电 信信 系系 专专 业:应用电子技术业:应用电子技术 年年 级:级: 04 级级 指指 导导 教教 师:肖海红师:肖海红 成成 绩:绩: 2007 年年 6 月月 1 日日 摘要摘要 该设计是为了让电风扇这一家用电器变的更智能化。如今人们生活的很忙 碌,在夏天,结束了一天的工作后,回到家便可以感受夏日家里的凉爽, 而且 又物美价廉,非常适合广大老百姓的使用。 当室温高于需要开启电风扇的某一温度并且人出现在热释电传感器可测范 围时,电风

2、扇自动开启,人离开后自动关闭;当室温低于这一温度时,即使人 在热释电传感器可测范围内,电风扇也处于关闭状态。 关键字:温度传感器,热释电传感器,步进电机。 目目 录录 摘要摘要2 第一章第一章 绪论绪论5 1.1 传统电风扇简介5 1.2 温控电风扇简介5 1.3 温控电风扇设计目的5 第二章第二章 温控电风扇结构和原理温控电风扇结构和原理6 2.1 温控电风扇结构6 2.2 温控电风扇流程图6 2.3 温控电风扇电路原理图7 2.4 主要元件的工作原理简介7 第三章第三章 温控电风扇控制系统温控电风扇控制系统9 3.1 温控电风扇的控制电路9 3.2 温控电风扇的硬件电路13 第四章第四章

3、软件设计软件设计16 4.1 主程序设计16 4.2 温度测量程序设计17 4.3 显示程序设计18 4.4 温度设定程序设计19 第五章第五章 结束语结束语23 参考文献参考文献24 致谢致谢25 第一章第一章 绪论绪论 传统的风扇是只高,中,低三个风速挡,并且是人工开关,还不知室温是 多少,该用哪个挡。而这个设计是一新技术,在电子行业,单片机上早已经广 泛的应用。而这个是单片机电路板和溫度探测相結合,将其应用于家用电风扇 的转速精确控制上,能够有良好的表现。 1.1 传统电风扇简介 众所周知,传统的电风扇的开启和关闭要人为的去开,关,好一点的会有 个遥控器,可还是要人去操作,这对现代忙碌的

4、人群来说是很麻烦的。而我过 的电网电压为 220 伏,50 赫兹,在由于供电频率不能改变,传统的电风扇的电 机转速基本上变化不大,依靠它的“开,高速,中速,低速,停”电机来调整 室内温度,其电机的一开一停,一高一低之间容易造成室内温度忽冷忽热,并 消耗较多电能,还容易烧毁电机。 1.2 温控电风扇简介 它是采用多挡全自动变频器,使得对电风扇各挡风量的调节更加细化,使 得电风扇的控制更具人性化,同时它也具有全自动、控制简单、智能化、制作 容易。使用温度传感器、热释电红外传感器、专用控制集成电路和单片机,实 现当室温达到设定开启风扇的温度并且人出现在热释电传感器可测范围时,电 风扇自动开启,并且可

5、以根据室温变换频率,人离开后自动关闭;当室温低于 这一温度时,即使人在热释电传感器可测范围内,电风扇也处于关闭状态。电 路遥感距离为 10m,角度为 85,温度设定为 24。 1.3 温控电风扇设计目的 在如今,人们烦琐的事情越来越多,回到家更想一动不动好好休息一下, 消除自己一天的工作疲劳,传统风扇还要去开启,调速,固定它的转动方向, 同样的风速吹的人会痛,这让人们觉得很麻烦也很无奈。而温控电风扇就解决 了这些问题。只要人一进入它的探测范围,它就会自己启动,吹出变换方向适 合室内温度的风来,免除人为的手工操作。中国有 13 亿人,使用空调的只占总 人口的三四成,还有多数人使用电风扇,由此可见

6、它的市场是巨大的,人们已 经普遍把它使用在了生活中。 温控电风扇是把自动开与关和通过对电流的转换来实现电动机运转频率的自 动调节,从而达到改变风速的目的。此设计用到单片机,它是把微处理器,存 储器(RAN 和 RON),输入/输出接口以及定时器/计数器等集成在一起的集成电 路芯片。它与集成电路相结合,组成一个设定,感温,控制和输出与一身的模 块。利用单片机 89C51 和一些电路对室温进行探测,从而对电风扇进行开和关 的一系列控制。 第二章第二章 温控电风扇结构和原理温控电风扇结构和原理 2.1温控电风扇结构 温控电风扇有内部结构和外部结构组成。 内部结构有集成电路板和风扇电机组成,外部结构就

7、是机壳。整个部分 电路板是重种之中,它上面连接了有单片机,温度传感器,热释电红外传感器, PWM 脉宽调治电路,延时开关电路, 按键式电磁开关,自动变频器,电压-频 率转换电路,LED 显示器,A/D 转换电路、可控硅触发控制电路、振荡、电源 电路组成。温控电风扇的结构框图如图 2-1 稳 压 器 电源电路 步进电机 89C51 单片机 A/D 转换器 震荡 热释电红外传感 器 温 度 传 感 器 PWM 脉宽 调制电路 A/D 转换 A/D 转换 2.2控电风扇流程图 显示电路 键盘 数据及程 序存储器 时钟及复 位电路 待机 是否有人? 是否设定温度? 是否达到设定温度? 启动 PWM 电

8、路 启动步进电机 待机 2.3主要元件工作原理简介 步进电机原理简介步进电机原理简介 步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进 电机靠一种叫环形分配器的电子开关器件,通过功率放大器使励磁绕组按照顺 序轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流 电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动, 随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、 转子齿轮数有关。 现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合 式步进电机和单相式步进电机等。其中反应式步进电机的转子磁路由软磁材料 制成,定子上有多

9、相励磁绕组,利用磁导的变化产生转矩。现阶段,反应式步 进电机获得最多的应用。 步进电机的控制方式步进电机的控制方式 如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动, 从而实现数字 角度的转换。转动的角度大小与施加的脉冲数成正比,转动的 速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。以三相步进电机为 例,电流脉冲的施加共有三种方式。 热释电传感器原理热释电传感器原理 热释电传感器利用的正是热释电效应,是一种温度敏感传感器。它由陶瓷 氧化物或压电晶体元件组成,元件两个表面做成电极,当传感器监测范围内温 度有 T 的变化时,热释电效应会在两个电极上会产生电荷 Q,即在两电极

10、 之间产生一微弱电压 V。由于它的输出阻抗极高,所以传感器中有一个场效 应管进行阻抗变换。热释电效应所产生的电荷 Q 会跟空气中的离子所结合而 消失,当环境温度稳定不变时,T=0,传感器无输出。当人体进入检测区时, 因人体温度与环境温度有差别,产生 T,则有信号输出;若人体进入检测区 后不动,则温度没有变化,传感器也没有输出,所以这种传感器能检测人体或 者动物的活动。 温度传感器的原理温度传感器的原理 温度传感器的基本原理是由热电偶传感器演变而来,主要按照热电效应 来工作。将两种不同的导体 A 和 B 连接起来,组成一个闭合回路,即构成感 温元件。当导体 A 和 B 的两个接点 1 和 2 之

11、间存在温差时,两者之间便产生 电动势,因而在回路中形成一定大小的电流,这种现象即称为热电效应,也叫 温差电效应。热电偶就是利用这一效应进行工作的。热电偶的一端是将 A、B 两种导体焊接在一起,称为工作端,置于温度为 t 的被测介质中。另一端称为 参比端或自由端,放于温度为 t0 的恒定温度下。当工作端的被测介质温度发 生变化时,热电势随之发生变化,将热电势送入计算机进行处理,即可得到温 度值。 PWM 脉宽调制原理脉宽调制原理 脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一 种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 简而言之,PWM 是一种对模

12、拟信号电平进行数字编码的方法。这三种 PWM 输 出编码的分别是强度为满度值的 10%、50%和 90%的三种不同模拟信号值。对 噪声抵抗能力的增强是 PWM 相对于模拟控制的另外一个优点,而且这也是在 某些时候将 PWM 用于通信的主要原因。从模拟信号转向 PWM 可以极大地延 长通信距离。 步进电机原理步进电机原理 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非 超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 这一线性关系的存在,加上 步进电机只有周期性的误差而无累积误差等特点。 使

13、得在速度、位置等控制领域用步进电机来控制变的非常的简单。 虽然步进电 机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下 使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。 第三章第三章 温控电风扇控制系统温控电风扇控制系统 3.1 温控电风扇的控制电路温控电风扇的控制电路 一、一、89C51 单片机简介 AT89C51 部分管脚定义 Vss :地 Vcc :电源:提供掉电、空闲、正常工作电压 P0.0-0.7 : P0 I/O 口 - P0 口是开漏双向口,可以写为 1 使其状态为 悬浮用作高阻输入。P0 也可以在访问外部程序存储器时作地址的低字节,在 访问

14、外部数据存储器时作数据总线,此时通过内部强上拉输出 1。 P1.0-1.7 : P1 I/O 口 - P1 口是带内部上拉的双向 I/O 口,向 P1 口写 入 1 时,P1 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外 部拉低的 P1 口会因为内部上拉而输出电流(见 DC 电气特性)。 P1 口第 2 功能: T2(P1.0) 定时/计数器 2 的外部计数输入/时钟输出(见可编程输出) T2EX(P1.1) 定时/计数器 2 重装载/捕捉/方向控制 P2.0-2.7 : P2 I/O 口 - P2 口是带内部上拉的双向 I/O 口,向 P2 口写 入 1 时,P2 口被内部上拉为

15、高电平,可用作输入口。当作为输入脚时,被外 部拉低的 P2 口会因为内部上拉而输出电流(见 DC 电气特性)。 在访问外部 程序存储器和外部数据时分别作为地址高位字节和 16 位地址(MOVX DPTR), 此时通过内部强上拉传送 1。 当使用 8 位寻址方式(MOVRi)访问外部数据存 储器时,P2 口发送 P2 特殊功能寄存器的内容。 RST : 复位 当晶振在运行中,只要复位管脚出现 2 个机器周期高电平即 可复位,内部有扩散电阻连接到 Vss 仅需要外接一个电容到 Vcc ,即可实现 上电复位。 PSEN :程序存储使能当执行外部程序存储器代码时,PSEN 每个机器周期 被激活两次,在

16、访问外部数据存储器时 PSEN 无效,访问内部程序存储器时 PSEN 无效。 XTAL1 :晶体 1 反相振荡放大器输入和内部时钟发生电路输入。 XTAL2 :晶体 2 反相振荡放大器输出。 AT89C51 部分关联功能简介 (1) 复位 在振荡器工作时将RST脚保持至少两个机器周期高电平12 时钟模式为24 个 振荡器周期6,时钟模式为12 振荡器周期可实现复位为了保证上电复位的可靠, RST 保持高电平的时间至少为振荡器启动时间(通常为几个毫秒)再加上两个 机器周期。复位后,振荡器以12 时钟模式运行当已通过并行编程器设置为6 时 钟模式时除外。 (2) 振荡器特性 XTAL1 和XTAL

17、2 为输入和输出,可分别作为一个反相放大器的输入和输出。此 管脚可配置为使用内部振荡器。要使用外部时钟源驱动器件时,XTAL2 可以不 连接而由XTAL1 驱动。外部时钟信号无占空比的要求,因为时钟通过触发器二 分频输入到内部时钟电路。但高低电平的最长和最短时间必须符合手册的规定。 (3) 定时器 0 和 1 的操作 定时和计数功能由特殊功能寄存器TMOD 的控制位进行选择。这两个定时/计 数器有4 种操作模式,通过TMOD 的M1 和M0 选择。两个定时/计数器的模式0、 1 和2 都相同模式3 不同。 (4)中断 本器件提供6 个中断源。外部中断INT0 和INT1 可根据寄存器TCON

18、中的 IT0 和IT1 位状态分别设置为电平或者边沿触发。实际产生的中断标志是TCON 中的位IE0 和IE1。 当产生外部中断时,如果是边沿触发,进入中断服务程序 后由硬件清除中断标志位。如果中断是电平触发,由外部请求源而不是由片内 硬件控制请求标志。 定时器 0 和定时器 1 中断由 TF0 和 TF1 (分别由各自的定时/计数寄存器 控制,定时器 0 工作在模式 3 时除外)产生。当产生定时器中断时,进入中断 服务程序后由片内硬件清除标志位。8(P12-15) 二、二、按键电路 按键电路采用的是单片机 89C51 的 15,16,17 脚作为按键的输入端子。它 们分别是 SW1 开关按键

19、、SW2 递减按键、SW3 递增按键。当按下开关按键时会给 单片机一低电平,从而单片机检测到这个脚电平的变化,会作出下一步的处理, 经内部分析运算后输出相应的控制数据。开关按键的是单片机内部的 T1 记数功 能,当此脚电平变化一次,内部就会记一次数。按键电路如图所示: 递减按键用的是单片机的 3.6 口。当此按键按下一次就会使 P1 口所有的输 出端口就会变化。递增按键用的是 3.7 口,工作过程同递减按键 3.6 口。 按键电路如图 2 所示。 三、三、LED 显示电路 整机的电压输出显示电路如图所示: 本设计采用两个一样的集成数码管。 LED 数码管由各自的三极管驱动与关闭。 当单片机输出

20、显示数据的同时还输出两个驱动信号送到 DS1、DS2 的各自的 三极管的基极,使三极管导通从而使 LED 显示相应输出电压值。数码管和三极 管要用截止电流尽量小一些的器件。因为了减小整机的功耗,所以必须用截止 电流小些的器件。 LED 显示电路如图 3 所示: 图 2 按键电路图 DS1 DS2 图 3 LED 显示电路图 四、复位电路 复位电路如图 4 所示: 图 4 复位电路图 上电后 5V 电压通过 C 向 R 电阻充电,这时在 89C51 的复位端就会形成一个 负的电压脉冲。这时单片机就认为给它一低的电平信号告诉它要复位了。当振 荡器复位器件时,要保持 RST 脚两个机器周期的高电平时

21、间。ALE/PROG:当访 问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉 冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一 个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在 执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理 器在外部执行状态 ALE 禁止,置位无效。本电路采用的是上电自动复位,不需 要手动按动按钮去

22、人工复位。 在复位有效期间,ACE、PSEN 也输出高电平,REST 输入端返回低电平以后 单片机从 0 地址开始执行程序3(P20。 五、数模转换电路 数模转换电路如图 5 所示: DAC0808 是具有 16 个引脚的双列直插式 8 位 D/A 转换器件。其引脚功能分别为: 1 脚为空, 2 脚为 GND,3 脚为 VEE,4 脚为 DAC 输出引脚,512 脚为数据输入 引脚,13 脚为 VCC,14 脚为基准电压(VREF) ,15 脚为基准电压(VREF) , 16 脚为 COMPENSATION。 当数据输入量全为 0 时,其 4 脚输出电压最低,接近零;当数据输入量全为 1 时,

23、其 4 脚输出电压最高,电压值由基准电压 VREF 决定。因此,基准电压的精 度决定了 D/A 转换的精度。 图 5 数模转换电路图 本文所用的基准电压为 15V,而数据输入量在 00HFFH 之间变化,即 D/A 输出的电压有 256 种。从而不难算出本电源的精度 15V2560.05859V0.06V。假如我们想要 6V 的直流电压,数据输入量 6V0.06V100,注意这里的 100 是十进制的,单片机不能识别十进制数据, 所以要把十进制转换成二进制或十六进制(转换时可用 WINDOWS 自带的科学计 算器进行) 。100 转换成十六进制后为 64H。只要给 DAC0808 输入 64H

24、,它就能 输出 6V 的电压(注意:理论值和实践值有所出入,具体运用时要适当的调节数 据输入量) ,该电压经运放 TL082 后再去推动 LM317,由 LM317 输出我们需要的 电压值,实现了电压数控调节。 3.23.2 温控电风扇的硬件电路温控电风扇的硬件电路 第二节 直流稳压电路 一、三端稳压器 LM317 的输出电流是 1.5A,输出电压可在 1.5-37V 之间连续可调。输出电 压由控制脚决定,最高输出电压由电源电压决定。 此电路采用的三端稳压集成电路 LM317。它的 1 脚是控制端。2 脚是输出 端 。3 脚是电源端。引脚非常少易于控制,并且输出电压稳定带负载能力强。 它配合前

25、级的推动电路从而实现电压的数控调节。LM317 在工作时流过的电流 是非常大的,所以一定要加足够大的散热片。以便较快的散去工作时的热量避 免因高温而损坏 LM317 稳压集成电路。此设计的 LM317 是不能用一般的三端稳 压器代替的。因为一般的三端稳压器是不带控制脚他只有接地脚。 三端稳压器电路如图 6 所示: 图 6 三端稳压电路图 二、缓冲与保护电路 缓冲电路采用的是集成运放 TL082。它的 1 脚是控制输出,2 脚是输入端, 3 脚接地端,8 脚是+15V 输入端,4 脚是-15V 输入端。它的作用是把 D/A 数模 转换集成电路输出的控制电压进行放大后去推动 LM317 输出所要的

26、电压。 保护电路是由(R10、R11、R12)取样电阻和单片机的 25 脚组成。工作原 理是:当单片机检测到负载短路时,25 脚的电压会发生变化这时单片机就认为 负载短路迫使整机处于待机状态,使输出电压为零从而保护了三端稳压器不至 于损坏,并且还避免了负载因短路在扩大故障范围。 三、温度传感器电路 温度传感器采用专用的 DS18B20 温度集成传感器, 当温度大于 150 时 其输出端的电压将回降到很低(接近 0V) 。传感器要与 LM317 三端稳压器紧密 相接触,以便及时感知三端稳压器的温度变化。只要三端稳压器的温度大于 150是温度传感器就会输出低电平送到单片机的保护检测脚,从而启动保护

27、功 能。 传感器电路图如图 7 所示。 图 7 传感器电路图 四、硬件电路的整体分析 220V 市电经变压器将压后变成 15V 的交流电压,经整流电路后变成正负 15V 左右的直流电压。 (变压器是采用三抽头的)-15V 电压送到缓冲放大集成运放 为其提供负的工作电压。+15V 直流电压经五伏稳压后变成稳定的 5V 电压为单 片机和 D/A 数模转换集成电路提供工作电压。数模转换器是一个八位的 D/A 转 换器件。当输入的数据全为 0 时,其数控电源输出的电压接近 0V。当输入的数 据全为 1 时,其数控电源输出电压最高接近基准电压。基准电压值由 VREF 决定。 此电路采用的基准电压是 15

28、V 。 当接通电源后 89C51 得到复位电压复位后,内部开始执行程序,而输出相 应的电压值。SW1 是开关按键,按一下次按键后整机处于待机状态,同时 LED 显示“OF” 。电源无电压输出,按任意键可以开机。SW2 是输出电压递减调节按 键,当按一下 SW2 时,89C51 单片机地 16 脚(P3.6 口)会得到一个变化的脉冲, 这个变化的脉冲送到单片机内部处理后由 P1 口的 1 到 8 脚输出递减电压的数据, 直接送到数模转换集成电路的 A1-A8 端子(也就是 5-12 脚) ,电压递减数据经 D/A 集成电路转换后,由 4 脚输出一个控制电压。这个控制电压直接送到集成 运放 TL0

29、82,经 TL082 反相放大后,直接推动 LM317 三端稳压器输出相应的电 压值。从而实现数控电压的无触点调节。并且由 89C51 单片机的内部输出显示 电压的数据电压去推动 V1,V2 三极管的导通,从而驱动 LED 数码管显示相应的 输出电压值。SW3 按键(电压递增调节)与电压递减调节的工作原理相反。 当刚开机时由于单片机要初始化(复位)这一瞬间单片机输出的数据不受 控制,从而会导致 LM317 输出一个高的电压,会使用电器(负载)损坏。为了 防止这一现象的发生,从而设置了 V3(PNP)保护三极管。当单片机初始化时, 各端口的电压为低电平,这时 V3 导通,继电器得到工作电压,使继

30、电器的触点 断开,从而切断了输出电压,保护了用电器不被瞬间输出的高电压损坏。当复 位后,P2.5 口恢复了高电平,这时 V3 截止,继电器得不到工作电压而恢复到 常闭状态,这时就输出正常的电压到用电器。 当用电器(负载)短路或过载现象时,会到造成输出电压大幅度下降,此 电压经取样电路后的电压也会下降很多,这时 P2.4 口的电位也随之降低。程序 立即检测到 P2.4 这一变化。立即使 P2.5 口为低电平从而使 V3 导通,继电器工 作切断输出电压。这时整机也转入待机状态,直至故障排除后才能重新开机, 否则整机将一直处于待机状态 1(P272)。 整机电路图如图 8 所示: 图 8 整机电路原

31、理图 第四章第四章 软件设计软件设计 4.1主程序设计 单片机复位后,开始初始化工作,然后进入按键功能模块,最后完成工作。 初始化中,将 DS18B20,内部 RAM,包括按键,默认为控制状态,温度设定 为 24。 数字显示的程序: ORG 0000H AJMP START ORG 0030h START : mov sp,#60h; 开始 初始化 按键功能 有按键? 设定 各位按键 各位按键 十位案件 N Y 4.2温度测量程序设计 开始 有人? 初始化 采集室内温度 判断温度? 返回 延时 开启风扇 N Y N Y duqu:LCALL GET_TEMPER ; 调用读温度子程序并初始化

32、DS18B20 LCALL DISP ; 调用显示当前温度 MOV A,29H; 将现场实际温度传递给 A CJNE A,2FH,LL1; 比较当前的温度与设定的温度是否相等 CLR P2.0; 开启电风扇 SJMP ANJIAN 4.3显示程序设计 接受信号并查表 开始 返回 信号是否完整? 延时 Y N DISP: mov P0,#0A4H;/将数字 2 的编码送 P0 口 CLR P2.0;/打开第一位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.0;/显示 1MS 后关第一位数码管显示 MOV P0,#0B0H;/数字 3 的编码 CLR P2.1

33、;/打开第二位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.1;/显示 1MS 后关第二位数码管显示 MOV P0,#99H;/数字 4 的编码 CLR P2.2;/打开第三位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.2;/显示 1MS 后关第三位数码管显示 MOV P0,#92H;/数字 5 的编码 CLR P2.3;/打开第四位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.3;/显示 1MS 后关第四位数码管显示 RET;/返回从第一位显示循环 4.4 温度设定程序设计 初

34、始化 开始 是否有人? 读取室内温度 返回 达到设定温度? 延时 开启风扇 N Y Y N 功能介绍:加减按键同时按下进入温度设定状态,然后按加或减按键进行温度设定, 然后再次同时按加减键退出 TEMPER_L EQU 29H; 用于保存读出温度的低 8 位 TEMPER_H EQU 28H; 用于保存读出温度的高 8 位 FLAG1 EQU 38H; 是否检测到 DS18B20 标志位 FLAG2 EQU 01H; 进入设定状态标志位 ORG 0000H AJMP MAIN; 转入主程序 ORG 0030H MAIN:MOV 2FH,#24; 设定高于 24 度为温度过高 SETB P2.1

35、 ; 闭等待指示灯 CLR FLAG2 main1: mov a,2FH ; 存储的最高温度 24 度 mov b,#10 ; 取出十位和个位 div ab ORL A,#B mov 41H,a ; 十位 mov 42H,b ; 个位 MOV A,42H ORL A,#B; 转化成 ASCII 码 mov 42H,A mov a,2FH mov b,#100 ; div ab ORL A,#B mov 40H,a ; LL1:SETB P2.0; 关闭电风扇 ANJIAN:LCALL DISP MOV A,P1 ; 读取当前按键的值 ANL A,#0FH ; 屏蔽高位 sheding:CJNE

36、 A,#0CH,jia ; 加减按键一起按就进入温度设定状态 ACALL DELAY100 ; 消除键抖动 CJNE A,#0CH,jia ; 加减按键一起按就进入温度设定状态 setb flag2 ; 启动设定 sjmp duqu jia: CJNE A,#0EH,jian ; 加处理 ACALL DELAY100 ; 消除键抖动 CJNE A,#0EH,jian ; 加处理 JNB FLAG2,DUQU ; 在加减键没有同时按下的时候,只按加按键时不执行 任何功能,并跳到读取当前温度 MOV A,2FH; 先读取原先设定的温度值 INC A; 原先设定的温度值加 1,当设定的温度值不能超过

37、 125 MOV 2FH,A; 将当前设定的温度值保存 SJMP BAOCUN jian: CJNE A,#0DH,duqu ; 减处理 ACALL DELAY100 ; 消除键抖动 CJNE A,#0DH,duqu ; 减处理 JNB FLAG2,DUQU ; 在加减键没有同时按下的时候,只按加按键时 不执行任何功能,并跳到读取当前温度 MOV A,2FH; 先读取原先设定的温度值 DEC A; 原先设定的温度值减 1,当设定的温度值不能超过-25 MOV 2FH,A; 保存当前设定的温度 baocun:CJNE A,#0CH,TUICHU; 加减按键一起按就保存温度设定状态 并退出设定 A

38、CALL DELAY100 ; 消除键抖动 CJNE A,#0CH,TUICHU; 加减按键一起按就保存温度设定状态 并退出设定 clr flag2 ; 关闭设定 SJMP QUIT TUICHU:CPL P2.1; 等待退出设定状态 LCALL DELAY100 LCALL DELAY100 LCALL DELAY100 LCALL DELAY100 LCALL DELAY100 SJMP BAOCUN quit:LCALL DISP ljmp main1 disp: JNB FLAG2,DQ MOV A,2FH; 显示设定温度值 SJMP XS DQ:mov a,29H; 显示当前温度值

39、XS:mov b,#10 ; 取出十位和个位 div ab MOV DPTR,#WORDTAB MOVC A,A+DPTR MOV P0,A CLR P2.7; 开启个位数码管显示 SETB P2.6 SETB P2.5 LCALL DELAY100 SETB P2.7 MOV A,B MOV DPTR,#WORDTAB MOVC A,A+DPTR MOV P0,A CLR P2.6; 开启十位数码管显示 SETB P2.7 SETB P2.5 LCALL DELAY100 SETB P2.6 mov a,29H mov b,#100 ; 取出百位 div ab MOV DPTR,#WORDT

40、AB MOVC A,A+DPTR MOV P0,A CLR P2.5 SETB P2.6 SETB P2.7 LCALL DELAY100 SETB P2.5 RET ;100 毫秒延时子程序,占用 R4、R5 DELAY100:MOV R4,#100 D222:MOV R5,#248 DJNZ R5,$ DJNZ R4,D222 RET INIT_1820: SETB P3.2 NOP CLR P3.2 MOV R0,#06BH; 主机发出延时 537 微秒的复位低脉冲 MOV R1,#03H TSR1: DJNZ R0,TSR1 MOV R0,#6BH DJNZ R1,TSR1 SETB

41、P3.2; 然后拉高数据线 NOP NOP NOP MOV R0,#25H TSR2: JNB P3.2,TSR3; 等待 DS18B20 回应 DJNZ R0,TSR2 LJMP TSR4 ; 延时 TSR3: SETB FLAG1 ; 置标志位,表示 DS1820 存在 LJMP TSR5 TSR4: CLR FLAG1 ; 清标志位,表示 DS1820 不存在 LJMP TSR7 TSR5: MOV R0,#06BH TSR6: DJNZ R0,TSR6 ; 时序要求延时一段时间 TSR7: SETB P3.2 RET WRITE_1820: MOV R2,#8; 一共 8 位数据 CL

42、R C WR1: CLR P3.2 MOV R3,#5 DJNZ R3,$ RRC A MOV P3.2,C MOV R3,#21 DJNZ R3,$ SETB P3.2 NOP DJNZ R2,WR1 SETB P3.2 RET GET_TEMPER: LCALL INIT_1820; 先复位 DS18B20 JB FLAG1,TSS2 RET ; 判断 DS1820 是否存在?若 DS18B20 不存在则返回 TSS2: MOV A,#0CCH ; 跳过 ROM 匹配 LCALL WRITE_1820 MOV A,#44H ; 发出温度转换命令 LCALL WRITE_1820 LCALL

43、 DELAY100; 延时 750 微秒以上,等待 18B20 A/D 转换结束 LCALL INIT_1820; 准备读温度前先复位 MOV A,#0CCH ; 跳过 ROM 匹配 LCALL WRITE_1820 MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820 LCALL READ_18200; 将读出的温度数据保存到 28H/29H RET READ_18200: MOV R4,#2 ; 将温度高位和低位从 DS18B20 中读出 MOV R1,#29H ; 低位存入 29H(TEMPER_L),高位存入 28H(TEMPER_H) RE00: MOV R2

44、,#8 RE01: CLR C SETB P3.2 NOP NOP CLR P3.2 NOP NOP NOP SETB P3.2 MOV R3,#08 RE10: DJNZ R3,RE10 MOV C,P3.2 MOV R3,#21 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET WORDTAB: DB 3FH,06H,5BH,4FH ;0,1,2,3 DB 66H,6DH,7DH,07H ;4,5,6,7 DB 7FH,6FH,77H,7CH ;8,9,A,B DB 39H,5EH,79H,71H

45、;C,D,E,F DB 80H,00H,40H ;小数点,暗,负号 DELAY7: SETB P1.7 MOV R3,#120 FRT:ACALL DELAY100 CPL P1.6 DJNZ R3,FRT SETB P1.6 RET DELAY500:MOV R4,#248 DA222:MOV R5,#248 DJNZ R5,$ DJNZ R4,DA222 RET END 第五章第五章 结束语结束语 在写毕业论文时我深深体会到搞设计的艰辛与困难。电风扇我们都很熟悉, 但要想把单片机技术运用到电风扇上是不简单的,刚开始我只是设想用单片机 去控制热释电传感器,把人出现的模拟电压变成数字的并且带动电风扇启动。 于是我就查了许多资料通过自己分析与研究,我把这些零碎的资料系统的结合 在一起就设计出来了温控电风扇。当然在电路上我还是采用了一部分人家现成 的电路图,然后我把这些电路结合自己的理论知识,把单片机技术运用到了一 般的电路中,从而实现了温度和人同时控制电风扇的启动。 由于我

温馨提示

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

评论

0/150

提交评论