《微机计算机》接口实习报告.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《微机计算机》接口实习报告

微机实验报告 实习一 简单I/O端口实验 一.实验目的和内容 1、掌握三态门,锁存器构成简单I/O端口的原理和应用; 2、完成流水灯及其控制的编程实验。 二、需求分析 1、要求实现LED发光管的闪烁,从左往右依次点亮,从右往左依次点亮; 2、要求LED发光管的变化可以通过开关控制,并且变化可以即时显现出来,无延迟。 三、程序设计 1、开关控制说明 K1、K2是八位拨动开关(位于区域A)的1、2位 K1=K2=H:从左到右移位 K1=L,K2=H:从右到左移位 K1=H,K2=L:全部闪烁 K1=K2=L:退出 注:ON方向为L,OFF方向为H K1、K2为主板上J28数码拨动开关的1、2位。 2、流程图 程序流程图 闪烁程序框图 N Y 从左到右闪烁 Y N 从右往左闪烁 N Y 四、调试分析 遇到的问题:程序在运行时状态的切换不能做到即时切换。 解决办法:产生这一现象的原因是代码在设置切换时将判断条件设为if(k1=?k2=?),但在实际的电路中,判断并不是以这种方式进行的,应该设置两位a、b来接收开关的状态,判断的时候需判断开关时候等于a、b,这样就可以在开关按下的时候做到无延迟状态转换了。 五、源程序清单 #includestdio.h #includetime.h #includedos.h void main() { int i,j; int a[8]={0x05,0x15,0x14,0x54,0x50,0x51,0x41,0x45}; outportb(0x0c803,0x90); i=0; while(i10) { for(j=0;j8;j++) { outportb(0x0c801,a[j]); delay(100); } i++; } while(i--) { for(j=7;j=0;j--) { outportb(0x0c801,a[j]); delay(100); } } } 实习二 步进电机实验 一.实验目的和内容 控制四相六线式步进电机按双八拍运行方式运行,当按下按键开关SW时,启动步进电机并且先向前快走一定步数,然后,反向快走一定步数,再停止。 二、分析 (1)步进电机控制原理 步进电机是将电脉冲信号转换成角位移的一种机电式数模转换器。步进电机旋转的角位移与输入脉冲的个数据成正比;步进电机的转速与输入脉冲的频率成正比;步进电机的转动方向号输入脉冲对绕组加电的顺序有关。因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。 (2)运行方式与方向的控制-----循环查表法 步进电机的运行方式是指各相绕组循环轮流通电的方式。如四相步进电机有单四拍A→B→C→D、双四拍AB→BC→CD→DA、单双八拍AB→B→BC→C→CD→D→DA→A和双八拍AB→ABC→BC→BCD→CD→CDA→DA→DAB几种方式。运用循环查表法将各相绕组的加电顺序的控制代码制成一张表,即步进电机相序表,存放在内存区,再设置一个地址指针,当地址指针依次加一(或减一)时,即可从表中取出加电代码,然后输出到步进电机,产生按一定运行方式运行的走步操作。若改变相序表内加电代码和地址指针的指向,则可改变步进电机的运行方式和方向。 三、程序设计 包括硬件电路与软件编程两部分 (1)硬件设计 步进电机接口的硬件部分主要是提供输送相序代码的并行数据线(8根),以及保护电机绕组的器件。其原理如图所示: 连线图 (2)软件设计 流程图如下图所示 建立相序表: 相序表中的数据转化为16进制后依次为 0x05,0x15,0x14,0x54,0x50,0x51,0x41,0x45 相序表 相序表的建立,要考虑两个因素:一是应根据步进电机运行方式的要求;二是步进电机的各相绕组与数据线连接的对应关系。 四、调试分析 遇到的问题:程序运行过程中,步进电机的正确运行方向和实际刚好相反。 解决办法:最终发现问题是由于粗心大意没有试探步进电机的ABCD端口造成的,将连线次序调整后,步进电机能够正常工作了。 五、源程序清单 #includestdio.h #includetime.h #includedos.h void main() { int i,j; int a[8]={0x05,0x15,0x14,0x54,0x50,0x51,0x41,0x45}; outportb(0x0c803,0x90); i=0; while(i10) { for(j=0;j8;j++) {

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档