微机原理与接口技术实验设计报告1

上传人:工**** 文档编号:477790147 上传时间:2024-02-21 格式:DOC 页数:14 大小:151.38KB
返回 下载 相关 举报
微机原理与接口技术实验设计报告1_第1页
第1页 / 共14页
微机原理与接口技术实验设计报告1_第2页
第2页 / 共14页
微机原理与接口技术实验设计报告1_第3页
第3页 / 共14页
微机原理与接口技术实验设计报告1_第4页
第4页 / 共14页
微机原理与接口技术实验设计报告1_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《微机原理与接口技术实验设计报告1》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验设计报告1(14页珍藏版)》请在金锄头文库上搜索。

1、江苏科技大学(张家港) 微机原理与接口技术课程设计 微机原理与接口技术课程设计姓名: 纪宁波 学号: 0945533115 班级: 09电气1班 专业: 电气工程及其自动化 学院: 电气与信息工程学院 江苏科技大学张家港校区2012年9月1 基于80x86的步进电机控制系统一 理论部分1 课题要求与内容(1) 使用8255A控制步进电机的运转。(2) 使用数码管LED显示速度的大小。(3) 使用8253定时器调节速度的大小。(4) 使用4个独立按键控制步进电机,即“正传”、“反转”、“停止”、“调速”。(5) 使用8259A产生中断控制按键;(6) 使用DAC0832显示速度的波形。拓展要求:

2、(1) 按键部分可以增加“加速”、“减速”等功能;(2) 考虑可以加蜂鸣器来区分“正转”和“反转”;(3) 其他可以有自己特色的功能均可。2 系统方案设计1. 步进电机运行方式的控制 步进电机的转速与输入脉冲频率成正比,频率越大,转速越高,四相步进电机有双四拍,双八拍双六拍等方式。实验平台可连接的步进电机为四项八拍电机,电压为 DC12V。为了实现对各绕组按一定方式轮流加电,需要一个循环脉冲分配器,这里采用软件实现。将相序表存放于内存区,再设置一个地址指针。当地址依次1(或-1)时,可从表中取出通电代码,再输出到步进电机,产生一定的运行方式。2. 信号的输入与输出 8255 内部包含 3 个

3、8 位的输入输出端口 A、B 和 C,端口 A 和端口 B 都可以用作一个 8 位的输入口或 8 位的输出口,端口 C 既可以作为一个 8 位的 输入口或 8 位的输出口,又可以作为两个 4 位的输入输出口(C 口上半部分和 C口下半部分)使用,还可以配合 A 口和 B 口工作,分别用来产生 A 口和 B 口的输出控制信号和输入 A 口和 B 口的端口状态信号。 8255A 内部结构图 8255 ABC 口都工作于方式 0, 口低四位接键盘及数码管显示单元的 X1X4 AB 口接数码管的 A、B、C、D、E、F、G 和 DP,以使数码管显示电机的转向和转速;C 口低四位接键盘及数码管显示单元的

4、 Y1Y4 C 口高四位接步进电路的驱动电路,使电机转动起来。8255 的 A 口高四位本次课程设计没有用到。3. 步进电机的速度控制: 采用软件延时的方法,每发射一个脉冲的间隔中插入数个延时单元。速度共分为 9 级,对应键盘的 9 个按键。可以对电机进行方向的改变,并停止电机运行。初始设计时采用了 8254 作为计数单元,但在实际操作过程中因其过于不稳定,多次出现死机状况,难以调试故改用软件延时的方法。4. 键盘及数码管显示单元: 键盘的输入左下角 9 格作为级数的设置,第四列第四行为停止键,4.3 为设置负方向,4.2 为设置负方向,初始运行时系统默认正方向。 键盘最上面一行应为没有使用所

5、以在程序中屏蔽。3 系统硬件设计在硬件设计中,主要是通过步进电机模块、LED模块、8253串行通信模块、8253和8259中断延时模块、8259键盘控制模块。图1 实验原理图3.1 硬件的图表显示字符共阴极断码共阳极断码显示字符共阴极断码共阳极断码03FHC0H9106HF9HA25BHA4HB34FHB0HC466H99HD56DH92HE67DH82HF707HF8HP87FH80HU表1 8254的方式控制字格式D7D6D5D4D3D2D1D0计数器选择读/写工作方式选择计数码制选择00-计数器000-锁存计数值000-方式00-二进制数01-计数器101-读/写低8位001-方式11-

6、十进制数10-计数器210-读/写高8位010-方式211-读出控制字标志11-先读/写低8位再读/写高8位011-方式3100-方式4101-方式5表2 8255的方式选择控制字格式D7D6D5D4D3D2D1D0特征位A口方式选择A口8位输入/输出方向C口高4位输入/输出方向B口方式选择B口8位输入/输出方向C口低4位输入/输出方向 D7=100:方式01:输入1:输入0:方式01:输入1:输入01:方式10:输出0:输出1:方式10:输出0:输出1X:方式24 系统软件设计软件设计主要是根据具体的硬件设计,应用汇编语言编写具体的控制程序执行相应的控制功能;通过串口程序使得控制更加方便。4

7、.2.1 步进电机模块步进电机的驱动原理是通过它每相线圈的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲来控制,所以调节脉冲的频率便可改变步进电机的转速,微控制器最适合控制步进电机。另外,由于电机的转动惯量的存在,其转动速度还受驱动功率的影响,当脉冲的频率大于某一值(本实验为f.100hz)时,电机便不再转动。本次试验电机中共有四个相位(A,B,C,D),按转动步骤可分单4拍(A-B-C-D-A),双4拍(AB-BC-CD-DA-AB)和单双8拍(A-AB-B-BC-C-CD-D-DA-A)。此模块的主要功能是通过接收8255的C口输入信号来控制步进电机的转动,A,B,C,D分别代表不同的

