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

📄 cont.lst

📁 步进电机带液晶显示的程序
💻 LST
字号:
A51 MACRO ASSEMBLER  CONT                                                                 11/27/2007 21:43:10 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 020100            5                  LJMP MAIN
0013                   6                  ORG 0013H                    ;INT1的中断入口
0013 020153            7                  LJMP PINT1
0100                   8                  ORG 0100H
0100 C2D5              9     MAIN:        CLR F0                       ;清中断发生标志
0102 758160           10                  MOV SP,#60H
0105 908FFF           11                  MOV DPTR,#8FFFH              ;8279初始化清除命令
0108 74D1             12                  MOV A,#0D1H
010A F0               13                  MOVX @DPTR,A
010B E0               14     WAIT:        MOVX A,@DPTR                 ;等8279清除结束
010C 20E7FC           15                  JB ACC.7,WAIT
010F 7400             16                  MOV A,#00                    ;8279送方式命令
0111 F0               17                  MOVX @DPTR,A
0112 7434             18                  MOV A,#34H                   ;fosc=12Mhz时钟编程命令
0114 F0               19                  MOVX @DPTR,A
0115 D28A             20                  SETB IT1                     ;外部中断,下降沿触发
0117 D2AF             21                  SETB EA                      ;开总中断
0119 D2AA             22                  SETB EX1                     ;允许外部中断1中断
011B 30D5FD           23     LOOP:        JNB F0,LOOP                  ;判中断是否发生?
011E E8               24     LOOP1:       MOV A,R0                     ;取出键值
011F B40011           25                  CJNE A,#00H,LOOP2            ;是正转键吗?非转LOOP2
0122 7B00             26     LP0:         MOV R3,#00H
0124 900169           27     LP1:         MOV DPTR,#TABLE              ;控制字首地址
0127 EB               28                  MOV A,R3                     ;查表偏移量送A
0128 93               29                  MOVC A,@A+DPTR               ;查表取控制字
0129 60F7             30                  JZ LP0                       ;转完八拍
012B F590             31                  MOV P1,A                     ;控制字送P1口
012D 314A             32                  ACALL DELAY                  ;延时
012F 0B               33                  INC R3                       ;偏移量+1(拍数加1)
0130 2124             34                  AJMP LP1
0132 22               35                  RET
0133 E8               36     LOOP2:       MOV A, R0                    ;取出键值
0134 B40108           37                  CJNE A,#01H,LOOP3            ;是反转键吗?非转LOOP3
0137 7B00             38     LP2:         MOV R3,#00H
0139 EB               39                  MOV A,R3                     ;查表偏移量送A
013A 2409             40                  ADD A,#09H                   ;修正偏移量,查反向控制字
013C FB               41                  MOV R3,A                     ;偏移量保存在R3中
013D 2124             42                  AJMP LP1       
013F E8               43     LOOP3:       MOV A, R0                    ;取出键值
0140 B402D8           44                  CJNE A,#02H,LOOP             ;是停止键吗?否转PINT1
0143 759000           45                  MOV P1,#00H                  ;是则停转
0146 C2D5             46                  CLR F0
0148 211B             47                  AJMP LOOP                     
014A 7F20             48     DELAY:       MOV R7,#20H                  ;延时子程序
014C 7EF8             49        D1:       MOV R6,#248
014E DEFE             50                  DJNZ R6,$
0150 DFFA             51                  DJNZ R7,D1
0152 22               52                  RET
                      53     ;**************************键输入中断服务程序*********************************
0153 C2AF             54     PINT1:       CLR EA                       ;关中断
0155 C0E0             55                  PUSH ACC
                      56                  ;PUSH PSW                     ;入栈保护
                      57                  ;PUSH DPH
                      58                  ;PUSH DPL
A51 MACRO ASSEMBLER  CONT                                                                 11/27/2007 21:43:10 PAGE     2

0157 908FFF           59                  MOV DPTR,#8FFFH              ;向命令口写入读键盘RAM
015A 7440             60                  MOV A,#40H                    
015C F0               61                  MOVX @DPTR,A
015D 908FFE           62                  MOV DPTR,#8FFEH              ;读入键值
0160 E0               63                  MOVX A,@DPTR                 
0161 F8               64                  MOV R0,A                     ;键值暂存入R0  
0162                  65     PRI1:        ;POP DPL                      ;出栈恢复
                      66                  ;POP DPH
                      67                  ;POP PSW
0162 D0E0             68                  POP ACC
0164 D2D5             69                  SETB F0                      ;置中断标志
0166 D2AF             70                  SETB EA                      ;开中断
0168 32               71                  RETI             
                      72     ;/////////////////////////////////////////////////////////////////////////////
0169 10302060         73     TABLE:       DB 10H,30H,20H,60H,40H,0C0H,80H,90H,00H  ;正转
016D 40C08090                
0171 00                      
0172 109080C0         74                  DB 10H,90H,80H,0C0H,40H,60H,20H,30H,00H  ;反转
0176 40602030                
017A 00                      
                      75                  END
                             
                             
                             
A51 MACRO ASSEMBLER  CONT                                                                 11/27/2007 21:43:10 PAGE     3

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


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

ACC. . . . . . . .  D ADDR   00E0H   A      15 55 68
D1 . . . . . . . .  C ADDR   014CH   A      49# 51
DELAY. . . . . . .  C ADDR   014AH   A      32 48#
EA . . . . . . . .  B ADDR   00A8H.7 A      21 54 70
EX1. . . . . . . .  B ADDR   00A8H.2 A      22
F0 . . . . . . . .  B ADDR   00D0H.5 A      9 23 46 69
IT1. . . . . . . .  B ADDR   0088H.2 A      20
LOOP . . . . . . .  C ADDR   011BH   A      23# 23 44 47
LOOP1. . . . . . .  C ADDR   011EH   A      24#
LOOP2. . . . . . .  C ADDR   0133H   A      25 36#
LOOP3. . . . . . .  C ADDR   013FH   A      37 43#
LP0. . . . . . . .  C ADDR   0122H   A      26# 30
LP1. . . . . . . .  C ADDR   0124H   A      27# 34 42
LP2. . . . . . . .  C ADDR   0137H   A      38#
MAIN . . . . . . .  C ADDR   0100H   A      5 9#
P1 . . . . . . . .  D ADDR   0090H   A      31 45
PINT1. . . . . . .  C ADDR   0153H   A      7 54#
PRI1 . . . . . . .  C ADDR   0162H   A      65#
SP . . . . . . . .  D ADDR   0081H   A      10
TABLE. . . . . . .  C ADDR   0169H   A      27 73#
WAIT . . . . . . .  C ADDR   010BH   A      14# 15


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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