wl006.lst

来自「单片机开发资料 基于51单片机的单片机开发板 包括《实验例程」· LST 代码 · 共 414 行 · 第 1/2 页

LST
414
字号
0085 22              193             RET     
                     194     ; END OF ERASE
                     195     
                     196     ;===============================================================================
----                 197             RSEG  CODE_SEG
0086                 198     INOP:
                     199     ; 写入操作码
                     200     ; 传入参数:R7高两位 --- 指令码的高两位
                     201     ; 传入参数:R5低七位 --- 指令码的低7位或地址
                     202     ; 返回值:无
                     203     
                     204             USING   0               
                     205     
0086 C290            206             CLR     SK                      ; 开始位
0088 D292            207             SETB    DI
008A D294            208             SETB    CS
008C 00              209             NOP     
008D 00              210             NOP     
008E D290            211             SETB    SK
0090 00              212             NOP     
0091 00              213             NOP                             
0092 C290            214             CLR     SK                      ; 开始位结束
                     215     
0094 EF              216             MOV     A,R7                    ; 先移入指令码高位
0095 33              217             RLC     A
0096 9292            218             MOV     DI,C
0098 D290            219             SETB    SK
009A 33              220             RLC     A
009B C290            221             CLR     SK
009D 9292            222             MOV     DI,C                    ; 移入指令码次高位
009F D290            223             SETB    SK
00A1 00              224             NOP     
00A2 00              225             NOP     
00A3 C290            226             CLR     SK
                     227     
                     228     
00A5 ED              229             MOV     A,R5                    ; 移入余下的指令码或地址数据
00A6 33              230             RLC     A
00A7 FD              231             MOV     R5,A                    ; R5左移一位 
                     232             
00A8 E4              233             CLR     A
00A9 FF              234             MOV     R7,A
00AA                 235     INOP_LP:
00AA ED              236             MOV     A,R5                    ; 移入R5的高7位
00AB 33              237             RLC     A
00AC 9292            238             MOV     DI,C
00AE D290            239             SETB    SK
00B0 ED              240             MOV     A,R5
00B1 33              241             RLC     A
00B2 FD              242             MOV     R5,A
00B3 C290            243             CLR     SK
                     244             
00B5 0F              245             INC     R7
00B6 BF07F1          246             CJNE    R7,#07H,INOP_LP         ; 判断是否7位全移完
                     247     
00B9 D292            248             SETB    DI
                     249     
00BB 22              250             RET     
                     251     ; END OF INOP
                     252     
                     253     ;===============================================================================
----                 254             RSEG  CODE_SEG
00BC                 255     SHIN:
                     256     ; 从MCU移出数据到AT93C46
A51 MACRO ASSEMBLER  WL006                                                                11/03/2004 11:05:11 PAGE     5

                     257     ; 传入参数:R7 --- 要移入的数据
                     258     ; 返回值:无
                     259     
                     260             USING   0
                     261     
00BC E4              262             CLR     A
00BD FE              263             MOV     R6,A
00BE EE              264             MOV     A,R6
00BF EF              265             MOV     A,R7
00C0                 266     SHIN_LP:
00C0 33              267             RLC     A
00C1 9292            268             MOV     DI,C
00C3 D290            269             SETB    SK
00C5 00              270             NOP
00C6 00              271             NOP
00C7 C290            272             CLR     SK
                     273             
00C9 0E              274             INC     R6
00CA BE08F3          275             CJNE    R6,#08H,SHIN_LP ; 共8位,判断是否完成
                     276     
00CD D292            277             SETB    DI
00CF 22              278             RET     
                     279     ; END OF SHIN
                     280     
                     281     ;===============================================================================
                     282     
----                 283             RSEG  CODE_SEG
00D0                 284     SHOUT:
                     285     ; 从AT93C46移出数据MCU
                     286     ; 传入参数:无
                     287     ; 返回值:R7 --- 读出的数据
                     288     
                     289             USING   0
                     290     
00D0 E4              291             CLR     A
00D1 FE              292             MOV     R6,A
00D2                 293     SHOUT_LP:
00D2 D290            294             SETB    SK
00D4 00              295             NOP
00D5 00              296             NOP     
00D6 C290            297             CLR     SK      
00D8 A293            298             MOV     C,DO
00DA 33              299             RLC     A
00DB 0E              300             INC     R6
00DC BE08F3          301             CJNE    R6,#08H,SHOUT_LP                ; 共8位,判断是否完成
00DF F507            302             MOV     AR7,A
                     303     
