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

📄 bjkz.lst

📁 一种新的控制步进电机的方法。基于8279的键盘和显示器控制。
💻 LST
字号:
A51 MACRO ASSEMBLER  BJKZ                                                                 11/20/2007 12:43:23 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN bjkz.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE bjkz.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;步进电机控制程序
                       2     ;**************************************************************************
                       3     ;主程序
0000                   4                  ORG 000H
0000 7840              5                  MOV R0,#40H                  ;暂存键值
0002 908FFF            6     START:       MOV DPTR,#8FFFH              ;8279初始化清除命令
0005 74D1              7                  MOV A,#0D1H
0007 F0                8                  MOVX @DPTR,A
0008 E0                9     WAIT:        MOVX A,@DPTR                 ;等8279清除结束
0009 20E7FC           10                  JB ACC.7,WAIT
000C 7400             11                  MOV A,#00                    ;8279送方式命令
000E F0               12                  MOVX @DPTR,A
000F 7434             13                  MOV A,#34H                   ;fosc=12Mhz时钟编程命令
0011 F0               14                  MOVX @DPTR,A
0012 908FFF           15     LOOP1:       MOV DPTR,#8FFFH              ;指向命令 状态口
0015 E0               16     LOOP2:       MOVX A,@DPTR                 ;读8279状态字
0016 540F             17                  ANL A,#0FH                   ;读状态字低字位
0018 60FB             18                  JZ LOOP2                     ;FIFO中无键时等待键输入
001A 7440             19                  MOV A,#40H                   ;读FIFORAM命令
001C F0               20                  MOVX @DPTR,A
001D 908FFE           21                  MOV DPTR,#8FFEH               ;指向数据口地址
0020 E0               22                  MOVX A,@DPTR                 ;读入键值
0021 F6               23                  MOV @R0,A                    ;暂存键值
0022 B40028           24     LOOP3:       CJNE A,#00H,LOOP4            ;是正转键吗?否转LOOP4
0025 759010           25                  MOV P1,#10H                  ;是,则正向输出第一拍
0028 1180             26                  ACALL DELAY                  ;延时
002A 759030           27                  MOV P1,#30H                  ;输出第二拍
002D 1180             28                  ACALL DELAY                  ;延时
002F 759020           29                  MOV P1,#20H                  ;输出第三拍
0032 1180             30                  ACALL DELAY                  ;延时
0034 759060           31                  MOV P1,#60H                  ;输出第四拍
0037 1180             32                  ACALL DELAY                  ;延时 
0039 759040           33                  MOV P1,#40H                  ;输出第五拍
003C 1180             34                  ACALL DELAY                  ;延时
003E 7590C0           35                  MOV P1,#0C0H                 ;输出第六拍
0041 1180             36                  ACALL DELAY                  ;延时
0043 759080           37                  MOV P1,#80H                  ;输出第七拍
0046 1180             38                  ACALL DELAY                  ;延时
0048 759090           39                  MOV P1,#90H                  ;输出第八拍
004B 1180             40                  ACALL DELAY                  ;延时
004D E6               41     LOOP4:       MOV A,@R0                    ;取出键值
004E B40128           42                  CJNE A,#01H,LOOP5            ;是反转键吗?否转LOOP5
0051 759090           43                  MOV P1,#90H                  ;反向输出第一拍
0054 1180             44                  ACALL DELAY                  ;延时
0056 759080           45                  MOV P1,#80H                  ;输出第二拍
0059 1180             46                  ACALL DELAY                  ;延时
005B 7590C0           47                  MOV P1,#0C0H                 ;输出第三拍
005E 1180             48                  ACALL DELAY                  ;延时
0060 759040           49                  MOV P1,#40H                  ;输出第四拍
0063 1180             50                  ACALL DELAY                  ;延时
0065 759060           51                  MOV P1,#60H                  ;输出第五拍
0068 1180             52                  ACALL DELAY                  ;延时
006A 759020           53                  MOV P1,#20H                  ;输出第六拍
006D 1180             54                  ACALL DELAY                  ;延时
006F 759030           55                  MOV P1,#30H                  ;输出第七拍
0072 1180             56                  ACALL DELAY                  ;延时
0074 759010           57                  MOV P1,#10H                  ;输出第八拍
0077 1180             58                  ACALL DELAY                  ;延时
A51 MACRO ASSEMBLER  BJKZ                                                                 11/20/2007 12:43:23 PAGE     2

0079 E6               59     LOOP5:       MOV A,@R0                    ;取出键值
007A B40398           60                  CJNE A,#03H,LOOP2            ;是停止键吗?否转LOOP2
007D 759000           61                  MOV P1,#00H                  ;是则停转
0080 7F20             62     DELAY:       MOV R7,#20H                  ;延时
0082 7EF8             63        D1:       MOV R6,#248
0084 DEFE             64                  DJNZ R6,$
0086 DFFA             65                  DJNZ R7,D1
0088 22               66                  RET
                      67                  END
A51 MACRO ASSEMBLER  BJKZ                                                                 11/20/2007 12:43:23 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
D1 . . . . . . . .  C ADDR   0082H   A   
DELAY. . . . . . .  C ADDR   0080H   A   
LOOP1. . . . . . .  C ADDR   0012H   A   
LOOP2. . . . . . .  C ADDR   0015H   A   
LOOP3. . . . . . .  C ADDR   0022H   A   
LOOP4. . . . . . .  C ADDR   004DH   A   
LOOP5. . . . . . .  C ADDR   0079H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
START. . . . . . .  C ADDR   0002H   A   
WAIT . . . . . . .  C ADDR   0008H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -