




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连理工大学本科设计报告(计算机原理接口实验综合设计)题目: 步进电机控制系统设计 课程名称: 计算机原理实验 学院(系): 电信 专 业: 自动化 班 级: 电自1301 学 号: 201382062 学生姓名: 宁博 成 绩: 2015年12月26 日题目:步进电机1. 设计要求 利用实验台上的开关K7控制步进电机的转向,利用电位器控制步进电机的转速。具体要求如下:1. 利用D8255A的PA0-PA3做输出,输出步进电机的相序、驱动步进电机工作,相序之间的时间决定着步进电机的转速,而间隔时间由延时程序中的CX寄存器的初值决定。2. 利用D8255A的PB7做输入控制转向,与K7连接。其中
2、K7做步进电机的转向控制,用ADC0809实现AD转换,利用电位器控制转速,程序运行时通过K7和电位器对步进电机实施动态控制;3. 利用8253做秒脉冲发生器,产生约2秒的周期性方波信号。其中CNT0做分频器:将1MHZ信号分频为100HZ;CNT1做秒脉冲输出(0.5HZ);4. 利用386模块的主8259的MIR5做中断请求输入,将CNT1的OUT1秒信号方波作为中断请求信号,引发中断服务ISR;5. 在中断服务程序中实现对步进电机的转速、转向实时控制。方法如下:在ISR中,对D8255A的PB口进行一次输入操作,并根据输入的数据:1) 对D7(与K7对应)位的数据为步进电机的转向控制;2
3、) ADC0809读入的数据为步进电机的转速控制。2 .设计分析及系统方案设计1. 使用“寄存器间接寻址”的方式输出相序信号:将步进电机的相序数据定义在数据段当中,使用SI查表(间接寻址)获取相序数据。其中查表顺序决定着电机转动方向;2. 对8253进行编程,使OUT1输出2秒周期的脉冲方波信号。为了便于调试,建议使用逻辑笔监测OUT1的输出;3. 编制与中断相关的程序。包括中断屏蔽字的设定、中断向量表的创建以及开中断的操作。上述这些操作都应当加到程序的初始化中;4. 编写中断服务程序ISR。在ISR中读取D8255A的PB口数据和AD转换的数据,然后进行数据分析、根据数据来调整CX寄存器中的
4、数据,因而改变步进电机的转速和转向。3.系统电路图8253OUT1CLK1GATE1/CS OUT0CLK0GATE01MHZ脉冲K7输入K6输入K0输入Vcc210HMIR58255APA3PA2PA1PA0D7··D0A1A0/CS PB7PB6.PB0LED3LED2LED1LED0200H步进电机512VBJ_IN4BJ_IN3BJ_IN2BJ_IN1系统总线K7K00.5HZ方波 +5V ADC0809模块 IN7IN0/IOWA0A0/IORA1A1500KHADDAADDBCLOCKADDCD7.D0220H总线区/CSVCCVREF(-)VREF(+)图 1
5、 .1 实验参考逻辑电路4 .外围接口模块硬件电路功能描述8253具有三个独立的16位减法计数器,每个计数器可按照二进制或十进制计数,每个通道都有六种不同的工作方式。8255有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为主机与多种外设连接时的中间接口电路。 ADC0809 是8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,具有转换起停控制端。模拟输入电压范围0+5V,不需零点和满刻度校准。5 主程序中主要变量
6、说明变量名称内存单元功能FLAGAX转向标志SPEEDSI可调转速SDAL默认转速6.系统软件中各个子程序的功能描述子程序名称入口参数出口参数功能 描述serviceio8255_B ADC0809SD中断服务DELAY无无延时speedin无无电机按照一定参数转起来7.主程序程序流程图从8255的B口输入数据中断结束命令PB7=1?N修改方向标志Flag=1Y从0809读数据设定CX值ISRD8255A 的初始化PA、PB输出 8253 初始化CNT0方式3、初值CNT1方式2、初值主片8259初始化设置屏蔽字创建35H的中断向量表开中断开始(a)主程序流程图IRET修改方向标志Flag=0
7、Flag=1?顺时驱动(等待中断)逆时驱动(等待中断)(b)中断服务程序流程图图 1.2 程序流程图建立方向标志Flag=1YN8.程序清单IO_ADDRESS equ 200h time equ 210h ad_io equ 220hdata segment order1 db 01h,03h,02h,06h,04h,0ch,08h,09horder2 db 09h,08h.0ch,04h,06h,02h,03h,01hFLAG db ?speed dw0300h,0380h,0480h,0580h,0680h,0780h,0880h SD dw0280h ;默认转速data endscod
8、e segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,IO_ADDRESS add dx,03 mov al,82h ;B端口输入,A、C输出,方式0 out dx,al cli mov FLAG,00h ;标志位置0 in al,021h ;设置中断屏蔽字 and al,11011111b;IR5 out 021h,al push ds ;设置中断向量表 mov ax,0 mov ds,ax mov si,35h add si,si add si,si mov ax,offset service mov si,a
9、x push cs pop ax mov si+2,ax pop ds mov dx,time ;分频得到0,5s脉冲 add dx,03 mov al,37h;计数器0,方式3,BCD码计数,先低后高 out dx,al mov dx,time;计数器0设初值 mov al,0 out dx,al out dx,al;写初值10000 mov dx,time add dx,03 mov al,56h;计数器1,方式3,二进制计数,低8位 out dx,al mov dx,time ;设计数器1初值为200 inc dx mov al,200;产生0.5s脉冲 out dx,al stispe
10、edin: cmp FLAG,01h ;转向,转速 jz ccc mov dx,IO_ADDRESS mov cx,08 lea si,order1aaa: mov al,si out dx,al call delay inc si loop aaa jmp speedinccc: mov dx,IO_ADDRESS mov cx,08 lea si,order2ddd: mov al,si out dx,al call delay inc si loop ddd jmp speedinservice proc far ;中断服务子程序 push ax push dx push si push
11、 bx mov dx,IO_ADDRESS inc dx in al,dx mov bl,al shl bl,1 jnc mmm;CF=0,则跳转 mov FLAG,01H mov dx,ad_io;ADC启动转换地址 out dx,al;启动ADC mov dx,ad_io;获取ADC EOC状态地址 add dx,2L1: in al,dx test al,01h;测试EOC=1? jz L1 mov dx,ad_io;读数据地址 inc dx in al,dx cmpal,00H jnzcmp11 mov SD,0280h jmp endsercmp11: cmpal,10H jnccm
12、p12 mov si,WORD PTR speed0 movSD,si jmp endsercmp12: cmpal,20H jnccmp13 mov si,WORD PTR speed2 movSD,si jmp endsercmp13: cmp al,30H jnc cmp14 mov si,WORD PTR speed4 mov SD,si jmp endsercmp14: cmp al,40H jnc cmp15 mov si,WORD PTR speed6 mov SD,si jmp endsermmm: jmp cmp20cmp15: cmp al,50H jnc cmp16 mo
13、v si,WORD PTR speed8 mov SD,si jmp endsercmp16: cmpal,60H jnccmp17 mov si,WORD PTR speed10 movSD,si jmp endsercmp17: mov si,WORD PTR speed12 mov SD,si jmp endsercmp20: mov dx,ad_io out dx,al mov dx,ad_io add dx,2L2: in al,dx test al,01h jz L2 mov dx,ad_io inc dx in al,dx mov FLAG,00H cmp al,00H jnz
14、cmp21 mov SD,0280H jmp endsercmp21: cmpal,10H jnccmp22 mov si,WORD PTR speed0 movSD,si jmp endsercmp22: cmpal,20H jnccmp23 mov si,WORD PTR speed2 movSD,si jmp endser cmp23: cmpal,30H jnccmp24 mov si,WORD PTR speed4 mov SD,si jmp endsercmp24: testal,40H jnccmp25 mov si,WORD PTR speed6 movSD,si jmp en
15、dsercmp25: cmpal,50H jnccmp26 mov si,WORD PTR speed8 movSD,si jmp endsercmp26: cmpal,60H jnccmp27 mov si,WORD PTR speed10 movSD,si jmp endsercmp27: mov si,WORD PTR speed12 mov SD,siendser: ;发EOI命令 mov al,20h out 20h,al pop bx pop si pop dx pop ax sti iretservice endp delay proc ;延时程序 push ax push cx push dx mov dh,6x1: mov cx,SDx2: loop x2 dec dh jnz x1 pop dx pop cx pop ax retdelay endpcode ends end start9.系统调试运行结果说明、分析所出现得问题,设计体会与建议运行结果说明:基本完成了任务要求,可以控制步进电机的转速和旋转方向。问题: 通过寄存器间接寻址的方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市交通规划合同管理咨询重点基础知识点
- 地震工程地质重点基础知识点
- 《RIP原理与配置》课件
- 2025院感知识专题培训
- 正畸手术协议书
- 足疗店合伙合同协议
- 进出口代销合同协议
- 车辆保管借款合同协议
- 教育服务及教师聘任协议
- 手房买卖意向合同
- 2025-2030中国数据中心(IDC)行业市场发展分析及发展趋势与投资前景研究报告
- 海鲜餐饮加盟合同协议
- 《如何打造高效微博运营策略》课件
- 2025年度农业保险合同
- 2025年特种设备安全管理人员(A证)考试试题(含答案)
- 2025年中国邮政集团工作人员招聘考试笔试试题(含答案)
- 【语文】第23课《“蛟龙”探海》课件 2024-2025学年统编版语文七年级下册
- 大部分分校:地域文化形考任务一-国开(CQ)-国开期末复习资料
- 走进泰国-课件
- 人教版小学三年级数学下册面积练习
- 综合实践走进现代农业
评论
0/150
提交评论