还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
华北科技学院计算机系综合性实验实验报《微机原理与接口技术A》课程综合性实验报告开课实验室接口实验室2009年5月24日实验题目微机控制步进电机调速系统
一、实验题目微机控制步进电机调速系统
二、实验目的
1、了解计算机控制步进电机原理
2、掌握步进电机正转反转设置方法
3、掌握步进电机调速工作原理及程序控制原理
三、实验设备及环境TPC-2003A微机
四、实验内容及要求按图
(1)连接线路,用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向8255的片选__CS接288H~28FHPA0~PA3接BA~BD;PC0~PC7接K0~K7编写程序实现步进电机的顺时针旋转控制当K0~K6中任一开关为“1”(向上拨)时步进电机启动,全部为“0”时步进电机停止,其中K0为“1”时速度最慢,K6为“1”时速度最快K7为“1”(向上拨)时步进电机顺时针转动,为“0”(向下拨)时逆时针转动硬件接线连接图图1实验内容步进电机驱动原理如图
(2)是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转线圈的通电顺序决定了步进电机的旋转方向(顺时针或逆时针)驱动电路由脉冲__来控制,所以,调节脉冲__的频率便可改变步进电机的转速如图2所示本实验使用的步进电机用直流+5V电压,每相电流为
0.16A,电机线圈由四相组成即φ1(BA)φ2(BB)φ3(BC)φ4(BD)图2驱动方式为二相激磁方式,各线圈通电顺序如下表表1中首先向F1-F2线圈输入驱动电流,接着依次向F2-F3,F3-F4,F4-F1输入驱动电流,最后再返回到F1-F2,按这种顺序切换可使步进电机实现顺时针方向旋转实验中可通过不同的时间延时来得到不同频率的步进电机输入脉冲,从而得到各种不同的电机转速8255A芯片一般占用四个连续的口地址,按照从高高到低分别为控制口、C口、B口、A口 8255共有三种工作方式 方式0基本输入输出; 方式1中断工作方式; 方式2双通输入输出,仅有A口图
(4)8255A芯片简介实验执行流程图参考代码
1.数据段代码DATASEGMENTioportEQU0c800h-0280h;0c800h是I/O端口的基本地址P55AEQUioport+288H;定义P55A为8255A端口的地址(A口做输出)P55CEQUioport+28AH;定义P55C为8255C端口的地址(C口做输入)P55CTLEQUioport+28BH;定义P55CTL为8255控制字端口的地址BUFDB0;定义一个字节数据(用来存入开关的状态)MESDBK0-K6ARESPEEDCONTYOL0AH0DH;写入一些文字用来描述DBK6ISTHELOWESTSPEED0AH0DH;各个开关所代表的速度DBK0ISTHEHIGHESTSPEED0AH0DH;K0为最低速,K6为最高速DBK7ISTHEDIRECTIONCONTROL0AH0DH$;K7为方向键DATAENDS
2.代码段代码CODESEGMENTASSUMECS:CODEDS:DATASTART:MOVAXCODEMOVCSAXMOVAXDATAMOVDSAX;程序的初始化(给CSDS赋值)MOVDXOFFSETMESMOVAH09INT21H;显示各个开关的信息MOVDXP55CTLMOVAL8BH;(8BH=10001011B为控制字)OUTDXAL;A口做输出,C口做输入送33H到A口输出给后面电机的正反转提供初只调用BIOS功能的INT16的1号功能,判断是否按下如果有则返回DOS如果没有判断开关的状态MOVBUF33HOUT1:MOVALBUFMOVDXP55AOUTDXAL;间接寻址获得AL的值pushdxMOVAH06hmovdl0ffhINT21H;检查是否有键按下popdxJEIN1;有键按下就停止,没有则转向IN1去执行MOVAH4CHINT21HIN1:MOVDXP55CINALDX;获得各个开关的状态TESTAL01HJNZK0TESTAL02HJNZK1TESTAL04HJNZK2TESTAL08HJNZK3TESTAL10HJNZK4TESTAL20HJNZK5TESTAL40HJNZK6;检查各个开关的状态,分别转向相应的程序STOP:MOVDXP55AMOVAL0FFHJMPOUT1;置停止信息并转向OUT1判断完状态则跳转到执行的程序献给BL__实现岩石时间控制转速然后判断K7的状态是1还是0K0:MOVBL10HSAM:TESTAL80H;继续判断K7是否为0JZZX0;为0就转向ZX0(循环右移程序)JMPNX0;为1就转向NX0(循环左移程序)K1:MOVBL2FH;BL为延时子程序的内层循环计数器JMPSAMK2:MOVBL4FHJMPSAMK3:MOVBL6FHJMPSAMK4:MOVBL8FHJMPSAMK5:MOVBL0AFHJMPSAMK6:MOVBL0CFHJMPSAMZX0:CALLDELAY;调用延时子程序MOVALBUFRORAL1MOVBUFALJMPOUT1;循环右移NX0:CALLDELAY;调用延时子程序MOVALBUFROLAL1MOVBUFALJMPOUT1;循环左移延时程序是由两曾循环程序构成的BL是外曾循环的次数CX是内层循环的次数严实时间长则脉冲频率小转速慢DELAYPROCNEAR;定义延时子程序DELAY1:MOVCX0FFFFHDELAY2:LOOPDELAY2DECBLJNZDELAY1RETDELAYENDPCODEENDSENDSTART实验总结微机原理这门课程学完后我有很大的收获,对汇编语言有了初步的了解并且通过本实验让我对汇编语言产生很大的兴趣,让我掌握了汇编编程的总体思路,本实验利用微机控制步进电机的调速,在实验过程中遇到的问题告诉我们理论的编程要结合实际的电动机技术指标调试延迟时间和实验箱的可以通过改变CX的赋值来控制电动机的转动速度CX越小电动机的转动速度越大也可以通过改变BL的值来改变单个开关的速度我们把CX称为总开关,BL成为分开关从而达到从K0到K6速度逐渐变快,而K7控制电动机的反转当K7闭合时电动机反转从这次实验中并让我进一步的学习到了8255的应用和掌握了8255的初始化和其编程对我们以后的工作和学习起到的积极的作用考核标准硬件连接正确,原理清楚3分完成步进电机控制、分析控制规律或有一定调速能力5分报告书写格式与数据分析及结论2分教师评价评定项目ABCD评定项目ABCD算__确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告规范题解正确其他评价教师签名年月日汇编源程序部分多了发不出来P55AEQU288H;8255APORTOUTPUTP55CEQU28AH;8255CPORTINPUTP55CTLEQU28BH;8255COUTRLPORTstacksegmentstackstackendsDATASEGMENTBUFDB
0......START:MOVAXCSMOVDSAXMOVAXDATAMOVDSAXMOVDXOFFSETMESMOVAH09INT21HMOVDXP55CTLMOVAL8BHOUTDXAL;8255CINPUTAOUTPUTMOVBUF33HOUT1:MOVALBUFMOVDXP55AOUTDXALpushdxMOVAH06hmovdl0ffhINT21H;ANYKEYPRESSEDpopdxJEIN1MOVAH4CHINT21HIN1:MOVDXP55CINALDX;INPUTSWITCHVALUETESTAL01H JNZK0TESTAL02HJNZK1TESTAL04HJNZK2TESTAL08HJNZK3TESTAL10HJNZK4TESTAL20HJNZK5TESTAL40HJNZK6STOP:MOVDXP55AMOVAL0FFHJMPOUT1K0:MOVBL10HSAM:TESTAL80H步进电机原理及使用说明步进电机是将电脉冲__转变为角位移或线位移的开环控制元件在非超载的情况下,电机的转速、停止的位置只取决于脉冲__的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲__,电机则转过一个步距角这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点使得在速度、位置等控制领域用步进电机来控制变的非常的简单为此,51测试网在腾龙__套件中首次引入了步进电机技术,方便用户应用掌握虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用它必须由双环形脉冲__、功率驱动电路等组成控制系统方可使用因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识步进电机的主要特性1步进电机必须加驱动才可以运转,驱动型号必须为脉冲__,没有脉冲的时候,步进电机静止,如果加入适当的脉冲__,就会以一定的角度(称为步角)转动转动的速度和脉冲的频率成正比2腾龙版步进电机的步进角度为
7.5度,一圈360度,需要48个脉冲完成3步进电机具有瞬间启动和急速停止的优越特性4改变脉冲的顺序,可以方便的改变转动的方向因此,目前打印机,绘图仪,机器人,等等设备都以步进电机为动力核心
1、《单片机原理与应用》,徐泳龙等,机械工业出版社,2004
2、《单片微型机原理、应用与实验》,张友德等,复旦大学出版社,2000
3、《单片机技术实验指导书》
4、《机械设备电气与数字控制》,黄义源,__广播电视大学出版社图3表1。