下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连理工大学本科设计报告(计算机原理接口实验综合设计)题目:步进电机控制系统设计课程名称:计算机原理实验学院(系):电信专业:自动化班级:电自1301学号:201382062学生姓名:宁博成绩:2015年12月26日题目:步进电机1. 设计要求利用实验台上的开关 K7 控制步进电机的转向,利用电位器控制步进电机的转速。具体要 求如下:1. 利用 D8255A 的 PA0-PA3 做输出,输出步进电机的相序、驱动步进电机工作,相序之间的 时间决定着步进电机的转速,而间隔时间由延时程序中的 CX 寄存器的初值决定。2. 利用 D8255A 的 PB7 做输入控制转向,与 K7 连接。其中 K7 做
2、步进电机的转向控制,用 ADC0809 实现 AD 转换,利用电位器控制转速,程序运行时通过 K7 和电位器对步进电机 实施动态控制;3. 利用 8253 做秒脉冲发生器, 产生约 2 秒的周期性方波信号。 其中 CNT0 做分频器: 将 1MHZ 信号分频为 100HZ ; CNT1 做秒脉冲输出( 0.5HZ );4. 利用 386 模块的主 8259 的 MIR5 做中断请求输入, 将 CNT1 的 OUT1 秒信号方波作为中断 请求信号,引发中断服务 ISR;5. 在中断服务程序中实现对步进电机的转速、 转向实时控制。 方法如下: 在 ISR 中,对 D8255A 的 PB 口进行一次
3、输入操作,并根据输入的数据:1)对D7 (与K7对应)位的数据为步进电机的转向控制;2)ADC0809 读入的数据为步进电机的转速控制。2 . 设计分析及系统方案设计1. 使用“寄存器间接寻址”的方式输出相序信号:将步进电机的相序数据定义在数据段当中,使用 SI 查表(间接寻址)获取相序数据。其中查表顺序决定着电机转动方向;2. 对8253进行编程,使 0UT1输出2秒周期的脉冲方波信号。为了便于调试,建议使用逻辑笔监测0UT1的输出;3. 编制与中断相关的程序。包括中断屏蔽字的设定、中断向量表的创建以及开中断的操作。上述这些操作都应当加到程序的初始化中;4. 编写中断服务程序ISR。在ISR
4、中读取D8255A的PB 口数据和AD转换的数据,然后进行数据分析、根据数据来调整 CX 寄存器中的数据,因而改变步进电机的转速和转向。3系统电路图MIR50.5HZ方波82530UT1Vcc0210HCLK1GATE1/CSOUT0CLK0GATE01MHZ 脉冲图1 .1实验参考逻辑电路4 .外围接口模块硬件电路功能描述8253. TMP82C53町编程间隔计数器PX1曲EDrawM)AlPMPV*牙也PMLPA2PMEWESIPB?1VA豹¥J?*JiFJrs斗*825510JI11处uu1+Lp3li:> *17IS3LPj j3E02】P斗 PM 际PA山El;刃D&
5、gt;KE2ITnrWcPK"PKtMT re*PBDCLKOCOUTflCG/TEOCGND匚匚匚 mD6匚匚匚匚c C2 10D D Dr>5D4mJ VCC(+5VJ倾J RDJ C§1 Al3 AOJ CLK2J OUT2J GATE23 CLKl3 GATEl OUT!8253具有三个独立的16位减法计数器,每个计数器可按照二进制或十进制计 数,每个通道都有六种不同的工作方式。8255有3个8位并行I/O 口。具有3个通道3种工作方式的可编程并行接 口芯片(40弓I脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为主机与多种外设连接时的中间接口
6、电路。ADC0809是8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关, 它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行 A/D转换,具有转换起停控制端。模拟输入电压范围 0+5V,不需零点和满刻度校准。5主程序中主要变量说明变量名称内存单元功能FLAGAX转向标志SPEEDSI可调转速SDAL默认转速6. 系统软件中各个子程序的功能描述子程序名称入口参数出口参数功能描述serviceio8255_BADC0809SD中断服务DELAY无无延时speed in无无电机按照一定参数转起来7. 主程序程序流程图(a)主程序流程图(b)中断服务程序流程图图1.2程序流
7、程图8. 程序清单IO_ADDRESS equ 200h time equ 210h ad_io equ 220h data segment order1 db 01h,03h,02h,06h,04h,0ch,08h,09h order2 db 09h,08h.0ch,04h,06h,02h,03h,01h FLAG db ?speed dw 0300h,0380h,0480h,0580h,0680h,0780h,0880h SD dw 0280h ; 默认转速data ends code segment assume cs:code,ds:data start:mov ax,data mov
8、 ds,ax mov dx,IO_ADDRESS add dx,03端口输入, A、 C 输出,方式 0标志位置 0设置中断屏蔽字;IR5设置中断向量表mov al,82h ;B out dx,alclimov FLAG,00h ; in al,021h ; and al,11011111b 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,axpush cs pop ax mov si+2,ax pop dsmov dx,time add dx
9、,03 mov al,37h out dx,al mov dx,time mov al,0 out dx,al out dx,al mov dx,time add dx,03 mov al,56h out dx,al mov dx,time inc dx mov al,200 out dx,al sti; 分频得到 0,5s 脉冲;计数器0,方式3, BCD码计数,先低后高 ; 计数器 0设初值; 写初值 10000; 计数器 1,方式 3,二进制计数,低 8 位; 设计数器 1 初值为 200; 产生 0.5s 脉冲speedin:cmp FLAG,01h ; 转向,转速 jz cccmov
10、 dx,IO_ADDRESSmov cx,08lea si,order1 aaa: mov al,siout dx,al call delay inc si loop aaa jmp speedinccc: mov dx,IO_ADDRESS mov cx,08 lea si,order2 ddd: mov al,si out dx,al call delay inc si loop ddd jmp speedinservice proc far ; push ax push dx push si push bxmov dx,IO_ADDRESS inc dx in al,dxmov bl,a
11、lshl bl,1jnc mmmmov FLAG,01Hmov dx,ad_io out dx,almov dx,ad_ioadd dx,2L1: in al,dxtest al,01h jz L1mov dx,ad_io inc dx中断服务子程序;CF=O,则跳转;ADC启动转换地址; 启动 ADC;获取ADC E0状态地址; 测试 EOC=?1; 读数据地址in al,dx cmp al,OOH jnz cmp11 mov SD,O28Oh jmp endsercmp11:cmpal,10Hjnccmp12movsi,WORD PTR speed0movSD,sijmpendsercmp
12、12:cmpal,20Hjnccmp13movsi,WORD PTR speed2movSD,sijmpendsercmp13:cmpal,30Hjnccmp14movsi,WORD PTR speed4movSD,sijmpendsercmp14:cmpal,40Hjnccmp15movsi,WORD PTR speed6movSD,sijmpendsermmm: jmp cmp20cmp15:cmpal,50Hjnccmp16movsi,WORD PTR speed8movSD,sijmpendsercmp16: cmp al,60Hjnccmp17movsi,WORD PTR speed
13、10movSD,sijmp 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,dxmovFLAG,00Hcmp jnzal,00Hcmp21movSD,0280Hjmp cmp21:endsercmp jnc moval,10Hcmp22si,WORD PTR speed0movSD,sijmp cmp22:endser
14、cmp jncal,20Hcmp23movsi,WORD PTR speed2movSD,sijmp cmp23:endsercmpal,30Hjnc cmp24mov si,WORD PTR speed4mov SD,sijmp endsercmp24:testal,40Hjnccmp25mov si,WORD PTR speed6movSD,sijmp endsercmp25:cmpal,50Hjnccmp26mov si,WORD PTR speed8movSD,sijmp endsercmp26:cmpal,60Hjnccmp27mov si,WORD PTR speed10 movS
15、D,sijmp endser cmp27:发 EOI 命令mov si,WORD PTR speed12 mov SD,si endser: ;mov al,20hout 20h,alpop bxpop sipop dxpop axstiiret service endpdelay proc ; 延时程序push axpush cxpush dxmov dh,6x1: mov cx,SDx2: loop x2decdhjnzx1popdxpopcxpopaxretdelay endpcode endsendstart9. 系统调试运行结果说明、分析所出现得问题,设计体会与建议运行结果说明: 基本完成了任务要求,可以控制步进电机的转速和旋转方向。 问题:通过寄存器间接寻址的方法使电机旋转,在此程序中电机运行状态的改变稍有延迟, 原因是在主程序中,状态的改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 磨钻夹具行业深度研究报告
- 饮料灌装设备行业深度研究报告
- 中国挂面白板纸项目投资可行性研究报告
- 2026年岩棉建筑保温材料项目可行性研究报告模板可编辑
- 软体水桶行业深度研究报告
- 平台铺板走道行业深度研究报告
- 平接头行业深度研究报告
- 鸡配合农缩饲料行业深度研究报告
- 高温导热油泵行业深度研究报告
- 真题英语听力试题及答案
- 国开2025年《行政法与行政诉讼法》形考作业1-4答案
- 2025年江苏省农垦集团有限公司人员招聘笔试备考及答案详解(全优)
- 剪辑与蒙太奇课件
- 《梦回繁华》 语文统编版八年级上册(公开课一等奖创新教学设计)
- 照护培训课件
- 2025年贵州省政府采购评审专家考试试题及答案
- 学堂在线 研究生素养课-积极心理与情绪智慧 章节测试答案
- 信息系统集成技术讲解
- 老年法律知识讲座
- 学堂在线 精确制导器术道 章节测试答案
- 亚当斯密管理思想
评论
0/150
提交评论