




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南华大学毕业设计(论文)摘要:在日常生活中,单片机得到了越来越广泛的应用,特别在小型的自动控制系统的应用中。本文基于 AT89C51单片机设计了电风扇自动调温系统。通过单片机的控制我们实现了电风扇的主要功能:当按下开关键时,系统初始化 默认的设定温度为 25度,如果外界温度高于设定温度电风扇进行运转,如果外界温度 高于低于设定温度则枫叶不转动,同时显示外界的温度。当加减键同时按下时进入温 度设定状态,可以设置所需的温度,并同时显示所设定的温度,同时按加减键退出设 定功能。电风扇的自动控制,让电风扇这一家用电器变的更智能化。克服了普通电风扇无 法根据外界温度自动调节转速困难。 智能电风扇的设计具
2、有重要的现实意义。 关键词 : AT89C51单片机;温度传感器;直流电机。Abstract: In daily life, SCM got more and more widely applied in small system, particularly in the application of automatic control system. This thesis based on AT89C51 to design thermostat automatically electric system.Through the MCU control we realized the fa
3、n main function:after you press the button, the default system initialization temperature is 25. If the temperature higher than outside temperature,the fan ran. If the temperature is lower than outside temperature the fan doesnt turn and display outside temperature at the same time. When press add k
4、ey and subtract key,enter the temperature setting system. Then we can set temperature what we needed and display the temperature at the same time.We can exit set temperature system by press add key and subtract key at the same time.The automatic control make electric fan become more intelligent in t
5、he household appliances. It overcomes the difficulty which cannot accord the temperature outside automatically to adjust the speed of the normal fan. Keywords: Temperature sensor; Single Chip Machine; D.C. electric machin;e目录.51.2 、自动调温电风扇设计目的2、自动调温电风扇设计原理和具体结构2.1 、自动调温电风扇结构2.1.1 、内部结构 . 72.1.2 、外部结
6、构 . 72.2 、 电 风 扇 控 制 流 程 图 72.3 、主要原器件的工作原理简介 82.3.1 、 AT89C51 单 片 机 简 介 82.3.2 、直流电机的结构 . 102.3.3 、温度传感器的原理 . 112.3.4 、数字控制器的原理 . 13235、A/D转换器与数字显示电路原理 142.3.6、 直 流 稳 压 器 电 路 原理 153、 自 动 调 温 电 风 扇 控 制 系 统 设计 3.1、电源转换部分 163.2、AT89C51 部分3.3、按键部分 3.4 、单片机复位部分 3.5 、继电器控制电路部分 3.6 、数模转换部分 203.7 、缓冲与保护部分
7、3.8 、自动调温电风扇的整体硬件电路 4 、 软 件 设 计 254.1 、主流程序设计 4.2、总程序结束 语 34参考文 献 35辞 36引言 : 在日常生活中 , 单片机得到了越来越广泛的应用。它体积小、重量轻、 集成度高、抗干扰能力强、性价比高 , 尤其适合应用于小型的自动控制系统中。 电风扇起停的自动控制 , 能够解决夏天人们晚上熟睡时 , 由于夜里温度下降而导 致受凉,或者从睡梦中醒来亲自开关电风扇的问题 ,具有重要的现实意义。 本文从 此目的出发利用A T89S52单片机设计了自动温控电风扇系统,当温度高于20 C 时,自动打开电风扇;低于20 C时自动关闭电风扇。还可以实现当
8、温度过高或过 低时, 蜂鸣器发出声音报警提醒人们注意避暑或防止受凉。1、智能电风扇概论 我们常见的风扇一般只有四、 五个风速挡,用的是人工开关,不知室内温度, 只是人为的调节该用哪个挡。 而自动调温电风扇这个设计是一新领域, 它用的是 在电子行业中应用广泛的AT89C51单片机。通过单片机与温度探测器结合,将其 应用于家用电风扇的转速精确控制上,能够有良好的性能。1.1 、自动调温电风扇简介它使用直流电动机的控制以模拟电路为基础, 运算放大器、非线性集成电路 以及数字电路组成, 使得对电风扇各挡风量的调节更加细化, 使得电风扇的控制 更具人性化,同时它也具有全自动、控制简单、智能化、制作容易。
9、使用温度传 感器、专用控制集成电路和单片机, 实现当室温达到自己所设定开启风扇的温度 时,电风扇自动开启,并且可以根据室温变换风速; 当室温低于这一设定温度时, 电风扇自动关闭。 同时显示当前室内的温度, 和自己所设定的温度, 提醒人们合 理的使用电风扇。1.2 、自动调温电风扇设计目的进入 5月份,天气越来越炎热 ,尤其到了盛夏 ,更是酷热难当。目前可供选择的纳凉工具主要有 : 空调、普通电风扇、冷风机以及蒲扇、纸扇等等。空调使用 方便, 且越来越智能化 ,但它使用费用高 ,并且常常给人带来疾病。而电风扇以其 低廉的价格使它的使用极为普遍。 人们常常通宵达旦的使用 , 一旦气温稍有变化 ,
10、感冒人数就会急剧增加 ; 冷风机能增强空气的湿度但使用久了 , 家里电器会受潮 , 同时也会让使用者长期裸露在外的关节受到危害 ; 蒲扇和纸扇价格低廉 , 但不自 动,目前使用者微乎其微。在这种情况下 , 自动调温电风扇应运而生。我们的生活加快,人们需要处理 的事情越来越多, 在炎热的夏天, 回到家更想好好休息, 消除自己一天的工作疲 劳,而自动调温电风扇的设计就解决了这些问题。自动调温电风扇是通过单片机控制来实现直流电动机运转频率的自动调节, 从而达到改变风速的目的。此设计用到AT89C51单片机,它是把微处理器,存储 器(RAM和ROM)输入/输出接口以及定时器/计数器等集成在一起的集成电
11、路芯 片。它与集成电路相结合, 组成一个设定温度, 感温,控制和输出与一身的模块。 利用单片机AT89C51和一些电路对室温进行探测,从而对电风扇进行开和关的一 系列控制。2、自动调温电风扇设计原理和具体结构2.1 、自动调温电风扇结构自动调温电风扇有内部结构和外部结构组成。 有集成电路板和直流电机组成, 整个部分电路板是重中之中, 它上面连接了 有单片机,温度传感器,延时开关电路,按键式电磁开关,LED显示器,A/D、 D/A 转换电路、可控硅触发控制电路、振荡电路、电源电路等。如图 2.1.1 所示:图 2.1.1 自动调温电风扇内部结构图2.1.2 、外部结构由外壳、风扇叶、开关、电源线
12、、网罩、 转页组成。如图 2.1.2 所示:图 2.1.2 外部结构2.2 、电风扇控制流程图如图 2.2 所示 :图 2.2 电风扇控制流程图2.3 、主要元器件的工作原理简介231、AT89C51单片机简介AT89C51单片机引脚图如图 2.3.1 所示:图 2.3.1 AT89C51 接线图管脚定义:Vss :接地。Vcc :电源 ,提供掉电、空闲、正常工作电压。P0.0-0.7 : P0 I/O 口 - P0 口是开漏双向口,可以写为 1 使其状态为悬 浮用作高阻输入。 P0 也可以在访问外部程序存储器时作地址的低字节,在访问 外部数据存储器时作数据总线,此时通过内部强上拉输出1 。P
13、1.0-1.7 : P1 I/O 口 - P1 口是带内部上拉的双向 I/O 口,向 P1 口写 入 1 时, P1 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部 拉低的 P1 口会因为内部上拉而输出电流。 P1 口第 2 功能:T2(P1.0)定时/计数器2的外部计数输入/时钟输出。T2EX(P1.1)定时/计 数器 2 重装载/捕捉/方向控制。P2.0-2.7 : P2 I/O 口 - P2 口是带内部上拉的双向 I/O 口,向 P2 口写 入 1 时, P2 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部 拉低的 P2 口会因为内部上拉而输出电流。 在访问外部程
14、序存储器和外部数据 时分别作为地址高位字节和16位地址(MOVXDPTR)此时通过内部强上拉传送 1。当使用8位寻址方式(MOVRi)访问外部数据存储器时,P2 口发送P2特殊 功能寄存器的内容。RST : 复位 当晶振在运行中,只要复位管脚出现 2 个机器周期高电平即 可复位,内部有扩散电阻连接到 Vss 仅需要外接一个电容到 Vcc ,即可实现上 电复位。PSEN :程序存储使能当执行外部程序存储器代码时,PSEN每个机器周期被激活两次,在访问外部数据存储器时PSENE效,访问内部程序存储器时PSEN 无效。XTAL1 :晶体 1 反相振荡放大器输入和内部时钟发生电路输入。XTAL2 :晶
15、体 2 反相振荡放大器输出。直流电动机具有良好的起动、 制动性能, 宜于在大范围内平滑调速, 在许多 需要调速或快速正反向的电力拖动领域中得到了广泛的应用。 从控制的角度来看, 直流调速还是交流拖动系统的基础。 随着单片机技术的日新月异, 使得许多控制 功能及算法可以采用软件技术来完成, 为直流电动机的控制提供了更大的灵活性, 并使系统能达到更高的性能。 采用单片机构成控制系统, 可以节约大量的人力资 源和降低系统成本,从而有效的提高工作效率。直流电动机的转速与施加于电动机两端的电压大小有关。电枢电压为Ua,电枢电流为la,电枢回路总电阻为 Ra,电机常数Ca,励磁磁通量是C。根据KVL方程:
16、电机转速n=(Ua-laRa)/Ca C ,其中,对于极对数p,匝数为N,电枢支路数为a的电机来说:电机常数Ca=pN/60a,意味着电机确定后,该值 是不变的。而在Ua-IaRa中,由于Ra仅为绕组电阻,导致laRa非常小,所以 Ua-IaRa约等于Ua=由此可见我们改变电枢电压时,转速 n即可随之改变。直流电动机如图 2.3.2 所示: 要求对一个非电量(如温度、力矩、重量等)进行自动测量和控制,首先需 将这一非电量转换成电量。 完成这一过程的装置称为传感器。 温度传感器的种类 较多,常用的有:(1)热电偶:用两种不同材料的导体组成一个闭合回路。如果两端结点 的温度不同,则在两者之间产生电
17、动势 E,而在回路中有一定大小的电流。这个 电动势或电流与两种导体的性质和结点温度有关。 利用这种热电效应组成的温度 传感器,称为热电偶。热电偶具有测量范围大等优点,但灵敏度较低。(2)半导体热敏电阻:由于非线性而影响其精度,不适宜在精度较高的温 度控制系统中作传感器。(3) 铂电阻温度传感器:测量范围大,精度较高,但成本高,适合在较大 系统中使用。(4) 集成温度电流传感器:如美国 Analog Devices 公司生产的AD590它 的测温范围为-50oC+150)C,满刻度范围误差为土 0.3 C,工作电压范围430V 电流温度灵敏度为1卩A/K,线性度良好,性能稳定,抗干扰能力强,其管
18、脚排 列如图2.3.3.1所示图2.331 AD590管脚排列图AD590是美国ANALO G DEV ICES公司的单片集成两端感温电流源。如图所示:图AD590实物图主要特性:(1)流过器件的电流(卩A)等于器件所处环境的热力学温度(开尔文)度数: Ir/T=1 式中,lr 流过器件(AD590)的电流,单位为 卩A; T热力学 温度,单位为K; (2) AD590的测温范围为-55E+150C; (3) AD590的电源电 压范围为430 V,可以承受44 V正向电压和20 V反向电压,因而器件即使反 接也不会被损坏;(4)输出电阻为710 mQ;(5)精度高,AD590在-55C+-
19、150C 范围内,非线性误差仅为土 0.3 CoAD590的应用:AD59测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均 温度的具体电路,广泛应用于不同的温度控制场合由于AD59精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的 冷端补偿。AD59不能直接置于 水中,需加防水但不隔热装置。3 AD590电路图2.3.4、数字控制器的原理多路温度巡回检测控制电路,可通过多路选择器CC4051实现,它使一个8选1多路选择器。如要实现4路循环检测,只需将CC4051的译码输入端最高为 C端(9脚)接地。参考电路如图2.3.4所示。图中555定时器组成多谐振荡器产生脉冲,其输出频
20、率f :、1.44/(R ,+RP+2Rc)C,调节电位器Rp可改变巡回显示的时间长短。为了使温度值显示稳定,输出 脉冲周期应不小于4s。CC4013组成一个二位二进制计数器,一方面计数器的输 出作为8选1数据选择器的地址线输入,另一方面经译码、显示给出显示的是第 几路。当按下开关S时,计数器脉冲被封锁,计数器状态不变,可实现定点显示。图2.3.4温度检测数字控制电路2.3.5、A/D转换器与数字显示电路原理采用ICL7107A/D转换器。ICL7107A/D转换器的性能与管脚参见前面 A/D转换器实验内容。图2.3.5所 示电路可作为温度显示电路。ICL7107显示的满量程与基准电压的关系位
21、 V=2 V ref。若将Vref选择为100mv则可组成满量程为200mv的电压测量电路。只要 把小数点定在十位即可直接读出测量结果。由于ICL7107没有专门的小数点驱动 电路,使用时将其阳极数码管的公共阳极接 +5V,小数点接GND时点亮,接5V或悬空时熄灭。C图 2.3C尺、CED显振荡电阻和振荡电亍。变基准高频滤波积分电输入另2.3.6、压,使V电路。C2。为了提高一分压网络直流稳压4分别为测量温度的扌器电路原换与显示电路r2和C2OSC3 TESTVRef+IN+电路CazBUTINTVss成基准电压分压c1M00pF电2位器。R4、C3为模拟 C2 岬零电容答Ry 入为满量程二V
22、的电压信号,因此,C4 0.47uFR547k0.22口”心-5VI器,调整R2可改来自于X405输输入端R积分电阻和量程扩展电 阻分压网络此电路采用的三端稳压集成电路lm3171317的输出电流是1.5A,输出电压可在1.5-37V之间连续可调。输出电压由控制脚决定,最高输出电压由电源电 压决定它的1脚是控制端。 2脚是输出端 。3脚是电源端。引脚非常少易于控制, 并且输出电压稳定带负载能力强。 它配合前级的推动电路从而实现电压的数控调 节。LM317在工作时流过的电流是非常大的,所以一定要加足够大的散热片。以 便较快的散去工作时的热量避免因高温而损坏 LM317稳压集成电路。此设计的 LM
23、317是不能用一般的三端稳压器代替的。 因为一般的三端稳压器是不带控制脚 他只有接地脚。图 2.3.6 三端稳压元件图3、自动调温电风扇控制系统设计3.1 、电源转换部分转换电路如图 3.1.1 所示:图 3.1 电源转换电路3.2、AT89C51 部分复位在振荡器工作时将RST脚保持至少两个机器周期高电平12时钟模式为24 个振荡器周期 6,时钟模式为 12 振荡器周期可实现复位为了保证上电复位的 可靠, RST 保持高电平的时间至少为振荡器启动时间 (通常为几个毫秒) 再加上 两个机器周期。复位后,振荡器以 12 时钟模式运行当已通过并行编程器设置为 6 时钟模式时除外。振荡器特性XTAL
24、1和XTAL2为输入和输出,可分别作为一个反相放大器的输入和输出。 此管脚可配置为使用内部振荡器。 要使用外部时钟源驱动器件时, XTAL2 可以不 连接而由 XTAL1 驱动。外部时钟信号无占空比的要求, 因为时钟通过触发器二分 频输入到内部时钟电路。定时器 0 和 1 的操作定时和计数功能由特殊功能寄存器 TMOD勺控制位进行选择。这两个定时/ 计数器有4种操作模式,通过TMOD勺M1和M0选择。两个定时/计数器的模式0、 1 和2 都相同模式 3 不同。中断本器件提供6个中断源。外部中断INTO和INT1可根据寄存器TCON中的IT0 和IT1位状态分别设置为电平或者边沿触发。实际产生的
25、中断标志是 TCON中的 位IE0和IE1。当产生外部中断时,如果是边沿触发,进入中断服务程序后由硬 件清除中断标志位。 如果中断是电平触发, 由外部请求源而不是由片内硬件控制 请求标志。定时器0和定时器1中断由TFO和TF1 (分别由各自的定时/计数寄存器 控制,定时器 0 工作在模式 3时除外)产生。当产生定时器中断时,进入中断 服务程序后由片内硬件清除标志位图 3.2 单片机内部结构3.3 、按键部分按键电路采用的是单片机89C51的15,16,17脚作为按键的输入端子。它 们分别是SW1开关按键、SW2递减按键、SW3!增按键。当按下开关按键时会给 单片机一低电平,从而单片机检测到这个
26、脚电平的变化,会做出下一步的处理, 经内部分析运算后输出相应的控制数据。开关按键的是单片机内部的 T1 记数功 能,当此脚电平变化一次,内部就会记一次数。递减按键用的是单片机的 3.6 口。当此按键按下一次就会使 P1 口所有的输 出端口就会变化。递增按键用的是 3.7 口,工作过程同递减按键 3.6 口。按键电路如图 3.1.3 所示:图 3.3 按键连接图3.4 、单片机复位部分图 3.4 复位连接图上电后5V电压通过C向R电阻充电,这时在89C51的复位端就会形成一个 负的电压脉冲。 这时单片机就认为给它一低的电平信号告诉它要复位了。 当振荡 器复位器件时,要保持RST脚两个机器周期的高
27、电平时间。ALE/PROG当访问外 部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲 信号,此频率为振荡器频率的 1/6 。因此它可用作对外部输出的脉冲或用于定时 目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如 想禁止ALE的输出可在SFR8EB地址上置0。此时,ALE只有在执行 MOV,MOVC 指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。本电路采用的是上电自动复位,不需要手动按动按钮去人 工复位。在复位有效期间,
28、ACE PSEN也输出高电平,REST俞入端返回低电平以 后单片机从 0 地址开始执行程序。3.5 、继电器控制电路部分继电器有线圈 , 常开触点 ,常闭触点。常开触点在线圈不通电的情况下是断开 的,当线圈中有电流经过时 ,常开触点闭合 ;常闭触点在线圈不通电的情况下是闭 合的, 当线圈中有电流经过时断开。 本设计用到的是继电器的常开触点 ,即在继电 器线圈没有电流经过时是断开的状态 , 当继电器线圈中有电流经过时闭合导通。 从而实现弱电控制强电 ,单片机是弱电器件 ,一般情况下它的工作电压为 5 V , 电 风扇工作所需电压为 220 V , 属于强电,强电不能和弱电有任何电器接触 ,防止
29、强电进入到单片机内 , 继电器起到隔离作用。 由于单片机是一个弱电器件 , 它的工 作电压是5 V ,驱动电流在mA级以下,而现在要把它用于一些大功率场合,控制 电风扇,显然是不行的。所以 ,就要有一个环节来衔接 ,这个环节就是所谓的“功 率驱动” , 继电器驱动就是一个典型的、简单的功率驱动环节。继电器驱动就是 单片机与其他大功率负载接口 , 起到控制作用 , 三极管起到放大作用。 这里继电器 由相应的三极管来驱动,当温度高于20 C时,给单片机一个命令,set b P2. 7 , 单片机 P2. 7 引脚输出高电平 ,三极管导通,继电器线圈得电有电流经过 ,常开触 点闭合,电风扇电路接通,
30、电风扇开始转动。温度低于20 C时,执行CLRP2. 7 , 单片机 P2. 7 引脚输出低电平 ,三极管截至,继电器线圈中没有电流经过 ,常开触 点保持原断开状态 , 电风扇电路断路 , 电风扇不能转动。 继电器线圈两端反相并联 的二极管起到吸收反向电动势的功能 ,保护相应的驱动三极管。断电器自动控制 电路图如图 2 所示。实现自动控制时先把开关 S1 闭合。图 3.5 继电器自动控制电路3.6 、数模转换部分DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流) 输出的转换。其主要参数如下:分辨率为8位,转换时间为1卩s,满量程误差为土 1LSB参考电压为(+10-1
31、0)V,供电电源为(+5+15)V,逻辑电平输入与 TTL兼容。从图1-1中可见,在DAC083中有两级锁存器,第一级锁存器称为输 入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存 信号也称为通道控制信号 /XFER图 3.6 DAC0832 引脚图该 D/A 转换器为 20 引脚双列直插式封装,各引脚含义如下:(1) D7D0转换数据输入。(2) CS片选信号(输入),低电平有效。(3) ILE 数据锁存允许信号(输入) ,高电平有效。(4) WR1第一信号(输入),低电平有效。该信号与ILE信号共同控 制输入寄存器是数据直通方式还是数据锁存方式:当 ILE=1和X
32、FER=0寸, 为输入寄存器直通方式;当 ILE=1 和 WR1 =1时,为输入寄存器锁存方式。(5) WR2 第 2写信号(输入), 低电平有效 .该信号与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式:当WR2=0和XFER=0寸,为DAC寄存器直通方式;当 WR2=和XFER=0寸,为DAC寄存器锁存方式。(6) XFER数据传送控制信号(输入),低电平有效。7)Iout2 电流输出“ 1”。当数据为全“ 1”时,输出电流最大; 为全“0”时输出电流最小。(8) I(out2 电流输出“ 2”。DAC转换器的特性之一是:Iout1 +Iout2= 常数。(9) Rfb 反馈电
33、阻端既运算放大器的反馈电阻端,电阻(15KQ )已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在 两个电流输出端接运算放大器, Rfb 即为运算放大器的反馈电阻。(10) Vref 基准电压,是外加高精度电压源,与芯片内的电阻网络相连接,该电压可正可负,范围为-10V+10V.(11)DGN数字地(12)AGN模拟地3.7 、缓冲与保护部分缓冲电路作用是把 D/A 数模转换集成电路输出的控制电压进行放大后去推 动LM317输出所要的电压。保护电路是由(R10 R11、R12)取样电阻和单片机 的 25 脚组成。工作原理是:当单片机检测到负载短路时,2
34、5脚的电压会发生变化这时单片机就认为负载短路迫使整机处于待机状态, 使输出电压为零从而保护 了三端稳压器不至于损坏,并且还避免了负载因短路在扩大故障范围。图3.7单片机和DAC0832直通方式输出连接图3.8 、自动调温电风扇的整体硬件电路220V市电经变压器将压后变成15V的交流电压,经整流电路后变成正负15V 左右的直流电压。(变压器是采用三抽头的) -15V 电压送到缓冲放大集成运放为 其提供负的工作电压。+15V直流电压经五伏稳压后变成稳定的 5V电压为单片机 和D/A数模转换集成电路提供工作电压。数模转换器是一个八位的D/A转换器件。 当输入的数据全为0时,其数控电源输出的电压接近
35、0V。当输入的数据全为1 时,其数控电源输出电压最高接近基准电压。基准电压值由VREF决定。此电路采用的基准电压是 15V 。当接通电源后 89C51 得到复位电压复位后, 内部开始执行程序, 而输出相应 的电压值。SW是开关按键,按一下次按键后整机处于待机状态,同时LED显示“OF”。电源无电压输出,按任意键可以开机。 SW2!输出电压递减调节按键, 当按一下SW2时,89C51单片机地16脚(P3.6 口)会得到一个变化的脉冲,这 个变化的脉冲送到单片机内部处理后由 P1 口的 1 到 8 脚输出递减电压的数据, 直接送到数模转换集成电路的 A1-A8 端子(也就是 5-12 脚),电压递
36、减数据经 D/A 集成电路转换后,由 4 脚输出一个控制电压。这个控制电压直接送到集成运 放TL082,经TL082反相放大后,直接推动LM317三端稳压器输出相应的电压值。从而实现数控电压的无触点调节。并且由89C51单片机的内部输出显示电压的数 据电压去推动V1, V2三极管的导通,从而驱动LED数码管显示相应的输出电压 值。SW3按键(电压递增调节)与电压递减调节的工作原理相反。当刚开机时由于单片机要初始化 (复位)这一瞬间单片机输出的数据不受控制,从而会导致LM317输出一个高的电压,会使用电器(负载)损坏。为了防止 这一现象的发生,从而设置了 V3( PNP保护三极管。当单片机初始化
37、时,各端 口的电压为低电平,这时V3导通,继电器得到工作电压,使继电器的触点断开, 从而切断了输出电压, 保护了用电器不被瞬间输出的高电压损坏。 当复位后, P2.5 口恢复了高电平,这时 V3截止,继电器得不到工作电压而恢复到常闭状态,这 时就输出正常的电压到用电器。当用电器(负载)短路或过载现象时,会到造成输出电压大幅度下降,此电 压经取样电路后的电压也会下降很多,这时 P2.4 口的电位也随之降低。程序立 即检测到P2.4这一变化。立即使P2.5 口为低电平从而使V3导通,继电器工作 切断输出电压。 这时整机也转入待机状态, 直至故障排除后才能重新开机, 否则 整机将一直处于待机状态 。
38、整体电路结构如图 3.8 所示:0IBJL4Jus-up賀AIIffKtnBTT1T1T 亍儿慚 J;.L图3.8整体电路结构图4、软件设计4.1 、主流程序设计主程序设计流程如图 4.1 所示:图 4.1 主程序流程图功能介绍:单片机复位后,进行初始化工作,然后进入按键功能模块,最后 完成工作。初始化中,将 DS18B20内部RAM包括按键,默认为控制状态,温 度设定为25C。加减按键同时按下进入温度设定状态,然后按加或减按键进行 温度设定,然后再次同时按加减键退出。4.2 、总程序调用读温度子程序并初始化 DS18B20调用显示当前温度将现场实际温度传递给 A 比较当前的温度与设定的温度是
39、否相开启电风扇TEMPER_L EQU 29H; TEMPER_H EQU 28H; FLAG1 EQU 38H; FLAG2 EQU 01H;ORG 0000HAJMP START;ORG 0030HSTART:MOV 2FH,#25; SETB P2.1 ;CLR FLAG2 mov sp,#60h;duqu:LCALL GET_TEMPERLCALL DISPMOV A,29H;CJNE A,2FH,LL1; 等CLR P2.0;SJMP ANJIAN用于保存读出温度的低 8 位用于保存读出温度的高 8 位DS18B20标志位设定状态标志位转入主程序设定高于 25 度为温度过高MAIN:
40、MOV a,2FH ;存储的温度 25 度MOV b,#10 ; div ab取出十位和个位ORL A,#00110000BMOV 41H,a ;MOV 42H,b ;MOV A,42HORL A,#00110000B;MOV 42H,AMOV a,2FH十位个位转化成 ASCII 码MOV b,#100 ; div abORL A,#00110000B MOV 40H,a ;LL1:SETB P2.0;ANJIAN: LCALL DISPMOV A,P3 ;ANL A,#0FH ; sheding:CJNE A,#0CH,jia ;ACALL DELAY100CJNE A,#0CH,jia
41、; setb flag2 ;sjmp duqujia: CJNE A,#0EH,jian ;ACALL DELAY100CJNE A,#0EH,jian ; JNB FLAG2,DUQU ;MOV A,2FH ;关闭电风扇读取当前按键的值屏蔽高位加减按键一起按就进入温度设定状态消除键抖动加减按键一起按就进入温度设定状态启动设定加处理消除键抖动加处理在加减键没有同时按下的时候, 只按加按键时不执行任何功能,并跳到读取当前温度先读取原先设定的温度值INC A原先设定的温度值加 1,原先设定的温度值减 1,当设定的温度值不能保存当前设定的温度加减按键一起按就保存温度设定状态 并消除键抖动加减按键一起
42、按就保存温度设定状态 并关闭设定MOV 2FH,A;SJMP BAOCUNjian: CJNE A,#0DH,duqu ;ACALL DELAY100 ;CJNE A,#0DH,duqu ;JNB FLAG2,DUQUMOV A,2FH;DEC A ;超过-25MOV 2FH,A;baocun:CJNE A,#0CH,TUICHU; 退出设定ACALL DELAY100;CJNE A,#0CH,TUICHU; 退出设定CLR flag2 ;SJMP QUIT将当前设定的温度值保存减处理消除键抖动减处理在加减键没有同时按下的时候, 只按 加按键时不执行任何功能, 并跳到读 取当前温度先读取原先设
43、定的温度值TUICHU:CPL P2.1; 等待退出设定状态LCALL DELAY100LCALL DELAY100LCALL DELAY100LCALL DELAY100LCALL DELAY100SJMP BAOCUNQIUT:LCALL DISPLJUMP MAINDISP:JNB FLAG2,DQMOV A,2FH;SJMP XSDQ:mov a,29H;XS: mov b,#10 ;div abMOV DPTR,#WORDTABMOVC A,A+DPTRMOV P0,ACLR P2.7;SETB P2.6SETB P2.5LCALL DELAY100SETB P2.7MOV A,BM
44、OV DPTR,#WORDTABMOVC A,A+DPTRMOV P0,ACLR P2.6;SETB P2.7SETB P2.5LCALL DELAY100SETB P2.6RETGET_TEMPER:LCALL INIT_1820;JB FLAG1,TSS2RET ;INIT_1820:SETB P3.2NOP显示设定温度值显示当前温度值取出十位和个位开启个位数码管显示开启十位数码管显示先复位 DS18B20CLR P3.2MOV R0,#06BH;MOV R1,#03HTSR1:DJNZ R0,TSR1MOV R0,#6BHDJNZ R1,TSR1SETB P3.2;NOPNOPNOPMO
45、V R0,#25HTSR2:JNB P3.2,TSR3;DJNZ R0,TSR2LJMP TSR4 ; 延时TSR3:SETB FLAG1 ;LJMP TSR5TSR4:CLR FLAG1 ;LJMP TSR7TSR5:MOV R0,#06BHTSR6:DJNZ R0,TSR6 ;TSR7:SETB P3.2RETWRITE_1820:主机发出延时 537 微秒的复位低脉冲然后拉高数据线等待 DS18B20 回应置标志位 ,表示 DS1820 存在清标志位 ,表示 DS1820 不存在时序要求延时一段时间一共 8 位数据MOV R2,#8;CLR CWR1:CLR P3.2MOV R3,#5D
46、JNZ R3,$RRC AMOV P3.2,C MOV R3,#21 DJNZ R3,$ SETB P3.2NOPDJNZ R2,WR1SETB P3.2RETTSS2:; 判断 DS1820 是否存在 ?若 DS18B20 不存在则返回MOV A,#0CCH ;LCALL WRITE_1820跳过 ROM 匹配MOV A,#44H ;LCALL WRITE_1820发出温度转换命令LCALL DELAY100;结束延时 750微秒以上,等待 18B20 A/D 转换LCALL INIT_1820;准备读温度前先复位MOV A,#0CCH ;LCALL WRITE_1820跳过 ROM 匹配M
47、OV A,#0BEH ;LCALL WRITE_1820发出读温度命令LCALL READ_18200;RET将读出的温度数据保存到 28H/29HREAD_18200:MOV R4,#2 ;将温度高位和低位从 DS18B20中读出MOV R1,#29H ;低位存入 29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOV R2,#8RE01:CLR CSETB P3.2NOPNOPCLR P3.2NOPNOPNOPSETB P3.2MOV R3,#08RE10:DJNZ R3,RE10MOV C,P3.2MOV R3,#21RE20:DJNZ R3,RE20RRC AD
48、JNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RETWORDTAB: DB 3FH,06H,5BH,4FH ;0,1,2,3DB 66H,6DH,7DH,07H ;4,5,6,7DB 7FH,6FH,77H,7CH ;8,9,A,BDB 39H,5EH,79H,71H ;C,D,E,FDB 80H,00H,40H;小数点 ,暗,负号DELAY100:MOV R4,#100 ;100 毫秒延时子程序,占用 R4、R5D222:MOV R5,#248DJNZ R5,$DJNZ R4,D222RETDELAY7:SETB P1.7MOV R3,#120FRT:ACALL DELAY100CPL P1.6DJNZ R3,FRTSETB P1.6RETDELAY500:MOV R4,#248DA222: MOV R5,#248DJNZ R5,$DJNZ R4,DA222RETEND结束语在写毕业论文时我深深体会到搞设计的艰辛与困难。电风扇我们都很熟悉, 但要想把单片机技术运用到电风扇上是不简单的事情。在设计过程中,遇到了如何把实现平滑的调速问题。 由此我想到了利用现场 的温度与设定的温度之间的差值,如果差值愈大则输出的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一疫情朗诵活动方案
- 六一美术开业活动方案
- 六一节活动策划方案
- 六一赠书活动方案
- 六年级计算竞赛活动方案
- 药品检验考试试题及答案
- 药剂员考试试题及答案
- 药剂考试试题及答案解析
- 药店药士考试试题及答案
- 六盘水美食活动方案
- 《颅内和椎管内肿瘤》
- 拆零药品登记表
- GB/T 8478-2020铝合金门窗
- GB/T 11363-2008钎焊接头强度试验方法
- GB 12995-2006机动轮椅车
- 40篇短文搞定高考英语3500词
- 【山东】国际足球运动小镇概念规划方案
- 海氏(hay)职位分析法-介绍、实践与评价合集课件
- 有趣的英汉互译-课件
- 步进式加热炉耐材砌筑施工方案
- GB-T12232-2005- 通用阀门 法兰连接铁制闸阀
评论
0/150
提交评论