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

📄 cont.lst

📁 步进电机经典控制程序。一种新的思维方法!
💻 LST
字号:
A51 MACRO ASSEMBLER  CONT                                                                 11/24/2007 20:11:21 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN cont.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\Bin\a51.exe cont.asm DB GENONLY RB(0) XREF

LOC  OBJ            LINE     SOURCE

                       1     ;步进电机控制程序
                       2     ;**************************************************************************
                       3     ;主程序
0000                   4                  ORG 0000H
0000 7B00              5                  MOV R3,#00H
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 F8               23                  MOV R0,A                     ;暂存键值
0022 B4000D           24     LOOP3:       CJNE A,#00H,LOOP4            ;是正转键吗?否转LOOP4
0025 90004C           25                  MOV DPTR,#TABLE              ;控制字首地址
0028 EB               26     LP1:         MOV A,R3                     ;查表偏移量送A
0029 93               27                  MOVC A,@A+DPTR               ;查表取控制字
002A F590             28                  MOV P1,A                     ;控制字送P1口
002C 1143             29                  ACALL DELAY                  ;延时
002E 0B               30                  INC R3                       ;偏移量+1(拍数加1)
002F 0128             31                  AJMP LP1
0031 22               32                  RET
0032 E6               33     LOOP4:       MOV A,@R0                    ;取出键值
0033 B40106           34                  CJNE A,#01H,LOOP5            ;是反转键吗?非转LOOP5
0036 EB               35     LP2:         MOV A,R3                     ;查表偏移量送A
0037 2408             36                  ADD A,#08H                   ;修正偏移量,查反向控制字
0039 FB               37                  MOV R3,A                     ;偏移量保存在R3中
003A 0128             38                  AJMP LP1       
003C E6               39     LOOP5:       MOV A,@R0                    ;取出键值
003D B403D5           40                  CJNE A,#03H,LOOP2            ;是停止键吗?否转LOOP2
0040 759000           41                  MOV P1,#00H                  ;是则停转
0043 7F20             42     DELAY:       MOV R7,#20H                  ;延时子程序
0045 7EF8             43        D1:       MOV R6,#248
0047 DEFE             44                  DJNZ R6,$
0049 DFFA             45                  DJNZ R7,D1
004B 22               46                  RET
004C 10302060         47     TABLE:       DB 10H,30H,20H,60H,40H,0C0H,80H,90H  ;正转
0050 40C08090                
0054 109080C0         48                  DB 10H,90H,80H,0C0H,40H,60H,20H,30H  ;反转
0058 40602030                
                      49                  END
                             
                             
A51 MACRO ASSEMBLER  CONT                                                                 11/24/2007 20:11:21 PAGE     2

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


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

ACC. . . . . . . .  D ADDR   00E0H   A      10
D1 . . . . . . . .  C ADDR   0045H   A      43# 45
DELAY. . . . . . .  C ADDR   0043H   A      29 42#
LOOP1. . . . . . .  C ADDR   0012H   A      15#
LOOP2. . . . . . .  C ADDR   0015H   A      16# 18 40
LOOP3. . . . . . .  C ADDR   0022H   A      24#
LOOP4. . . . . . .  C ADDR   0032H   A      24 33#
LOOP5. . . . . . .  C ADDR   003CH   A      34 39#
LP1. . . . . . . .  C ADDR   0028H   A      26# 31 38
LP2. . . . . . . .  C ADDR   0036H   A      35#
P1 . . . . . . . .  D ADDR   0090H   A      28 41
START. . . . . . .  C ADDR   0002H   A      6#
TABLE. . . . . . .  C ADDR   004CH   A      25 47#
WAIT . . . . . . .  C ADDR   0008H   A      9# 10


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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