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

📄 wl006.lst

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

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

00E8 00              323             NOP
00E9 00              324             NOP
00EA DEFB            325             DJNZ    R6,DLY_LP2
00EC DFF7            326             DJNZ    R7,DLY_LP1
                     327     
00EE                 328     END_DLYMS:
00EE 22              329             RET     
                     330     ; END OF DELAYMS
                     331     
                     332     ;===============================================================================
                     333     
----                 334             RSEG  CODE_SEG
00EF                 335     DIS_CODE:
                     336     ; 写入到AT93C46的数据串
                     337     
00EF 7E              338             DB      07EH
00F0 BD              339             DB      0BDH
00F1 DB              340             DB      0DBH
00F2 E7              341             DB      0E7H
00F3 DB              342             DB      0DBH
00F4 BD              343             DB      0BDH
00F5 7E              344             DB      07EH
00F6 FF              345             DB      0FFH
                     346     
                     347             END
                             
                             
A51 MACRO ASSEMBLER  WL006                                                                04/20/2004 11:57:07 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -