📄 motor-key.lst
字号:
A51 MACRO ASSEMBLER MOTOR_KEY 05/15/2009 20:05:43 PAGE 1
MACRO ASSEMBLER A51 V8.00d
OBJECT MODULE PLACED IN MOTOR-key.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\KA51.EXE MOTOR-key.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;/******************************************************************/
2 ;/* */
3 ;/* ME500单片机开发系统演示程序 - 键控步进电机正反转实验 */
4 ;/* */
5 ;/* */
6 ;/* 版本: V1.0 (2006/11/20) */
7 ;/* 作者: gguoqing (Email: gguoqing@willar.com) */
8 ;/* 网站: www.willar.com(伟纳电子) www.mcusj.com(伟纳单片机世界) */
9 ;/* 邮箱: support@willar.com */
10 ;/* */
11 ;/*【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved */
12 ;/*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */
13 ;/* */
14 ;/******************************************************************/
15
16 ; 步进电机步进角为 7.5度,一圈 360 度。
17 ; 单四拍工作方式:
18 ; A-B-C-D (即一个脉冲,转 7.5 度)
19 ; 单双八拍工作方式:
20 ; A-AB-B-BC-C-CD-D-DA (即一个脉冲,转 3.75 度)
21 ; 一个取数工作周期,步进电机转30度
22 ; 步进电机转一圈需要48个工作脉冲
23 ;-------------------------------------------------------
24 ; A组线圈对应 P1.0 (桔色)
25 ; B组线圈对应 P1.1 (棕色)
26 ; C组线圈对应 P1.2 (黄色)
27 ; D组线圈对应 P1.3 (黑色)
28 ;-------------------------------------------------------
0094 29 K1 BIT P1.4 ;步进电机正转
0095 30 K2 BIT P1.5 ;步进电机反转
0096 31 K3 BIT P1.6
0097 32 K4 BIT P1.7 ;步进电机停止转动
00B7 33 BEEP BIT P3.7
34 ;-------------------------------------------------------
0000 35 ORG 0000H
0000 020030 36 LJMP MAIN
0030 37 ORG 0030H
38 ;-------------------------------------------------------
0030 39 MAIN:
0030 758160 40 MOV SP,#60H
0033 7590F0 41 MOV P1,#0F0H ;关闭步进电机,键输入线置高
0036 42 MAIN1:
0036 209407 43 JB K1,MAIN2
0039 11A7 44 ACALL BEEP_BL ;步进电机正转
003B 3094FD 45 JNB K1,$
003E 114C 46 ACALL FFW
0040 47 MAIN2:
0040 2095F3 48 JB K2,MAIN1
0043 11A7 49 ACALL BEEP_BL ;步进电机反转
0045 3095FD 50 JNB K2,$
0048 116A 51 ACALL REV
004A 80EA 52 JMP MAIN1
53 ;------------------------正转-------------------------
004C 54 FFW:
55 ;MOV R3,# 64;7.5度电机正转1圈共48个脉冲
004C 7B40 56 MOV R3,#320 ;转5圈需48*5=240个脉冲
*** _____________________________________________^
*** WARNING #A52 IN 56 (MOTOR-key.asm, LINE 56): VALUE HAS BEEN TRUNCATED TO 8 BITS
A51 MACRO ASSEMBLER MOTOR_KEY 05/15/2009 20:05:43 PAGE 2
004E 57 FFW1:
004E 7800 58 MOV R0,#00H
0050 59 FFW2:
0050 209704 60 JB K4,FFW3 ;终止步进电机运行
0053 11A7 61 ACALL BEEP_BL
0055 800F 62 JMP FFW4
0057 63 FFW3:
0057 E8 64 MOV A,R0
0058 90009D 65 MOV DPTR,#TABLE1
005B 93 66 MOVC A,@A+DPTR
005C 60F0 67 JZ FFW1
005E F590 68 MOV P1,A
0060 120087 69 LCALL DELAY
0063 08 70 INC R0
0064 DBEA 71 DJNZ R3,FFW2
0066 72 FFW4:
0066 7590F0 73 MOV P1,#0F0H
0069 22 74 RET
75 ;---------------------------反转--------------------------
006A 76 REV:
77 ;MOV R3,#48 ;7.5度电机正转1圈共48个脉冲
006A 7B40 78 MOV R3,#320 ;转5圈需48*5=240个脉冲
*** _____________________________________________^
*** WARNING #A52 IN 78 (MOTOR-key.asm, LINE 78): VALUE HAS BEEN TRUNCATED TO 8 BITS
006C 79 REV1:
006C 7800 80 MOV R0,#00H
006E 81 REV2:
006E 209704 82 JB K4,REV3 ;终止步进电机运行
0071 11A7 83 ACALL BEEP_BL
0073 800E 84 JMP REV4
0075 85 REV3:
0075 E8 86 MOV A,R0
0076 9000A2 87 MOV DPTR,#TABLE2
0079 93 88 MOVC A,@A+DPTR
007A 60F0 89 JZ REV1
007C F590 90 MOV P1,A
007E 1187 91 CALL DELAY
0080 08 92 INC R0
0081 DBEB 93 DJNZ R3,REV2
0083 94 REV4:
0083 7590F0 95 MOV P1,#0F0H
0086 22 96 RET
97
98 ;-------------------------------------------------------
0087 99 DELAY:
0087 7F28 100 MOV R7,#40 ;步进电机的转速
0089 7EF8 101 DEL1: MOV R6,#248
008B DEFE 102 DJNZ R6,$
008D DFFA 103 DJNZ R7,DEL1
008F 22 104 RET
105 ;-------------------------------------------------------
0090 106 DELAY1:
0090 7D14 107 MOV R5,#20 ;2S 延时子程序
0092 108 DEL2:
0092 7FC8 109 MOV R7,#200
0094 110 DEL3:
0094 7EFA 111 MOV R6,#250
0096 DEFE 112 DJNZ R6,$
0098 DFFA 113 DJNZ R7,DEL3
009A DDF6 114 DJNZ R5,DEL2
009C 22 115 RET
116 ;-------------------------------------------------------
117 ; 单四拍工作方式:
009D 118 TABLE1:
009D F1F2F4F8 119 DB 0F1H,0F2H,0F4H,0F8H ;正转表
00A1 00 120 DB 00H ;正转结束
A51 MACRO ASSEMBLER MOTOR_KEY 05/15/2009 20:05:43 PAGE 3
00A2 121 TABLE2:
00A2 F8F4F2F1 122 DB 0F8H,0F4H,0F2H,0F1H ;反转表
00A6 00 123 DB 00H ;反转结束
124 ;--------------------------------------------------------
125 ;蜂鸣器响一声子程序
126 ;--------------------------------------------------------
00A7 127 BEEP_BL:
00A7 7E64 128 MOV R6,#100
00A9 129 BL1:
00A9 11B0 130 CALL DEX1
00AB B2B7 131 CPL BEEP
00AD DEFA 132 DJNZ R6,BL1
00AF 22 133 RET
00B0 134 DEX1:
00B0 7FB4 135 MOV R7,#180
00B2 136 DEX2:
00B2 00 137 NOP
00B3 DFFD 138 DJNZ R7,DEX2
00B5 22 139 RET
140 ;---------------------------------------------------------
141
142 END
A51 MACRO ASSEMBLER MOTOR_KEY 05/15/2009 20:05:43 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
BEEP . . . . . . . B ADDR 00B0H.7 A
BEEP_BL. . . . . . C ADDR 00A7H A
BL1. . . . . . . . C ADDR 00A9H A
DEL1 . . . . . . . C ADDR 0089H A
DEL2 . . . . . . . C ADDR 0092H A
DEL3 . . . . . . . C ADDR 0094H A
DELAY. . . . . . . C ADDR 0087H A
DELAY1 . . . . . . C ADDR 0090H A
DEX1 . . . . . . . C ADDR 00B0H A
DEX2 . . . . . . . C ADDR 00B2H A
FFW. . . . . . . . C ADDR 004CH A
FFW1 . . . . . . . C ADDR 004EH A
FFW2 . . . . . . . C ADDR 0050H A
FFW3 . . . . . . . C ADDR 0057H A
FFW4 . . . . . . . C ADDR 0066H A
K1 . . . . . . . . B ADDR 0090H.4 A
K2 . . . . . . . . B ADDR 0090H.5 A
K3 . . . . . . . . B ADDR 0090H.6 A
K4 . . . . . . . . B ADDR 0090H.7 A
MAIN . . . . . . . C ADDR 0030H A
MAIN1. . . . . . . C ADDR 0036H A
MAIN2. . . . . . . C ADDR 0040H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
REV. . . . . . . . C ADDR 006AH A
REV1 . . . . . . . C ADDR 006CH A
REV2 . . . . . . . C ADDR 006EH A
REV3 . . . . . . . C ADDR 0075H A
REV4 . . . . . . . C ADDR 0083H A
SP . . . . . . . . D ADDR 0081H A
TABLE1 . . . . . . C ADDR 009DH A
TABLE2 . . . . . . C ADDR 00A2H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 2 WARNING(S), 0 ERROR(S)
PA51 中文汇编系统
Version 8.2 (C) Copyright 2007.7
登陆 http://pa51.cn 了解更多咨询
技术论坛 http://bbs.pa51.cn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -