小型步进电机控制系统课程设计8086.docVIP

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

设计题15:小型步进电机控制系统设计(限1-2人) 设计要求: (1)、分别用C语言和汇编语言编程完成硬件接口功能设计; (2)、基于80x86微机接口硬件电路设计调试; (3)、控制功能要求:小键盘给定分段速度,数码管显示当前步进电机启动与停止、方向、速度信息; (4)、具有本地与远程(串行方式下)功能。(由于技术有限,该功能没有实现)。 使用硬件:8086 PC,8255芯片,键盘数码管,步进电机驱动电路,步进电机 系统设计: 键盘采用实验板提供的4*4键盘,使用4个数码管实时显示系统当前状态。 键位分配: 第三行第一个键UP 第三行第一个键 UP 第四行前两个键R/LS/R 第四行前两个键 R/L S/R 方向键(R/L):控制步进电机运行方向,无论电机处于运行或停止状态,每按下一次,电机转动方向反向; 暂停键/运行(S/R):控制电机运行与否。电机转动时按下,电机暂停,当前电机运行参数不变,再次按下时,电机继续按暂停前参数运行; 档位键(UP):无论电机处于任何状态,均可设定电机档位。(四档循环) 数码管显示信息: 左起第一个数码管显示当前电机的运行状态:S(Stop)表示当前电机为停止状态;E(Enable)表示当前电机为运行状态;P(Pause)表示当前电机为暂停状态。 第二个数码管未使用,只有小数点点亮。 第三个数码管显示电机运行方向:C(Clockwise)表示电机运行方向为顺时针;A(Anti-clockwise)表示电机运行方向为逆时针。 第四个数码管显示电机的档位:1、2、3、4分别表示1、2、3、4档。 键盘数码管内部连线如下图: 数码管显示最高位为当前运行状态(S/R) 第二位不使用一直显示“-” 第三位显示当前的运行方向(R/L) 第四位显示当前你的运行档位 数码管和小键盘内部接线图如下: 键盘扫描与显示程序 设置三个标志位: 1.运行状态标志MODE:0 = 停止(Stop) 1 = 运行(Run) 2.方向标志DIR(Direction):0 = 逆时针(Right) 1 = 顺时针(Left) 3.档位标志GRD(Grade):1 = 1 档 2 = 2档 3 = 3档 4 = 4档 C语言程序中: char a[]={0x6d,0x76, 0x76,0x0e,0x06,0x5b,0x4f,0x66,0x80}; char b[]={0x00,0x09,0x04,0x05}; int dir=1; int mode=0; int grd=1; 数组a[]中存放数码管的编码,一次为:“S”、“R”、“R”、“L”、“1”、“2”、“3”、“4”、“.” 数组b[]中分别存放四个数码管应显示的编码在数组a[]中对应的位置,例如:b[]的初值为:0,9,4,5,则数码管会对应显示:“ S -L 1 ”。 汇编程序中: DATA SEGMENT DTABLE1 DB 6DH,79H,73H,77H,39H,06H,5BH,4FH,66H,80H DATA ENDS MOV SI,3000H MOV [SI],00H MOV [SI+2],09H MOV [SI+4],04H MOV [SI+6],05H DTABLE1中存放数码管的编码。 [SI][SI+2][SI+4][SI+6] 中分别存放四个数码管应显示的编码在DTABLE1中对应的位置。 与C程序中不同,汇编程序中取消了dir、mode、grd三个独立的变量,而是直接用[SI][SI+4][SI+6]来代表, 即:[SI]=0时,表示停止状态; [SI]=1时,表示运行状态; [SI+4]=3时,表示方向为逆时针; [SI+4]=4时,表示方向为顺时针; [SI+6]=5时,表示档位为1档; [SI+6]=6时,表示档位为2档; [SI+6]=7时,表示档位为3档; [SI+6]=8时,表示档位为4档。 键盘扫描与显示程序流程图: C语言程序中: void action(void) { if(n==0) { if(dir==1) dir=0; else dir=1; } if(n==1) { if(mode==1) mode=2; else mode=1; } if(n==2) { dir=1; mode=0; grd=1; } if(n==4) grd=1; if(n==5) grd=2; if

文档评论(0)

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

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

1亿VIP精品文档

相关文档