基于单片机的智能电风扇控制系统毕业设计
更新时间:2024-05-16 20:54:01 阅读量: 综合文库 文档下载
四川信息职业技术学院毕业设计任务书 学 生 姓 名 彭涛 设计题目 指导教师姓名 张万良 职 称 副教授 学号 1219042 班级 电信 12-1 专业 电子与信息工程技术 基于单片机的智能电风扇控制系统 工作单位及所从事专业 信息学院电子工程系 联系方式 13881201845 学生联系方式 18384574800 设计内容: 1、单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。 2、用户可以在一定范围内设置电风扇的最低工作温度和最高工作温度。当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。 3、温度显示在LED数码管上 4、设计硬件电路,并制作实物。 5、撰写毕业设计论文。 进度安排: 要有较为详细的时间安排(时间具体到周); 9.15-9.30(4-5周)确定任务,完成资料收集归纳,确定设计方案。 10.1-10.20(6-8周)完成电路原理图绘制,绘制PCB图,确定元器件的参数型号和数量。 10.21-11.3(9-10周)调试软件,完成系统仿真。 11.4-11.17(11-12周)完成硬件焊接和硬件调试。 11.18-12.1(13-14周)完成软硬件联调测试。 12.2-12.15(15-16周)完成论文写作,准备答辩材料答辩。 主要参考文献、资料(写清楚参考文献名称、作者、出版单位): [1] 曹巧媛.单片机原理及应用.北京:电子工业出版社,2002.2 [2] 王伦.电风扇原理与维修技术[M].北京:新时代出版社,1999 [3] 张毅刚.新编MCS-51单片机应用设计.哈尔滨工业大学出版社,2006,10 [4] 梁廷贵、王裕琛.可控硅触发电路语音电路分册[M].北京:科学技术文献出版社,2003 教研室负责人: 年 月 日 审 批 意 见 备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份
四川信息职业技术学院毕业设计说明书
目 录
摘 要 ................................................................. 1 第1章 概述 ........................................................... 2
1.1 STC89C52单片机简介 ............................................ 2 1.2 本设计任务和主要内容 ........................................... 2 第2章 方案选择 ....................................................... 4
2.1 温度传感器的选用 ............................................... 4 2.2 控制核心的选择 ................................................. 5 2.3 显示电路 ....................................................... 5 2.4 调速方式 ....................................................... 6 2.5 控制执行部件 ................................................... 6 第3章 硬件设计 ....................................................... 7
3.1 系统总体设计 ................................................... 7 3.2 控制装置原理 ................................................... 7 3.3 温度检测和显示电路 ............................................. 8
3.3.1 DS18B20的温度处理方法 ........................................................................................... 8
3.3.2 温度传感器和显示电路组成 ........................................................................................ 9
3.4 电机调速电路 .................................................. 10
3.4.1 电机调速原理 .............................................................................................................. 10 3.4.2 电机控制模块设计 ...................................................................................................... 11
第4章 软件设计 ...................................................... 13 4.1 主程序 ........................................................ 13 4.2 数字温度传感器模块和显示子模块 ................................ 14 4.3 电机调速与控制子模块 .......................................... 15 总 结 ................................................................ 17 附录1 主要程序代码 ................................................... 19 附录2 仿真图 ......................................................... 35 附录3 实物图 ......................................................... 36 附录4 元件清单 ....................................................... 37
I
四川信息职业技术学院毕业设计说明书
摘 要
本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统STC89C52单片机作为控制平台对风扇转速进行控制。可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。所设高低温值保存在温度传感器DS18B20内部E2ROM中,掉电后仍然能保存上次设定值,性能稳定,控制准确。
关键词 单片机;温度传感器;智能控制。
第1页
四川信息职业技术学院毕业设计说明书
第1章 概述
1.1 STC89C52单片机简介
STC89C52是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内4bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置用8位中央处理器(CPU)和Flash存储单元,功能强大。STC89C52单片机可灵活应用于各种控制领域。
STC89C52单片机提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时、计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C52单片机可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时、计数器,串行通行口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
1.2 本设计任务和主要内容
本文以STC89C52单片机为核心,通过数字温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现“温度高、风力大、温度低、风力弱”的性能。另外,通过红外发射和接收装置及按键实现各种功能的启动与关闭,并且可对各种功能实现遥控,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。
本设计主要内容如下:
(1)风速设为从低到高共2个档位,可由用户通过键盘设定。 (2)每当温度低于下限值时,则电风扇风速关闭。
第 2 页
四川信息职业技术学院毕业设计说明书
(3)每当温度在下限和上限之间时,则电风扇转速缓慢。 (4)每当温度高于上限值时,则电风扇风速全速运转。
第 3 页
四川信息职业技术学院毕业设计说明书
/*************读取温度的值 读出来的是小数***************/
uint read_temp() {
uint value; uchar low;
//在读取温度的时候如果中断的太频繁了,就应该把
中断给关了,否则会影响到18b20的时序
init_18b20(); EA = 0;
write_18b20(0xcc); //跳过64位ROM write_18b20(0x44); //启动一次温度转换命令 EA = 1;
delay_uint(50); init_18b20(); EA = 0;
write_18b20(0xcc); //跳过64位ROM write_18b20(0xbe); //发出读取暂存器命令
low = read_18b20(); //读温度低字节 value = read_18b20(); //读温度高字节 EA = 1; value <<= 8; value |= low;
//把温度的高位左移8位
//把读出的温度低位放到value的低八位中
//500us //初始化18b20
//初始化18b20
value *= 0.625; //转换到温度值 小数 return value; }
第 24 页
//返回读出的温度 带小数
四川信息职业技术学院毕业设计说明书
/*************定时器0初始化程序***************/ void time_init() {
EA = 1; //开总中断
TMOD = 0X11; //定时器0、定时器1工作方式1 ET0 = 1; TR0 = 1; ET1 = 1; TR1 = 0; }
/********************独立按键程序*****************/ uchar key_can;
void key() {
static uchar key_new;
key_can = 20; //按键值还原 P2 |= 0x07;
if((P2 & 0x07) != 0x07) {
if(key_500ms == 1) { }
第 25 页
//开定时器0中断 //允许定时器0定时 //开定时器0中断 //允许定时器0定时
//按键值
//独立按键程序
//按键按下
//连加
key_500ms = 0; key_new = 1;
四川信息职业技术学院毕业设计说明书
delay_1ms(1); //按键消抖动
if(((P2 & 0x07) != 0x07) && (key_new == 1)) {
//确认是按键按下
key_new = 0; switch(P2 & 0x07) { case 0x06: key_can = 3; break; case 0x05: key_can = 2; break; case 0x03: key_can = 1; break; }
flag_lj_en = 1; //连加使能
}
}
else { if(key_new == 0) { key_new = 1; write_eeprom(); //保存数据 flag_lj_en = 0;
//关闭连加使能 flag_lj_3_en = 0; //关闭3秒后使能 key_value = 0;
//清零
key_time = 0; key_500ms = 0;
}
}
第 26 页
得到k2键值得到k3键值得到k4键值 // // //
四川信息职业技术学院毕业设计说明书
}
/****************按键处理数码管显示函数***************/
void key_with() {
if(key_can == 1) //设置键 { }
if(menu_1 == 1) { 10
if(t_high > 990)
t_high = 990;
第 27 页
f_pwm_l = 30; menu_1 ++; if(menu_1 >= 3) { }
menu_1 = 0; smg_i = 3;
//数码管显示3位
//设置高温报警
smg_i = 4; //数码管显示4位
if(key_can == 2) {
if(flag_lj_3_en == 0)
t_high ++ ;
//按键按下未松开自动加三次
else
t_high += 10; //按键按下未松开自动加三次之后每次自动加
四川信息职业技术学院毕业设计说明书
10
}
if(key_can == 3) {
if(flag_lj_3_en == 0)
t_high -- ;
//按键按下未松开自动减三次
else
t_high -= 10; //按键按下未松开自动减三次之后每次自动减
}
if(t_high <= t_low)
t_high = t_low + 1;
dis_smg[0] = smg_du[t_high % 10]; //取小数显示 dis_smg[1] = smg_du[t_high / 10 % 10] & 0xdf; //取个位显示 dis_smg[2] = smg_du[t_high / 100 % 10] ; //取十位显示 dis_smg[3] = 0x64;
//H
}
if(menu_1 == 2) { 加10
第 28 页
//设置低温报警
smg_i = 4; //数码管显示4位
if(key_can == 2) {
if(flag_lj_3_en == 0)
t_low ++ ;
//按键按下未松开自动加三次
else
t_low += 10;
//按键按下未松开自动加三次之后每次自动
四川信息职业技术学院毕业设计说明书
加10
}
if(t_low >= t_high)
t_low = t_high - 1;
if(key_can == 3) {
if(flag_lj_3_en == 0)
t_low -- ;
//按键按下未松开自动减三次
else
t_low -= 10;
//按键按下未松开自动加三次之后每次自动
}
if(t_low <= 10)
t_low = 10;
dis_smg[0] = smg_du[t_low % 10]; //取小数显示
dis_smg[1] = smg_du[t_low / 10 % 10] & 0xdf; //取个位显示 dis_smg[2] = smg_du[t_low / 100 % 10] ; dis_smg[3] = 0x3D;
//L
//取十位显示
} }
/****************风扇控制函数***************/ void fengshan_kz() {
// static uchar value; if(temperature >= t_high) {
第 29 页
//风扇全开
四川信息职业技术学院毕业设计说明书
}
TR1 = 1; pwm = 0;
else if((temperature < t_high) && (temperature >= t_low)) //风扇缓慢
{ }
else if(temperature < t_low) {
TR1 = 0; pwm = 1;
//关闭风扇
f_pwm_l = 60; TR1 = 1;
} }
/****************主函数***************/
void main() {
time_init(); //初始化定时器 temperature = read_temp();
//先读出温度的值
init_eeprom(); //开始初始化保存的数据 delay_1ms(650);
//先读出温度的值
temperature = read_temp();
dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示 dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取温度的个位显示
第 30 页
四川信息职业技术学院毕业设计说明书
dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示
f_pwm_l = 50; while(1) {
//按键程序
key();
if(key_can < 10) { }
if(flag_300ms == 1) //300ms 处理一次温度程序 {
flag_300ms = 0;
temperature = read_temp(); //先读出温度的值 if(menu_1 == 0) {
smg_i = 3; key_with();
//设置报警温度
dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示
dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取温度
的个位显示
dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示
}
第 31 页
}
}
fengshan_kz(); //风扇控制函数
四川信息职业技术学院毕业设计说明书
}
/*************定时器0中断服务程序***************/
void time0_int() interrupt 1 {
static uchar value; TH0 = 0xf8;
TL0 = 0x30; //2ms display(); value++; if(value >= 150) { }
if(flag_lj_en == 1) //按下按键使能 {
key_time ++;
if(key_time >= 250) //500ms {
key_time = 0;
key_500ms = 1; //500ms key_value ++; if(key_value > 3) {
key_value = 10;
flag_lj_3_en = 1; //3次后1.5秒连加大些
第 32 页
//定时2ms中断一次
//数码管显示函数
value = 0; flag_300ms = 1;
四川信息职业技术学院毕业设计说明书
} }
}
}
/************定时器1用做单片机模拟PWM 调节***********************/
void Timer1() interrupt 3 //调用定时器1 {
static uchar value_l;
TH1=0xfe; // 定时10ms中断一次 TL1=0x0c; //500us if(pwm==1) { } else {
value_l+=3;
if(value_l > 100 - f_pwm_l) {
第 33 页
value_l+=3;
if(value_l > f_pwm_l) //高电平 {
value_l=0;
if(f_pwm_l != 0) }
pwm=0;
//低电平
四川信息职业技术学院毕业设计说明书
} }
}
value_l=0; pwm=1;
第 34 页
四川信息职业技术学院毕业设计说明书
附录2 仿真图
第 35 页
四川信息职业技术学院毕业设计说明书
附录3 实物图
第 36 页
四川信息职业技术学院毕业设计说明书
附录4 元件清单
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 名称 电阻 电容 晶振 数码管 电源接口 电源开关 单片机 三极管 电容 独立按键 三极管 电阻 规格 10K 10uF 12M DS04 Header2 sw-灰色 U1 8550 20 SW-PB 8550 2K 编号 R14 C1 Y1 DS1 P2 SW1 U1 Q5 C2,C3 S1,S2,S3,S4 Q1,Q2,Q3,Q4 R4,R5,R6,R7,R13,R15 R1,R2,R3,R8,R9,R10,R11,R12 U2 数量 1 1 1 1 1 1 1 1 2 4 4 6 8 1 电阻 1K 温度传感器 18B20 第 37 页
四川信息职业技术学院
毕业设计评语
学生姓名 设计题目 彭涛 学号 1219042 班级 电信12-1 专业 指导教师 电子信息工程技术 张万良 基于MAX1898的手机充电器的设计 指导老师考核意见 等级: 指导教师: 答辩 评语 总评 成绩 备注 等级: 答辩老师: 等级: 考核小组组长: 以上两项成绩综合后,指导老师考核成绩占总分的60%,答辩成绩占总分的40%,按五级记分(优、良、中、及格、不及格)。
正在阅读:
基于单片机的智能电风扇控制系统毕业设计05-16
2018年中考英语特训总复习第三部分中考专项突破篇第34课时阅读理解(精练)试题11-15
教师个人师德师风总结07-24
材料力学 弯曲应力答案03-08
股权转让合同-融资类12-27
2017-2018学年天津市六校联考高一上学期期末联考化学试题word文04-26
科技节手抄报02-16
浅谈幼儿对音乐兴趣的培养03-10
2016年秋季版七年级道德与法治下册第四单元走近法治天地评价检测04-22
《医院科室协调机制》05-31
- 计算机试题
- 【2012天津卷高考满分作文】鱼心人不知
- 教育心理学历年真题及答案--浙江教师资格考试
- 20180327-第六届“中金所杯”全国大学生金融知识大赛参考题库
- 洪林兴达煤矿2018年度水情水害预测预报
- 基本要道讲义
- 机电设备安装试运行异常现象分析与对策
- 《有机化学》复习资料-李月明
- 非常可乐非常MC2--非常可乐广告策划提案 - 图文
- 2011中考数学真题解析4 - 科学记数法(含答案)
- 企业人力资源管理师三级07- 09年真题及答案
- 基于单片机的光控自动窗帘控制系统设计说明书1 - 图文
- 20160802神华九江输煤皮带机安装方案001
- (共53套)新人教版一生物必修2(全册)教案汇总 word打印版
- 2014行政管理学总复习
- 中国银监会关于加强地方政府融资平台贷款风险监管的指导意见
- 民宿酒店核心竞争与研究
- 游园活动谜语大全2012
- 河南省天一大联考2016届高三英语5月阶段性测试试题(六)(A卷)
- 小型超市管理系统毕业论文详细设计4
- 毕业设计
- 电风扇
- 单片机
- 控制系统
- 基于
- 智能
- 2015年全国中学生物理竞赛
- 医院门诊系统介绍 - 图文
- 医院感染管理“三基”训练指南
- 浅谈如何构建小学三年级快乐作文课堂-精选模板
- 王崧舟《荷花》三下课堂实录及评析
- 2015-2020年中国甲醇市场运行状况分析与投资风险研究报告 - 图文
- 汽车养护用品项目可行性研究报告(目录)
- 柞水十三五特色产业扶贫规划
- OptiSystem仿真模型案例
- 渗滤液处理站各项制度
- 博弈论完整版
- 2011.9.17公务员考试 - 图文
- 三年级语文上册全册整套导学案
- 人教版数学九年级(上)第22章:二次函数 单元综合测试试题(含
- 反洗钱领导小组及反洗钱相关部门职责
- 过程控制 第一到三章 作业
- 生死抉择观后感
- 环境心理学任务要求 - 图文
- 电路实验报告-电压源和电流源的等效变换-20170221
- 坚持世界眼光 树立国际标准 增创本土优势加速推动经济社会发展新