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

📄 wl006.lst

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

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

00E5                 323     DLY_LP1:
00E5 7EB9            324             MOV     R6,#185
00E7                 325     DLY_LP2:
00E7 00              326             NOP
00E8 00              327             NOP
00E9 00              328             NOP
00EA DEFB            329             DJNZ    R6,DLY_LP2
00EC DFF7            330             DJNZ    R7,DLY_LP1
                     331     
00EE                 332     END_DLYMS:
00EE 22              333             RET     
                     334     ; END OF DELAYMS
                     335     
                     336     ;===============================================================================
                     337     
----                 338             RSEG  CODE_SEG
00EF                 339     DIS_CODE:
                     340     ; 写入到AT93C46的数据串
                     341     
00EF 7E              342             DB      07EH
00F0 BD              343             DB      0BDH
00F1 DB              344             DB      0DBH
00F2 E7              345             DB      0E7H
00F3 DB              346             DB      0DBH
00F4 BD              347             DB      0BDH
00F5 7E              348             DB      07EH
00F6 FF              349             DB      0FFH
                     350     
                     351             END
                             
                             
A51 MACRO ASSEMBLER  WL006                                                                03/29/2005 15:44:25 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   00B0H.4 A   
DATA_SEG . . . . .  D SEG    0002H       REL=UNIT
DELAYMS. . . . . .  C ADDR   00E2H   R   SEG=CODE_SEG
DI . . . . . . . .  B ADDR   00B0H.5 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   00B0H.6 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   
P3 . . . . . . . .  D ADDR   00B0H   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   00B0H.3 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 + -