东北大学接口技术微机原理课程设计大作业.docx

上传人:b****2 文档编号:11749488 上传时间:2023-06-02 格式:DOCX 页数:66 大小:308.19KB
下载 相关 举报
东北大学接口技术微机原理课程设计大作业.docx_第1页
第1页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第2页
第2页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第3页
第3页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第4页
第4页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第5页
第5页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第6页
第6页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第7页
第7页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第8页
第8页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第9页
第9页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第10页
第10页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第11页
第11页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第12页
第12页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第13页
第13页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第14页
第14页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第15页
第15页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第16页
第16页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第17页
第17页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第18页
第18页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第19页
第19页 / 共66页
东北大学接口技术微机原理课程设计大作业.docx_第20页
第20页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

东北大学接口技术微机原理课程设计大作业.docx

《东北大学接口技术微机原理课程设计大作业.docx》由会员分享,可在线阅读,更多相关《东北大学接口技术微机原理课程设计大作业.docx(66页珍藏版)》请在冰点文库上搜索。

东北大学接口技术微机原理课程设计大作业.docx

东北大学接口技术微机原理课程设计大作业

东北大学

接口技术报告

步进电机控制系统

 

学院XXXXXXXXXXXXXXXXX

班级XXXXXXXXXXXXXXXXXXX

姓名XXXXX

学号XXXXXXXXXX

日期XXXXXXXXXXXX

【实验目的】

1、利用PC机和实验箱,设计并实现给定步进电机的控制。

2、进一步掌握对芯片的硬件和软件综合设计方法。

3、了解微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计。

【实验内容】

1、控制步进电机转动,要求转速1步/秒。

2、基于实验箱,设计并实现接口和驱动电路。

3、用汇编语言编制程序。

4、改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3档);单步。

【实验设备】

1)MUT-III型实验箱

2)计算机

【总体设计】

1、8253定时控制步进速度。

2、8255输出控制脉冲,再经75452驱动电机。

3、系统运行时,通过按键的不同来控制电机转/停;正转/反转;改变转速(至少3档);单步。

【硬件设计】

因采用了PC机和PC总线接口应用平台,硬件电路相对简单,除利用了PC机本身资源外(如中断资源),还利用了平台上的8253计数/定时器、8255并行接口单元,再加上外围驱动电路,便构成可步进电机控制电路,硬件原理图如图1:

图中75452元件是正与非驱动器,OC门输出,所以加上拉电阻;8253的作用是输出定时信号向CPU申请中断要求输出电机走步的控制信号。

图1

【芯片介绍】

(1)8253定时器/计数器电路

该电路由1片8253组成,8253的片选输入端插孔CS8253,数据口、地址、读、写线均已接好,T0、T1、T2时钟输入分别为8253CLK0、8253CLK1、8253CLK2。

定时器输出、GATE控制孔对应如下:

OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。

原理图如下:

注:

GATE信号无输入时为高电平 

(2)8255

8255可编程并口电路:

该电路由1片8255组成,8255的数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:

PA0~PA7,PB0~PB7,PC0~PC7.电路原理如图:

8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。

8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。

实验中,8255A工作于基本输入输出方式(方式0)。

另外,从原理图中看到,8255芯片的端口选择信号A0、A1,分别与地址总线A1、A2相连,因此,8255的四个端口地址应是:

04A0H、04A2H、04A4H、04A6H。

用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0”则不通电。

步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺序和切换频率来调节其转速和转向。

步进电机可以四相四拍或四相八拍方式工作,即通电顺序为:

A→B→C→D→A;A→AB→B→BC→C→CD→D→DA→A。

按相反的顺序即可改变电机的旋转方向。

本实验系统采用的是:

AB→BC→CD→DA→AB。

【软件设计】

本设计通过软件编程使8253输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。

电机的转动和停止则是通过8255的A0端子输出高低电平来继续或暂停8253的计数从而控制中断申请来实现的。

8253的定时时间决定了电机转动的快慢。

相对简单的硬件电路,使软件设计成为本实验的中心内容。

控制系统分五个功能模块,分别是转速设置、转向设置、固定步数转动、连续转动、退出系统,在前四个功能块中都设置了ESC键来取消或暂停执行当前操作。

(1)转速设置

根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。

