步进电机控制基础与8155应用解析

需积分: 10 2 下载量 148 浏览量 更新于2024-11-13 收藏 213KB PDF 举报
"这篇资源是关于步进电机控制的初学者指南,主要涉及8155微控制器如何读取拨杆开关控制步进电机的速度,以及一些基础的编程思路。内容包括8155的内存映射、定时器设置、中断处理等。" 在步进电机控制系统中,对于初学者来说,理解电机的工作原理和如何控制是关键。步进电机是一种将电脉冲转换为精确角度位移的执行元件,每一脉冲电机转过一个固定的角度,因此可以通过控制脉冲的数量、频率来精确控制电机的位置和速度。 该描述中提到的8155芯片是一种古老的微控制器,尽管现在已经过时,但它仍能提供基础的步进电机控制学习。8155芯片内置了RAM、ROM和两个8位I/O端口,其中I/O端口可以用来连接拨杆开关,读取用户设定的十档速度。拨杆开关的设置通过8155的输入引脚读取,这些值随后被用于决定步进电机的运行速度。 在给出的部分代码中,可以看到一些与步进电机控制相关的指令和配置。例如,`TMOD`寄存器的设置(`MOV TMOD,#17`)用于配置定时器,这里的值17(二进制00010001)意味着T0被设置为模式1,即16位定时器,这对于实现电机的脉冲控制至关重要。定时器的溢出中断(如`INT_CT0`)可以用来控制电机的速度,每接收一次中断,电机就会执行一个步进动作。 此外,还提到了中断处理,如`INT0ERROR-IN`和`INT0wxyz`,这些可能是针对外部中断0的错误处理和中断服务子程序。中断是实时控制系统中常用的一种机制,当特定事件发生时,CPU会暂停当前任务,执行中断服务程序,然后返回到原任务。 整个程序的结构包含了一些基本的汇编语言指令,如`AJMP`(绝对跳转)、`LJMP`(长跳转)、`ORG`(组织指令地址),以及数据存储器操作(如`MOV SP,#80`来设置堆栈指针)。这为步进电机的控制提供了基础框架,包括初始化、中断处理、定时器设置等。 这个系统设计虽然基于旧技术,但依然能够帮助初学者理解步进电机控制的基本原理,包括微控制器的I/O操作、定时器配置和中断处理,这些都是现代步进电机控制系统中的核心概念。