家用电风扇课程设计.doc_第1页
家用电风扇课程设计.doc_第2页
家用电风扇课程设计.doc_第3页
家用电风扇课程设计.doc_第4页
家用电风扇课程设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

计算机科学与技术系计算机科学与技术系 微机原理与接口技术 课程设计 2013 2014 学年第 1 学期 课程设计题目课程设计题目家用电风扇课程设计 院院 系系 名名 称称合肥学院 计算机科学与技术系 专业专业计算机科学与技术 班级班级11 计本 1 班 姓名 学号 姓名 学号 指导教师指导教师 2014 年 1 月 目 录 1 功能分析及解决方案功能分析及解决方案 2 1 1 功能需求分析 2 1 2 解决问题方法及思路 2 2 硬件设计硬件设计 3 2 1 可编程并行接口 8255 5 2 2 步进电机 5 2 3 开关 5 2 4 LED 灯 5 2 5 硬件总逻辑图及其说明 5 3 控制程序设计控制程序设计 6 3 1 控制流程设计及其思路说明 6 3 2 程序流程图 6 3 3 控制程序 6 4 上机调试过程上机调试过程 7 4 1 硬件调试 7 4 2 软件调试 8 4 3 联机调试 8 4 4 调试结果及问题的提出 8 5 设计结果分析及问题讨论设计结果分析及问题讨论 9 5 1 课程设计及结果分析 10 5 2 问题讨论 10 5 3 收获 体会和意见 10 附录附录 1 系统原理图系统原理图 11 1 功能分析及解决方案功能分析及解决方案 1 11 1 功能需求分析功能需求分析 本次课程设计任务主要模拟家用风扇的各种功能 设计一种控制器能实现对各种功能的 控制 在风扇任意时刻运行时都对其实现各种功能的切换 充分体现其的可控制性 在基本 的弱电环境下的各种芯片实现对强电的控制的一种典型实例 利用汇编语言与硬件结合 在 各种基本的接口芯片实时通信 接收对应的按键信号 再基于硬件的基础用汇编语言实现各 种逻辑关系转换而输出相应的控制信号从而实现各种功能的控制与转换 1 21 2 解决问题方法及思路解决问题方法及思路 设计一个家用风扇控制器 控制器面板为 按钮三个 分别为风速 类型和停止 LED 指示灯六个 指示风速强 中 弱 类型为睡眠 自然和正常 电扇处于停转状态时 所有指示灯不亮 只有按下 风速 键时 才会响应 进入起始 工作状态 电扇在任何状态 只要按停止键 则进入停转状态 电扇处于工作状态时 有 1 初始状态为 风速 弱 类型 正常 2 按 风速 键 其状态由 弱 中 强 弱 往复循环改变 每 按一下按键改变一次 3 按 类型 键 其状态由 正常 睡眠 自然 正常 往复循环 改变 风扇风速的弱 中 强对应于电扇的转动由慢到快 风扇类型的不同选择 分别为 1 正常电扇连续运转 2 自然电扇模拟自然风 即转 4s 停 8s 3 睡眠电扇慢转 产生轻柔的微风 运转 8s 停转 8s 按照风速与类型的设置输出相应的控制信号 本次课程设计任务主要基于 8086 以及各种接口芯片结合汇编语言实现对家用风扇的控 制器的模拟 我主要运用 8086CPU 结合汇编语言编写的软件来实现各种信号的处理与变换 以得到想要的控制信号 并用接口芯片 8255A 实现信号的输出与接收 2 硬件设计 硬件设计 2 1 可编程并行接口可编程并行接口 8255 1 8255 特性特性 一个并行输入 输出的 LSI 芯片 多功能的 I O 器件 可作为 CPU 总线与外围的接 口 具有 24 个可编程设置的 I O 口 即使 3 组 8 位的 I O 口为 PA 口 PB 口和 PC 口 它们 又可分为两组 12 位的 I O 口 A 组包括 A 口及 C 口 高 4 位 PC4 PC7 B 组包括 B 口 及 C 口 低 4 位 PC0 PC3 A 组可设置为基本的 I O 口 闪控 STROBE 的 I O 闪控式 双向 I O3 种模式 B 组只能设置为基本 I O 或闪控式 I O 两种模式 而这些操作模式完 全由控制寄存器的控制字决定 A0 A1 为地址选择线 用来选择 8255 的 PA 口 PB 口 PC 口和控制寄存器 当 A0 0 A1 0 时 PA 口被选择 当 A0 0 A1 1 时 PB 口被选择 当 A0 1 A1 0 时 PC 口被选择 当 A0 1 A1 1 时 控制寄存器被选择 2 8255A 的控制字的控制字 8255A 有两类控制字 一类控制字用于定义个端口的工作方式 称为方式选择控制字 另一类控制子用于 C 端口的任意一位进行置位或复位操作 称为置位复位控制字 1 方式选择控制字 8255A 具有三种基本工作方式 在对 8255A 进行初始化编程时 应向控制字寄存器写 入方式悬着控制字 用来规定 8255A 各端口的工作方式 方式 0 基本输入输出方式 方式 1 选通输入输出方式 方式 2 双向总线 I O 方式 A 口 可工作于方式 0 1 2 任何一种 B 口 只能工作于方式 0 1 不能为方式 2 C 口 分成双 4 位 可基本 I O 还可输出 A B 口控制信号 输入 A B 的状态 2 置位复位控制字 C 口的数位常用来产生控制信号 如应答式数据传送中断请求信号 或其他应答信号 可通过置位复位控制字来使端口 C 的任一位引脚的输出单独置 1 或置 0 3 8255A 的部分技术参数的部分技术参数 表表 1 1 标识符最小最大测试条件 输入低电平 VIL 0 5V0 8V 输入高电平 VIH 2 0V5V 输出低电平 VOL DB0 45VIOL 2 5mA 输出低电平 VOL PER0 45VIOL 1 7mA 输出高电平 VOH DB2 4VIOH 400 A 输出高电平 VOH PER2 4VIOH 200 A 驱动电流 1 0mA 4 0mAREXT 750 VEXT 1 5V 供应电流120 mA 2 2 步进电机步进电机 1 1 步进电机的速度控制及运动规划步进电机的速度控制及运动规划 步进电机区别于其他控制用途电机的最大特点是 它可接受数字控制信号 电脉冲信号 并转化成与之相对应的角位移或直线位移 因而本身就是一个完成数字模拟转化的执行元件 而且它能进行开环位置控制 输入一个脉冲信号就得到一个规定的位置增量 这样的增量位 置控制系统与传统的直流伺服系统相比 其成本明显降低 几乎不必进行系统调整 因此 步进电机广泛应用于数控机床 机器人 遥控 航天等领域 特别是微型计算机和微电子技 术的发展 使步进电机获得更为广泛的应用 2 2 步进电机的工作原理步进电机的工作原理 该步进电机为一四相步进电机 采用单极性直流电源供电 只要对步进电机的各相 绕组按合适的时序通电 就能使步进电机步进转动 图 3 1 是该四相反应式步进电机工作原 理 图 1 图 1四相反应式步进电机工作原理图 开始时 开关 SB 接通电源 SA SC SD 断开 B 相磁极和转子 0 3 号齿对齐 同 时 转子的 1 4 号齿就和 C D 相绕组磁极产生错齿 2 5 号齿就和 D A 相绕组磁极产 生错齿 当开关 SC 接通电源 SB SA SD 断开时 由于 C 相绕组的磁力线和 1 4 号齿 之间 磁力线的作用 使转子转动 1 4 号齿和 C 相绕组的磁极对齐 而 0 3 号齿和 A B 相绕 组产生错齿 2 5 号齿就和 A D 相绕组磁极产生错齿 依次类 推 A B C D 四相绕 组轮流供电 则转子会沿着 A B C D 方向转动 四相步进电机按照通电顺序的不同 可分为单四拍 双四拍 八拍三种工作方式 单 四拍与双四拍的步距角相等 但单四拍的转动力矩小 八拍工作方式的步距角是单四拍与双 四拍的一半 因此 八拍工作方式既可以保持较高的转动力矩又可以提高控制精度 3 3 步进电机的速度特性步进电机的速度特性 步进电机的转速取决于脉冲频率 转子齿数和拍数 其角速度与脉冲频率成正比 而且 在时间上与脉冲同步 因而在转子齿数和运行拍数一定的情况下 只要控制脉冲频率即可获 得所需速度 由于步进电机是借助它的同步转矩而启动的 为了不发生失步 启动频率是不 高的 特别是随着功率的增加 转子直径增大 惯量增大 启动频率和最高运行频率可能相 差 10 倍之多 为了充分发挥电机的快速性能 通常使电机在低于启动频率下启动 然后逐 步增加脉冲频率直到所希望的速度 所选择的变化速率要保证电机不发生失步 并尽量缩短 启动加速时间 为了保证电机的定位精度 在停止以前必须使电机从最高速度逐步减小脉冲 率降到能够停止的速度 等于或稍大于启动速度 因此 步进电机拖动负载高速移动一定 距离并精确定位时 一般来说都应包括 启动 加速 高速运行 匀速 减速 停止 五 个阶段 速度特性通常为梯形 如果移动的距离很短则为三角形速度特性 图 3 图 3 2 3 开关开关 1 功能 开关对步进电机的各种模式进行控制 2 功能分析 对步进电机进行控制 当开关打开时程序会扫描开关获得信息然后进入相应的模式中 2 4LED 灯灯 1 LED 在本设计中的作用 本设计利用二极管能发光的特性 用于显示开关闭合 2 LED 功能分析 当开关打开时 其对应的 LED 灯就会发光 给出提示 3 LED 技术参数 LED 的压降一般为 1 5 2 0 V 其工作电流一般取 10 20 mA 为宜 3 3 控制程序设计控制程序设计 3 1 控制流程设计及其思路说明控制流程设计及其思路说明 8255 内部包含 3 个 8 位的输入输出端口 A B 和 C 端口 A 和端口 B 都可以用作一个 8 位的输入口或 8 位的输出口 端口 C 既可以作为一个 8 位的输入口或 8 位的输出口 又可 以作为两个 4 位的输入输出口 C 口上半部分和 C 口下半部分 使用 还可以配合 A 口和 B 口工作 分别用来产生 A 口和 B 口的输出控制信号和输入 A 口和 B 口的端口状态信号 3 2 程序流程图程序流程图 开始 初始化 8255A 是否有风速键按下 N 初始化风速 弱 类型 正常 风扇运行控制模块 是否有键按下 N 是风速键按下 风速 控制 模块 序 是类型键按下 类型 控制 模块 序 是定时键按下 定时 控制 模块 序 Y Y Y Y N 是停止键按下 停止 控制 模块 序 YN N N Y 3 33 3 控制程序控制程序 MY8255 A EQU 0FF00H 8255A MY8255 B EQU 0FF01H 8255B MY8255 C EQU 0FF02H 8255C MY8255 MODE EQU 0FF03H 8255 STACK1 SEGMENT STACK DW 256 DUP STACK1 ENDS DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV DX MY8255 MODE MOV AL 90H OUT DX AL MOVDX MY8255 C MOVAL 00H OUTDX AL MOVDX MY8255 B MOVAL 0FFH OUTDX AL START1 MOV DX MY8255 A 对 8255A 口进行扫描 INAL DX AND AL 00001000B CMPAL 08H 对按键进行判断 JNZT1 CALL ZIRAN 调用自然模式 T1 MOV DX MY8255 A INAL DX AND AL 00000111B 屏蔽按键 CMP AL 00H JNZ T10 CALL STOP T10 CMP AL 01H JNZ T6 CALL QIANG T6 CMP AL 02H JNZ T8 AL 非 02H 跳入 T8 CALL ZHONG T8 CMP AL 04H JNZ T9 CALL RUO T9 JMP START1 自然模式 ZIRANPROCNEAR MOV DX MY8255 B 对 8255B 口进行初始化 MOV AL 0F7H OUT DX AL MOV CX 40 循环次数进行控制 T MOV DI 1770H CALLZHENGZHUAN LOOPT CALLDL4S RET ENDP 强风模式 QIANGPROCNEAR MOV DX MY8255 B 对 8255B 口进行初始化 MOV AL 0FEH OUT DX AL MOV DI 0A00H MOV DX MY8255 A 扫描 8255A 口 IN AL DX AND AL 00010000B CMP AL 10H 对按键进行判断 JNZ T2 CALLFANZHUAN CMP AL 01H JZ T3 T2 CALLZHENGZHUAN T3 RET ENDP 中风模式 ZHONGPROCNEAR MOV DX MY8255 B 对 8255B 口进行初始化 MOV AL 0FDH OUT DX AL MOV DI 1000H MOV DX MY8255 A 扫描 8255A 口 IN AL DX AND AL 00010000B CMP AL 10H 对按键进行判断 JNZ T4 T4 CALLFANZHUAN CMP AL 10H JNZ T5 CALLZHENGZHUAN T5 RET ENDP 停止模式 STOP PROCNEAR MOV DX MY8255 B 对 8255B 口进行初始化 MOV AL 0FFH OUT DX AL MOV DX MY8255 C 对 8255C 口进行初始化 MOV AL 00H OUT DX AL CALLDL500ms 调用延时 RET ENDP 弱风模式 RUOPROCNEAR MOV DX MY8255 B 对 8255B 口进行初始化 MOV AL 0FBH OUT DX AL MOV DI 1B00H MOV DX MY8255 A 扫描 8255A 口 IN AL DX AND AL 00010000B CMP AL 10H 对按键进行判断 JNZ A1 CALLFANZHUAN A1 CMP AL 10H JNZ A2 CALLZHENGZHUAN A2 RET ENDP 反转模式 FANZHUAN PROCNEAR MOV DX MY8255 A 扫描 8255A 口 IN AL DX NOT AL MOV DX MY8255 B OUT DX AL MOV DX MY8255 C MOV AL 09H 设置风扇的旋转方式 OUT DX AL CALLDELAY MOV AL 0CH OUT DX AL CALLDELAY MOV AL 06H OUT DX AL CALLDELAY MOV AL 03H OUT DX AL CALLDELAY RET ENDP 正转模式 ZHENGZHUANPROCNEAR PUSHDX MOV DX MY8255 C 对 8255C 口进行初始化 MOV AL 03H OUT DX AL CALLDELAY MOV AL 06H 设置风扇的旋转方式 OUT DX AL CALLDELAY MOV AL 0CH OUT DX AL CALLDELAY MOV AL 09H OUT DX AL CALLDELAY POP DX RET ENDP 延时程序设置 DELAY PROCNEAR PUSHCX MOV CX DI DATE LOOPDATE POP CX RET ENDP DL500ms PROCNEAR PUSHCX MOV CX 60000 DL500ms1 LOOPDL500ms1 POP CX RET DL500msENDP DL4SPROCNEAR PUSHCX MOV CX 8 DL4S1 CALLDL500ms LOOPDL4S1 POP CX RET ENDP CODE ENDS END START 4 4 上机调试上机调试 4 14 1 硬件上机调试硬件上机调试 设计电路原理图 考虑到要实现的功能 所以使用 8255A 控制步进电机的运转 由于 要考虑延时所以先使用了 8253 但是为了使实验看起来简洁就使用程序进行了延时 在了 解步进电机的控制时 看到了脉宽调制法 PWM 但是经过程序也可实验程序实现所以最后 未用 在各个硬件芯片之间的连接调试中 需要我注意的主要是连接的可靠性 由于本课程设 计所涉及的芯片都是我们学习过的 加之我在初期的硬件逻辑设计中未出现较大错误 在硬 件的调试过程中我遇到过一个主要的问题 对于 8255A 的调试 我用了我们课堂上所学的 实验 8255A 的三个口 PA PB 和 PC 进行了调试 检测两个芯片的工作是否正常 4 24 2 软件上机调试软件上机调试 程序通过 8255A 对步进电机和 LED 灯进行控制 A 口设置为输入端口 B C 为输出端口 开始时未注意到端口地址问题所以 LED 灯始终无

温馨提示

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

评论

0/150

提交评论