这里采用的是8253的0号计数器和方波产生方式,输入时钟为f=46875hz,设计数初值为n,要求转速为0.25转/秒,对四相步进电机而言即为5步/秒,则有:

f/n=5n=f/5=46875/5=9375

反过来,当计数器初值确定时,决定了电机的转速,如计数初值为0时,有电机转速为1步每秒(本设计中最慢速度);当计数初值为125时,电机转速为375步每秒(本设计中最快速度)。

具体设置初值及转速见表2。

步速

转速

按键

计数初值

1

0.05

F1

46875

3

0.15

F2

15625

5

0.25

F3

9375

15

0.75

F4

3125

25

1.25

F5

1875

75

3.75

F6

625

125

6.25

F7

375

375

18.75

F8

125

(2)转向设置

在内存单元中设置一方向标志FLAG1,假设FLAG1为0时为顺时针转向,则当设置FLAG1不为0时即可使电机转逆时针转动。

判断操作在中断子程序中进行。

(3)连续转动设置

在此功能模块中,通过让8255的A0口输出高电平到8253的GATE0使其0号计数器继续工作(平常时A0口为低电平使8253的0号计数器暂停计数),并开放中断进入循环等待中断状态,在等待状态中若有键盘的‘ESC’键按下,则认为暂停要求而关闭中断和暂停8253计数回到主菜单。

需要继续原转向原速度运行,再选择此功能模块即可。

(4)固定步数转动设置

通过键盘输入0到999的十进制值来设定转动步数。

判断已转步数即中断次数是这样实现的,设置一内存单元FLAG0,中断时在中断子程序中求反,而在循环等待中断的程序中判断其有无变化,无变化继续循环,有变化则使计数寄存器CX减1后继续循环,当CX=0时退出等待中断状态,并关中断和暂停8253计数。

在这个等待程序中也判断键盘有无ESC键按下,若有则认为暂停要求而退出。

(6)中断子程序

在中断子程序中,将值为11001100B的内存单元循环左移或右移一位,通过8255的下C口输出低四位,控制步进电机的相序变化,从而使电机连续转动。

左移或右移将使电机顺时针或逆时针转动,它由标志FLAG1来决定。

 

【程序流程图】

(1)主程序框图如图2

(2)中断服务子程序框图如图3

(3)速度设置自程序和方向设置单元程序的流程比较简单,如图4,5。

(4)固定步数转动单元子程序框图如图6

(5)连续转动单元子程序框图如图7

(6)8253和8255初始化子程序、菜单显示子程序请参考程序清单。

【实验程序】

DATASEGMENT

IRQEQU0DH

IMR1EQU0DFH

IMR2EQU20H

PA55EQU280H

PC55EQU282H

CTL55EQU283H

P0_53EQU290H

CTL53EQU293H

INTA0EQU20H

INTA1EQU21H

MES0DB0DH,0AH,'*****STEPPINGMOTORCONTROLSYSTEM!

*****',0DH,0AH,0DH,0AH

DB'PRESS1TOSPEEDSET!

',0DH,0AH

DB'PRESS2TODIRECTIONSET!

',0DH,0AH

DB'PRESS3TOTURNREQUIREDSTEPS!

',0DH,0AH

DB'PRESS4TOSTARTRUNNING!

',0DH,0AH

DB'PRESS5TOEXIT!

',0DH,0AH,'$'

MES1DB0DH,0AH,'*****SPEEDSET*****',0DH,0AH,0DH,0AH

DB'PRESSAFOR0.05R/S!

',0DH,0AH

DB'PRESSBFOR0.15R/S!

',0DH,0AH

DB'PRESSCFOR0.25R/S!

',0DH,0AH

DB'PRESSDFOR0.75R/S!

',0DH,0AH

DB'PRESSEFOR1.25R/S!

',0DH,0AH

DB'PRESSFFOR3.75R/S!

',0DH,0AH

DB'PRESSGFOR6.25R/S!

',0DH,0AH

DB'PRESSHFOR18.75R/S!

',0DH,0AH

DB'PRESSESCTOCANCEL!

',0DH,0AH,'$'

MES2DB0DH,0AH,'*****DIRECTIONSET*****',0DH,0AH,0DH,0AH

DB'PRESS1TORIGHT!

',0DH,0AH

