2017毕业论文-智能电风扇的设计.doc_第1页
2017毕业论文-智能电风扇的设计.doc_第2页
2017毕业论文-智能电风扇的设计.doc_第3页
2017毕业论文-智能电风扇的设计.doc_第4页
2017毕业论文-智能电风扇的设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

湖南第一师范学院 毕业论文(设计) 题目智能电风扇(小四宋体居中) 学生姓名 学号 指导教师 系(部)信息科学与工程系 专业班级应用电子技术一班 完成时间2010 年 4 月 23 日 目 录(三号宋体居中) (以下目录自动生成) 第 1 章 绪论1 第 2 章 系统概况2 2.1 智能电风扇结构图2 2.2 控制电风扇流程图3 2.3 主要元件工作原理简介3 第 3 章 智能电风扇控制系统5 3.1 智能电风扇的控制电路5 3.2 温控电风扇的硬件电路9 第 4 章 软件设计11 4.1 主程序设计11 4.2 温度测量程序设计13 4.3 显示程序设计13 4.4 温度设定程序设计13 第 5 章 结束语14 参考文献15 附 录 1.16 附录 2.23 共 29 页第 1 页 智能电风扇的设计智能电风扇的设计 摘摘 要:要:该设计是为了让电风扇这一家用电器变的更智能化。当室温高于需要 开启电风扇的某一温度并且人出现在热释电传感器可测范围时,电风扇自动开 启,人离开后自动关闭;当室温低于这一温度时,即使人在热释电传感器可测 范围内,电风扇也处于关闭状态。 关键字:关键字:温度传感器;热释电传感器;步进电机(都为宋体小四,不要译为英 文) 第 1 章 绪论 社会在发展,科技在进步,随着人们生活水平的提高,老式的风扇已渐渐 的不能满足人们的生活需要,作为学电子专业的学生,我对电风扇的发展非常 感兴趣,同时对电风扇作了以下的探讨。 在如今,人们烦琐的事情越来越多,回到家更想一动不动好好休息一下, 消除自己一天的工作疲劳,传统风扇还要去开启,调速,固定它的转动方向, 同样的风速吹的人会痛,这让人们觉得很麻烦也很无奈。而智能电风扇就解决 了这些问题。只要人一进入它的探测范围,它就会自己启动,吹出变换方向适 合室内温度的风来,免除人为的手工操作。中国有 13 亿人,使用空调的只占总 人口的三四成,还有多数人使用电风扇,由此可见它的市场是巨大的,人们已 经普遍把它使用在了生活中。 众所周知,传统的电风扇的开启和关闭要人为的去开,关,好一点的会有 个遥控器,可还是要人去操作,这对现代忙碌的人群来说是很麻烦的。而我过 的电网电压为 220 伏,50 赫兹,在由于供电频率不能改变,传统的电风扇的电 机转速基本上变化不大,依靠它的“开,高速,中速,低速,停”电机来调整 室内温度,其电机的一开一停,一高一低之间容易造成室内温度忽冷忽热,并 消耗较多电能,还容易烧毁电机。 智能电风扇它是采用多挡全自动变频器,使得对电风扇各挡风量的调节更 加细化,使得电风扇的控制更具人性化,同时它也具有全自动、控制简单、智 共 29 页第 2 页 能化、制作容易。使用温度传感器、热释电红外传感器、专用控制集成电路和 单片机,实现当室温达到设定开启风扇的温度并且人出现在热释电传感器可测 范围时,电风扇自动开启,并且可以根据室温变换频率,人离开后自动关闭; 当室温低于这一温度时,即使人在热释电传感器可测范围内,电风扇也处于关 闭状态。电路遥感距离为 10m,角度为 85,温度设定为 24。 智能电风扇是把自动开与关和通过对电流的转换来实现电动机运转频率的 自动调节,从而达到改变风速的目的。此设计用到单片机,它是把微处理器, 存储器(RAN 和 RON),输入/输出接口以及定时器/计数器等集成在一起的集成电 路芯片。它与集成电路相结合,组成一个设定,感温,控制和输出与一身的模 块。利用单片机 89C51 和一些电路对室温进行探测,对电风扇进行开和关一系 列控制。 第第 2 2 章章 系统概况系统概况 2.1 智能电风扇结构图(黑体小四) 智能电风扇有内部结构和外部结构组成。内部结构有集成电路板和风扇电 机组成,外部结构就是机壳。整个部分电路板连接了有单片机,温度传感器, 热释电红外传感器,PWM 脉宽调治电路,延时开关电路, 按键式电磁开关,自 动变频器,电压-频率转换电路,LED 显示器,A/D 转换电路、可控硅触发控 制电路、振荡、电源电路组成。温控电风扇的结构框图如图 2.1 所示。 稳 压 器 电源电路 步进电机 8051 单片机 A/D 转换器 震荡 热释电红外传感器 温 度 传 感 器 PWM 脉宽调 制电路 A/D 转换 A/D 转换 共 29 页第 3 页 图 2.1: 电风扇的结构框图(居中,小 5 号黑体) 2.2 控制电风扇流程图 控制风扇流程图如图 2.2 所示。 图 2.2 控制风扇流程图 2.3 主要元件工作原理简介 2.3.1 热释电传感器原理(小四号楷体) 热释电传感器利用的正是热释电效应,是一种温度敏感传感器。它由陶瓷 氧化物或压电晶体元件组成,元件两个表面做成电极,当传感器监测范围内温 度有 T 的变化时,热释电效应会在两个电极上会产生电荷 Q,即在两电极 之间产生一微弱电压 V。由于它的输出阻抗极高,所以传感器中有一个场效 应管进行阻抗变换。热释电效应所产生的电荷 Q 会跟空气中的离子所结合而 消失,当环境温度稳定不变时,T=0,传感器无输出。当人体进入检测区时, 因人体温度与环境温度有差别,产生 T,则有信号输出;若人体进入检测区 后不动,则温度没有变化,传感器也没有输出,所以这种传感器能检测人体或 者动物的活动。 待机 是否有人? 是否设定温度? 是否达到设定温度? 启动 PWM 电路 启动步进电机 待机 共 29 页第 4 页 2.3.2 温度传感器的原理(小四号楷体) 温度传感器的基本原理是由热电偶传感器演变而来,主要按照热电效应来 工作。将两种不同的导体 A 和 B 连接起来,组成一个闭合回路,即构成感温 元件。当导体 A 和 B 的两个接点 1 和 2 之间存在温差时,两者之间便产生电动 势,因而在回路中形成一定大小的电流,这种现象即称为热电效应,也叫温差 电效应。热电偶就是利用这一效应进行工作的。热电偶的一端是将 A、B 两种 导体焊接在一起,称为工作端,置于温度为 t 的被测介质中。另一端称为参比 端或自由端,放于温度为 t0 的恒定温度下。当工作端的被测介质温度发生变 化时,热电势随之发生变化,将热电势送入计算机进行处理,即可得到温度值。 2.3.3PWM 脉宽调制原理 脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非 常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。简 而言之,PWM 是一种对模拟信号电平进行数字编码的方法。这三种 PWM 输出编 码的分别是强度为满度值的 10%、50%和 90%的三种不同模拟信号值。对噪声抵 抗能力的增强是 PWM 相对于模拟控制的另外一个优点,而且这也是在某些时候 将 PWM 用于通信的主要原因。从模拟信号转向 PWM 可以极大地延长通信距离。 2.3.4 步进电机原理(小四号楷体) 步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进电 机靠一种叫环形分配器的电子开关器件,通过功率放大器使励磁绕组按照顺序 轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流电 源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动, 随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、 转子齿轮数有关。 现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合式 步进电机和单相式步进电机等。其中反应式步进电机的转子磁路由软磁材料制 成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现阶段,反应式步进 电机获得最多的应用。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超 受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一 线性关系的存在,加上 步进电机只有周期性的误差而无累积误差等特点。使得 共 29 页第 5 页 在速度、位置等控制领域用步进电机来控制变的非常的简单。 虽然步进电机已 被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。 它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。 如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转 动从而实现数字 角度的转换。转动的角度大小与施加的脉冲数成正比,转动的 速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。以三相步进电机为 例,电流脉冲的施加共有三种方式。 第第 3 3 章章 智能电风扇控制系统智能电风扇控制系统 3.1 智能电风扇的控制电路 3.1.1 8051 单片机简介(小四号楷体) 89051 部分管脚定义 Vss :地 Vcc :电源:提供掉电、空闲、正常工作电压 P0.0-0.7 : P0 I/O 口 - P0 口是开漏双向口,可以写为 1 使其状态为 悬浮用作高阻输入。P0 也可以在访问外部程序存储器时作地址的低字节,在访 问外部数据存储器时作数据总线,此时通过内部强上拉输出 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 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部 拉低的 P2 口会因为内部上拉而输出电流(见 DC 电气特性)。 在访问外部程序 存储器和外部数据时分别作为地址高位字节和 16 位地址(MOVX DPTR),此时 共 29 页第 6 页 通过内部强上拉传送 1。 当使用 8 位寻址方式(MOVRi)访问外部数据存储器时, P2 口发送 P2 特殊功能寄存器的内容。 RST : 复位 当晶振在运行中,只要复位管脚出现 2 个机器周期高电平即 可复位,内部有扩散电阻连接到 Vss 仅需要外接一个电容到 Vcc ,即可实现上 电复位。 PSEN :程序存储使能当执行外部程序存储器代码时,PSEN 每个机器周期 被激活两次,在访问外部数据存储器时 PSEN 无效,访问内部程序存储器时 PSEN 无效。 XTAL1 :晶体 1 反相振荡放大器输入和内部时钟发生电路输入。 XTAL2 :晶体 2 反相振荡放大器输出。 3.1.2 89051 部分关联功能简介(小四号楷体) (1) 复位 在振荡器工作时将RST脚保持至少两个机器周期高电平12 时钟模式为24 个 振荡器周期6,时钟模式为12 振荡器周期可实现复位为了保证上电复位的可靠, RST 保持高电平的时间至少为振荡器启动时间(通常为几个毫秒)再加上两个 机器周期。复位后,振荡器以12 时钟模式运行当已通过并行编程器设置为6 时 钟模式时除外。 (2) 振荡器特性 XTAL1 和XTAL2 为输入和输出,可分别作为一个反相放大器的输入和输出。 此管脚可配置为使用内部振荡器。要使用外部时钟源驱动器件时,XTAL2 可以 不连接而由XTAL1 驱动。外部时钟信号无占空比的要求,因为时钟通过触发器 二分频输入到内部时钟电路。但高低电平的最长和最短时间必须符合手册的规 定。 (3) 定时器 0 和 1 的操作 定时和计数功能由特殊功能寄存器TMOD 的控制位进行选择。这两个定时/ 计数器有4 种操作模式,通过TMOD 的M1 和M0 选择。两个定时/计数器的模式 0、 1 和2 都相同模式3 不同。 (4)中断 本器件提供6 个中断源。外部中断INT0 和INT1 可根据寄存器TCON 中的 IT0 和IT1 位状态分别设置为电平或者边沿触发。实际产生的中断标志是TCON 中的位IE0 和IE1。 当产生外部中断时,如果是边沿触发,进入中断服务程序 共 29 页第 7 页 后由硬件清除中断标志位。如果中断是电平触发,由外部请求源而不是由片内 硬件控制请求标志。 定时器 0 和定时器 1 中断由 TF0 和 TF1 (分别由各自的定时/计数寄存器 控制,定时器 0 工作在模式 3 时除外)产生。当产生定时器中断时,进入中断 服务程序后由片内硬件清除标志位。8(P12-15) 3.1.3 按键电路(小四号楷体) 使用 TC9148 编码芯片将按键信号调制在 38KHz 的载波信号上通过三极管放 大后发射出去。按键发射电路见附录图 6 红外接收电路采取红外接收器件 HS0038,通过系统的输入捕捉接收红外遥 控信号。按键接收电路见附录图 7 3.1.4 LED 显示电路(小四号楷体) 整机的电压输出显示电路如附图 3 所示。 (附图 3:在附录中的图 3) 本设计采用两个一样的集成数码管。 LED 数码管由各自的三极管驱动与关闭。 当单片机输出显示数据的同时还输出两个驱动信号送到 DS1、DS2 的各自的三 极管的基极,使三极管导通从而使 LED 显示相应输出电压值。数码管和三极管 要用截止电流尽量小一些的器件。因为了减小整机的功耗,所以必须用截止电 流小些的器件。LED 显示电路如图 3.1 所示。 图 3.1 LED 显示电路图 3.1.5 复位电路(小四号楷体) 复位电路如图 3.2 所示。 共 29 页第 8 页 图 3.2 复位电路图 上电后 5V 电压通过 C 向 R 电阻充电,这时在 89C51 的复位端就会形成一个 负的电压脉冲。这时单片机就认为给它一低的电平信号告诉它要复位了。当振 荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访 问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉 冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一 个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在 执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理 器在外部执行状态 ALE 禁止,置位无效。本电路采用的是上电自动复位,不需 要手动按动按钮去人工复位。 在复位有效期间,ACE、PSEN 也输出高电平,REST 输入端返回低电平以后 单片机从 0 地址开始执行程序。 五、数模转换电路 DAC0808 是具有 16 个引脚的双列直插式 8 位 D/A 转换器件。其引脚功能分 别为:1 脚为空, 2 脚为 GND,3 脚为 VEE,4 脚为 DAC 输出引脚,512 脚为数 据输入引脚,13 脚为 VCC,14 脚为基准电压(VREF) ,15 脚为基准电压 (VREF) ,16 脚为 COMPENSATION。数模转换电路如图 3.3 所示。 当数据输入量全为 0 时,其 4 脚输出电压最低,接近零;当数据输入量全 为 1 时,其 4 脚输出电压最高,电压值由基准电压 VREF 决定。因此,基准电压 的精度决定了 D/A 转换的精度。 图 3.3 数模转换电路图 共 29 页第 9 页 本文所用的基准电压为 15V,而数据输入量在 00HFFH 之间变化,即 D/A 输出的电压有 256 种。从而不难算出本电源的精度 15V2560.05859V0.06V。假如我们想要 6V 的直流电压,数据输入量 6V0.06V100,注意这里的 100 是十进制的,单片机不能识别十进制数据, 所以要把十进制转换成二进制或十六进制(转换时可用 WINDOWS 自带的科学计 算器进行) 。100 转换成十六进制后为 64H。只要给 DAC0808 输入 64H,它就能 输出 6V 的电压(注意:理论值和实践值有所出入,具体运用时要适当的调节数 据输入量) ,该电压经运放 TL082 后再去推动 LM317,由 LM317 输出我们需要的 电压值,实现了电压数控调节。 3.2 温控电风扇的硬件电路 3.2.1 直流稳压电路(小四号楷体) (1)三端稳压器 LM317 的输出电流是 1.5A,输出电压可在 1.5-37V 之间连续可调。输出电 压由控制脚决定,最高输出电压由电源电压决定。 此电路采用的三端稳压集成电路 LM317。它的 1 脚是控制端。2 脚是输出 端 。3 脚是电源端。引脚非常少易于控制,并且输出电压稳定带负载能力强。 它配合前级的推动电路从而实现电压的数控调节。LM317 在工作时流过的电流 是非常大的,所以一定要加足够大的散热片。以便较快的散去工作时的热量避 免因高温而损坏 LM317 稳压集成电路。此设计的 LM317 是不能用一般的三端稳 压器代替的。因为一般的三端稳压器是不带控制脚他只有接地脚。 三端稳压器电路如图 3.4 所示。 图 3.4 三端稳压电路图 (2)缓冲与保护电路 共 29 页第 10 页 缓冲电路采用的是集成运放 TL082。它的 1 脚是控制输出,2 脚是输入端, 3 脚接地端,8 脚是+15V 输入端,4 脚是-15V 输入端。它的作用是把 D/A 数模 转换集成电路输出的控制电压进行放大后去推动 LM317 输出所要的电压。 保护电路是由(R10、R11、R12)取样电阻和单片机的 25 脚组成。工作原 理是:当单片机检测到负载短路时,25 脚的电压会发生变化这时单片机就认为 负载短路迫使整机处于待机状态,使输出电压为零从而保护了三端稳压器不至 于损坏,并且还避免了负载因短路在扩大故障范围。 (3)温度传感器电路 温度传感器采用专用的 DS18B20 温度集成传感器, 当温度大于 150 时 其输出端的电压将回降到很低(接近 0V) 。传感器要与 LM317 三端稳压器紧密 相接触,以便及时感知三端稳压器的温度变化。只要三端稳压器的温度大于 150是温度传感器就会输出低电平送到单片机的保护检测脚,从而启动保护功 能。 传感器电路图如图 3.5 所示。 图 3.5 传感器电路图 (4) 硬件电路的整体分析 220V 市电经变压器将压后变成 15V 的交流电压,经整流电路后变成正负 15V 左右的直流电压。 (变压器是采用三抽头的)-15V 电压送到缓冲放大集成运 放为其提供负的工作电压。+15V 直流电压经五伏稳压后变成稳定的 5V 电压为 单片机和 D/A 数模转换集成电路提供工作电压。数模转换器是一个八位的 D/A 转换器件。当输入的数据全为 0 时,其数控电源输出的电压接近 0V。当输入的 数据全为 1 时,其数控电源输出电压最高接近基准电压。基准电压值由 VREF 决 定。此电路采用的基准电压是 15V 。 当接通电源后 89C51 得到复位电压复位后,内部开始执行程序,而输出相 应的电压值。SW1 是开关按键,按一下次按键后整机处于待机状态,同时 LED 显示“OF” 。电源无电压输出,按任意键可以开机。SW2 是输出电压递减调节按 共 29 页第 11 页 键,当按一下 SW2 时,89C51 单片机地 16 脚(P3.6 口)会得到一个变化的脉冲, 这个变化的脉冲送到单片机内部处理后由 P1 口的 1 到 8 脚输出递减电压的数据, 直接送到数模转换集成电路的 A1-A8 端子(也就是 5-12 脚) ,电压递减数据经 D/A 集成电路转换后,由 4 脚输出一个控制电压。这个控制电压直接送到集成 运放 TL082,经 TL082 反相放大后,直接推动 LM317 三端稳压器输出相应的电 压值。从而实现数控电压的无触点调节。并且由 89C51 单片机的内部输出显示 电压的数据电压去推动 V1,V2 三极管的导通,从而驱动 LED 数码管显示相应的 输出电压值。SW3 按键(电压递增调节)与电压递减调节的工作原理相反。 当刚开机时由于单片机要初始化(复位)这一瞬间单片机输出的数据不受 控制,从而会导致 LM317 输出一个高的电压,会使用电器(负载)损坏。为了 防止这一现象的发生,从而设置了 V3(PNP)保护三极管。当单片机初始化时, 各端口的电压为低电平,这时 V3 导通,继电器得到工作电压,使继电器的触点 断开,从而切断了输出电压,保护了用电器不被瞬间输出的高电压损坏。当复 位后,P2.5 口恢复了高电平,这时 V3 截止,继电器得不到工作电压而恢复到 常闭状态,这时就输出正常的电压到用电器。 当用电器(负载)短路或过载现象时,会到造成输出电压大幅度下降,此 电压经取样电路后的电压也会下降很多,这时 P2.4 口的电位也随之降低。程序 立即检测到 P2.4 这一变化。立即使 P2.5 口为低电平从而使 V3 导通,继电器工 作切断输出电压。这时整机也转入待机状态,直至故障排除后才能重新开机, 否则整机将一直处于待机状态 。整机电路图见附录。 第第 4 4 章章 软件设计软件设计 4.1 主程序设计 主程序框图如图 4.1 所示。 单片机复位后,开始初始化工作,然后进入按 键功能模块,最后完成工作。 初始化中,将 DS18B20,内部 RAM,包括按键,默认为控制状态,温度设定 为 24。数字显示的程序见附录。 共 29 页第 12 页 4.1 主程序框图 图 4.2 温度测量程序设计框图 开始 初始化 按键功能 有按键? 设定 各位按键 各位按键 十位案件 N Y 开始 有人? 初始化 采集室内温度 判断温度? 返回 延时 开启风扇 N Y N Y 共 29 页第 13 页 4.2 温度测量程序设计 温度测量程序设计框图如图 4.2 所示。温度测量程序见附录。 4.3 显示程序设计 显示程序设计框图如图 4.3 所示。显示程序见附录。 4.4 温度设定程序设计 加减按键同时按下进入温度设定状态,然后按加或减按键进行温度设定, 然后再次同时按加减键退出。程序设计框图如图 4.4 所示。温度设定程序见附 录。 接受信号并查表 开始 返回 信号是否完整? 延时 Y N 图 4.3 显示程序设计框图 共 29 页第 14 页 图 4.4 温度设定程序设计框图 第第 5 5 章章 结束语结束语 电风扇我们都很熟悉,但要想把单片机技术运用到电风扇上是不简单的, 刚开始我只是设想用单片机去控制热释电传感器,把人出现的模拟电压变成数 字的并且带动电风扇启动。于是我就查了许多资料通过自己分析与研究,我把 这些零碎的资料系统的结合在一起就设计出来了温控电风扇。当然在电路上我 初始化 开始 是否有人? 读取室内温度 返回 达到设定温度? 延时 开启风扇 N Y Y N 共 29 页第 15 页 还是采用了一部分人家现成的电路图,然后我把这些电路结合自己的理论知识, 把单片机技术运用到了一般的电路中,从而实现了温度和人同时控制电风扇的 启动。 在写毕业论文时我深深体会到搞设计的艰辛与困难。由于我的理论知识还 很欠缺,在论文里也有不少的错误。在以后的工作中我会更加的努力学习来弥 补我现在的不足之处。 大学生活即将尾声, 三年的大学校园生活就要结束了,内心是感慨颇多, 即将离开生活所依三年的母校和我亲爱的老师和同学们,非常的舍不得。可是 我同时也知道这是必须经历的一个过程, 在这三年里我学会了专业和做人方面 的知识,我认为那些都是我终生受用的,希望能把现在所学的东西运用到社会 实践中去,为社会的发展尽一份薄力。 参考文献参考文献 1 刘华东. 单片机原理与应用M.北京:电子工业出版社,2008 2 周遐. 安防系统工程M.北京:机械工业出版社,2006(小五号楷体) 3 廖先芸. 电子技术实践与训练 M.北京: 高等教育出版社,2002 4 李全利. 单片机原理及应用技术M.北京: 高等教育出版社,2003 5 徐科军. 传感器与检测技术M.第 2 版. 北京: 电子工业出版社,2001 6 高文明. 单片机在温度控制系统中的应用J.计算机应用研究,1997,21(6):156-158 共 29 页第 16 页 附附 录录 1 1 1、数字显示的程序:(都为单倍行距,请将鼠标放置相应内容上即可显示字体与字号) ORG 0000H AJMP START ORG 0030h START : mov sp,#60h; (空(空 2 2 行)行) 2、温度测量程序 duqu:LCALL GET_TEMPER ; 调用读温度子程序并初始化 DS18B20 LCALL DISP ; 调用显示当前温度 MOV A,29H; 将现场实际温度传递给 A CJNE A,2FH,LL1; 比较当前的温度与设定的温度是否相等 CLR P2.0; 开启电风扇 SJMP ANJIAN (空(空 2 2 行)行) 3、显示程序 DISP: MOV P0,#0A4H;/将数字 2 的编码送 P0 口 CLR P2.0;/打开第一位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.0;/显示 1MS 后关第一位数码管显示 MOV P0,#0B0H;/数字 3 的编码 CLR P2.1;/打开第二位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.1;/显示 1MS 后关第二位数码管显示 MOV P0,#99H;/数字 4 的编码 CLR P2.2;/打开第三位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.2;/显示 1MS 后关第三位数码管显示 共 29 页第 17 页 MOV P0,#92H;/数字 5 的编码 CLR P2.3;/打开第四位数码管的显示电源 ACALL D1MS;/调用延时 1MS 子程序 SETB P2.3;/显示 1MS 后关第四位数码管显示 RET;/返回从第一位显示循环 (空(空 2 2 行)行) 4、温度设定程序 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 ; 闭等待指示灯 CLR FLAG2 main1: mov a,2FH ; 存储的最高温度 24 度 mov b,#10 ; 取出十位和个位 div ab ORL A,#00110000B mov 41H,a ; 十位 mov 42H,b ; 个位 MOV A,42H ORL A,#00110000B; 转化成 ASCII 码 mov 42H,A mov a,2FH mov b,#100 ; div ab ORL A,#00110000B mov 40H,a ; LL1:SETB P2.0; 关闭电风扇 ANJIAN:LCALL DISP MOV A,P1 ; 读取当前按键的值 ANL A,#0FH ; 屏蔽高位 sheding:CJNE A,#0CH,jia ; 加减按键一起按就进入温度设定状态 ACALL DELAY100 ; 消除键抖动 共 29 页第 18 页 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,当设定的温度值不能 超过 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; 加减按键一起按就保存温度设定状态 并退出设 定 ACALL 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 共 29 页第 19 页 disp: JNB FLAG2,DQ MOV A,2FH; 显示设定温度值 SJMP XS DQ:mov a,29H; 显示当前温度值 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,#WORDTAB 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 共 29 页第 20 页 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 P3.2; 然后拉高数据线 NOP NOP NOP MOV R0,#25H TSR2: JNB P3.2,TSR3; 等待 DS18B20 回应 DJNZ R0,TSR2 LJMP TSR4 ; 延时 TSR3: SETB FLAG1 ; 置标志位,表示 DS1820

温馨提示

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

评论

0/150

提交评论