基于单片机的步进电机的控制课程设计报告 下载本文

(1)显示子程序模块

采用动态显示方式,即一位一位地轮流点亮(扫描)6 位显示器。

在 8032RAM 存储器中设置六个显示缓冲区单元 7EH-79H,分别存放 6 位显示 器的显示数据(从高到低)。

(2)键盘输入模块

实验系统有 4×8 的键盘结构(见键扫显示原理图)。

键盘的行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断

开,行线都为高电平。当键盘上某一键闭合时,则该键所对应的行线和列线 都短路。

CPU 逐行逐列地检查键盘的状态,可判断键盘上有无键闭合。CPU 对键盘上 闭合键的键号确定,可根据行线和列线的状态计算求得,也可以根据行线和 列线的状态查表求得。

(3)步进电机控制模块

实现步进电机的转动方式以及转速控制原理:

四相四拍运行方式,即 AB-BC-CD-DA-AB 或 A-B-C-D-A

或者四相八拍方式,即 A-AB-B-BC-C-CD-D-DA-A-AB 实验时控制 P1 口对应位 为“ 1”。通过控制每一拍的间隔来控制电机的转速

内存使用分配表 控制位 步序 工作 状态 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 D 相 C 相 B 相 A 相 0 0 0 0 0 0 1 1 AB 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 BC CD DA 控制 模型 1 2 3 4 03H 06H OCH 09H 键位地址分配: 07H,04H,08H,05H,09H,06H,

0AH,0BH,01H,00H,02H,0FH,

03H,0EH 0CH,0DH,00H,00H,

00H,00H,00H,00H,16H

六.程序清单

ORG 0000H AJMP MAIN ORG 0050H

MAIN:MOV SP,#40H

MOV 79H,#00H MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00H MOV 7DH,#00H MOV 7EH,#00H MOV R1,#7EH MAIN1: ACALL KEY

MOV @R1,A

CJNE R1,#78H,KS CJNE A,#16H,AGAINLJMP RUN AGAIN: LJMP MAIN KS: DEC R1

LJMP MAIN1

RUN:MOV A, 7EH

JZ ZHEN JNZ FAN SJMP $

ZHEN: MOV P1,#03H

ACALL DELAY MOV P1,#06H ACALL DELAY MOV P1,#0CH ACALL DELAY MOV P1,#09H ACALL DELAY ANL 79H,#0FH ANL 7AH,#0FH ANL 7BH,#0FH ANL 7CH,#0FH LCALL DIR LCALL DIR MOV R5,79H CJNE R5,#0,Z1 DEC 79H

;主程序部分

;取显示内存缓冲区的第一位 a ;调用按键程序

;获得的值存放到 7E 中 ;是否到 79,不是,转 KS

;按下的不是 exc(给定值 0FFH),是则跳转到 run;跳转到步进电机控制部分

;取(7EH)当前所存 ;跳转到正转 ;跳转到反转 ;正转部分

;调用延时子程序

MOV R5,7AH CJNE R5,#0,Z2 DEC 7AH MOV R5,7BH CJNE R5,#0,Z3 DEC 7BH MOV R5,7CH CJNE R5,#0,Z4 LJMP MAIN

Z1: DEC 79H

LJMP ZHEN Z2: DEC 7AH

LJMP ZHEN Z3: DEC 7BH

LJMP ZHEN Z4: DEC 7CH

LJMP ZHEN

FAN: MOV P1,#09HACALL DELAY MOV P1,#0CH ACALL DELAY MOV P1,#06H ACALL DELAY MOV P1,#03H ACALL DELAY ANL 79H,#0FH ANL 7AH,#0FH ANL 7BH,#0FH ANL 7CH,#0FH LCALL DIR LCALL DIR MOV R5,79H CJNE R5,#0,F1 DEC 79H MOV R5,7AH CJNE R5,#0,F2 DEC 7AH MOV R5,7BH CJNE R5,#0,F3 DEC 7BH MOV R5,7CH CJNE R5,#0,F4

;反转部分