8、四个相位,分别接入到PC0,PC1,PC2和PC3,实现转动控制。4.2.2 LED模块和8259键盘控制模块LED模块的主要功能是前四位显示步进电机的步数,第六位显示速度,最后一位显示正反转的标志;8259能自动完成键盘输入和显示控制两种功能。键盘控制部分提供一种扫描工作方式,可与64个按键的矩阵键盘连接,能对键盘进行自动扫描、自动消抖、自动识别出按下的键并给出编码,能同时按下双键或键实行保护,其接收键盘上的输入信息存入内部FIFO缓冲器,并可在有键输入时向CPU请求中断。此键盘模块主要是通过键盘输入设置速度、正反转、步数和停止来控制电机的转动。4.2.3 8253和8259中断延时模块设置

9、8253和8259的方式字和控制字,通过8253设置延时,产生延时频率,最后再接入到8259产生延时中断,以每一步中间的延时来控制转动速度。此模块用计计数器T0设置在模式2状态,BCD码计数,CLK0接1M时钟,GATE接VCC,OUT0接中断控制器8259 输入接口IR0。4.4 8253模块8251A可以实现与PC机的串行通讯,用8253作分频器提供8251的收发时钟,这样可以通过串口助手和串口程序来控制步进电机,使得电机的控制更加自动化和智能化。此模块8253用定时器1,方式3,BCD码,clk2接2M,计数值为BCD码26H,则(2000000/26)=16*4800,表示串口的波特率

10、是4800;二 实践部分1 系统硬件原理简介8255控制A、B、C、D相位检测8255;七段数码管实验检测七段数码管;可编程定时器/计数器实验检测8253;步进电机控制实验检测步进电机;在硬件设计中,主要是通过步进电机模块、LED模块、8253和8259中断延时模块。2 系统硬件调试中出现的问题及解决措施1. 在使用 8253 时容易死机 如前所诉,在实际调制的过程中,单补调试时每次运行到调用 8253 就会出现死机。具体原因很难说得清楚,有的是同一个程序换台机子运行就会死机,有的是同一台机子同一个程序运行多次就会死机。最后不得不因为时间紧张,放弃使用硬件延时。2. 数码管看不到示数或数码管看

11、上去全亮 因为不进电机的速度调节主要靠延时的多少来完成,而 8086 的运行只处于单线程,无法同时运行多个子程序。故在运行时,若转数较慢所需延时时间较长,则数码管显示较暗。3 系统软件3.1 软件设计软件设计主要是根据具体的硬件设计,应用汇编语言编写具体的控制程序执行相应的控制功能;通过串口程序使得控制更加方便。判断显示档位判断调速大小调用延迟程序 程序开始判断电机正反转图2 系统整体设计流程图 图3 具体工作流程图YNNYNY电机正转K1,k0为01K1.k0为10电机反转步进电机停止程序步进电机运转调延迟程序k2k3为10显示1档k2k3为01k2k3为00k2k3为11显示2档显示2档显

12、示4档初始化AXYYYYNNNk2k3为10AX=5000Hk2k3为01k2k3为00k2k3为11AX=500HAX=2000HAX=10HYYYYNNN按键按下结束程序初始化82553.2 软件调试中出现的问题及解决措施1. 因为汇编语言基础不好,在程序的编写过程中遇到了很多问题,对一些基本指令使用不够灵活,而本程序中又用到了很多的跳转,所以整个程序的流程十分庞杂,程序编写起来非常困难。2. 该开始调用软件自带的程序段,其他小组的电机都转起来了,但是我们这一小组的反复调试,电机始终不转,并且灯也不亮,无耐之下,将机子换了其他的机子,电机运转起来了。3. 实际操作中,实验现象和自己依据所学

13、知识预期的现象有很大的差距。例如为实现电机调速,改变延迟时间,理论上就能实现调速功能,但是改变延迟程序中AX的程序段的存放位置也比较重要。起初,实现不了,大家一个一个排除可能出错的地方,最后通过改变延迟程序中AX的程序段的存放位置,电机实现了调速功能。4. 后期也想用8254来调速,只是写完程序后,运行时电机调不了速,反复检查,没有找出错处,最终放弃了调用8254,还是选择的软件延迟调速。4 实验总结对于步进电机速度控制系统这个课题来说,最大的难点不在于电路的连线和硬件器材的调试,而在于步进电机控制程序的编写。由于对与步进电机相关的计算机程序知识掌握的不够透彻,以至于试验一度在编写程序这一环节停滞不前。此次实验也暴露出我们对汇编语言的掌握浮于表面的问题。我们的学习过于侧重理论知识的掌握,动手实践的环节却被忽略。总的说来,在此次实验中,从最初的方案敲定,到后来的代码编写,程序调试,增加扩展功能,在实验室花费了很多的时间。甚至直到最后仍然有一些功能没有实现,这给我们提了一个醒,只局限于书本知识的学习是远远落后于实践的需求,对于我们而言动手的实践能力比学习书本知识来的更为重要。本次试验的程序还有许多不太完善的地方,还有一些不足,还有待于进一步改进。此次实验是对我们所学的微机原理和接口课程知识的一次综合性考查,既巩

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

当前位置:首页 > 机械/制造/汽车 > 工业自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号