您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 大连理工大学计算机原理步进电机实验报告
计算机技术实验室安全操作规程1.实验前认真阅读安全操作规程,不得擅自触及总电源开关。2.试验期间学生不得使用与实验无关的电气设备。3.实验过程中若遇到计算机故障时,交由指导教师负责,不允许学生私自开箱维修。4.在实验过程中,连接实验设备的220V电源时,要保持手部干燥,并注意操作安全,不允许使用金属部件触碰220V电源线及电源插座的带电部位。5.学生实验期间,在连接导线时不允许实验台带电操作,连接完成后检查无误时再将实验台上电。完成实验时先将实验台断电后在进行导线拆除。6.试验期间要关闭手机等通讯工具,实验室一律禁止携带饮料,食品;禁止吸烟,喧哗,嬉闹,确保实验室卫生,整洁。7.学生完成实验后,必须关闭所有实验设备电源。8.如果实验中发生“突发事件”时,不要慌张,应沉着冷静采取相关措施,必要时拨打校内的紧急电话(84708110)或拨打110,120报警。电工电子实验教学中心计算机技术实验室学生签字:______________大连理工大学本科设计报告(计算机原理接口实验综合设计)题目:课程名称:计算机原理实验学院(系):专业:班级:学号:学生姓名:成绩:20年月日题目:步进电机控制系统设计一、设计要求利用实验台上的开关(K7-K0),实现步进电机的转速、转向控制。具体要求如下:1.利用D8255A的PA0-PA3做输出,输出步进电机的相序、驱动步进电机工作(使用四个LED监视步进电机的相序信号),相序之间的时间决定着步进电机的转速,而间隔时间由延时程序中的CX寄存器的初值决定。2.利用D8255A的PB7-PB0做输入,与K7-K0连接。其中K7做步进电机的转向控制,其余位做步进电机的转速控制。程序运行时通过K7-K0对步进电机实施动态控制;3.利用8253做秒脉冲发生器,产生约2秒的周期性方波信号。其中CNT0做分频器:将1MHZ信号分频为100HZ;CNT1做秒脉冲输出(0.5HZ);4.利用386模块的主8259的MIR5做中断请求输入,将CNT1的OUT1秒信号方波作为中断请求信号,引发中断服务ISR;5.在中断服务程序中实现对步进电机的转速实时控制,在主程序中实现对步进电机的转向实时控制。方法如下:在ISR中,对D8255A的PB口进行一次输入操作,并根据输入的数据:1)对D7(与K7对应)位的数据为步进电机的转向控制;2)对D6-D0(与K6-K0对应)位的数据为步进电机的转速控制。二、设计分析及系统方案设计1.将初始相序存放在一个寄存器中(原始相序数据位66H),然后利用对该寄存器“移位”的方式产生下一个相序。其中对寄存器中的数据移位方向决定着电机旋转地方向。注意此方法仅适用于“双---四拍”的相序信号。2.对8253进行编程,使OUT1输出2秒周期的脉冲方波信号。为了便于调试,建议使用逻辑笔监测OUT1的输出;3.编制与中断相关的程序。包括中断屏蔽字的设定、中断向量表的创建以及开中断的操作。上述这些操作都应当加到程序的初始化中;4.编写中断服务程序ISR。在ISR中读取D8255A的PB口数据,然后进行数据分析、根据数据来调整CX寄存器中的数据,因而改变步进电机的转速和转向。5.编写延时子程序delay,speed参数控制电机的loop循环,进而控制电机转速。三、系统电路图四、外围接口模块硬件电路功能描述1.8255有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为主机与多种外设连接时的中间接口电路。2.8253是一个可编程的定时计数器,内部有三个计数器:CNT0、CNT1和CNT2,还有一个控制寄存器,每个计数器可按照二进制或十进制计数,每个通道都有六种不同的工作方式。8253OUT1CLK1GATE1/CSOUT0CLK0GATE01MHZ脉冲K7输入K6输入……K0输入Vcc210H图1实验系统电路图MIR58255APA3PA2PA1PA0D7··D0A1A0/CSPB7PB6....PB0LED3LED2LED1LED0200H步进电机5VBJ_IN4BJ_IN3BJ_IN2BJ_IN1系统总线K7………K00.5HZ方波图28255A引脚图图38253引脚图五、主程序中主要变量说明变量名称内存单元功能bufal步进电机相序speeddh控制电机转速六、系统软件中各个子程序的功能描述子程序名称入口参数出口参数功能描述Int_procP8255_bspeed中断服务程序,修改转速Delayspeed无延时,控制电机相序的输出间隔七、主程序程序流程图从8255的B口输入数据中断结束命令根据D6-D0值改变speed值ISR8253初始化CNT0方式3、初值10000CNT1方式2、初值200主片8259初始化设置屏蔽字创建35H的中断向量表开中断开始(a)主程序流程图IRETD7=1?顺时驱动(等待中断)逆时驱动(等待中断)(b)中断服务程序流程图图4程序流程图D7控制转向YND8255A的初始化PA、PB输出八、程序清单p8255_aequ200h;8255的a口地址p8255_bequ201h;8255的b口地址p8255_ctlequ203h;8255的控制口地址io8253_0equ210h;8253CNT0的端口地址io8253_1equ211h;8253CNT1的端口地址io8253_kequ213h;8253控制寄存器的端口地址datasegmentbufdb0;相序存储speeddb0;转速控制dataendscodesegmentassumecs:code,ds:datastart:cli;关中断movax,cs;设定数据段与代码段在同一个段中movds,axmovax,datamovds,ax;-------设置386EX主8259中断屏蔽字-----inal,21handal,11011111b;开放主片IR5中断out21h,al;-------设置中断向量表------------Pushdsmovax,0movds,axleaax,cs:int_proc;ax指向中断程序入口地址movsi,35h;中断类型码=35Haddsi,si;35H*4H找到相应中断向量表中的位置addsi,simovds:[si],ax;中断向量表的IPpushcspopaxmovds:[si+2],ax;中断向量表的CS(=0000H)popds;------8255芯片初始化------movdx,p8255_ctlmoval,8bh;设定A口方式0输出,B、C口方式0输入outdx,al;写入控制字movbuf,66h;初始相序66h;-------8255芯片初始化------movdx,io8253_k;设8253计数器0为方式3moval,36houtdx,almovdx,io8253_0movax,10000;写入计数器初值outdx,almoval,ahoutdx,almovdx,io8253_k;cnt1产生0.5Hz的时钟moval,74h;设计数器1为工作方式2outdx,almovdx,io8253_1movax,200;写入计数器CNT1初值outdx,almoval,ahoutdx,alout1:moval,bufmovdx,p8255_aoutdx,al;输出步进电机的相序代码;-------主程序循环体------lop:calldelayin1:movdx,p8255_b;指向8255的B口,输入K信号inal,dxsam:testal,80h;方向控制:判断K7=1?jznx0;K7=1时,转nx0moval,bufroral,1;相序代码循环右移jmpnx1nx0:moval,bufrolal,1;相序代码循环左移nx1:movdx,p8255_aoutdx,al;输出步进电机的相序代码movbuf,alstijmplop;-------中断服务程序------;int_procprocfarpushaxpushcxpushdxmovdx,p8255_b;再读8255B口,修改speedinal,dxandal,7fhmovspeed,almoval,20h;发EOI结束命令out20h,alpopdxpopcxpopaxstiiretint_procendp;-------延时子程序------;delayprocpushaxpushcxpushdxmovdh,speedx1:movcx,300hx2:loopx2decdhjnzx1popdxpopcxpopaxretdelayendpcodeendsendstart九、系统调试运行结果说明、分析所出现得问题,设计体会与建议硬件环境:386EX实验箱软件环境:计算机软件设计语言:汇编语言连接电路,运行程序,在385EX实验箱中,可以观察到步进电机开始工作,K7控制转向,K7=1时,电机顺时针旋转,K7=0时,电机逆时针旋转;K6~K0控制转速,K6~K0均为0时,转速最大,K6~K0均为1时,转速最小。在设计程序时,我没有在中断服务程序中实现对步进电机的转向实时控制,而是在主程序中实现对步进电机的转向实时控制,在对步进电机的转速进行控制的延时程序中,不是通过改变寄存器cx的值来控制转速,而是通过改变speed的值来控制转速。十、结论及设计体会通过综合设计实验,我对汇编语言的应用有了更为清晰的认识,编写汇编语言的水平有了大幅度提升,同时也更了解了8255,8253等芯片的使用方法,学会了如何通过编程使步进电机运转起来。在进行综合设计时要注意分模块设计,从实现基本功能开始,再逐步加入其他功能,从而完成整个系统的设计。参考文献:《计算机原理综合实验教程》秦晓梅、陈育斌编著
本文标题:大连理工大学计算机原理步进电机实验报告
链接地址:https://www.777doc.com/doc-3587121 .html