已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 电气信息学院 单单片片机机技技术术 课课程程设设计计报报告告 课题名称课题名称 电风扇模拟控制系统设计电风扇模拟控制系统设计 专业班级专业班级 1111 通信通信 0202 班班 学学 号号 11041402091104140209 学生姓名学生姓名 廖廖 振振 宇宇 指导教师指导教师 易易 先先 军军 评评 分分 2014 年年 6 月月 17 日至日至 6 月月 21 日日 精品文档 课程设计量化评分标准课程设计量化评分标准 指导老师评语 指标指标分值分值评分要素评分要素得分得分 方案设计方案设计20 方案选择合理 分析 设计正确 原理清楚 电路 程序流程图清晰 结构合理 程序简 洁 正确 设计报告设计报告20 报告结构严谨 逻辑严密 论述层次清晰 语言流畅 表达准确 重点突出 报告完全 符合规范化要求 用计算机打印成文 调试与结果调试与结果20 过程清晰 调试方案设计合理 测试点选择 适当 程序编写正确 调试步骤清楚 电路及程序运行结果正确 达到预期效果 工作态度工作态度20 工作量饱满程度 题目难度 工作态度 按 时完成设计任务 是否独立完成等 答辩成绩答辩成绩20 思路清晰 语言表达准确 概念清楚 论点 正确 分析归纳合理 结论严谨 回答问题 有理论根据 基本概念清楚 总总 评评 成成 绩绩 精品文档 答辩记录答辩记录 1 例举设计过程中遇到的问题及其解决方法 答 1 问题说明 LED显示灯无法正常显示字符 解决方法 换了不同的LED进行试验发现都不能正常显示 所以考虑到 是译码电路出现问题 检查电路发现是单片机P1口与RES 6器件的高地位接反了 改正后系统正常显示了 2 问题说明 当按键按下后 仿真正常开始 但按下摇头键 电机有时 反转 有时不反转 一直按住摇头键不放电机可正常反转 解决方法 验证程序无误后我判断是按键的问题 经过查阅知道了可 以添加一个按键防抖环节 按键消抖可分为硬件消抖和软件消抖两种 在键数 较少时可用硬件消除抖动 并采用了在I O口上并接合适的电容来解决 2 教师现场提的问题记录在此 1 能实现电子电路仿真的软件有很多 如Multisim PSPICE OrCAD EWB 等 Proteus 相对这些软件来说有什么特点 答 Proteus 不仅具有其它 EDA 工具软件的仿真功能 还能仿真单片机及 外围器件 它是目前最好的仿真单片机及外围器件的工具 它从原理图布图 代码调试到单片机与外围电路协同仿真 一键切换到 PCB 设计 真正实现了从 概念到产品的完整设计 是目前世界上唯一将电路仿真软件 PCB 设计软件和 虚拟模型仿真软件三合一的设计平台 并且可以输出高质量的图纸 提供了各 种仿真元器件 仪表等丰富资源 2 各风类是如何实现的 说说你的实现方法 答 我采用的PWM来实现直流电动机的调速 由于直流电机的转速与加在其 两端的平均电压成正比 所以在对直流电动机电枢电压的控制和驱动中 目前 经常使用的是通过改变电机电枢电压接通时间与通电周期的比值来控制转速 当自然风键按下时 输出占空比为1 3的方波 当常风键按下时 输出占空比为 3 1的方波 当睡眠风键按下时 输出占空比为1 5的方波 精品文档 摘摘 要要 电风扇是我们日常生活应用非常广泛的家用电器 具有使用方便 价格优 惠等特点 虽然目前空调已非常普及 但电风扇风力柔和 任收到大部分人群 的喜爱 本次课程设计通过 keil uvision4 和 proteus 软件设计一个电风扇模 拟控制系统 设计是基于 AT89C52 芯片实现用 4 位数码管实时显示电风扇的工 作状态 包含风类的显示和定时时间的显示 系统设计有风类选择功能 摇头 功能和定时功能 并设计有过热检测与保护功能 结果表明整套系统操作方便 显示直观 具有较强的实用性 关键词 电风扇控制系统 AT89C52 proteus 软件 keil uvision4 I 精品文档 目 录 1 设计任务设计任务 1 2 设计方案设计方案 1 2 1 任务分析 1 2 2 方案设计 1 3 系统硬件设计系统硬件设计 2 3 1 过热检测模块设计 2 3 2 电机调速与控制模块设计 3 3 3 显示与控制模块设计 4 3 4 键盘模块设计 4 4 系统软件设计系统软件设计 5 4 1 主程序流程图设计 5 4 2 定时器 T0 中断程序流程图设计 6 4 3 A D 转换测量子程序流程图设计 6 5 仿真与性能分析仿真与性能分析 6 6 心得体会心得体会 10 参考文献参考文献 11 附录附录 1 系统原理图系统原理图 12 附录附录 2 系统系统 PROTEUS 图图 13 附录附录 3 程序清单程序清单 13 II 精品文档 1 设计任务设计任务 系统主要功能如下 1 用 4 位数码管实时显示电风扇的工作状态 最高位显示风类 自然风 显示 1 正常风 显示 2 睡眠风 显示 3 后 3 位显示定时时间 动态倒计时显示剩余 的定时时间 无定时显示 000 2 设计 自然风 正常风 和 睡眠风 三个风类键用于设置风类 设计一个 定时 键 用于定时时间长短设置 设计一个 摇头 键用于控制电机摇头 在整个定时状态下 电路具有允许用户随时自行选择使用 自然风 状态 也可选 择使用 常风 和 睡眠风 状态 设计过热检测与保护电路 若电风扇电机过热 则电机停止转动 电机冷却后电 机又恢复转动 2 设计方案设计方案 2 1 任务分析任务分析 电风扇模拟控制系统设计就是使用单片机来控制电机和一些 LED 按键 模拟真实 的电风扇的使用 通过设计使电风扇使用便捷更人性化 风类 定时 摇头都是针对使 用者不同需求的设计 过热保护是对安全性要求的设计 2 2 方案设计方案设计 1 硬件方案 根据设计的要求可知 系统的硬件原理框图如图 2 1 所示 档位及定时显示 电机控制模块 按键输入 单片机系统过热检测模块 图 2 1 系统的硬件原理框图 精品文档 本系统由五个模块组成 分别是输入模块 显示模块 电机控制模块 过热保护模 块以及单片机控制系统 其中单片机控制系统是核心 由 AT89C52 晶振和复位电路组 成 它通过处理输入的各种数据信息来对其它模块发出指令 进行相应的操作 输入模 块由 5 个按键组成 分别控制电机的风速 正反转和定时时间 显示模块由 8 位共阴数 码管组成 显示定时时间和风速 过热保护模块由 ADC0809 和外围电路组成 通过设定 电压初始值使电机超值停转并且相应二极管发光报警 电机控制模块由 L298 和其它的元 器件组成 它主要是放大输入信号的倍数 用来驱动电机 图 3 1 晶振电路图 3 2 复位电路 保护电路的选择 选用 ADC0809 作为过热保护电路的核心部件 假设先设定一个标 准电压值 通过 0 5V 模拟电压输入进行模数转换 如果数据超过标准值则单片机对电机 进行相应操作 使电机启停 控制核心的选择 采用单片机作为控制核心 以软件编程的方式进行风速判断 并 在端口输出控制信号 显示电路的选择 采用八位共阴数码管显示电机状态 动态扫描显示方式 2 软件方案 系统软件设计包括主程序设计 A D 转换子程序设计和定时器 T0 中断程序设计 3 系统硬件设计系统硬件设计 3 1 过热检测模块的设计过热检测模块的设计 ADC0809 的工作原理是 首先输入 3 位地址 并使 ALE 1 将地址存入地址锁存 器中 此地址经译码选通 8 路模拟输入之一到比较器 START 上升沿将逐次逼近寄存器 复位 下降沿启动 A D 转换 之后 EOC 输出信号变低 指示转换正在进行 直到 A D 转 换完成 EOC 变为高电平 指示 A D 转换结束 结果数据已存入锁存器 这个信号可用 作中断申请 当 OE 输入高电平时 输出三态门打开 转换数据的传送 A D 转换后得到的数据应及时传送给单片机进行处理 数据传送 的关键问题是如何确认 A D 转换的完成 因为只有确认完成后 才能进行传送 为此可 采用下述三种方式 4 1 定时传送方式 对于一种 A D 转换器来说 转换时间作为一项技术指标是已知的和固定的 例如 ADC0809 转换时间为 128 s 相当于 6MHz 的 MCS 51 单片机共 64 个机器周期 可据 精品文档 此设计一个延时子程序 A D 转换启动后即调用此子程序 延迟时间一到 转换已经完成 了 接着就可进行数据传送 2 查询方式 A D 转换芯片由表明转换完成的状态信号 例如 ADC0809 的 EOC 端 因此可以用 查询方式 测试 EOC 的状态 即可确认转换是否完成 并接着进行数据传送 3 中断方式 把表明转换完成的状态信号 EOC 作为中断请求信号 以中断方式进行数据传送 3 2 电机调速与控制模块设计电机调速与控制模块设计 采用的 PWM 来实现直流电动机的调速 由于直流电机的转速与加在其两端的平均电压 成正比 所以在对直流电动机电枢电压的控制和驱动中 目前经常使用的是通过改变电 机电枢电压接通时间与通电周期的比值来控制转速 其优点 控制原理简单输出波动小 线性好 对邻近电路干扰小 缺点是 功率低 散热问题严重 占空比示意图如图 3 3 所示 T t1 t2 U t 图 3 3 占空比示意图 电动机的电驱绕组两端的电压平均值 U 为 式 UDTUtttUtU 1211 中 D 为占空比 T t D 占空比表示了在一个周期 T 里开关管导通的时间与周期的比值 D 的变化范围为 0 D 1 当电源电压 UB 不变的情况下 输出电压的平均值 U 取决于与占空比 D 的大小 改变 D 值也就改变了输出电压的平均值 从而达到控制电动机转速的目的 即实现了 PWM 调速 根据硬件原理图连接好电路 A D 接入单片机上通过程序来控制 L298 输出控制直流电 机的转动 通过不同按键输出不同的占空比 使直流电机转动 当自然风键按下时 输 出占空比为 1 3 的方波 当常风键按下时 输出占空比为 3 1 的方波 当睡眠风键按下 时 输出占空比为 1 5 的方波 当摇头键按下时 电机反转 同时保持原先的风速 精品文档 3 3 显示与控制模块设计显示与控制模块设计 本系统设计采用 4 位共阴数码管显示电路 在设计 4 位 LED 显示时 为了简化电路 降低成本 采用动态显示的方式 4 个 LED 显示共用一个 8 位的 I O 4 个 LED 数码管的 位选线分别由相应的 P2 0 P2 3 控制 而将其相应的段选线并联在一起 由一个 8 位的 I O 口控制 即 P0 口 译码显示电路将档位和定时时间的输出状态经显示译码器译码 通过 4 位 LED 七段显示器显示出来 到达定时时间电机停止转动同时定时时间变为 0 P2 5 口接一个发光二极管 当电压值超压时二极管灯亮实现报警 此状态下 无论定 时时间和风速键是否按下 电机都处于停止状态 3 4 键盘模块设计键盘模块设计 本系统使用简单的键盘和数码显示器件来完成输入 输出操作的人机界面 键盘输入信息 的主要过程是 1 CPU 判断是否有键按下 2 确定哪一个键被按下 3 把此键代表的信息翻译成计算机所识别的代码 如 ASCII 或者其他代码 键盘上有 很多键 每一个键对应一个键码 以便根据键码转到相应的子程序 进一步实现数据输 入和命令处理的功能 键盘识别的流程如图 3 1 所示 键盘识别 确定按键物理位置 计算键码 等待释放 返回 N 有键按下 Y 图 3 4 键盘识别流程图 精品文档 精品文档 4 系统软件设计系统软件设计 4 1 主程序流程图设计主程序流程图设计 软件所要实现的功能有 按键响应 对ADC0809的控制 对数据的处理和传送显示的 数据 主程序包含初始化 调用A D转换子程序和调用显示程序 其流程图如图4 1所示 摇头 Y 开始 显示 初始化 Y 占空比 1 3 自然风 N 常风 N Y 占空比 3 1 Y 占空比 1 5 睡眠风 N Y 进入定时 程序 定时 开摇头 N N 电机过热 关电机 关中断 显示过热 N 图4 1 主程序流程图 主程序经初始化后 开始四位数码管显示的是 0000 电机停转 然后进入按键扫 描程序 依次对自然风 常风 睡眠风进行扫描 单片机I O口输出相应的占空比方波 当为自然风时 数码管最高位显示 1 当为常风时 数码管最高位显示 2 当为睡 眠风时 数码管最高位显示为 3 当有定时键按下时 转到定时器T0中断程序进行 当有摇头键按下时 高低电平翻转 电机开始反转 精品文档 4 2 定时器定时器 T0 中断程序流程图设计中断程序流程图设计 定时器T0是用来对定时时间进行控制的 结合数码管动态显示 首先给T0设置工作 方式和初始值 由于它不可重装 所以在主程序中必须再次定义它的初始值 其流程图 如图4 2所示 Y 定时时间减一秒 定时到了吗 Y 置初值 置初值 中断返回 数码显示 电机停 关中断 N 1s 到了吗 N 开中断 图4 2 定时器T0中断程序流程图 4 3 A D 转换测量子程序流程图设计转换测量子程序流程图设计 由于 ADC0809 在进行 A D 转换时要用到 CLK 信号 而此时的 ADC0809 的 CLK 是 接在 AT89C52 单片机的 P2 4 端口上 也就是要求从 P2 4 输出 CLK 信号供 ADC0809 使 用 因此产生 CLK 信号的方法就的使用软件来产生了 由于 ADC0809 的参考电压 VREF VCC 所以转换之后的数据要经过数据处理 然后和设定的参考值比较 而实际 显示的电压值的关系为 其流程图如图 4 3 所示 精品文档 Y 地址数小于 8 N A D 转换结束 结束 N 开始 ADC0809 地址加一 取数据 Y 启动测试 TESTART 图 4 3 A D 转换测量子程序流程图 在主程序中 ADC0809 的转换程序也是无限循环的 它主要是检测电机是否过热 本系统中 运用定时器 T1 作为 CLOCK 的脉冲信号 由于它的工作方式为 2 且初始值 216 足以满足 ADC0809 所转换一次所需要的时间 设定电机过热电压初始值为 1 95V 当 模拟电压输入量超过这个值时 发光二极管点亮 表示电机过热此时 L298 使能端变低电 平 电机停转 5 仿真与性能分析仿真与性能分析 1 1 系统仿真过程 系统仿真过程 1 进入 KeilC Vision4 开发集成环境 创建一个新项目 Project 并为该项目选定单 片机 CPU 器件 AT89C52 并为该项目加入 KeilC 源程序 代码见附录 2 单击 Project 菜单 Options for Target 选项或者点击工具栏的 option for ta rget 按钮 弹出窗口 点击 Debug 按钮 在出现的对话框里在右栏上部的 下拉菜单里选中 Proteus VSM Driver 并且还要点击一下 Use 前面表明选中的小 圆点 精品文档 再点击 Setting 按钮 设置通信接口 在 Host 后面添上 127 0 0 1 如果使用 的不是同一台电脑 则需要在这里添上另一台电脑的 IP 地址 另一台电脑也应安装 Proteus 在 Port 后面添加 8000 设置好的情形如图所示 点击 OK 按钮即可 最后将工程编译 进入调试状态 并运行 3 进入Proteus的ISIS 鼠标左键点击菜单 Debug 选中 use romote debuger monitor 如图所示 此后 便可实现KeilC与Proteus连接调试 图 5 1 模拟电风扇控制系统的设计原理图 精品文档 2 2 仿真结果与分析仿真结果与分析 图 5 2 是自然风键按下时状态 数码管显示为 1 无定时时间 ADC0809 显示电压 值为 1 95V 电机不发热 正常转动 为了表示哪个按键被按下 仿真图上对应的按键均 为闭合状态 下面的仿真图也同上 这里不在阐述 图 5 2 图 5 3 是常风键按下时状态 数码管第一位显示为 2 无定时时间 ADC0809 显 示电压值为 1 95V 电机不发热 正常转动 精品文档 图 5 3 图 5 4 是睡眠风键按键按下时状态 数码管第一位显示为 3 无定时时间 图 5 4 图 5 5 是自然风按键按下时状态 数码管第一位显示为 3 定时时间为 15ms ADC0809 显 示电压值为 1 95V 电机不发热 正常转动 精品文档 图 5 5 图 5 6 是睡眠风按键按下时状态 数码管第一位显示为 3 定时时间为 0ms ADC0809 测得的显示电压值为 2 0V 超过设定的初始值 则表示电机发热 电机停 止转动 6 心得体会心得体会 本次设计 使我学到了许多书本上无法学到的知识 也使我深刻体会到单片机技术应 用领域的广泛 不仅让我对学过的单片机知识有了很多的巩固 同时也对单片机这一门 精品文档 课程产生更大的兴趣 在本次设计过程中 我学会了在网络上查找有关设计的个硬件的 资源 其中包括 直流电机 PWM 调速 AT89C52 的脚图的资料等 此设计系统是以单 片机 AT89C52 芯片为核心部件 实现了电风扇系统控制功能 此次课程在软件上是花费 时间最多的 花费大量时间查阅学习代码 这次设计 使我得到了一次用专业知识 专 业技能分析和解决问题全面系统的锻炼 使我在单片机的基本原理 单片机应用系统开 发过程 以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步 总的感受有以 下几方面 1 通过本次设计 我不但对单片机有了更深的了解 对一个课题如何画流 程图 编程序等有了一定的认识 2 进一步加强了我的动手能力和运用专业知识的奴 隶 从学习到如何去思考和解决问题 以及如何灵活地改变方法实现设计方案 3 让 我了解到单片机技术对当今人们生活的重要性 同时这次设计的经历也使我受益匪浅 让我知道做任何事情都应脚踏实地 刻苦努力地去做 只有这样 才能做好 精品文档 参考文献参考文献 1 谢维成 单片机原理与应用及 C51 程序设计 M 清华大学出版社 2009 7 2 谢自美 电子线路设计 实验 测试 M 华中科技大学出版社 2002 6 3 马忠梅等 单片机的 C 语言应用程序设计 M 北京航空航天大学出版社 2003 11 4 楼然苗等 单片机课程设计指导 M 北京航空航天大学出版社 2007 7 5 张永枫 单片机应用实训教程 M 西安电子科技大学出版社 2005 2 精品文档 附录附录 1 系统原理图系统原理图 精品文档 附录附录 2 系统系统 proteus 图图 附录附录 3 程序清单程序清单 include define uint unsigned int define uchar unsignde char sbit key1 P3 0 sbit key2 P3 1 sbit key3 P3 2 sbit key4 P3 3 sbit key5 P3 4 sbit A P2 6 电机驱动端口 sbit D P2 7 sbit wei1 P2 0 sbit wei2 P2 3 sbit wei3 P2 2 精品文档 sbit wei4 P2 1 sbit wxout P2 5 温度 太高 报警灯 sbit clock P2 4 sbit start P3 5 sbit eoc P3 6 adc0809 驱动端口定义 sbit oe P3 7 unsigned char wxin 100 定义初始值为 100 转换成实际电压值为 1 95V unsigned int getdata ss 温度过高标志位 int num 0 count 0 se 1 flag 1 定时标志位 电机正反转标志位 int shou num di num gao num le bai shi ge 电机占空比标志位 void display 声明显示函数 void delay uint x 声明延时函数 void qudong 声明电机驱动函数 unsigned char table 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 共阴数码管 char seg 3 0 延时函数 void delay uint x uint i while x for i 122 i 0 i 数码管显示函数 void display bai num 100 百位 shi num 100 10 十位 ge num 10 个位 seg 0 bai seg 1 shi seg 2 ge wei1 0 P1 table shou num delay 1 wei1 1 wei2 0 P1 table seg 0 delay 1 wei2 1 wei3 0 P1 table seg 1 delay 1 wei3 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年气瓶安全检测合同协议
- 城市雕塑公共性研究-洞察及研究
- 户外墙面基础施工方案
- 天水商场仿真树施工方案
- 大型冻库安装施工方案设计
- 陶瓷厂滤水池施工方案
- 清远市海绵城市屋面雨水收集系统施工方案
- 卧室圆弧门施工方案设计
- 新余地下管廊施工方案
- 闵行区球场施工方案
- 浙江省杭州市杭州中学2023-2024学年九年级上学期期中科学试卷
- 15D502 等电位联结安装
- 新版入团志愿书表格(含申请书范本)
- 浅圆仓外立面整体环状吊篮施工工法
- 计算机考试题目及答案计算机考试选择题
- GB/T 10003-2008普通用途双向拉伸聚丙烯(BOPP)薄膜
- 陕西西北工业大学电子信息学院党务秘书公开招聘1人【共500题附答案解析】模拟检测试卷
- 沈阳终止解除劳动合同证明书(三联)
- 三角形章起始课-展示课件
- EMC电磁兼容实用教案
- 流行性感冒(influenza)-PPT课件
评论
0/150
提交评论