微机接口课设步进电机控制系统设计Word格式文档下载.docx

上传人:b****6 文档编号:21785821 上传时间:2023-02-01 格式:DOCX 页数:17 大小:121.44KB
下载 相关 举报
微机接口课设步进电机控制系统设计Word格式文档下载.docx_第1页
第1页 / 共17页
微机接口课设步进电机控制系统设计Word格式文档下载.docx_第2页
第2页 / 共17页
微机接口课设步进电机控制系统设计Word格式文档下载.docx_第3页
第3页 / 共17页
微机接口课设步进电机控制系统设计Word格式文档下载.docx_第4页
第4页 / 共17页
微机接口课设步进电机控制系统设计Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

微机接口课设步进电机控制系统设计Word格式文档下载.docx

《微机接口课设步进电机控制系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机接口课设步进电机控制系统设计Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

微机接口课设步进电机控制系统设计Word格式文档下载.docx

2.掌握计算机控制系统的软硬件的调试方法和步骤;

3.设计报告撰写格式要求(按提供的设计报告统一格式撰写)

具体内容如下:

①设计任务与要求

②总体方案与说明

③硬件原理图与说明

④实验电路图与说明

⑤系统流程图

⑥软件主要功能模块及流程图

⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);

⑧小结与体会

⑨参考文献

提供附录:

①源程序(必须有简单注释)

②使用说明

③参考资料

目录

1需求分析1

1.1课程设计题目1

1.2课程设计任务及要求1

1.3软硬件运行环境及开发工具1

2概要设计2

2.1设计原理及实现方法2

2.1.1步进电机控制原理2

2.1.2驱动步进电机的方法2

2.2主要芯片说明2

3详细设计3

3.1硬件设计与实现3

3.2程序流程图4

3.2.1系统流程图4

3.2.2功能模块流程图4

3.3软件设计6

3.3.1正转子程序6

3.3.2反转子程序6

3.3.3延时子程序7

4系统调试与操作说明8

4.1系统调试8

4.2操作说明8

5课程设计总结与体会10

参考文献11

附录:

步进电机控制程序12

1需求分析

1.1课程设计题目

1.2课程设计任务与要求

任务

1.用一个开关控制步进电机的起停,用两个开关控制步进电机四种工作模式:

正向慢速旋转、正向快速旋转、反向慢速旋转、反向快速旋转

2.送电时和步进电机停止时,七段码显示器显示数字“0”;

1.3软硬件运行环境及开发工具

实验设备:

TDN86/88教学系统一台

电脑配置:

windowsxp

软件开发工具:

wmd86

2概要设计

2.1设计原理及实现方法

2.1.1步进电机控制原理

步进电机是将电脉冲信号转换成角位移的一种机电式数模转换器。

步进电机旋转的角位移与输入脉冲的个数成正比;

步进电机的转速与输入脉冲的频率成正比;

步进电机的转动方向与输入的脉冲对绕组加电的顺序有关。

因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。

2.1.2驱动步进电机的方法

1.运行方式:

双八拍:

BA->

CBA->

CB->

DCB->

DC->

DCA->

DA->

DBA

2.相序表

表2.1相序表

D

C

B

A

编码

PC3

PC2

PC1

PC0

BA

1

03H

CBA

07H

CB

06H

DCB

0EH

DC

0CH

DCA

0DH

DA

09H

0BH

3.方向控制:

…->

DBA,电机正转

DBA->

BA,电机反转

4.步进电机速度控制:

将步进电机的绕组轮流通电,控制脉冲周期,脉冲周期长,运行速度慢;

脉冲周期短,运行速度快。

2.2主要芯片说明

8255芯片:

PA口设置为输入方式,用于检测开关的状态;

PB口设置成输出,用于数码管的显示;

PC口设置为输出,用于控制电机。

ULN2803A:

用于驱动电机。

八个输入,八个输出。

第十号引脚口接+12V电源,第九号引脚口接地。

3详细设计

3.1硬件设计与实现

1.硬件电路图

图3.1硬件电路图

2.硬件接线图

3.2程序流程图

3.2.1系统流程图

3.2.2功能模块流程图

1.数码管显示开关编码流程图

2.电机驱动流程图

3.3软件设计

3.2.1正转子程序

;

---------正转------------------------------

--入口地址BX,用来调节电机的速度;

BX越小,正转越快;

BX越大,正转越慢--

FRONTPROC

PUSHAX

PUSHCX

MOVCX,08H

MOVSI,OFFSETTABLE2

FRONT1:

MOVAL,[SI]

OUT62H,AL

MOVAX,BX

CALLDELAY

INCSI

LOOPFRONT1

POPCX

POPAX

RET

FRONTENDP

3.2.1反转子程序

---------反转------------------------------

--入口地址BX,用来调节电机的速度。

BX越小,反转越快;

BX越大,反转越慢--

REVERSEPROC

MOVSI,OFFSETTABLE2+7

REVERSE1:

MOVAL,[SI]

OUT62H,AL

MOVAX,BX

CALLDELAY

DECSI

LOOPREVERSE1

POPCX

POPAX

RET

REVERSEENDP

3.2.5延时子程序

----------延时程序,传递参数是AX-------------

----------AX越大,延时越长;

AX越小,延时越短----------

DELAYPROC

PUSHCX

MOVCX,AX

T1:

LOOPT1

POPCX

DELAYENDP

---------延时程序,传递参数是AX------------

4系统调试与操作说明

4.1系统调试

1.数码管测试:

将数字电表打到蜂鸣档,黑表笔接到数码管的第三或第八引脚,将红表笔一个一个测试数码的其它引脚,如果数码管相应的段位亮,则说明此引脚是好的,否则是坏的。

调试结果:

数码管完好。

2.8255芯片测试:

将PA、PB和PC口引脚全部输出为高电平,用电表一个个测试引脚,如果电压在3V~5V之间则表明引脚是好的,否则是坏的。

8255芯片完好。

3.数码管软件调试:

首先将数码管的每个段位对应的8255的引脚口全部输出为1,观察数码管的每个段位是否全部点亮。

数码管每个段位全部亮。

4.拨动开关数码管显示数字:

将开关K2拨到位置0,观看数码管是否为0。

拨动K1和K2开关,数码管无变化,显示为0.将开关K2拨打位置1,将K1和K2拨打不同位置,观看数码管是否显示为1~4。

表4.1拨动开关数码管显示调试结果

K2K1K0

数码管显示

0XX

100

101

2

110

3

111

4

5.电机运行工作方式:

拨动开关数码管显示数字,电机进行不同的运行方式。

在第四行的调试下,数码管显示0,步进电机不转;

数码管显示1,步进电机正向慢转;

数码管显示2,步进电机正向快转;

数码管显示2,步进电机反向慢转;

数码管显示4,步进电机反向快转;

表4.2电机运行工作方式调试结果

步进电机工作方式

停止

正向慢速旋转

正向快速旋转

反向慢速旋转

反向快速旋转

4.2操作说明

1.按图3-2接线

2.输入程序并检查无误,经汇编、连接后装入系统。

3.运行程序。

4.拨动开关K2到位置0,K1和K0置任意状态,数码管显示为0,步进电机停止运行。

5.拨动开关K2到位置1,K1置0,K1值0,数码管显示1,步进电机正向慢速运行。

6.拨动开关K2到位置1,K1置0,K1值1,数码管显示2,步进电机正向快速运行。

7.拨动开关K2到位置1,K1置1,K1值0,数码管显示3,步进电机反向慢速运行。

8.拨动开关K2到位置1,K1置1,K1值1,数码管显示4,步进电机反向快速运行。

5课程设计总结与体会

微机原理与接口技术是一门综合性比较强的学科,它综合了汇编和计算机组成原理的一些知识。

在微机原理与接口技术的第一章讲到了计算机基础知识,比如十进制、二进制和十六进制之间的相互转换。

