微机接口课程设计报告---利用步进电机模拟小车的运行.doc

微机接口课程设计报告---利用步进电机模拟小车的运行.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机接口课程设计报告---利用步进电机模拟小车的运行

微机接口课程设计报告 利用步进电机模拟小车的运行 需求分析及实验目的: 此次实验的需求分析如下: 计算每次加电代码输入步进电机以后小车(步进电机)行进的距离(弧度,并按照一定的比例换算成长度) 利用8个开关设计8个档位,其中一个倒档,6个进档,1个静止档,不同档位设置不同的行进速度,其中出静止档外倒档最低; 在屏幕上显示2个窗口,分别显示小车当前的速度与行驶里程,其中行驶里程与程序运行的次数无关; 利用8个led显示当前的档位状况,其中: 倒档时,某一个等闪烁 静止档是,全部等闪烁 另外设计一种小车的自动行驶模式,在这种模式下,小车不通过开关控制档位,而通过一个窗口的输入小车行进模式 (请自行设计行进代码),实现小车在不同档位下运行的时间、次序。 实验要求同学能够理解8255A的0工作方式下通过时序对步进电机的工作流程的控制,同时将流水灯当作档位的控制开关,能够更好的体现对接口芯片的控制过程,而自动方式控制步进电机的运转,题目非常的开放,能够充分的发挥同学们的想象空间,同学们可以通过不同的编码形式来完成这个题目。 设计 2.0 8255A芯片简介 由于此次的设计涉及到8255A接口芯片的编程,因此在这里先对8255A的接口芯片做简要的介绍:8255A是一个具有两个8位和两个4位并行I/O端口的接口芯片,它为Intle系列的CPU与外部设备之间提供TTL电平兼容的接口,以及需要同时两位以上信息传送的一切形式的并行接口。在学校的实验平台上它的命令口的地址为0x0c803,PA,PB,PC口的端口地址分别为0x0c800,0x0c801,0x0c802。 其引脚图和内部框图分别如下: 2.1流水灯的控制平台的介绍: 在学校的实验平台上LED灯的端口地址是0x0c860,通过控制LED输入电平的高低来控制LED灯的明与暗,而电平的高低是通过想端口写的数据来体现的,例如向端口写1就代表输入的是高电平而0则代表的是低电平。因而要实现需求分析中的流水灯的各种功能,只需要控制各端口的电平的高低,也就是对端口写数据的不同。灯的闪烁的实现就是在LED灯全明与全暗之间设置一个延迟,这样观察的效果就是闪烁,而从左至右和从右至左的变化是通过将初始值(10h和01h)进行向左移位或者向右移位即可。 图3:实验平台简介 2.2设计思想: 在以前的上机实验中我们分别做过流水灯和步进电机的实验,而且都成功的完成了这两次实验,因此此次课程设计算的上是对以前做的实验的一次综合,而创新点就在于在自动控制方式下编码与解码的问题,因此在设计思想中,手动控制这一块我将只做简要介绍,详细介绍的是在自动控制中所采用的方法。 手动控制:因为时间和速度都是按照一定的比例来完成的,所以不同档位的实现也就是LED灯的控制开关在不同状态下时延迟时间不同的控制,同时在不同的延迟时间下给每个档位指定一个速度,延迟长的速度小,延迟短的速度大,这样便能实现对不同档位的控制,而灯的闪烁也只是在灯的明与暗之间加上一个延迟的时间便能完成,总体来说手动控制的大体思想较为简单,而难点主要是在档位切换的问题,开关的拔动和档位的变换以及电机做出的反应这期间的时间差应该越小越好,因而在程序的书写过程中我使用的Switch…Case…语句,电机每走一步就进行一次判断,而不是用For循环来控制,这样能将时间差缩短到很小的范围内。 表1:相序表的设计 绕组与数据线的连接及八拍数据的表示 D C B A PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 自动控制:档位的切换和LED灯的明暗控制和手动控制肯定是没有什么区别的,而自动控制的主要难点在于对控制序列的定义及解析,也就是将不同的档位及在该档位下行进的步数进行的定义。我的解决思路是用a b c d e f g h八个不同的字母来分别表示不同的档位,同时用数字表示在该档位下运行的步骤,在得知档位和数字后,就只需要用循环来控制在当前档位下的行进步数便能完成在自动控制下的工作。控制序列的输入在我的程序中并不是用常用的文本输入(实验后发现文本输入更为简单而不需要进行数字的转换,这里走了弯路,但是还是按照最初自己的设计思路来说明的),我是从编辑框的控件进行输入的,由于编辑框的数据相当与字符串的类型,因而并不能对数字进行识别(即在编辑框中输入123,程序中只能分别识别数字1 2 3 而不是

文档评论(0)

sanshengyuan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档