电风扇模拟控制系统设计_第1页
电风扇模拟控制系统设计_第2页
电风扇模拟控制系统设计_第3页
电风扇模拟控制系统设计_第4页
电风扇模拟控制系统设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 单片机原理与应用课单片机原理与应用课 程设计程设计 院 系 院 系 工业中心 班级 班级 姓名 姓名 王永安 路体力 指导老师 指导老师 王党利 时间 时间 2013 07 07 2 目录目录 1 设计题目 4 2 总体方案设计及分析 4 3 硬件原理图设计 4 4 软件流程图及程序设计 6 5 设计总结和心得体会 13 3 摘摘 要要 本次课程设计通过 keilC 软件和 Proteus 软件设计一个电风扇模拟控制系统设计 基 于 AT89C51 芯片实现了用四位数码管实时显示电风扇的工作状态 最高位显示风类 自 然风 显示 1 常风 显示 2 睡眠风 显示 3 后 3 位显示定时时间 动 态倒计时显示剩余的定时时间 无定时显示 000 设计一个 定时 键 用于定时时间 长短设置 设置一个 摇头 键用于控制电机摇头 设计过热检测与保护电路 若风扇电 机过热 则电机停止转动 电机冷却后电机又恢复转动 最终完成了设计任务 关键词 AT89C51 keilC 软件 Proteus 软件 4 一 设计题目 电风扇模拟控制系统设计一 设计题目 电风扇模拟控制系统设计 1 1 用 4 个 LED 显示电风扇的工作状态 1 2 3 4 四档风力 显示风类 自然风 常风 和 睡眠风 2 2 设计 自然风 常风 和 睡眠风 三个风类键用于设置风类 设计一个 摇头 键用于控制电机摇头 3 3 设计一个 定时 键 用于定时时间长短设置 4 4 设计过热检测与保护电路 若电风扇电机过热 则电机停止转动 蜂鸣器报警 电机冷却后电机又恢复转动 5 5 用 LCD 作为用户界面显示风扇运行模式等信息 6 6 其他功能 二 总体方案设计分析 讨论二 总体方案设计分析 讨论 1 1 程序说明 程序说明 为了提高单片机的工作效率 不让单片机的工作消耗在延时上 所以在考 虑单片几需要延时的时间里 单片机并不是做的无用功 仅仅是在执行消耗时间的 空指 令 而根据实际考虑出发 从本程序设计的思路来看 电机除了数码管显示和 PWM 调速部 分需要一定延时外 其他指令都是 uS 级的 可以忽略不计 所以可以将数码管显示和 PWM 调速部分做在一起 即数码管每一位显示需延时的几个毫秒的时间可以用来做处理 PWM 调 速功能使用 通过设定 改变脉宽从而调速 经过实验 本方法能够十分有效的节约单片机的资源 并且各项功能能够很好的 工作 2 2 程序功能说明 程序功能说明 功能总共有三个按键控制 功能键 加 定时 摇头 减 其 中 功能键 摇头 为多功能键 初始状态时 风扇不转 数码管显示 POFF 当第一次按 功能 加 时风扇处于 自然风 电机转速最快 当第二次按 功能 加 时风扇处于 常风 电机转速为中速 当第三次按 功能 加 时风扇处于 睡眠风 电机转速为低速 当风扇处于停止状态时 不可进入定时状态 只有当风扇运转时才能进入定时状态 当 按下 定时 键进入定时状态后 定时指示灯亮 功能键 加 键 为定时时间加 当按下 摇头 减 键时 为定时时间减 再次按下定时键时 定时功能启动 时间到 停止 并显示 POFF 风扇运转时按下摇头 即电机开始摇头 5 3 3 硬件原理图 硬件原理图 该图是通过 proteus7 0 仿真设计和模拟的结果 P0 P1 P2 P3 P0 P1 P2 P3 d1 d2 d3 d4 d5 d6 d7 d8 d1 d2 d3 d4 wei wei duan d2 d3 d4 d5 d6 d7 d8 duan XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C52 1B 1 1C 16 2B 2 2C 15 3B 3 3C 14 4B 4 4C 13 5B 5 5C 12 6B 6 6C 11 7B 7 7C 10 COM 9 U4 ULN2003A D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U2 74HC373 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U3 74HC373 R1 10k R2 10k R3 10k R4 500 R5 500 R6 10k R7 10k R8 10k 6 电风扇硬件控制系统 四 软件流程图及程序设计四 软件流程图及程序设计 include reg52 h include intrins h define uchar unsigned char define uint unsigned int sbit led P1 0 sbit duan P2 6 sbit wei P2 7 sbit k1 P3 6 功能键 加键 3 sbit k2 P3 4 定时功能键 1 sbit k3 P3 5 摇头键 减键 sbit pwm P2 1 sbit zz P2 1 sbit fz P2 2 uint t 50000 g 1 g 用来表是选的风功能 tt 定时的时间 uchar f biao1 0 sudd int tt 0 uchar kk 1 7 uint aa 5 才初始化函数 void init EA 1 ET0 1 TR0 1 TMOD 0X01 定时器 0 工作方式 1 16 位 TH0 65536 t 256 TL0 65536 t 256 uchar code sz 0 x3F 0 0 x06 1 0 x5B 2 0 x4F 3 0 x66 4 0 x6D 5 0 x7D 6 0 x07 7 0 x7F 8 0 x6F 9 0 x71 F 10 0 x5C o 11 0 x73 p 12 void delay uint xms uint i j for i xms i 0 i for j 50 j 0 j pwm 调速 兼作延时 void pwmdelay uchar qq pwm 1 8 delay 1 pwm 0 delay qq pwm 1 当风扇停止时显示的函数 void display2 P0 sz 12 duan 1 duan 0 P0 0 xfe wei 1 wei 0 delay 10 pwmdelay sudu P0 sz 0 duan 1 duan 0 P0 0 xfd wei 1 wei 0 delay 10 pwmdelay sudu P0 sz 10 duan 1 duan 0 P0 0 xfb wei 1 wei 0 delay 10 pwmdelay sudu P0 sz 10 duan 1 duan 0 P0 0 xf7 wei 1 9 wei 0 delay 10 pwmdelay sudu P0 0 xff wei 1 wei 0 P0 0 x00 关闭数码管显示防止闪烁 duan 1 duan 0 显示 函数 void display uint shu uchar qian bai shi ge qian biao1 bai shu 100 shi shu 100 10 ge shu 10 P0 sz qian duan 1 duan 0 P0 0 xfe wei 1 wei 0 delay 1 pwmdelay sudu P0 sz bai duan 1 duan 0 P0 0 xfd wei 1 wei 0 delay 1 pwmdelay sudu 10 P0 sz shi duan 1 duan 0 P0 0 xfb wei 1 wei 0 delay 1 pwmdelay sudu P0 sz ge duan 1 duan 0 P0 0 xf7 wei 1 wei 0 delay 1 pwmdelay sudu P0 0 x00 关闭数码管显示防止闪烁 duan 1 duan 0 P0 0 xff wei 1 wei 0 键盘程序 void kescan uchar biao2 一键多功能的标号 if k1 0 功能键 一键多功能键自然风 常风 睡眠风 停止 delay 50 if k1 0 pwm 0 关闭电机 while k1 等待释放按键 biao1 功能选择 if biao1 4 只允许四种状态 biao1 0 11 if biao1 0 功能 0 时 不可以设置定时功能 if k2 0 定时功能键 按一次设置 第二次确认 delay 50 if k2 0 tt 000 如果进入定时功能 则显示全部清零 TR0 0 确认按键俺下后关闭定时器 while k2 等待释放按键 biao2 1 while biao2 如果不再次按下 K2 则将一直保持设置状态 led 0 if k1 0 delay 50 if k1 0 while k1 tt tt 10 if tt 990 tt 0 if k3 0 delay 50 if k3 0 while k3 tt tt 10 if tt0 如果进入定时设置后没有设置时间则不能退出 定时功能 biao2 0 TR0 1 设置好定时功能后开启定时器 led 1 TR0 1 开启定时器 功能函数 void gongnen while biao1 0 pwm 0 tt 0 kescan display2 if biao1 1 功能 1 自然风 sudu 0 if biao1 2 功能 2 常风 sudu 4 if biao1 3 功能 3 睡眠风 sudu 10 13 void main init while 1 kescan display tt gongnen 定时器 0 中断函数 void t 0 interrupt 1 TH0 65536 t 256 TL0 65536 t 256 f if f 20 f 0 tt if tt 0 如果定时到了 显示为 000 电机关闭 tt 000 biao1 0 使电机不转 TR0 0 五 设计总结和心得体会五 设计总结和心得体会 课程设计是培养学生综合所学知识 发现 提出 分析和解决实际问题 锻炼自身能 力的重要培养 是对我们学生能力的具体陪练和考察过程 短短一周的时间 我们做完了我们小组的单片机实验 感触很深 我们小组做的是 电风扇模拟控制系统设计 对我们很有挑战 虽然在别人眼中我们的实验很简单 不过 我们还是遇到了很多困难 随着科学发展的日新月异 单片机已成为当今计算机应用中活跃的领域 在我们的生 活中可以说是无处不在 因此作为电力系统的学生不得不掌握它 这次的实验设计 对我 14 们是一种挑战 更是一种考验 怎么才能找到课堂所学与实际应用的最佳结合点 怎样才 能使自己更专业化 怎样才能使自己的设计更具有序性 而不会忙无一用 这都是我们所 要考虑和努力的 这次的课程设计我学到很多东西 学到了怎么去制定设计 怎么去实现 设计 并掌握了在执行过程中怎样克服心理上的不良情绪 不仅巩固了所学的知识 而且 学习到了许多书上所没有的东西 我从中掌握了系统的研究方法 可以进行一些简易的编 程 在这次设计任务中 通过我们三人的共同努力 老师的精心指导 还有和在网上找到 的资料 我们主要掌握了动态发光显示数码管的编程 掌握了数据运算的编程方法 这也 是编程必须掌握的知识 当然仿真与调试也是一个很重要的环节 也让我们收获良多 这 其中就是硬件和软件两部分 虽然我们没有做硬件 但软件的制作与编程我们也做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论