第二章讲到了8086的系统结构,包括8086CPU的内部结构、寄存器结构、引脚及其功能和最大与最小系统等等。

第三、四章讲到了汇编语言的运用。

后面的几章主要讲到了8255、8253、8251、8259和0809芯片的使用与编程,还有一些方波、中断、串口、A/D、D/A的概念与原理。

在课设设计中我学会了汇编语言的编程、8055的使用、一位数码管的连接方式和步进电机的驱动方式。

在编程过程中,锻炼了我的逻辑思维的能力。

在编写程序前,我首先的画好连接电路图以及程序流程图,这样才能有效快速的编程编程速度较快。

我虽然编程和调试速度较快,但没有考虑高效的编程方式,导致程序比较复杂。

在老师的指点后,我优化了程序,代码量大大减少,代码通熟易懂。

在以后的学习中我一定要加强逻辑思维的培养和加大我的调试能力。

努力把课堂上学到的芯片移植到C51、AVR和ARM这些处理功能比较强的处理器中。

学会C与汇编混合编程,能够写出高效简洁的程序。

参考文献

[1]张晓明,等.汇编语言程序设计.北京:

国防工业出版社,2009.

[2]彭虎,周佩玲,傅忠谦.微机原理与接口技术(第三版).北京:

电子工业出版社,2008.

步进电机控制程序

DATASEGMENT

TABLE1DB06H,5BH,4FH,66H

TABLE2DB03H,07H,06H,0EH,0CH,0DH,09H,0BH

DATAENDS

STACK1SEGMENTSTACK

DW64DUP(?

STACK1ENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

MOVAL,90H;

--------设置A口方式0输入,B口方式0输出,C口低四位为输出

OUT63H,AL;

-----初始化

-------主程序部分---------------------------------------------------------------

A1:

INAL,60H;

-----PA2控制电机启动开关

TESTAL,04H;

-------测试PA2引脚口

JZA2

JMPA3

A2:

MOVAL,3FH

OUT61H,AL

JMPA1

A3:

-----读取方式

ANDAL,03H

CALLDISPLAY1

CALLSTYLE

-------主程序部分---------------------------------------------------------------

--------------------显示部分--------------

DISPLAY1PROC

MOVBX,OFFSETTABLE1

XLAT

OUT61H,AL

DISPLAY1ENDP

--------------------选择方式--------------

STYLEPROC

PUSHBX

CMPAL,00H

JESTYLE0;

慢速正转

CMPAL,01H

JESTYLE1;

快速正转

CMPAL,02H

JESTYLE2;

慢速反转

CMPAL,03H

JESTYLE3;

快速反转

STYLE0:

MOVBX,01FFFH;

慢速正转,周期长

CALLFRONT

JMPSTYLE4

STYLE1:

MOVBX,0FFFH;

快速正转,周期短

CALLFRONT

STYLE2:

MOVBX,01FFFH;

慢速反转,周期长

CALLREVERSE

STYLE3:

MOVBX,0FFFH;

快速反转,周期短

POPBX

STYLE4:

RET

STYLEENDP

--------------------选择方式--------------

INCSI

LOOPFRONT1

MOVSI,OFFSETTABLE2+7

----------AX越大,延时越短;

AX越小延时越短----------

PUSHCX

MOVCX,AX

LOOPT1

POPCX

RET

DELAYENDP

CODEENDS

ENDSTART

---------延时程序,传递参数是AX------------

设计者:

沈宇超

日期:

2014年6月13日

设计过程中质疑(或答辩)记载:

问题一:

模式运行和数字显示如何同步

答:

将读取的引脚编码压栈进行保护。

选择模式的时候将压栈的内容取出进行模式选择。

问题二:

如何用指针方式取相序表

取相序表的地址给SI,然后输出给PB口,再对SI的值进行输出后SI自加或自减。

见步进电机控制程序附录,正反转程序模块。

指导教师评语:

评分:

签名:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1