控制与应用实验实验三 步进电机原理及应用.pptxVIP

  • 0
  • 0
  • 约3.1千字
  • 约 21页
  • 2023-06-29 发布于上海
  • 举报

控制与应用实验实验三 步进电机原理及应用.pptx

控制与应用实验实验三 步进电机原理及应用 第1页/共21页 一、实验目的和要求 初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用方法。 了解步进电机的工作原理,学习用单片机的步进电机控制系统的硬件设计方法,掌握定时器和中断系统的应用,熟悉单片机应用系统的设计与调试方法。 了解数码管输出的原理及编程方式。 第2页/共21页 二、实验设备 单片机测控实验系统 步进电机控制实验模块 Keil开发环境 STC-ISP程序下载工具 第3页/共21页 三、实验内容 编制MCS-51程序使步进电机按照规定的转速和方向进行旋转,并将已转动的步数显示在数码管上。 步进电机的转速分为两档,当按下S1开关时,进行快速旋转,速度为60转/分。当松开开关时,进行慢速旋转,速度为10转/分。当按下S2开关时,按照顺时针旋转;当松开时,按照逆时针旋转。 本程序要求使用定时器中断来实现,不准使用程序延时的方式。 第4页/共21页 四、实验步骤 4.1 预习 4.2 简单程序录入和调试 4.3 程序调试 4.4 编写程序,完成功能 第5页/共21页 4.1 预习 参考附录二、附录三和expr/资料/原理的辅助材料,学习MCS-51汇编语言使用和步进电机原理,阅读数码显示器的电路图,重点理解步进电机的工作方式和数码管显示方式。 第6页/共21页 4.2 简单程序录入和调试 MCS51单片机汇编语言的基本格式比较简单,程序中可以使用通用寄存器或者内存单元进行计算。另外,单片机的程序没有退出到操作系统的概念,一般都是死循环程序。 一个简单程序举例如下: ORG 0000H ;复位起始地址 LJMP START ;中间地址保留给中断向量表 ORG 0040H ;程序实际起始地址 START: ; 实际程序 MOV 40H, #0H 第7页/共21页 4.2 简单程序录入和调试 NEXT: MOV A, 40H INC A MOV P0, A ;板上的P0口连接到8个LED,可以监视运行状态 MOV 40H, A MOV R6, #0FFH L2:MOV R7, #0FFH L1:DJNZ R7, L1 DJNZ R2, L2 ;延迟一段时间 LJMP NEXT END 参考Keil使用指南,创建工程,设置工程参数,添加ASM文件,并录入上面的简单程序。确保无编译和链接错误。 第8页/共21页 4.2 简单程序录入和调试 本程序需要使用定时器定时,并使用中断来同步。中断程序的典型例子如下: ORG 0000H LJMP START ORG 000BH LJMP T0IN ;中断向量表 ORG 0040H START: ...;初始化 ... T0IN: ...;中断程序 ... RETI ;中断返回 END 第9页/共21页 4.3 定时器中断 使用定时器时,首先应由外部条件得到要定时的时间长度t,如本实验中,就是根据要求的速度计算出的每一步之间的间隔。然后选择适当的定时器工作方式,去计算想要设定的计数器初值s,使用如下方程。 (2定时器最大位数 - s)× 定时周期 =t 定时周期 = 12/CPU晶振频率 第10页/共21页 4.3 定时器中断 (2定时器最大位数 - s)× 定时周期 =t 得到的s需要分成高8位和低8位,分别放入计数器THx和TLx中(x为0或1)。如果s为负数,说明需要的定时时间太长,即使定时器的最大时间也无法满足要求。这种情况下,需要加入软件循环才能实现。我们可以将需要的定时时间分成n份,利用定时器达到t/n的时间长度,然后在定时器处理程序中,累计某一变量,如果到达n,说明总的时间t已经达到。 要想使用定时器中断,除了上面的定时器初值设定外,还需要将其他相关的特殊功能寄存器也都设置好。如果使用方式0和方式1,不要忘记在计数结束后重新恢复计数器初值。 第11页/共21页 4.4 程序调试及现象观测 用单步、断点、连续方式调试程序,观察状态指示灯及电机状态,检查运行结果。如果需要,可以将四个输出信号的状态同时输出到P0口的某些位上,便于观察。 第12页/共21页 五、实验原理 我们使用的单片机系统的频率是12M;步进电机转动一周需要24步。 本步进电机实验板,使用FAN8200作为驱动芯片。CPU通过如下4个引脚与FAN8200相连,即: CPU FAN8200 P1.1 CE1 P1.4 CE2 P3.2 IN1 P1.0 IN2 第13页/共21页 五、实验原理 本实验使用简单的双四拍工作模式即可,这也是FAN8200比较方便的工作方式。只要将CE1和CE2分别置为高,然后IN1和IN2按照预定的脉冲输出,即01-11-10-0

文档评论(0)

1亿VIP精品文档

相关文档