⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 motor-key.lst

📁 步进电机正反转控制 51单片机进行控制 可以正反转
💻 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 + -