DB'PRESS0TOLEFT!

',0DH,0AH,'$'

MES3DB0DH,0AH,'*****STEPS(<1000)SET*****',0DH,0AH,0DH,0AH

DB'PRESSESCTOCANCEL!

',0DH,0AH

DB'PLEASEINPUTSTEPS:

','$'

MES4DB0DH,0AH,'RUNNING.....',0DH,0AH

DB'PRESSESCTOSTOP!

',0DH,0AH,'$'

INTSEGDW?

INTOFFDW?

INTIMRDB?

FLAG1DB0

FLAG0DB0

NUMDB11001100B

CNTFFDW0B71BH,3D09H,249FH,0C35H,753H,271H,177H,7DH

DATAENDS

STACKSEGMENTPARASTACK'STACK'

DB256DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVDX,CTL53

MOVAL,00110110B

OUTDX,AL

MOVDX,P0_53

MOVAL,1BH

OUTDX,AL

MOVAL,0B7H

OUTDX,AL

MOVDX,CTL55

MOVAL,10000000B

OUTDX,AL

MOVDX,PA55

MOVAL,0

OUTDX,AL

MOVAL,11001100B

MOVDX,PC55

OUTDX,AL

CLI

MOVAH,35H

MOVAL,IRQ

INT21H

MOVAX,ES

MOVINTSEG,AX

MOVINTOFF,BX

PUSHDS

MOVAX,SEGINTPROC

MOVDS,AX

LEADX,INTPROC

MOVAH,25H

MOVAL,IRQ

INT21H

MOVDX,INTA1

INAL,DX

MOVINTIMR,AL

ANDAL,IMR1

OUTDX,AL

POPDS

STI

MAIN:

LEADX,MES0

MOVAH,09H

INT21H

LP0:

MOVAH,8

INT21H

CMPAL,'1'

JELP1

CMPAL,'2'

JELP2

CMPAL,'3'

JELP3

CMPAL,'4'

JELP4

CMPAL,'5'

JEEXIT

JMPLP0

LP1:

CALLAA

JMPMAIN

LP2:

CALLBB

JMPMAIN

LP3:

CALLCC

JMPMAIN

LP4:

CALLDD1

JMPMAIN

EXIT:

CLI

MOVAL,INTIMR

MOVDX,INTA1

OUTDX,AL

MOVDX,INTOFF

MOVAX,INTSEG

MOVDS,AX

MOVAH,25H

MOVAL,IRQ

INT21H

STI

MOVAH,4CH

INT21H

INTPROCPROC

PUSHAX

PUSHDS

PUSHDX

PUSHCX

STI

MOVAX,DATA

MOVDS,AX

CMPFLAG1,0

JEKK

RORNUM,1

JMPYY

KK:

ROLNUM,1

YY:

MOVAL,NUM

ANDAL,00001111B

MOVDX,PC55

OUTDX,AL

NOTFLAG0

;INCFLAG0

MOVDX,INTA0

MOVAL,20H

OUTDX,AL

POPCX

POPDX

POPDS

POPAX

IRET

INTPROCENDP

AAPROC

PUSHAX

PUSHBX

PUSHDX

PUSHDI

MOVAH,9

LEADX,MES1

INT21H

MOVAH,8

INT21H

CMPAL,1BH

JZKK0

SUBAL,'A'

MOVAH,0

ADDAX,AX

MOVDI,AX

MOVBX,OFFSETCNTFF

MOVAX,WORDPTR[BX+DI]

MOVDX,P0_53

OUTDX,AL

XCHGAH,AL

OUTDX,AL

KK0:

POPDI

POPDX

POPBX

POPAX

RET

AAENDP

BBPROC

PUSHAX

PUSHDX

MOVAH,9

LEADX,MES2

INT21H

MOVAH,8

INT21H

CMPAL,1BH

JZXX

SUBAL,'0'

MOVFLAG1,AL

XX:

POPDX

POPAX

RET

BBENDP

CCPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVAH,9

MOVDX,OFFSETMES3

INT21H

MOVBX,0

GETCHAR:

MOVAH,1

INT21H

SUBAL,30H

JLXX0

CMPAL,09H

JGXX0

MOVAH,0

XCHGAX,BX

MOVCX,0AH

MULCX

XCHGAX,BX

