微机原理课程设计汽车速度控制.doc

上传人:h**** 文档编号:132950 上传时间:2018-07-09 格式:DOC 页数:27 大小:4.46MB
下载 相关 举报
微机原理课程设计汽车速度控制.doc_第1页
第1页 / 共27页
微机原理课程设计汽车速度控制.doc_第2页
第2页 / 共27页
微机原理课程设计汽车速度控制.doc_第3页
第3页 / 共27页
微机原理课程设计汽车速度控制.doc_第4页
第4页 / 共27页
微机原理课程设计汽车速度控制.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、 西 安 邮 电 大 学 (计算机学院) 硬件课程 设计报告 题 目: 汽车速度控制 的设计与实现 专业名称: 软件工程 班 级: 软件 1201 学生姓名: 学号( 8位): 指导教师: 设计起止时间: 2014 年 12 月 15日 2014 年 12 月 26 日 1. 设计目的 : 微机接口 电路 的设计及应用。 通过微机原理与接口课程设计,使学生能够进一步了解微型计算机工 作原理 , 微型计算机的硬件结构及微型计算机软件编程。 要求学生根据接口电路的硬件要求进行计算机的汇编语言程序设计,使学生的软件编程能力得到加强 ,对接口电路的综合应用能力有较大提高。 利用所学微机的理论知识进行软

2、硬件整体设计,提高综合应用能力。 通过设计掌握综合使用基本输入设备,通用接口芯片,专用接口芯片的方法;熟悉并行接口芯片 8255 的使用与硬件接口方法,熟悉 8255 的各种工作方式,掌握 8255 的编程方法;掌握实时处理程序的编制和调试方法。 从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯 通的目的。同时给学生提供更多、更好的训练机会,培养学生的创新能力。 2. 设计内容 :所选题目的具体要求 。 在自 行设计接口板 的 的按键转换汽车的挡位,用发光二极管显示挡位,用数码管显示汽车的速度。 (1) 按 “1”键启动系统,汽车以最低速度行驶,同时用 1 盏绿灯显示挡位,

3、数码管显示速度(最低速度为 5Km h)。当需要换档时,用键盘键入 2、 3 键,并加用一盏黄灯和一盏红灯显示,同时在数码管上显示相应的速度。 (2) 汽车慢加速时用 “A”键,急加速时用 “B”键。慢刹车时用 “C”键,急刹车时用 “D”键。加速和刹车时用数码 管显示相应的速度变化。 (3) 当汽车需紧急停车时,键入 “ESC”键,所有发光二极管熄灭,同时数码管显示 “0”。 3. 设计过程 : 根据 设计内容,给出 设计方案 ,选择需要的接口芯片和外设等, 确定相应的接口芯片的工作方式, 并给出 proteus 下设计出的系统原理 图,见文章末尾 根据系统要求,设计程序,给出流程图描述程序

4、。 数码管流程图 程序流程: 设置初始状态:速度为 0,数码管显示为 0 1 档初始状态:速度为 5, LED1 亮 1 档最大速度状态:速度为 25,数码管显示 25 2 档初始状态:速度为 25, LED2 亮 2 档最大速 度状态:速度为 60,数码管显示 60 3 档初始状态:速度为 60, LED3 亮 3 档最大速度状态:速度为 120,数码管显示 120 进入初始状态,判断是否按下 K1 开关,若没按下则回到初始状态,若按下则进入1 档初始状态 1 档初始状态下接受指令: 判断是否按下 KA 开关,若按下则进入慢加速状态,直到速度加到 1 档的最大速度25,进入 1 档最大速度状

5、态; 若没按下 KA 开关,则判断是否按下 KB 开关,若按下则进入快加速状态,直到速度加到 1 档的最大速度 25,进入 1 档最大速度状态; 若没按下 KB 开关,则判断是否按下 KC 开关,若按下则 进入慢减速状态,直到速度减到 0,进入初始状态; 若没按下 KC 开关,则判断是否按下 KD 开关,若按下则进入快减速状态,直到速度减到 0,进入初始状态; 若没按下 KD 开关,则判断是否按下 KE 开关,若按下则进入停车状态,速度减到0,进入初始状态; 若没按下 KE 开关,则停留在 1 档初始状态,等待接收指令; 1 档最大速度状态下接收指令: 判断是否按下 K2 开关若按下,若按下则

6、进入 2 档初始状态; 若没按下 K2 开关,则判断是否按下 KC 开关,若按下则进入慢减速状态,直到速度减到 0,进入初始状态; 若没按下 KC 开关,则判断是否按下 KD 开关,若按下则进入快减速状态,直到速度减到 0,进入初始状态; 若没按下 KD 开关,则判断是否按下 KE 开关,若按下则进入停车状态,速度减到0,进入初始状态; 若没按下 KE 开关,则停留在 2 档初始状态,等待接收指令; 进入 2 档初始状态后,它的程序流程和 1 档初始状态流程一样;进入 3 档初始状态后,流程和 1、 2 档一样,只是当进入 3 档最大速度状态后,只能接受减速停车指令。 在前两步的基础上,给出

7、proteus 下程序运行的结果截图。 见文章末尾 具体硬件实现,给出 实际所焊电路 的系统连线图。 在所焊电路的板子上运行程序, 拍照,打印出 系统 运行截图 。 4. 设计总结 :分析自己的设计结果,总结设计中所 遇到的问题 以及采取的 解决办法 。 设计结果分析:整个系统运行过程中考虑到了很多情况,做得比较细腻,比如 1 档必须到达了最大速度才能接收 2 档指令,不能越到 3 档;在加速过程中速度只会加到相应档位的最大速度,不会超过它;不足的是 :在加速减速状态中不会被中断,速度会加到最大或减到 0,这点还需改进。 遇到问题:不知道如何让数码管正确的显示相应的数字 解决办法:先 查看实验

8、指导书了解了数码管的线路连接,然后上网查找数码管显示 的方法,再和组员一行一行代码的 编写,试了很多次数码管都不显示。最后才知道了程序最开始没有定义堆栈段,导致要显示的数据不能压栈。最终解决了数码管的问题。 遇到问题 :编译时出现 Relative jump out of range 错误 指定的转移超出了允许的范围( -128+127) 解决办法:该问题是由于转移范围超出允许范围,我们就在转移的中间再加一个转移,把距离一分为二,从而解决了问题。比如 jump state1;出现错误,我们就改为 state1jmp: jump state1; jump state1jmp; 软 件调试 程序完

9、成后就可以对它进行编译和执 行,如果发现有错误,则返回程序中修改,完成后再次编译和执行,就这样周而 复始的重复进行,直到没有出现编译错误之后就可以运行了。 运行的时候也有问题出现。例如程序的结构有问题,对于寄存器的使用不合 理,或对于寄存器的重复使用导致数据混乱,循环不能正常的结束等问题。要解 决这些问题就要对汇编用深入的理解,画清楚流程图,使用结构简单的循环, 分布编写程序,同时注意对程序的注释可以减少问题。对于寄存器的使用问题可以 才用入栈出栈来保存部分寄存器的值来安排寄存器的使用 。 5. 设计 心得 课程设计刚开始的时候,对整个系统的设计完全没有思路,也不知道该先从哪部分下手。在老师给

10、我们讲解了一些注意事项,还用仿真给我们演示了设计该达到的要求之后,小组四个人就开始讨论系统的整个运行流程,讨论出方案后就开始分工,我做的是 “汽车速度控制” 的软件部分。在这之前我对汇编语言的编写不是很熟悉,对各种寄存器的功能及使用不是很了解 , 担心自己不会或者做不好 。为了 完成任务,我不停的翻阅书籍,查看资料,和组员共同商量, 尽自己最大的努力去做, 做到自己最好的 ,最后成功完成了任务 。 在做整个设计时应先讨 论好设计方案,画好流程图,要完全了解整个流程之后才去编写程序,这样才能有条不紊地做实验,不然只会弄得一团糟。 同时我明白,要做好一个课题,细心,耐心,好奇心和同学之间的有效合作 都是不可缺少的,要将书本知识与实际操作紧密联系起来,在实践中发现和解决 问题是非常重要的。在实验的过程中也出现了一些问题,大部分来 自自身的疏忽与对知识掌握的不牢固,这些方面是要加强的! 通过老师的帮助,在解决问题的过程中,让我们对问题的认知更加深刻了, 这些都将有益于我们学到更多更为有用的东西。同时也知道了团队合作的重要性,在 实验中,同组成员在一起发现问题、讨论问题,大大提高了解决问题的速度。 同时,通过课程设计大家得到了很好的锻炼,也期待我们应该有更多实际操作的机会,加强合作与创新方面的能力。 感谢老师的悉心指导。 设计过程: 原理图: 流程图: 运行截图: 板子图:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。