为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 智能电风扇

智能电风扇

2017-12-12 50页 doc 262KB 57阅读

用户头像

is_963767

暂无简介

举报
智能电风扇智能电风扇 湖南工学院 电风扇的主要功能是“自然防暑”和“通风”,风扇能使室内空气得到有效 的流通,负离子、光触媒等领先科技在风扇中也得到了良好的应用,在消暑降温 的同时,还能起到净化室内空气的作用,风扇市场上的所有类别超过40种,每 年进入市场的新款式在30多种左右,美的六大风扇系列今年都有新品问世,其 中不乏经典之作,COOL派迷你空调更是成功入驻“鸟巢”,亮相奥运会开幕式 嘉宾席。 风扇创新还迎合了人们对节能减排和绿色环保的新需求,产品价格低且耗电 量少,符合当前倡导绿色环保的主旋律,因此,从节能和环保的角度而言,...
智能电风扇
智能电风扇 湖南工学院 电风扇的主要功能是“自然防暑”和“通风”,风扇能使室内空气得到有效 的流通,负离子、光触媒等领先科技在风扇中也得到了良好的应用,在消暑降温 的同时,还能起到净化室内空气的作用,风扇市场上的所有类别超过40种,每 年进入市场的新款式在30多种左右,美的六大风扇系列今年都有新品问世,其 中不乏经典之作,COOL派迷你空调更是成功入驻“鸟巢”,亮相奥运会开幕式 嘉宾席。 风扇创新还迎合了人们对节能减排和绿色环保的新需求,产品价格低且耗电 量少,符合当前倡导绿色环保的主旋律,因此,从节能和环保的角度而言,风扇 市场具有持久动力,市场潜力仍然巨大。 关键词 风扇;环保;净化 1 湖南工学院 ABSTRACT The primary function of an electric fan is the "natural" and "ventilation", fans can be an effective indoor air circulation, negative ions, photo and other leading technology in the fan is also a good application of cooling in the heat, but also play the role of indoor air purification, fan on the market more than 40 kinds of all categories, entering the market each year in more than 30 kinds of new models around the United States and the six new fan series have come out this year, many of them classics, COOL send mini air-conditioning is successful entry "Bird's Nest", the opening ceremony of the Olympic Games debut seats guests. Innovation has also catered to fans of green energy-saving and emission reduction requirements of the new, lower prices and less power consumption, in line with the current advocacy of the main theme of environmental protection, therefore, from the perspective of energy saving and environmental protection, 2 湖南工学院 the fans have a lasting impetus to the market, still a huge market potential. Key words fan; Environmental protection;Purification 目 录 1、绪论6 2、设计选择7 3、主电路模块8 3.1、主要元器件介绍 3.1.1 80C51单片机 3.1.2 DS18B20温度传感芯片 3.1.3 红外发射管 3.1.4 液晶 3.1.5 无源晶振 3.2、电路工作原理 4、摇控器模块12 4.1、主要元器件介绍 4.2、电路工作原理 3 湖南工学院 5、软件设计13 6、整机系统分析.14 6.1、使用说明 6.2、误差分析及对策 及体会15 参考文献15 鸣谢15 符录15 一、电路的总原理图 二、元件清单 三、部分程序清单 绪论 电扇由斯凯勒?惠勒(1860-1923)于1882年发明,是一种通过电力来驱动 扇叶旋转,来达到使空气加速流通的家用电器,主要用于清凉解暑和流通空气。 电风扇工作时,通电线圈在磁场中受力而转动,能量的主要转化形式是:电 能主要转化为机械能,但导线是有电阻的,所以会不可避免的有一部分电能要转 化成内能向室内散发,室内的温度会因此升高,所以电风扇在工作时假设房间与 外界没有热传递,室内的温度不仅没有降低,反而会升高,但人们为什么会感觉 到凉爽呢?因为人体的体有大量的汗液,当电风扇工作起来以后,室内的空气 会流动起来,够促进汗液的急速蒸发,由于水分蒸发过程所带走的热量增多,所 以人们会感到凉爽。 本次设计我们组主要是设计出能用红外控制的智能电风扇,而且具有自动测 温功能,主要包括一块温度传感器芯片,红外,交流电动机以及单片机组成。换 档有三种方法: 1.用微电路板控制电压高低,改变速度,例如:部分空调室内机; 4 湖南工学院 2.改变电阻来控制电压,改变速度,例如:部分空调柜机; 3.切换线路,通过电机上的几组线圈来改变速度,例如:普通电风扇。 本次设计的电风扇是一种包括有档位转换开关,电机,定时控制器多档风速 电风扇, 借用单片机的一些基本技术,红外以及温度传感器测温技术,对电风扇进行强风、 中风、弱风三种调速,温度检测以及摇控,在达到定时控制器的设定时间时后, 电风扇停止运转,此时便没有风,上面所述的多档风速电风扇,是利用单片机的 定时功能,使用时,当定时控制器运行至设定时间时,利用单片机C程序控制电风扇,输出的风量减小,但不会停止,可以让使用者在睡眠前使用大风,而在进 入睡眠后的时间里可以自动转换成小风,随后逐渐减速直至停止,另外一种就是 根椐检测到的周围的温度来控制电风扇,当周围温度低于某一温度时,自动停止 送风。本次设计的电风扇后送的风分为很多种,通过延时的长短来控制风的种类。 另外,关于本设计的一些具体问在该文档中均会详细介绍。 第二章 设计方案选择 显示部分: 方案论证一: 数码管显示 采用单片机AT89S52作为核心控制器件,其程序简单容易控制,通过控制 温度传感器18b20测室内温度控制交流单相电机,由数码管显示电机的档位。 方案论证二:液晶显示 采用单片机AT89S52作为核心控制器件,通过控制温度传感器18B20测室内温度控制交流电机,通过使用FYD128-64液晶显示; 比较以上两种方案:虽然液晶比较贵;但是液晶显示比较直观且显示的字符 较多;数码管要是显示了档位室内温度就不能显示就算能显示也不直观,所以我 们选择方案二,采用液晶显示。 电机调速部分论证: 根据电机转速公式: 5 湖南工学院 N=60f*(1-s)/p 式中 f为电机的定子电压供电频率; p为电机的极对数; s为电机的转差率; 方案论证一:变频器 通过变频器改变电压供电频率调速,其调速效果平滑,但是变频器价格比较 贵。 方案论证二: 改变极对数 通过改变极对数调速,用有三个档位的电机,用关耦开关控制晶闸管门极G, 控制电机的停和转,用三个关耦开关和三个晶闸管控制电机的快-中-慢的引线的导通,控制电机的速度; 比较以上两种方案,考虑到成本方面情况我们选择方案二,即采用改变极对 数调速。 第三章 主电路模块 3.1、主要元器件介绍 3.1.1 80C51单片机 单片机是集成在一个芯片上的计算机,全称单片微型计算机SCMC(Single Chip Micro Computer)。单片机是计算机,自动机控制和大规模集成电路技术相 结合的产物,融计算机结构和控制功能于一体。 Atmel公司生产的单片机一般均为DIP40封装的单机,4个8位,电源脚,接地脚,晶振时钟脚,复位脚,片选脚,外部程序读选通脚,,其具体的引脚图 如下: 6 湖南工学院 图(1) 80C51单片机的引脚图 I/O端口作为单机的输入输出口线。 在系统扩展时,地址锁存脚用于把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以六分之一晶振频率的固定频率输出的正脉冲,因此可以作为外部时钟或外部定时脉冲使用。 在读外部时 / PSEN有效(低电平),以实现外部单元的读操作。 当信号为低电平时,对的读操作限定在外部程序存储器,而当/EA信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储 器。 当输入的复位信号延续2个机器周期以上高电平即为有效,用以完成单片机 的复位操作。 当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用 外部时钟时,用于接外部时钟脉冲信号。 此外,随着单片机功能的增强,对芯片引脚的数目总是有限的,因此,“引 脚复用”现象在单片机中十分常见,即给一个引脚赋予两种甚至两种以上的功能。 在本设计中,主模块中用到的单片机的引脚有4个并行端口,晶振脚,复位 脚,摇控模块中用到的引脚有串行数据发送脚,即用到了它的第二功能。 3.1.2 DS18B20温度传感芯片 美国Dalla半导体公司的数字温度传感器DS18B20是世界上第一片支持“一 线总线”接口的温度传感器,在其内部使用了在板专利技术。全部传感元件及转 换电路集成在形如一只三极管的集成电路内,一线总线特而且经济的特点,使用 户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在新一代的 DS18B20体积更小,更经济,更灵活。使你可以充分发发挥“一线总线”优点。 DS18B20的性能特点: 7 湖南工学院 (1)采用单总线技术,即可通过串口线,也可其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值; (2)测温范围为-55度到+125度,测量分辩率为0。0625度; (3)内含64位经过激光修正的只读存储器ROM; (4) 适配各种单片机或系统机; (5) 用户可以分别设定各路温度的上,下限; (6) 内含寄生电源; 其内部结构主要由四部分组成,64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,配置寄存器。 其引脚图如下: 荡图(2)DS18B20的引脚图 (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地); 本实验中利用温度传感器来对电风扇所在范围内的温度进行测温,并且把 测得的温度在液晶上显示出来,以达到根据温度对电风扇进行调速的目的。 3.1.3 红外接收管 红外摇控接收采用一体化红外接收头,它将红外接收二级管,放大,解调, 整形等电路安装在一起,只有三个引脚,红外接收头的信号输出端接单片机的 INT0脚,单片机中断INT0在红外脉冲下降沿时产生中断,在中断期间启动定时 器0进行计数,直到下一个负脉冲到来,将计数结果取出并处理。当红外接收器 件收到发射吕的红外指令信号时,它将红外光信号变成电信号并送到前置放大电 路进行放大,再经过解调查器后,由信号检出电路将指令信号检出,最后由记忆 电路和驱动电路执行电路,实现各种操作。红外接收管的外形如下: 8 湖南工学院 图(4)红外接收管 3.1.4 液晶 本实验中我们采用的是128*64点的蓝屏液晶,采用DIP封装,它内部提供汉字库,一行可以显示16个字符,共显示4行,即可以显示32个中文字符或64个ASCII码字符,因为字符显示的RAM地址要与32个字符的显示区域一一对应,它的地址如下: 表3.1 液晶的地址码 80H 81H 82H 83H 84H 85H 86H 87H 90H 91H 92H 93H 94H 95H 96H 97H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH 它的外形如下: 图(5) 液晶 3.1.5 无源晶振 无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信 号,自身无法振荡起来,无源晶体没有电压的问题,信号电平是可变的,也就是 说是根据起振电路来决定的,同样的晶体可以适用于多种电压,而且价格通常也 较低,无源晶体相对于晶振而言其缺陷是信号质量较差,通常需要精确匹配外围 9 湖南工学院 电路(用于信号匹配的电容、电感、电阻等),更换不同频率的晶体时周边配置 电路需要做相应的调整。使用时建议采用精度较高的石英晶体,尽可能不要采用 精度低的陶瓷晶体。 为了便于计算,本实验中采用晶振频率为11.0592M的无源晶振。 无源晶振的外形如下: 图(6) 无源晶振 3.2、电路的工作原理 这一部分主要由按键控制,通过按键控制它的启动和停止,启动之后,可以 通过按键来控制电风扇,有三个功能键供我们使用,通过这三个功能键,我们可 以对其进行定时,测温等,这些功能都是需要我们编程去控制它才能得以实现, 而要实现电风扇的调速则通过电机上本身就有的三档来控制,电风扇根据温度自 动调速这一块则是在一定的温度范围内可以实现,并且可以将测得的数据处理后 在液晶上显示出来。 第四章 摇控模块 4.1、主要元器件介绍 红外发射管 红外要用到红外线,红外线又称红外光波,在电磁波谱中,光波的波长范围 为0.01um~1000um。根据波长的不同可分为可见光和不可见光,波长为 0.38um~0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜 色。光波为0.01um~0.38um的光波为紫外光(线),波长为0.76um~1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二 10 湖南工学院 极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外 光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及 较高的可靠性。 红外技术有四大优点:环境适应性好,在夜间和恶劣气候下的工作优于可见 光;隐蔽性好,不易被于扰;由于是靠目标和背景之间,目标各部分的温度和发 射率差形成的红外辐射进行探测,因而识别伪装目标的能力优于可见光;另外它 体积小、重量轻、寿命长,交直流均可使用,并可用晶体管和集成电路直接驱动, 而现在的主动红外入侵探测器多数是采用互补型自激多谐振荡电路作驱动电源, 直接加在红外发光二级管两端,使其发出经脉冲调制的、占空比很高的红外光束, 这既降低了电源的功耗,又增强了主动红外入侵探测器的抗干扰能力。 外发光管有很多种类型,颜色也有很多种,在本实验中我们采用白色的红外 发光二极管,其外形如下: 图(6)红外发射管 4.2、电路的工作原理 当指令键被按下时,指令信号产生电路便产生所需要的控制信号,控制指令 信号经调制电路解调后,最终由驱动电路驱动红外线发射器,利用单片机的串行 数据发送脚结合红外发射管发送出脉冲即可。我们采用脉冲编码,设计每个键有 不同的脉冲个数,脉宽均一样,当按下键时,会有一段廷时,以去除干扰,确定 有键按下时,则发送相应数目的脉冲,接收端接收到脉冲时,启动计数器,数出 脉冲的个数,根据脉冲个数的不同,执行不同的操作。 红外发射的示意图如下: 键位编码指令编码码元调制红外发生器 键盘 分频与定时信信号发生器震荡号发生器 11 湖南工学院 图(7)红外发射示意图 第五章 软件设计 软件设计是整个系统设计的核心,其功能就是控制硬件部分,使其实现一定 的功能。整个系统分为主电路部分和红外摇控部分,其中主电路的软件设计要完 成的功能有电风扇的启动和停止,电风扇的调速,温度的测量,红外的接收等, 红外摇控部分的软件设计要完成的功能只有红外的发送,整个程序我们都采用C 语言编写。具体的程序见附录三。 12 湖南工学院 第六章 整机系统分析 6.1、使用说明 本产品是基于电机,结合红外技术设计的家用型智能电风扇。 其于电风扇的自身空间资源,本产品只设计三个键,即接在P1口的三根口线,在使用时,最需要了解的是每个键的功能,这里三个键分为功能键,调时键, 温度测量键。按键时,先按功能键,用以确定需要的功能。功能键分为定时,测 温。如果按下的功能键是定时,则再按其它两个键时,其它两个键就分别是调时 和调分,按一下调时则时加一,按一下分则分加一。如果按下的功能键是测温, 则按后面一个键,则实现的是极限温度的极限。如果按下的功能键是电风扇的调 速,则按后面一个键就是风速的档次调节。 6.2、误差分析及对策 任何一样实验或制作总是存在误差的,这是无法避免的,本设计也同样存在 13 湖南工学院 误差,其来源有多个方面,其中一个是来源于元器件本身,这类误差我们是无法 改变的,还有一类来自于人为误差,这类误差我们可以通过不断的修正来减小它。 由于印制电路板时布线的粗细及印制时的原因,都会出现一些偏差,要减少 这些误差,我们就要尽量采用适合粗细的线条,并且不同性质的线采用不同的粗 细,其中信号线采用较细的线,而地线则要采用较粗的线,这是因为所有的电流 都到地线上汇总,所以地线上要流过大量的电流,如果线比较细的话,地线就承 受不了这么大的电流,那么就必定会造成一定的误差。 另外在元器件焊接的时候也会存在误差,如果焊接的不好,甚至会影响到的 正常运行, 所以焊接时应特别注意,避免虚焊,尽量焊接的圆润饱满,这样才不至于让电路 功能受到影响,也能最大限度的减少误差。 总结及体会 通过此次设计,我们看到了自已的许多不足,但同时也学到了很多东西,锻 炼了我们动手动脑独力思考的能力,不仅仅是我们组,同时参加的其它组也有同 样的感受。 比如说我一开始敲定这个题目的时我们都觉的很简单,但是真的一动手做起 来就发现事情并不是跟人们想的一样,它要复杂的多,因为一动起手来就什么问 题都来了,有时候一些我们看起来很容易解决的问题也变的难以解决,像我们去 买元器件的时候就找了很久才找到合适的交流电机,还有一些芯片的型号也很难 找,还有一些芯片只能用其它的芯片代替。 做电路板的时候,发现电路有一些小小的问题需要修改,做出的电路板调试 过程中也会出现一些问题。比如说我们在调试主电路板的时候,电机转的总是很 不平滑,我们想过一些让电机转动平滑些的方法,但总是事与愿违,最后我们还 是想出了让电机转动平滑的方法,而红外这一部分,我们也是调试了好一阵子, 刚开始总是发不出脉冲,后来我们把程序修改了好几遍才把脉冲发射出来,并且 14 湖南工学院 发射出来的波形很漂亮。 最后电风扇的调速我们以为调不出来了,但最后突然想到了我们买的电机有 快,中,慢三档,于是李云君想到了用三根口线接到这三个档上,或许可以实现 电风扇的调速。 红外这一部分则由于没有联调的软件,而红外这一部分要用实物调试的话也 需要有示波器,否则只能在软件上模拟调试,而软件调试还是有一些不足,这里 又会造成一定的误差,所以实物做出来总是与设想的有一点差距。 但是这次的设计总体上还是让我们学到了很多,根本上实现了理论与实践的 统一,增强了分析问题和解决问题的能力,无论是在学习上还是在工作上,我相 信这对今后自身的发展都是有很大的帮助的。 参考文献 [1]李广弟, 朱月秀, 王秀山, 《单片机基础》 北京航空航天大学出版社 2001.7 LiGuangdi,ZhuYuexiu,WangXiushang, "Single-chip basis of" Beijing University of Aeronautics and Astronautics Press 2001.7 [2] 马忠梅, 籍顺心, 《单片机C语言应用程序设计》 北京航空航天大学出 版社 2007.1 MaZhongmei,JiShunxin, "Single-chip C programming language applications," Beijing University of Aeronautics and Astronautics Press 2007.1 [3] 戴佳节, 戴卫恒, 《51单片机C语言应用程序设计》 电子工业出版社 2007年11月 DaiJiajie,DaiWeiheng, "51 single-chip C programming language 15 湖南工学院 applications," Publishing House of Electronics Industry in November 2007 [4] 陈永浦 , 《红外探测与控制电路》 人民邮电出版社 2004年1月 ChenYongpu, "Infrared detection and control circuit of the" People's Posts and Telecommunications Publishing House in January 2004 [5] 肖景和 ,赵健 , 《实用摇控电路》 人民邮电出版社 1999年8月 XiaoJinghe,Zhaojiang, "Practical remote control circuit" People's Posts and Telecommunications Publishing House in August 1999 鸣谢 本论文是在宋树祥老师的指导下完成的。在做论文的过程中宋树祥老师不仅 在整体设计方案上给我指导,在设计的过程中也给我提出了好的意见。在此,对 宋老师在工作中给予的指导和关心致以最真诚的谢意。 同时在这里要感谢给予我们关心和帮助的人,感谢宋老师给我上机调试提供 方便与指导。 感谢系里其它的一些同学在设计中提供大量的支持和帮助。 我们即将毕业,在此,再一次向三年中在学习和生活中给予过我帮助的老师 和同学表示忠心的感谢! 16 湖南工学院 附录 一、电路的总原理图 17 湖南工学院 18 湖南工学院 19 湖南工学院 二、元件清单 单片机 AT89S52 1片 温度传器 DS18B20 1片 红外对管 1对 晶振 11.0592M 1个 按钮 8个 电阻 220 5个 电阻 10K 4个 电阻 4.7K 3个 电容 30p 2个 电容 10u 1个 晶阐管 3个 双向光耦 3块 三极管 PNP 3个 20 湖南工学院 三、程序清单: 主电路程序: #include #include #define uchar unsigned char #define schar signed char #define uint unsigned int sbit rs=P2^0; sbit rw=P2^1; sbit re=P2^2; sbit psb=P2^3; sbit ret=P2^5; sbit L1=P1^0; //键一 sbit L2=P1^1; //二 sbit L3=P1^2; //三 sbit L4=P1^3; //四 sbit qdk1=P3^0; //档位一控制口 sbit qdk2=P3^1; //二 21 湖南工学院 sbit qdk3=P3^2; //三 sbit DQ=P2^6; //18B20数据口 uchar command,data0; uchar dw,tgn; schar second,minite,hour; uint d,d1,d2; uchar WDTH,WDTL; //数据高低位 long WD,TWD; //温度数据与调数据 uchar code table1[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e}; //数字 0~`9 uchar table2[]={0,0,0,0,0,0,0}; uchar table3[]={0,0,0,10,0,0}; void keyscan(void); //键扫 void WDconverter(); //温度转换 void wddata(void); void dataconverter(void); //数据转换 void delay(uint i) //延时 { uchar u; while(i--) for(u=0;u<=100;u++); } void write_command( uchar command) //写命令 { delay(10); rs=0; rw=0; P0=command; re=1; _nop_(); _nop_(); re=0; } void write_data0( uchar data0) //写数据 { delay(10); rs=1; rw=0; P0=data0; re=1; delay(1); re=0; } void clear_lcd(void) //清屏 22 湖南工学院 { write_command(0x01); write_command(0x34); write_command(0x30); } void csh_lcd(void) { //初始化液晶 ret=0; delay(10); ret=1; _nop_(); psb=1; _nop_(); } void gongneng_lcd(void) //功能选择 { write_command(0x30); write_command(0x01); write_command(0x0c); write_command(0x06); } void display1(void) { write_command(0x80); //档 write_data0(0xb5); write_data0(0xb5); write_command(0x81); //位 write_data0(0xce); write_data0(0xbb); write_command(0x82); write_data0(0xa1); //: write_data0(0xc3); write_command(0x83); write_data0(table1[0]); write_data0(table1[dw]); } void display2(void) { write_command(0x90); //定 write_data0(0xb6); write_data0(0xa8); write_command(0x91); //时 write_data0(0xca); 23 湖南工学院 write_data0(0xb1); write_command(0x92); //: write_data0(0xa1); write_data0(0xc3); write_command(0x93); write_data0(table1[hour/10]); write_data0(table1[hour%10]); write_command(0x94); write_data0(0xa1); write_data0(0xc3); write_command(0x95); write_data0(table1[minite/10]); write_data0(table1[minite%10]); write_command(0x96); write_data0(0xa1); write_data0(0xc3); write_command(0x97); write_data0(table1[second/10]); write_data0(table1[second%10]); } void display3(void) { write_command(0x88); //温度 write_data0(0xce); write_data0(0xc2); write_command(0x89); write_data0(0xb6); write_data0(0xc8); write_command(0x8a); //: write_data0(0xa1); write_data0(0xc3); write_command(0x8b); write_data0(table1[table3[0]]); //百位 write_data0(table1[table3[1]]); //十位 write_command(0x8c); write_data0(table1[table3[2]]); //个位 write_data0(table1[table3[3]]); //小数点 write_command(0x8d); write_data0(table1[table3[4]]); //小数个位 write_data0(table1[table3[5]]); //十位 write_command(0x8e); //* write_data0(0xa1); write_data0(0xe3); write_command(0x8f); //C 24 湖南工学院 write_data0(0xa3); write_data0(0xc3); } void display4(void) //温度控速 { write_command(0x98); write_data0(0xce); write_data0(0xc2); write_command(0x99); write_data0(0xb6); write_data0(0xc8); write_command(0x9a); write_data0(0xbf); write_data0(0xd8); write_command(0x9b); write_data0(0xcb); write_data0(0xd9); write_command(0x9c); write_data0(table1[TWD%1000000/100000]); write_data0(table1[TWD%100000/10000]); write_command(0x9d); //* write_data0(0xa1); write_data0(0xe3); write_command(0x9e); //C write_data0(0xa3); write_data0(0xc3); } void display5(void) { write_command(0x98); //定 write_data0(0xb6); write_data0(0xa8); write_command(0x99); //时 write_data0(0xca); write_data0(0xb1); write_command(0x9a); //控速 write_data0(0xbf); write_data0(0xd8); write_command(0x9b); write_data0(0xcb); write_data0(0xd9); 25 湖南工学院 } void display6(void) { write_command(0x98); //档 write_data0(0xb5); write_data0(0xb5); write_command(0x99); //位 write_data0(0xce); write_data0(0xbb); write_command(0x9a); //控速 write_data0(0xbf); write_data0(0xd8); write_command(0x9b); write_data0(0xcb); write_data0(0xd9); } void keyword(void) { if(L1==0) { delay(10); if(L1==0) { while(L1==0); tgn++; if(tgn==1) display6(); if(tgn==2) display5(); if(tgn==3) display4(); if(tgn==4) tgn=0; } } if(L2==0) { delay(10); if(L2==0) { while(L2==0); if(tgn==1) { 26 湖南工学院 dw++; if(dw==0) { qdk3=1; qdk2=1; qdk1=1; } if(dw==1) { qdk3=1; qdk2=1; qdk1=0; } if(dw==2) { qdk3=1; qdk2=0; qdk1=1; } if(dw==3) { qdk3=0; qdk2=1; qdk1=1; } if(dw==4) { dw=0; qdk3=1; qdk2=1; qdk1=1; } } if(tgn==2) { minite++; if(minite==60) { hour++; minite=0; if(hour==24) hour=0; } 27 湖南工学院 } if(tgn==3&&TWD>0) { TWD=TWD-10000; display4(); } } } if(L3==0) { delay(10); if(L3==0) { while(L3==0); if(tgn==3) { TWD=TWD+10000; display4(); if(TWD==500000) TWD=0; if(WD>=TWD) { qdk3=1; qdk2=1; qdk1=0; dw=1; } if(WD>=(TWD+30000)) { qdk3=1; qdk2=0; qdk1=1; dw=2; } if(WD>=(TWD+60000)) { qdk3=1; qdk2=1; qdk1=0; dw=3; } if(TWD>=(WD+80000)) { 28 湖南工学院 dw=0; qdk3=0; qdk2=1; qdk1=1; } if(tgn==2) { hour++; if(hour==24) hour=0; } } } } } void pangdianjikg(void) { if(tgn==3&&(WD>=TWD)) { dw=1; qdk3=1; qdk2=1; qdk1=0; } if(tgn==3&&WD>=(TWD+30000)) { dw=2; qdk3=1; qdk2=0; qdk1=1; } if(tgn==3&&WD>=(TWD+60000)) { dw=3; qdk3=0; qdk2=1; qdk1=1; } if(tgn==3&&TWD>=(WD+80000)) { dw=0; qdk3=1; 29 湖南工学院 qdk2=1; qdk1=1; } if(tgn==2) { if((minite!=0||hour!=0||second!=0)&&tgn==2) TR0=1; else TR0=0; } } void main(void) { hour=0; minite=0; second=0; qdk1=1; qdk2=1; qdk3=1; TWD=0; tgn=0; TMOD=0x01; TH0=(65536-45536)/256; TL0=(65536-45536)%256; ET0=1; EA=1; csh_lcd(); clear_lcd(); gongneng_lcd(); display1(); display2(); display3(); while(1) { keyword(); pangdianjikg(); WDconverter(); //温度转换开始 display1(); //温度转换完成需要大约一秒``~`用送显示做延时 display2(); display3(); wddata(); dataconverter(); 30 湖南工学院 } } void t0 (void) interrupt 1 using 0 //定时器0 { if(tgn!=2) TR0=0; if(hour==0&&minite==0&&second==0) { TR0=0; dw=0; } else { d++; if(d==30) { d=0; d1++; if(d1==10) d1=0; second--; if(second<0) second=0; if(second==0&&minite>=0) { if(second==0&&minite==0&&hour==0) { TR0=0; dw=0; qdk3=1; qdk2=1; qdk1=1; } else { second=60; minite--; if(minite<0) minite=0; if(minite==0&&hour>0) { minite=60; hour--; 31 湖南工学院 if(hour<0) hour=0; } } } } } TH0=(65536-45536)/256; TL0=(65536-45536)%256; } void wdreset(void) //温度传感器初始化 { uchar t; DQ=0; t=100; while(t>0) t--; DQ=1; t=4; while(t>0) t--; } void wdanswer(void) //等待温度传感器应答 { uchar t; while(DQ); while(~DQ); t=4; while(t>0) t--; } bit rdbit(void) //读一位数据 { uchar t; bit b; DQ=0; t++; DQ=1; t++; t++; b=DQ; t=8; 32 湖南工学院 while(t>0) t--; return(b); } uchar rdbyte(void) //读一字节数据 { uchar t,j,b; b=0; for(t=1;t<=8;t++) { j=rdbit(); b=(j<<7)|(b>>1); } return(b); } void wrbyte(uchar b) //写命令 { uint t; uchar j; bit btmp; for(j=1;j<=8;j++) { btmp=b&0x01; b=b>>1; if(btmp) { DQ=0; t++; t++; DQ=1; t=8; while(t>0) t--; } else { DQ=0; t=8; while(t>0) t--; DQ=1; t++; t++; } 33 湖南工学院 } } void WDconverter(void) //温度转换开始 { wdreset(); wdanswer(); delay(1); wrbyte(0xcc); wrbyte(0x44); } void wddata(void) //读取转换数据 { wdreset(); wdanswer(); delay(1); wrbyte(0xcc); wrbyte(0xbe); WDTL=rdbyte(); WDTH=rdbyte(); } void dataconverter(void) //数据转换 { WD=WDTH*256; WD=WD|WDTL; WD=WD*625; table3[0]=WD/1000000; table3[1]=WD%1000000/100000; table3[2]=WD%100000/10000; table3[4]=WD%10000/1000; table3[5]=WD%1000/100; display3(); } 红外的发送程序: #include #define uchar unsigned char uchar i,t,temp,temp1; sbit L1=P3^1; sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3; 34 湖南工学院 sbit k5=P1^4; sbit k6=P1^5; sbit k7=P1^6; sbit k8=P1^7; void delay02s() { uchar j,k,l; for(j=20;j>0;j--) for(k=20;k>0;k--) for(l=248;l>0;l--); } void mac() { uchar p,q; TH1=0X3C; TL1=0xbd; q=0; while(q==0) { if(TF1==1) { p++; if(p==2) { q=1; } } } } void main( ) { TMOD=0x01; TH1=0X3C; TL1=0xbd; EA=1; ET1=1; temp=0x00; temp1=0x01; while(1) { if(k1==0) { delay02s(); if(k1==0) { TR1=1; 35 湖南工学院 L1=temp1; for(i=4;i>0;i--) { mac(); L1=~L1 ; } TR1=0; L1=temp; } } if(k2==0) { delay02s(); if(k2==0) { TR1=1; L1=temp1; for(i=12;i>0;i--) { mac(); L1=~L1 ; } TR1=0; L1=temp; } } if(k3==0) { delay02s(); if(k3==0) { TR1=1; L1=temp1; for(i=24;i>0;i--) { mac(); L1=~L1; } TR1=0; L1=temp; } } if(k4==0) { 36 湖南工学院 delay02s(); if(k4==0) { TR1=1; L1=temp1; for(i=36;i>0;i--) { mac(); L1=~L1; } TR1=0; L1=temp; } } if(k5==0) { delay02s(); if(k5==0) { TR1=1; L1=temp1; for(i=48;i>0;i--) { mac(); L1=~L1; } L1=temp; TR1=0; } } if(k6==0) { delay02s(); if(k6==0) { TR1=1; L1=temp1; for(i=60;i>0;i--) { mac(); L1=~L1; } TR1=0; L1=temp; 37 湖南工学院 } } if(k7==0) { delay02s(); if(k7==0) { TR1=1; L1=temp1; for(i=72;i>0;i--) { mac(); L1=~L1; } TR1=0; L1=temp; } } if(k8==0) { delay02s() ; if(k8==0) { TR1=1; L1=temp1; for(i=84;i>0;i--) { mac(); L1=~L1; } TR1=0; L1=temp; } } } } 红外的接收程序: #include #define uchar unsigned char uchar i,k,j,t,n; uchar code discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x7 1,0x00}; 38 湖南工学院 sbit L1=P3^0; sbit L2=P3^1; void delay100m () { k=0; while(k!=2) { TH1=0X3C; TL1=0xbd; while(TF0==0) { } t++; k=t; } } void mcyc() { if(L1==1) { TR0=1; delay100m(); if(L1==0) { delay100m (); i++; } } } void main() { TMOD=0x01; TH1=0X3C; TL1=0xbd; EA=1; ET1=1; while(1) { L1=0; j=1; while(j==0) { mcyc(); if(L1==0) { 39 湖南工学院 TR0=0; j=1; n=i; i=0; } } P0=discode[n]; L2=0; } } 40
/
本文档为【智能电风扇】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索