00E1 22              304             RET     
                     305     ; END OF SHOUT
                     306     
                     307     ;===============================================================================
----                 308             RSEG  CODE_SEG
00E2                 309     DELAYMS:
                     310     ; 延时子程序
                     311     ; 传入参数:R7 --- 延时值(MS) 
                     312     ; 返回值:无
                     313     
00E2 EF              314             MOV     A,R7
00E3 6009            315             JZ      END_DLYMS       
00E5                 316     DLY_LP1:
00E5 7EB9            317             MOV     R6,#185
00E7                 318     DLY_LP2:
00E7 00              319             NOP
00E8 00              320             NOP
00E9 00              321             NOP
00EA DEFB            322             DJNZ    R6,DLY_LP2
A51 MACRO ASSEMBLER  WL006                                                                11/03/2004 11:05:11 PAGE     6

00EC DFF7            323             DJNZ    R7,DLY_LP1
                     324     
00EE                 325     END_DLYMS:
00EE 22              326             RET     
                     327     ; END OF DELAYMS
                     328     
                     329     ;===============================================================================
                     330     
----                 331             RSEG  CODE_SEG
00EF                 332     DIS_CODE:
                     333     ; 写入到AT93C46的数据串
                     334     
00EF 7E              335             DB      07EH
00F0 BD              336             DB      0BDH
00F1 DB              337             DB      0DBH
00F2 E7              338             DB      0E7H
00F3 DB              339             DB      0DBH
00F4 BD              340             DB      0BDH
00F5 7E              341             DB      07EH
00F6 FF              342             DB      0FFH
                     343     
                     344             END
                             
                             
A51 MACRO ASSEMBLER  WL006                                                                11/03/2004 11:05:11 PAGE     7

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


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

ADDR . . . . . . .  D ADDR   0001H   R   SEG=DATA_SEG
AR7. . . . . . . .  D ADDR   0007H   A   
CODE_SEG . . . . .  C SEG    00F7H       REL=UNIT
CS . . . . . . . .  B ADDR   0090H.4 A   
DATA_SEG . . . . .  D SEG    0002H       REL=UNIT
DELAYMS. . . . . .  C ADDR   00E2H   R   SEG=CODE_SEG
DI . . . . . . . .  B ADDR   0090H.2 A   
DIS_CODE . . . . .  C ADDR   00EFH   R   SEG=CODE_SEG
DLY_LP1. . . . . .  C ADDR   00E5H   R   SEG=CODE_SEG
DLY_LP2. . . . . .  C ADDR   00E7H   R   SEG=CODE_SEG
DO . . . . . . . .  B ADDR   0090H.3 A   
END_DLYMS. . . . .  C ADDR   00EEH   R   SEG=CODE_SEG
ERASE. . . . . . .  C ADDR   0077H   R   SEG=CODE_SEG
EWDS . . . . . . .  C ADDR   006EH   R   SEG=CODE_SEG
EWEN . . . . . . .  C ADDR   0064H   R   SEG=CODE_SEG
INDATA . . . . . .  D ADDR   0000H   R   SEG=DATA_SEG
INOP . . . . . . .  C ADDR   0086H   R   SEG=CODE_SEG
INOP_LP. . . . . .  C ADDR   00AAH   R   SEG=CODE_SEG
MAIN . . . . . . .  C ADDR   0000H   R   SEG=CODE_SEG
MAIN_LP. . . . . .  C ADDR   002FH   R   SEG=CODE_SEG
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
READ . . . . . . .  C ADDR   0057H   R   SEG=CODE_SEG
SHIN . . . . . . .  C ADDR   00BCH   R   SEG=CODE_SEG
SHIN_LP. . . . . .  C ADDR   00C0H   R   SEG=CODE_SEG
SHOUT. . . . . . .  C ADDR   00D0H   R   SEG=CODE_SEG
SHOUT_LP . . . . .  C ADDR   00D2H   R   SEG=CODE_SEG
SK . . . . . . . .  B ADDR   0090H.0 A   
SP . . . . . . . .  D ADDR   0081H   A   
STACK. . . . . . .  I ADDR   0000H   R   SEG=STACK_SEG
STACK_SEG. . . . .  I SEG    0014H       REL=UNIT
WL006. . . . . . .  N NUMB   -----       
WRITE. . . . . . .  C ADDR   0042H   R   SEG=CODE_SEG
WRITE_LP . . . . .  C ADDR   0014H   R   SEG=CODE_SEG


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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