求毕业设计:基于AT89C51的智能电风扇控制系统

LHSIX 2009-05-22 10:47:09
本人没分了啊! 求那位好人帮帮忙吧!
...全文
333 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
空影 2009-08-27
  • 打赏
  • 举报
回复
部分元件:
四个控制按键S1—S4,一个四位数码管;三个双色共阴(红/绿)发光二极管VD1—VD3;
两个温度传感器DS18B20(如果有性价比更好也可);一个单片机89C/S52-51 ;NPN三极管
***************************************************************************
实现功能两种如下:
一、 PWM控制:两个温度传感器,分别探测两点(A/B)的温度。传感器的温度变化与输出控制成正比。两路(A/B)分别输出,每路都以PWM占空比的形式控制NPN三极管来调节12V风扇的转速。
二、 开关控制:两个温度传感器,分别探测两点(A/B)的温度。当温度低于设定值时,停止工作。当温度高于设定值时开始工作。
两种工作模式用一个开关(两脚/三脚)来转换。VD3发光二极管用于显示工作模式,红色代表PWM控制;绿色代表开关控制
面板数码管交替循环显示两点(A/B)的实际度温,工作如下:双色发光二极管VD1(绿色)点亮,数码管显示A点温度3-5秒后;VD1熄灭,VD2(绿色)点亮,数码管显示B点温度3-5秒后,VD2熄灭;VD1(绿色)点亮,数码管显示A点温度3-5秒;交替循环。
双色发光二极管VD1/VD2:红色点亮时有两种情况,一种为报警提示;另一种为设定提示;绿色点亮时正常工作。
VD1点亮时证明A路工作或报警及设定,VD2点亮时证明B路工作或报警及设定。
***************************************************************************
PWM控制功能:两路分为A/B两路
A路:传感器控制可以设定-20到+125度,精准度为1度。设定温度分为报警,正常,停止三种模式。
例如:一台设备(散热风扇)正常工作温度为25度至40度。
报警设定:设定报警温度低温为23度;高温为42度,当设备工作温度低于或高于设定报警温度时,蜂鸣器‘滴’‘滴’报警提示,双色发光二极管VD1红色闪烁。
正常工作设定:设定低温为28度;高温为35度,当设备温度在此设定值之间工作时,以PWM占空比的形式控制工作温度,当设备温度到了低温设定值时PWM控制转速为正常转速的25%运行,当温度到了高温设定值时PWM控制转速为最高转速的100%运行。
停止工作设定:当设备温度比正常工作温度28度设定值低时,风扇停工作。只有温度到了正常温度28度设定值时,设备以正常转速的25%开始起转运行,温度增加转速也增加成正比控制。
B路: 同上
—————————————————————————————————————
开关控制功能:
A路:传感器控制可以设定-20到+125度,精准度为1度。设定温度分为报警,正常工作两种。
例如:一台设备(散热风扇)正常工作温度为25度至40度。
报警设定:设定报警温度低温为23度;高温为42度,当设备工作温度低于或高于设定报警温度时,蜂鸣器‘滴’‘滴’报警提示,双色发光二极管VD1红色闪烁。
正常工作设定:设定工作温度为30度,工作时有两个延时温度(低延时/高延时)可以设定。当温度低于低于低延时温度时停止工作,当温度高于高延时温度时开始工作。
B路: 同上

***************************************************************************

具体功能实现:

数码管

面板显示:
A/B路显示:如果是零下10度,数码管显示为-10。C
具体数码管位数显示A-g为负;B-bc为1;C-abcdef为0;C-h为小数点;D-deg为C(度)。
如果是99度,数码管显示为99。C
具体数码管位数显示B-abcdfg为9;C-abcdfg为9;C-h为小数点;D-d,e,g为C(度)。
如果是125度,数码管显示为125
具体数码管位数显示B-fe为1;C-abdeg为2;D-acdfg为5。
修改后:
如果是125度,数码管显示为125。C
具体数码管位数显示A-fe为1;B-abdeg为2;C-acdfg为5;D-d,e,g为C(度)。
PWM按键控制功能:
S1为选择键,选择A路/B路;S2为设置键;S3为增加键;S4为减少键。
具体如下:
设定:
按S2设置键自动先选择A路,如果要选B路,只需要按S1选择键,默认选择A路。按S2设置VD1发光二极管红色点亮,数码管A-fe点亮,按S3/S4键来设定高温报警值;再次按下S2键,数码管A-bc点亮,按S3/S4键来设定低温报警值;再次按下S2键,数码管A-a点亮,按S3/S4键来设定正常工作高温度值;再次按下S2键,数码管A-d点亮,按S3/S4键来设定正常工作低温度值;每次按S2设置键时自动保存新设定值。(B路设定)再次按下S2键,返回A路设定;数码管A-fe点亮,按S3/S4键来设定高温报警值;这时如果要设定B路,只需要按下S1选择键,VD1绿色点亮正常工作;VD2发光二极管红色点亮,B路设定,数码管A-fe点亮,按S3/S4键来设定高温报警值;再次按下S2键,数码管A-bc点亮,按S3/S4键来设定低温报警值;再次按下S2键,数码管A-a点亮,按S3/S4键来设定正常工作高温度值;再次按下S2键,数码管A-d点亮,按S3/S4键来设定正常工作低温度值;每次按S2设置键时自动保存新设定值。
*VD1红色亮证明A路可以设定,按S1键;VD2红色点亮证明B路可以设定。

开关按键控制功能:
S1为选择键,选择A路/B路;S2为设置键;S3为增加键;S4为减少键。
具体如下:
设定A路为例:
按S2设置键自动先选择A路,如果要选B路,只需要按S1选择键,默认选择A路。按S2设置VD1发光二极管红色点亮,数码管A-fe点亮,按S3/S4键来设定高温报警值;再次按下S2键,数码管A-bc点亮,按S3/S4键来设定低温报警值;再次按下S2键,数度码管A-agd点亮,按S3/S4键设定工作温度;再次按下S2键,数码管A-a点亮,按S3/S4键来设定高延时温度值;再次按下S2键,数码管A-d点亮,按S3/S4键来设定正常工作低延时温度值;每次按S2设置键时自动保存新设定值。(B路设定)再次按下S2键,返回A路设定;数码管A-fe点亮,按S3/S4键来设定高温报警值;这时如果要设定B路,只需要按下S1选择键,VD1绿色点亮正常工作;VD2发光二极管红色点亮,B路设定,数码管A-fe点亮,按S3/S4键来设定高温报警值;再次按下S2键,数码管A-bc点亮,按S3/S4键来设定低温报警值;再次按下S2键,数度码管A-agd点亮,按S3/S4键设定工作温度;再次按下S2键,数码管A-a点亮,按S3/S4键来设定高延时温度值;再次按下S2键,数码管A-d点亮,按S3/S4键来设定正常工作低延时温度值;每次按S2设置键时自动保存新设定值。
*低延时/高延时温度值最大只能与正常温度相差10温度。
*VD1红色亮证明A路可以设定,按S1键;VD2红色点亮证明B路可以设定。

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