




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称 微机系统综合课程设计微机系统综合课程设计 课程设计题目 模拟电风扇工作模拟电风扇工作 院 系 计算机学院 专 业 计算机科学与技术 班 级 94010103 学 号 2009040101075 姓 名 李思宁 指导教师 王传云 完成日期 2012年7月13日 沈阳航空航天大学课程设计报告 I 目目 录录 第第 1 章章 总体设计方案总体设计方案 1 1 1 设计原理 1 1 2 设计思路 1 1 3 实验环境 2 第第 2 章章 详细设计方案详细设计方案 3 2 1 硬件电路设计 3 2 2 主程序设计 4 2 3 功能选择模块的设计与实现 5 2 3 1 计时模块流程图 5 2 3 2 显示模块流程图 6 2 3 3 改变风速模块流程图 6 第第 3 章章 结果测试及分析结果测试及分析 7 3 1 结果测试 7 3 2 结果分析 7 参考文献参考文献 8 附附 录录 9 沈阳航空航天大学课程设计报告 第 1 章 总体设计方案 1 第 1 章 总体设计方案 1 1 设计原理设计原理 利用芯片 8259 8255 8253 8279 分别控制中断 单色发光二极管 时钟 和 LED 显示 用受 8253 控制的 8259 给 8255 和 8279 产生每秒钟一次的中断 控 制单色发光二极管和 LED 的显示 1 2 设计思路设计思路 首先需要一个总开关 用来控制电风扇的开关 可以用 8255 的输入端 A 接 收这一信号 信号为 1 时进入循环 此时单色发光二极管不亮 当不为 1 时执行 下一步 其次需要实现的功能是三级风速的变换 可以设计三个变换延时的子程序 并根据键盘输入的不同来分别调用这三个步骤 再次是要实现定时功能 用 8253 和 8259 实现这一功能并不困难 当时间减 为零时 向 8255 的 AL 中输入 OFFH 使单色发光二极管不显示 还有就是单色发光二极管的显示问题 只需将 8255 中控制单色发光二极管 显示的数据循环左移或右移即可 1 提出方案提出方案 总开关是用来控制风扇的启动停止的 所以只需有两种状态 即开和关 所 以 选择用实验箱右下角的开关来实现这一功能 为了能显示风扇的转动 选用 8255 和实验箱上的 8 个单色发光二极管来显示风扇的转动 为了实现定时功能 选用 8253 定时 8259 产生中断 用中断程序来控制定时 由于定时时需要显示 倒计时 所以还需要 8279 键盘显示接口芯片 2 方案论证方案论证 1 用 8255 和单色发光二极管模拟风扇的转动 所以 可以将 8255 的 B 口设为 工作在方式 0 输出状态 然后通过输出不同二进制数来控制单色发光二极 沈阳航空航天大学课程设计报告 第 1 章 总体设计方案 2 管的显示 通过循环右移使单色发光二极管循环显示来实现风扇转动的模拟 2 用右下角的开关控制风扇的转动与停止 所以 可将 8255A 口设为方式 0 输入状态 来读取开关的状态 然后在程序中判断输入的是 1 还是 0 进而 控制风扇的转动与停止 3 为了实现定时的功能 可以用 8253 的分频功能 将输入的脉冲信号分频 以 输出 1HZ 的脉冲信号 然后输入到 8259 的 INT0 以产生周期为 1s 的中断 即每秒钟进一次中断 在中断服务程序中来实现时间的递减 当减到 0 时就 将风扇停止 这样就实现了定时功能了 4 为了实现三级风速的选择和定时功能 定时时间的变化显示等功能 需要 8279 的键盘显示功能 在键盘上设置 A B C 三个键分别控制三级风速 再设 置一个 D 按键来控制定时功能的选择 当按下定时功能键 D 后 还需要键盘 的数字键来实现定时时间的设定 设定完成后还需再次按下 D 键来确认 最 后就是用数码管显示时间的变化了 1 3 实验环境实验环境 硬件环境 AEDK 实验箱 PC 机 软件环境 LCA88ET 应用软件 沈阳航空航天大学课程设计报告 第 2 章 详细设计方案 3 第 2 章 详细设计方案 2 1 硬件电路设计硬件电路设计 硬件电路由键盘显示接口芯片 8279 构成 如图 2 1 所示 Pa0 Pb0 Pb7 cs 8279 Clk1 out1 Gate1 8253 clk0 Out0 cs gate0 Int0 8259 cs 200 207 228 22f DL8 DL1 cs Pc0 Pc3 脉冲源 210 217 220 227 图图 2 1 硬件电路连线图硬件电路连线图 8279 是可编程设置型键盘 显示芯片 其特点是 1 可同时进行键盘扫描及文字 显示 2 键盘扫描模式 3 传感器扫描模式 4 激发输入模式 5 8 乘 8 键 盘 FIFO 6 具有接点消除抖动 2 键锁定及 N 键依次读出模式 7 双排 8 位数 或双排 16 位数显示器 8 右边进入或左边进入 16 字符或 8 字符显示 8255 的 A 口工作在方式 0 输入 B 口工作在方式 0 输出 C 口工作在方式 0 输出 8253 将脉冲源分频 产生周期为 1s 的脉冲信号 驱动 8259 产生周期为 1s 的中 断 8255 8259 8253 8279 的端口地址分别接 210H 217H 220H 227H 200H 207H 228H 22FH K1 沈阳航空航天大学课程设计报告 第 2 章 详细设计方案 4 2 2主程序设计主程序设计 下载到实验箱之后 由主控开关 K 控制程序运行 调节风速和设定定时由中 断程序实现 电风扇模拟转动由 8 个单色灯实现 当开关 K 断开或者定时到达时 电风扇停转 程序结束 开始 各芯片初始化 8255清零 开关为开 输入为A 输入为B 输入为C 输入为D 变风速为1 显示 变风速为3 显示 变风速为2 显示 输入时间 输入为D 计时 时间为0 AL清零 结束 Y N N N N Y Y Y Y Y Y N N N 图图 2 2 主程序流程图主程序流程图 沈阳航空航天大学课程设计报告 第 2 章 详细设计方案 5 2 3 功能选择模块的设计与实现功能选择模块的设计与实现 2 3 1 计时模块流程图计时模块流程图 计时器模块 主要实现对电风扇的定时功能 并在定时期间支持改变风速的 功能 对设定的时间进行减一操作 当剩余时间为 0 时 则停止电风扇的工作 结束程序 N Y Y Y Y Y N N N N 保存寄存器 计时是否为 0 秒位是否为 0 分位是否为 0 10 秒位是否为 0 10 分位是否为 0 秒位变为 9 恢复寄存器 10 秒位减 1 10 分位减 1 分位减 1 秒位减 1 10 秒位变为 5 分位变为 9 10 分位变为 5 数码管显示 图图 2 3 1 功能选择模块流程图功能选择模块流程图 沈阳航空航天大学课程设计报告 第 2 章 详细设计方案 6 2 3 2 显示模块流程图显示模块流程图 用于模拟电风扇的转速和旋转方向 由一个循环右移实现 使单色灯循环点 亮 开始 FLAG FLAG 1 AL 0FEH Y N AL 循环右移 1 结束 图图 2 3 2 显示模块流程图显示模块流程图 2 3 3 改变风速模块流程图改变风速模块流程图 通过键盘的输入 8259 产生中断 程序读取输入内容 A B C 为改变风速 当读取到相应的内容时 改变为相应的风速 开始 判断输入 改变 结束 图图 2 3 32 3 3 改变风速模块流程图改变风速模块流程图 沈阳航空航天大学课程设计报告 第 3 章 结果测试及分析 7 第 3 章 结果测试及分析 3 1 结果测试结果测试 编译并连接程序 然后全速运行 在数码管上就显示计时器的时间 开始时 是全 0 此时单色发光二极管为全灭 将开关 K1 向上扳去 此时 8255 的 PA0 口 输入高电平 PB 口输出使单色发光二极管循环亮灯 即以一定的速度循环点亮 八个灯 模拟出了电风扇的转动 当需要改变风速时 只需按下键盘上的 A B C 键 便可切换风速 当需要设定运行时间时 只需要按下 D 键 则进 入定时状态 接着只需按下键盘上的数字键 设定好定时的时间 然后再按下 D 键 风扇就将在设定的时间内转动 并且在数码管上显示时间的变化 以一秒为 单位逐渐减少 当减到 0 时 风扇就将停止转动 单色灯全灭 如此便实现了定时 功能 如要让单色灯再亮 则需将总开关关掉再打开 3 2结果分析结果分析 开始运行时 发现单色发光二极管并不是按理想顺序逐渐点亮红色 而是与 风扇转动方向相反 检查硬件连线却并没有发现错误 后来 检查程序时发现将 循环右移的代码写错了 从而导致了与旋转方向相反的循环点亮顺序 改正后完 美运行 风扇正常运行了 但是在定时时发现数码管上的时间变化过于缓慢 于是检 查 8253 芯片的初始化程序 发现 CLK1 的输入时倍数太大 于是将其数值调小 后运行 发现时间变化回归正常 实验结果总的来说基本实现了课设的要求 虽然有些小问题和还会有些不稳 定 这些问题我会在以后的不断学习中进行完善 沈阳航空航天大学课程设计报告 参考文献 8 参考文献 1 王爱英 计算机组成与设计 M 北京 教育出版社 2003 2 杨素行 微型计算机系统原理及应用 M 北京 清华大学出版社 1996 3 张雪兰 汇编语言程序设计 M 北京 清华大学出版社 2006 4 龚尚福 微机原理与接口技术 M 西安 西安电子科技大学出版社 2003 5 王中民 微型计算机原理 M 西安 西安电子科技大学出版社 2003 6 沈美明 温冬婵 IBM PC 汇编语言程序设计 M 北京 清华大学出版社 2001 沈阳航空航天大学课程设计报告 附 录 9 附 录 程序清单 data segment isend db 0 n0 db 0 n1 db 0 n2 db 0 isright db 1 keykind db 0 oldkey db 0 kind db 0 isstop db 0 flags db 0 numbers db 3fh 6 5bh 0 0 0 0 0 0 0 data ends code segment assume cs code ds data main 主程序 cli mov ax cs mov ds ax mov kind 0 mov isright 1 mov keykind 0ah mov oldkey 0ah mov kind 0 mov isstop 0 mov flags 0 mov isend 0 mov n0 0 mov n1 0 mov n2 0 call initnumbers call init8255 call init8259 call init8253 call modifyint mov dx 212h mov al 0 沈阳航空航天大学课程设计报告 附 录 10 out dx al call cleardevice call display mov al 0 mov dx 22ah out dx al mov al 30h out dx al mov al 7fh sti dowhat push ax dowait mov al 0ffh 单色灯清零 mov dx 211h out dx al mov dx 210h in al dx test al 1 判断开关 jz dowait pop ax call readakey cmp keykind 0ah jnz a1 mov kind 2 call gotonext jmp aa a1 判断风速改变 cmp keykind 0bh jnz a2 mov kind 1 call gotonext jmp aa a2 cmp keykind 0ch jnz a3 mov kind 0 call gotonext jmp aa a3 cmp keykind 0dh jnz a4 push ax 沈阳航空航天大学课程设计报告 附 录 11 mov dx 212h mov al 0 out dx al pop ax mov isstop 0 push ax mov al oldkey mov keykind al call reading mov dx 212h mov al 0ffh out dx al pop ax sti jmp aa a4 cmp keykind 0eh jnz aa not flags push ax mov al oldkey mov keykind al pop ax aa jmp dowhat gotonext 单色灯循环亮灭 mov dx 211h out dx al cmp flags 0 jnz noror ror al 1 noror cmp al 0feh jnz continue jmp continue continue cmp kind 2 jnz mm1 call speed2 jmp mm3 mm1 改变风速 cmp kind 1 jnz mm2 沈阳航空航天大学课程设计报告 附 录 12 call speed1 jmp mm3 mm2 cmp kind 0 jnz mm3 call speed0 mm3 push ax mm33 cmp isstop 0 jz mm4 mov dx 211h mov al 0ffh out dx al mov dx 210h in al dx test al 1 jnz mm33 mov isstop 0 cli mm4 pop ax ret readakey 读取键盘输入 push ax mov al keykind mov oldkey al mov dx 22ah in al dx and al 0fh cmp al 0 jz gotoexit mov al 40h mov dx 22ah out dx al mov dx 228h in al dx mov keykind al gotoexit pop ax ret speed1 速度设置 push cx 沈阳航空航天大学课程设计报告 附 录 13 mov cx 18000 sp1 loop sp1 pop cx ret speed2 push cx mov cx 50000 sp2 loop sp2 pop cx ret speed0 push cx mov cx 8000 sp0 loop sp0 pop cx ret readisd key mov dx 22ah in al dx and al 0fh cmp al 0 jz key mov al 40h out dx al mov dx 228h in al dx cmp al 0dh jnz key ret reading 输入时间 push ax mov n0 0 mov n1 0 mov n2 0 call readanumber mov n0 al call display call readanumber cmp al 0dh 沈阳航空航天大学课程设计报告 附 录 14 jz readexit mov ah n0 mov n0 al mov n1 ah call display call readanumber cmp al 0dh jz readexit mov ah n0 mov n0 al mov al n1 mov n1 ah mov n2 al call display call readisd readexit pop ax ret readanumber key2 mov dx 22ah in al dx and al 0fh cmp al 0 jz key2 mov al 40h out dx al mov dx 228h in al dx ret initnumbers push bx mov bx offset numbers mov byte ptr bx 3fh mov byte ptr bx 1 6 mov byte ptr bx 2 5bh mov byte ptr bx 3 4fh mov byte ptr bx 4 66h mov byte ptr bx 5 6dh mov byte ptr bx 6 7dh mov byte ptr bx 7 7 mov byte ptr bx 8 7fh mov byte ptr bx 9 6fh 沈阳航空航天大学课程设计报告 附 录 15 pop bx ret display 时间显示 call cleardevice mov bx offset numbers mov al 80h mov dx 22ah out dx al mov al n0 xor ah ah add bx ax mov al bx mov dx 228h out dx al mov bx offset numbers mov al 81h mov dx 22ah out dx al mov dx 228h mov al n1 xor ah ah add bx ax mov al bx out dx al mov bx offset numbers mov al 82h mov dx 22ah out dx al mov dx 228h mov al n2 xor ah ah add bx ax mov al bx out dx al ret intcount push ax push bx push dx cmp n0 0 jz next1 dec n0 jmp next4 沈阳航空航天大学课程设计报告 附 录 16 next1 mov n0 9 cmp n1 0 jz next2 dec n1 jmp next4 next2 mov n1 9 cmp n2 0 jz next3 dec n2 jmp next4 next3 mov n2 9 next4 cmp n0 0 jnz next5 cmp n1 0 jnz next5 cmp n2 0 jnz next5 mov isstop 1 mov dx 212h mov al 0 out dx al next5 call display pop dx pop bx pop ax iret init8255 mov al 90h mov dx 213h out dx al ret init8259 mov al 13h mov dx 220h out dx al mov dx 221h mov al 30h out dx al 沈阳航空航天大学课程设计报告 附 录 17 mov al 3 out dx al mov al 0feh out dx al ret modifyint push ds push bx push ax xor ax ax mov ds ax mov bx 30h 4 mov ax offset intcount mov bx ax mov ax 8100h mov bx 2 ax pop ax pop bx pop ds ret init8253
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现场处置方案编制课件
- 2025年能源行业CCS项目经济性研究报告:市场前景与投资建议
- 2025年物流行业物流园区智能化改造对物流行业行业政策法规的适应报告
- 山西省晋中市左权县2022-2023五年级上学期期中科学试题(含答案)
- 2026届贵州省贵阳市清镇北大培文学校贵州校区化学高一上期末考试试题含解析
- 2025年导游资格证专项训练试卷:导游业务与法规冲刺押题
- 2025年Python大数据处理培训试卷:实战演练与冲刺押题
- 2025年秋季初级经济师职业资格考试 经济基础知识模拟试卷及答案
- 2025年注册会计师(CPA)考试 会计科目历2025年真题解析与模拟试卷
- 江西省白鹭洲中学2026届高二化学第一学期期中学业水平测试试题含解析
- 企业信息化项目建设进度和成果汇报课件
- 高等数学期末试卷及答案
- 从0开始跨境电商-第三章-阿里巴巴国际站入门-OK
- 新能源电站远程监控系统建设方案
- 《紫藤萝瀑布》《丁香结》《好一朵木槿花》
- 2023柔性棚洞防护结构技术规程
- 河流地貌的发育 - 侵蚀地貌
- 离网光伏发电系统详解
- 广告文案写作(第二版)全套教学课件
- 《国家电网公司电力安全工作规程(配电部分)》
- 金融学黄达ppt课件9.金融市场
评论
0/150
提交评论