ADDBX,AX

JMPGETCHAR

XX0:

MOVAH,9

LEADX,MES4

INT21H

MOVCX,BX

;MOVCX,10

STI

MOVDX,PA55

MOVAL,1

OUTDX,AL

MOVBL,FLAG0

XX1:

;CLI

MOVAH,6

MOVDL,0FFH

INT21H

CMPAL,1BH

JEXX2

;STI

HLT

CMPBL,FLAG0

JEXX1

MOVBL,FLAG0

LOOPXX1

XX2:

CLI

MOVDX,PA55

MOVAL,0

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

RET

CCENDP

DD1PROC

PUSHAX

PUSHDX

MOVAH,9

LEADX,MES4

INT21H

STI

MOVDX,PA55

MOVAL,1

OUTDX,AL

LOP:

MOVAH,8

INT21H

CMPAL,1BH

JNZLOP

CLI

MOVDX,PA55

MOVAL,0

OUTDX,AL

POPDX

POPAX

RET

DD1ENDP

CODEENDS

ENDSTART

 

【心得体会】

《接口技术》是一门应用性很强的课程,其中包括软硬件的结合,接口技术,中断的处理。

由于平时对硬件的接触较少所以学习起来多少有些困难。

但课程中融入了实验,并且还有这次的大作业。

对于理论知识的理解就更深刻了。

本次大作业的内容是步进电机的控制设计,其中包括转速设置、转向设置、固定步数转动、连续转动、退出系统。

程序完全是自己设计的,这与平时的实验很不同,对编程的要求很高。

而且平时的实验都是给出程序的。

这个可给我出了个难题,我认真查阅资料,学习关于这方面的知识,比如说要了解怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲。

在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,查每一条指令的作用与功能,又巩固了我的对汇编语言的了解。

感谢老师这个学期对我们的悉心教授,让我们对接口技术有了更多的了解!

(英文版)

easilyblame,topreventthebrokenwindoweffect.Supervisetheleadingcadrestoplayanexemplaryrole,taketheleadinthestrictimplementationoftheand,leadtosafeguardthesolemnityandauthorityofthepartydiscipline,ensurethatthepartydisciplineandthelawsandregulationsforimplementationinplace.Throughoutthedisciplineinthedailysupervisionandmanagement

strengthensupervisionandinspection,fromthethoroughinvestigationofviolationsofdisciplinebehavior.Strengthentokeyareas,keydepartmentsandkeyprojectsaswellasthemassesreflecttheconcentrationoftheunitsanddepartmentsforsupervision.-strengtheningsupervision,disciplineinspectionandsupervisionofcadrestosetanexampleforcompliancewiththeandisamanmustbehexyl,blacksmithneedsitsownhardware.Disciplineinspectionorgansastheexecutorofthepartydiscipline,andsupervisorofthedefenders,foritssupervisionmustbemorestrictly,disciplineinspectionandsupervisionofcadrestofirmlyestablishtheawarenessofPartyConstitution,senseofdisciplineandrulesconsciousness,politicsloyalty,senseobey.ActionspeakJiOrdinancetosetanexampleoftheregulationsoftheruleoflaw,strengthensupervisionandacceptthesupervisionofthefirmnessandconsciousness,docomplywith<>and<>.Tofirmlyestablishthedisciplinemustfirstbedisciplined,thesupervisorwillbesubjecttothesupervisionof"concept,andconsciouslysafeguardandimplementpartycompassesparty,taketheleadinpracticing"threestrictrealstrict,soloyal,clean,play.Tobegoodatlearning,theConstitutionandtheasmorality,politicsandbroughttofruition;toimplement<>,donotwantto,darenot,notwithdisciplinaryrulertosupervision;todisciplinearuler,oftenthecontrolinspection,andconsciouslyintheideologicalredlinetodrawtherowMingGoodaccumulationisindeedthebottomline,sothatthehearthasfear,saidtohavequit,thelinehasended.Attached:

indifferenttoheart,calmlytothetableinourlife,therearemanyunpredictablethingswillhappen,somegood,somebadthings,wecannotcontrolispowerlesstostop,butwithtime,youwillfindinlifesometimesturnsouttobenotgood,somebadthingsfinallyturnedouttobeagoodthing,butthenwemuddyhowever

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2