欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年单片机课程设计智能风扇 .pdf

    • 资源ID:30541265       资源大小:299.83KB        全文页数:28页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年单片机课程设计智能风扇 .pdf

    智能电风扇的设计学院*专业班级*学生姓名*指导教师*20* 年* 月* 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - I 引 言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对环境的检测。如果能使电风扇具有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - 1 1.总体方案设计及功能描述本设计是以AT89C51 单片机控制中心,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20 得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。功能描述:电风扇工作在四种状态:手动调速状态、自动调速状态、定时状态、停止状态。手动状态时可以手动调节速度;自动状态时通过温度高低自动调节速度,如果出现手动现象则变为手动状态;定时状态时可以调节定时时间, 并设定是否启动定时, 之后可以手动退出,也可以在不操作6 秒后自动退出进入手动状态;停止状态时可以被唤醒并进入自动状态。当没有检测到人体存在超过3 分钟或定时完毕时进入停止状态。在数码管显示方面,当没有定时时,只显示气温,当定时启动时气温和定时剩余时间以 3 秒的速度交替显示。系统方框图如下图所示 ,主要包括:输入、控制、输出三大部分8 个功能模块。图 1-1 系统方框图键盘输入热释电红外传感器温度传感器(DS18B20 )AT89C51 数码管发光二极管蜂鸣器继电器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 28 页 - - - - - - - - - 2 2.功能模块硬件简介与实现2.1 键盘输入电路由于设计中用到的按键数目不多,所以可以直接用AT89C51的通用 IO 端口且选用AT89C51 的 P1 口(内部有上拉电阻)作为键盘接口。对于按键只需一端接地另一端接P1口即可。见下图 (2-1):图 2-1 2.2 热释电红外传感器模块2.2.1 热释电红外线传感器原理简介人体辐射的红外线中心波长为910um,而探测元件的波长灵敏度在0.220um 范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为710um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。实质上热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,如图2所示。在环境温度有T 的变化时,由于有热释电效应,在两个电极上会产生电荷Q,即在两电极之间产生一微弱的电压V。2.2.2 热释电红外线传感器应用热释电红外线传感器有三个端口,如图2-2 所示:一个接电源、一个接地、一个信号端口,当有人进入其检测区域时,信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在这个检测区域。图 2-2 AN1P1.xVCCVcc1SIG2GND3红外 线传感器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - 3 2.3 温度传感器2.3.1 温度传感器DS18B20 简介新型数字温度传感器DS18B20 具有体积更小、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。DS18B20的主要特性:(1)独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(2)测温温范围 55 125(3)最高分辨率为 0.0625。2.3.2 DS18B20 的一般操作过程(1) 、初始化;(2) 、跳过 ROM(命令: CCH) ;(3) 、温度变换(命令: 44H) ;(4)、读暂存存储器(命令:BEH) ;注:每次读取温度都要经过上面四个过程。2.3.3 DS18B20 的温度存储方式即温度计算DS18B20 是用 12 位存储温度,最高位为符号位,下图为它的温度存储方式:23 22 21 20 2-1 2-2 2-3 2-4 LSBYTE Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 S S S S S 26 25 24 MSBYTE Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 表 2-1 DS18B20 温度存储地址分配这是 12 位转化后得到的 12 位数据,存储在 DS18B20的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于0,这 5 位为 0,只要将测到的数值乘于 0.0625即可得到实际温度;如果温度小于0,这 5 位为 1,测到的数值需要取反加1 再乘于 0.0625即可得到实际温度。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - 4 2.4 数码管显示电路2.4 174ls164 简介移位寄存器是一类应用很广的时序逻辑电路,在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出。在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出;移位寄存器:除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。74ls164是八位串入并出移位寄存器, 其工作电压范围4.755.25V,大于 2V 的高电平输入、小于0.8V 的低电平输入, clock 最高响应频率为25MHZ,八位并行输出可以直接驱动八段数码管。 74ls164 的引脚图及功能图如下所示:图 2-3 74ls164 的引脚图及功能图2.4.2 共阴极八段数码管简介共阴极八段数码管是将八段发光二极管封装在一起且二极管的阴极连在一起,原理图如下图所示, 公共端接低电平, 其它八个端口高电平点亮相应的二极管,低电平相反。图 2-4 13 12 11 10 9 8 OH1 2 3 4 5 6 B A 7 GND 14 Vcc OHOGOFOAOBOCODCLOCK CLEAR OESERIAL INPUTS OUTPUTS OUTPUTS Inputs Outputs Clear Clock A B QAQBQHL H H H HX L X X H L X L QA0H L LL QB0QAnQAnQAnL QH0QGnQGnQGnCDEFGBAROP名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 28 页 - - - - - - - - - 5 2.4.3 显示电路设计此显示电路采用两位静态数码管显示,用八位串入并出移位寄存器74LS164作为驱动电路,采用共阴极八段数码管原理图示意图如下:图 2-5 从图中可以看出控制线只有两条:1、数据线;2、移位脉冲线。它只占用很少的IO口。2.5 发光二极管电路发光二极管简称为LED,它是半导体二极管的一种。 发光二极管的反向击穿电压约5 伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻 R 可用下式计算:R(EUf)If式中 E 为电源电压, Uf为 LED 的正向压降, If为 LED 的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。与小白炽灯泡和氖灯相比, 发光二极管的特点是: 工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。由于 AT89C51 的 P0 口是开漏输出,所以此电路可以设计位如下简单形式:图 2-6 数码管74LS164 数码管74LS164data clock 560LED1VCC名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - 6 2.6 蜂鸣器电路蜂鸣器工作原理简介: 当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。由于其具有比传统的喇叭体积小,价格低等优点,所以此次提示音电路选用蜂鸣器。具体电路见下图:图 2-7 2.7 继电器控制电路2.7.1 继电器简介继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种 “ 自动开关 ” 。故在电路中起着自动调节、安全保护、转换电路等作用。它有几个重要指标:1、额定工作电压:正常工作时线圈所需要的电压。2、直流电阻:继电器中线圈的直流电阻。3、吸合电流:继电器能够产生吸合动作的最小电流。4、释放电流:继电器产生释放动作的最大电流。5、触点切换电压和电流:继电器允许加载的电压和电流。1K蜂 鸣 器9012VCC名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - 7 2.7.2 继电器驱动电路设计及工作原理简介采用晶闸管也可以用于小电流控制大电流电路,但是其控制电路比较复杂,而采用继电器其控制电路就比较简单,且具有电气隔离作用。虽然其响应速度没有晶闸管快但在低频情况下采用继电器控制电路较为方便。其电路图如下所示:图 2-8 电路工作原理简介:当控制端口为低电平时,三极管导通继电器吸合,常闭触电断开,常开触点闭合。当控制端口为高电平时三极管关断,继电器线圈通过二极管放电并断开,常闭、常开触电复位。112233665544继 电器31122CON34 0079 01 2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - 8 3.软件设计与实现3.1 整体设计思路介绍软件设计整体思路:主程序部分进行一些初始化以及温度的读取;外部中断0 进行红外线感应延时时间的重新加载;定时器0 进行键盘的扫描及相关操作;定时器1 进行显示、温控速度、以及相关需要延时(如倒计时等等)的操作。在显示方面,进行了一些改善 -要显示的值有变化才进行重新刷新,否则不刷新。这样就大大提高了效率及最终的显示效果(不会出现不该亮的部分还有亮的现象)。3.2 主要部分流程图如下:3.2.1 主程序流程图图 3-1 主程序开始初始化内部资源读取一个正确温度并选择速度启动时间和温度显示拉高五个按键启动定时器读取温度名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - 9 3.2.2 外部中断流程图图 3-2 3.2.3 定时器 0 中断流程图图 3-3 外部中断开始退出外部中断红外线感应延时重新初始化定时器 0 开始退出定时器定时器重新初始化键盘消抖定时状N 定时状态键盘操作手动状态键盘操作自动状态键盘操作停止状态键盘操作Y Y Y Y 手动状N 自动状N 停止状名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - 10 3.2.4 定时器 1 中断流程图图 3-4 定时器 1 开始退出定时器定时器 1 重新初始化键盘消抖定时状态手动状态自动状态停止状态N N N 显示时间如果有定时则时间和温度交替显示,没有则只显示温度Y Y Y Y 如果有定时则定时倒计时, 计时结束关闭电风扇进入定时状态不动超过一定时间自动退回手动状态如果有定时则时间和温度交替显示,没有则只显示温度显示时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - 11 结束语早在单片机原理及接口技术这门课还未结束的时候,陆仲达老师就给我们布置了基于 51 单片机的课程设计。我从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。关于 51 的应用设计,从上课开始我就不满足于那些诸如电子钟、交通灯控制等司空见惯的设计,我希望能把主题定位得更新颖、更具挑战性,正好夏天也到了,于是把题目定为:智能电风扇的设计。题目确定下来,我便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在导老师的指导及同学的帮助下,我终于对自己的工作方向和方法有了初步掌握。资料已经查找完毕,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的课程设计稿件我的心里是甜的,我觉得这一切都值了。这次课程设计论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。本设计最终实现了电风扇的手动调速、温控自动调速、定时、温度显示、人体检测等预期功能,其中定时在1 到 99 分钟连续可调,人体检测范围角度120 度、距离 6 米,人体检测延时时间3 分钟,定时器自动退出时间6 秒。存在不足之处就是人体检测抗干扰方面不够好,需要提高。我不会忘记这难忘的半个月的时间。课程设计论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用 protel 99 se设计电路图的时间里, 记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成课程设计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - 12 附录:程序清单/* touwenjian.h */ typedef unsigned char byte; typedef unsigned int word; /以下管脚配置/ds18b20部分sbit DQ =P34; /显示部分sbit DB=P20; sbit CP=P21; /发光显示部分sbit LED_dingshi=P00; sbit LED_shoudong =P01; sbit LED_zidong=P02; sbit LED_kuai =P03; sbit LED_zhong =P04; sbit LED_man =P05; /键盘定义部分#define wujian 0 x3f sbit KEY1=P10 ; /状态转换 /启动sbit KEY2=P11 ; /+10 / 1 sbit KEY3=P12 ; /-10 / 2 sbit KEY4=P13 ; / 3 sbit KEY5=P14 ; / 0 确定/继电器控制部分sbit JDQ1=P24; /0 表示开通, 1 表示关断sbit JDQ2=P25; sbit JDQ3=P26; /蜂鸣器部分sbit call=P27; /低电平鸣叫名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 28 页 - - - - - - - - - 13 /* ds18b20.c */ #include #includetouwenjian.h /* 延时子程序*/ extern void delay(word useconds) for(;useconds0;useconds-); /* 复位子程序*/ static byte ow_reset(void) byte presence; EA=0; DQ = 0; / pull DQ line low delay(45); / leave it low for 480us /551us DQ = 1; / allow line to return high delay(4);/ wait for presence /61us presence = DQ; / get presence signal delay(40); / wait for end of timeslot /491us EA=1; return(presence); / presence signal returned / 0=presence, 1 = no part /* 从 1-wire 总线上读取一个字节子程序*/ static byte read_byte(void) byte i; byte value = 0; EA=0; for (i=8;i0;i-) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 28 页 - - - - - - - - - 14 value=1; DQ = 0; / pull DQ low to start timeslot DQ = 1; / then return high unsigned char i; for(i=0;i0; i-) / writes byte, one bit at a time DQ = 0; / pull DQ low to start timeslot DQ=0; DQ = val&0 x01; /6US delay(5);/ hold value for remainder of timeslot /74us DQ = 1; val=val1; EA=1; delay(5); /* 读取温度*/ word Read_Temperature(void) union 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 28 页 - - - - - - - - - 15 byte c2; word x; temp; ow_reset(); write_byte(0 xCC); / Skip ROM write_byte(0 xBE); / Read Scratch Pad temp.c1=read_byte(); temp.c0=read_byte(); ow_reset(); write_byte(0 xCC); /Skip ROM write_byte(0 x44); / Start Conversion return temp.x; /* 求解温度*/ extern byte Real_Tem(void) word wen; wen=Read_Temperature(); return(wen4)&0 x00ff); /* Main.c */ #include #includetouwenjian.h /数据区#define time_default 41 byte dingshi_time=time_default;/存放定时时间 bit flag_dingshi=0; /0 表示没有定时word dingshi_jishu3=1000;/1000*60=1 分钟/ bit flag_dingshi_delay=0;/1 表示有byte dingshi_delay=100; / #define hwx_delay_const 3 / 人体感应延时时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 28 页 - - - - - - - - - 16 byte hwx_delay=hwx_delay_const;/用于保存红外线触发延长时间word hwx_jishu1=0; / byte wendu=0;/用于存放温度值 / #define low_wen 18 #define mid_wen 20 #define hig_wen 24 #define vhi_wen 28 / byte time_stor=100; /存储主观时间 /触发显示byte wendu_stor=low_wen;/存储主观温度 /触发显示/ enum station0zidong,dingshi,shoudong,weakstate; /函数说明区extern byte Real_Tem(void ); extern void delay(word useconds); void mingjiao(void); void display(byte input,bit kkl); void auto_speed(void); void weak_default(void); /* 主程序*/ void main() /定时器 0 用于键盘扫描TMOD=0 x01|TMOD;/ 定时器 0 的 1 方式TH0=0 xd8;TL0=0 xf0; / 定时器 0 初始化 10ms扫描一次/定时器 1 用于显示TMOD=0 x10|TMOD;/ 定时器 1 的 1 方式TH1=0 x15;TL1=0 xA0; / 定时器 1 初始化 60ms中断一次/外部中断TCON=TCON|0 x01;/ 外部中断 0 都下降沿触发/以下为开启部分IP=0X01; /两个定时器同等优先级名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 28 页 - - - - - - - - - 17 IE=0 x8b; /开启定时器 0,1,外部中断 0 中断/ while(Real_Tem()=85); auto_speed(); LED_zidong=0; /刚开始为自动方式P1=P1|0X7C; /拉高五个键盘wendu_stor=100; /两个不可能值 /用于启动显示time_stor=100; /两个不可能值 /用于启动显示/ TR0=1; /开启定时器 0 TR1=1; while(1) wendu=Real_Tem(); /* 定时器 0 中断服务子程序功能:进行键盘处理说明:键盘输入为P1.0到 P1.4 */ void time0(void) interrupt 1 byte jianpan; TH0=0 xd8;TL0=0 xf0; jianpan = P1 & wujian; if(jianpan != wujian) /如果还有键盘值提取键盘值 delay(500);/延时消抖jianpan = P1 & wujian; if(jianpan=wujian)goto time_out; switch(state) case dingshi: if(KEY1=0)/ 状态转换时做些相应的处理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 28 页 - - - - - - - - - 18 state=shoudong; LED_shoudong=0; flag_dingshi_delay=0;dingshi_delay=100; time_stor=100;wendu_stor=100;/ 触发mingjiao(); while(KEY1=0); else if(KEY2=0)/ 加分 if(dingshi_time10) dingshi_time-=10; dingshi_delay=100;/ mingjiao(); while(KEY3=0); else if(KEY4=0)/ 定时与否 flag_dingshi=flag_dingshi; if(flag_dingshi=1)LED_dingshi=0; else LED_dingshi=1;dingshi_jishu3=1000; dingshi_delay=100;/ / mingjiao(); while(KEY4=0); else if(KEY5=0) weak_default(); mingjiao(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 28 页 - - - - - - - - - 19 while(KEY5=0); break; case shoudong:if(KEY1=0) /状态转换时做些相应的处理 state=zidong; auto_speed(); LED_shoudong=1;LED_zidong=0; mingjiao(); while(KEY1=0); else if(KEY2=0)/ 快 1 JDQ2=1;JDQ3=1;JDQ1=0;/关断其它LED_zhong=LED_man=1;LED_kuai=0; mingjiao(); while(KEY2=0); else if(KEY3=0)/ 中 2 JDQ1=1;JDQ3=1;JDQ2=0;/关断其它LED_kuai=LED_man=1;LED_zhong=0; mingjiao(); while(KEY3=0); else if(KEY4=0)/ 慢 3 JDQ1=1;JDQ2=1;JDQ3=0;/关断其它LED_zhong=LED_kuai=1;LED_man=0; mingjiao(); while(KEY4=0); else if(KEY5=0)/ 停 4 weak_default(); mingjiao(); while(KEY5=0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 28 页 - - - - - - - - - 20 break; case zidong: if(KEY1=0) /状态转换时做些相应的处理 state=dingshi; LED_zidong=1; flag_dingshi_delay=1;dingshi_delay=100;/开始延时time_stor=100;/ mingjiao(); while(KEY1=0); else if(KEY2=0)/ 快 1 JDQ2=1;JDQ3=1;JDQ1=0;/关断其它LED_zhong=LED_man=1;LED_kuai=0; state=shoudong; LED_zidong=1;LED_shoudong=0; mingjiao(); while(KEY2=0); else if(KEY3=0)/ 中 2 JDQ1=1;JDQ3=1;JDQ2=0;/关断其它LED_kuai=LED_man=1;LED_zhong=0; state=shoudong; LED_zidong=1;LED_shoudong=0; mingjiao(); while(KEY3=0); else if(KEY4=0)/ 慢 3 JDQ1=1;JDQ2=1;JDQ3=0;/关断其它LED_zhong=LED_kuai=1;LED_man=0; state=shoudong; LED_zidong=1;LED_shoudong=0; mingjiao(); while(KEY4=0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 28 页 - - - - - - - - - 21 else if(KEY5=0)/ 停 4 weak_default(); mingjiao(); while(KEY5=0); break; case weak: if(KEY1=0) state=zidong;LED_zidong=0; wendu_stor=100;/两个不可能值time_stor=100;/两个不可能值auto_speed(); mingjiao(); while(KEY1=0); break; time_out: ; /* 定时器 1 中断服务子程序功能: 用于定时0.060s */ void timer1(void) interrupt 3 TH1=0 x15;TL1=0 xa0; / /红外线到记时EX0=0; if(hwx_jishu10)dingshi_jishu3-; else dingshi_jishu3=1000; if(dingshi_time1)dingshi_time-; elseweak_default(); /5 秒延时if(flag_dingshi_delay=1) if(dingshi_delay1)dingshi_delay-; else state=shoudong;flag_dingshi_delay=0;dingshi_delay=100; LED_shoudong=0; time_stor=100;wendu_stor=100; / mingjiao(); /显示和温控switch(state) case dingshi:/ 在定时的时候只显示时间if(time_stor!=dingshi_time)display(dingshi_time,1);time_stor=dingshi_time; / break; case shoudong: case zidong: /是否有定时,有则交替显示温度和时间,没有则只显示温度if(flag_dingshi!=0)/ static byte jiaoti_jishu2=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 28 页 - - - - - - - - - 23 static bit flag_jiaoti=0; if(jiaoti_jishu249)jiaoti_jishu2+; else flag_jiaoti=flag_jiaoti;jiaoti_jishu2=0; if(flag_jiaoti!=0) if(time_stor!=dingshi_time) display(dingshi_time,1);time_stor=dingshi_time;wendu_stor=100;/ 显示时间 else if(wendu_stor!=wendu) display(wendu,0);wendu_stor=wendu;time_stor=100;/显示温度 else if(wendu_stor!=wendu)display(wendu,0);wendu_stor=wendu;/ 显示温度 /温度控制速度if(state=zidong) switch(wendu) case low_wen: JDQ1=1;JDQ2=1;JDQ3=1; LED_zhong=LED_man=LED_kuai=1;/ting zhi break; case mid_wen: JDQ1=1;JDQ2=1;JDQ3=0; LED_zhong=LED_kuai=1;LED_man=0;/man break; case hig_wen: JDQ1=1;JDQ3=1;JDQ2=0; LED_kuai=LED_man=1;LED_zhong=0;/zhong break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 28 页 - - - - - - - - - 24 case vhi_wen: JDQ2=1;JDQ3=1;JDQ1=0; LED_zhong=LED_man=1;LED_kuai=0;/kuai break; case weak: /关闭状态只显示温度if(wendu_stor!=wendu)display(wendu,0);wendu_stor=wendu; break; /* 外部中断 0 服务子程序功能:用于人体红外线感应中断*/ void int0(void) interrupt 0 hwx_delay=hwx_delay_const;hwx_jishu1=0; /* 数码管显示子程序功能:数据送到数码管显示*/ byte code shumaguan=0 xfc,0 x60,0 xda,0 xf2,0 x66,0 xb6,0 xbe,0 xe0,0 xfe,0 xf6,0 x00,0 x02,0X00; void display(byte input,bit kkl) byte i,j; byte k; byte shuzhu4; shuzhu1=input/10; shuzh

    注意事项

    本文(2022年单片机课程设计智能风扇 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开