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

📄 sle4442.lst

📁 单片机用TDS-ICE仿真器的试验程序。
💻 LST
📖 第 1 页 / 共 3 页
字号:
0271 F6         +1   388               MOV     @R0,a         ;把接收到的一个字节保存起来              
0272 08         +1   389               INC     R0            ;接收缓冲区地址加1      
0273 DAE5       +1   390               DJNZ    R2,rescm2
0275 C291       +1   391               CLR     CLK                
0277 1202C9     +1   392               LCALL   Delay5uS             
027A 22         +1   393               RET
                +1   394     
                +1   395     
                +1   396     ;**************************************************
                +1   397     ;函数名称: Anrst
                +1   398     ;功能描述: 读加密存储器的四个字节
                +1   399     ;入口参数:无
                +1   400     ;返回数据: A --- 0 复位成功
                +1   401     ;          A --- 1 复位失败 
                +1   402     ;          复位信号的内容输出到EC所指的4字节缓冲区中
                +1   403     ;***************************************************
027B            +1   404     Anrst:                                 
027B 7850       +1   405               MOV      R0,#EC
027D D292       +1   406               SETB     RST                ;产生复位响应时序
027F 1202C9     +1   407               LCALL    Delay5uS            
0282 D291       +1   408               SETB     CLK
0284 1202C4     +1   409               LCALL    Delay10uS           
0287 C291       +1   410               CLR      CLK
0289 1202C9     +1   411               LCALL    Delay5uS            
028C C292       +1   412               CLR      RST
                +1   413                                            ;接受复位响应值  
028E 7A04       +1   414               MOV      R2,#4               
0290 7B08       +1   415     anrst1:   MOV      R3,#8               
0292 1202C4     +1   416     anrst2:   LCALL    Delay10uS           
0295 D291       +1   417               SETB     CLK
0297 D290       +1   418               SETB     IO                  
0299 00         +1   419               NOP
029A 00         +1   420               NOP
029B A290       +1   421               MOV      C,IO
029D 13         +1   422               RRC      A 
029E 1202C9     +1   423               LCALL    Delay5uS           
02A1 C291       +1   424               CLR      CLK
02A3 DBED       +1   425               DJNZ     R3,anrst2           ;判断是否接收了一个字节
02A5 F6         +1   426               MOV      @R0,A
02A6 08         +1   427               INC      R0
02A7 DAE7       +1   428               DJNZ     R2,anrst1           ;判断是否接收了4个字节
                +1   429     
                +1   430     ;**************************************************      
                +1   431     ;以下代码根据复位响应返回值判断卡的合法性及有效性  
                +1   432     ;**************************************************       
02A9 7850       +1   433               MOV   R0,#EC
02AB E6         +1   434               MOV   A,@R0
02AC B4A212     +1   435               CJNE   A,#Idetify1,CardErr
02AF 08         +1   436               INC     R0
02B0 E6         +1   437               MOV   A,@R0
02B1 B4130D     +1   438               CJNE   A,#Idetify2,CardErr      
02B4 08         +1   439               INC     R0
02B5 E6         +1   440               MOV   A,@R0
02B6 B41008     +1   441               CJNE   A,#Idetify3,CardErr      
02B9 08         +1   442               INC     R0
02BA E6         +1   443               MOV   A,@R0
02BB B49103     +1   444               CJNE   A,#Idetify4,CardErr      
02BE 7400       +1   445               MOV   A,#00H                  ;复位成功                       
02C0 22         +1   446               RET
02C1 7401       +1   447     CardErr:  MOV   A,#01H                  ;复位失败,为坏卡
02C3 22         +1   448               RET
                +1   449     
                +1   450     ;**************************************************
A51 MACRO ASSEMBLER  SLE4442                                                              09/17/2004 11:09:32 PAGE     8

                +1   451     ;函数名称: Delay10uS
                +1   452     ;功能描述: 延时10Us子程序
                +1   453     ;入口参数:无
                +1   454     ;返回数据: 无
                +1   455     ;***************************************************
02C4            +1   456     Delay10uS:                       ;延时10Us
02C4 7F06       +1   457               MOV    R7,#06H          
02C6 DFFE       +1   458               DJNZ   R7,$
02C8 22         +1   459               RET
                +1   460     
                +1   461     ;**************************************************
                +1   462     ;函数名称: Delay5uS
                +1   463     ;功能描述: 延时5Us子程序
                +1   464     ;入口参数:无
                +1   465     ;返回数据: 无
                +1   466     ;***************************************************
02C9            +1   467     Delay5uS:                        ;延时5Us
02C9 7F02       +1   468               MOV    R7,#02H          
02CB DFFE       +1   469               DJNZ   R7,$
02CD 22         +1   470               RET
                +1   471     
                     472     
                     473     END
                             
                             
                             
                             
                             
                             ;下面为校验密钥、写卡、读卡程序
                             ;Write_Read_Card:
                             
                             ;       MOV R0,#PSWD            ;密码缓冲区首址
                             ;       MOV @R0,#0x11
                             ;       INC R0
                             ;       MOV @R0,#0x22
                             ;       INC R0
                             ;       MOV @R0,#0x33           ;输入密码:填充密码缓冲区
                             ;
                             ;       LCALL CheckPassword     ;校验密码
                             ;       JNZ WRExit              ;如果校验不成功,退出
                                     
                             ;       MOV R0,#WriteBuf        ;写缓冲区首址
                             ;       MOV @R0,#0x55           
                             ;       INC R0;
                             ;       MOV @R0,#0x66           ;填充写缓冲区
                             ;       MOV ByteNum,#0x02       ;写二个字节
                             ;       MOV StartAdr,#0x20      ;写起始地址为0x20
                             ;       LCALL WriteCard         ;写卡
                                     
                             ;       JNZ WRExit              ;如果写不成功,退出
                                     
                             ;       MOV ByteNum,#0x02       ;读二个字节
                             ;       MOV StartAdr,#0x20      ;读起始地址0x20
                             ;       LCALL ReadCard          ;读卡           
                             ;       JZ Write_Read_Card      ;请在此设置断点,观察读缓冲区内容.
                                                             ;如果读成功,才可以执行这个循环.
                             ;WRExit: 
                             ;       MOV A,#00               ;请在此设置断点
                              
                             
                             ;$INCLUDE(SLE4442.INC)                  ;包含SLE4442驱动程序    
                             
                             
                             ;END    
A51 MACRO ASSEMBLER  SLE4442                                                              09/17/2004 11:09:32 PAGE     9

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


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

ANRST. . . . . . .  C ADDR   027BH   A   
ANRST1 . . . . . .  C ADDR   0290H   A   
ANRST2 . . . . . .  C ADDR   0292H   A   
BREAK. . . . . . .  C ADDR   021AH   A   
BYTENUM. . . . . .  N NUMB   0057H   A   
CARDERR. . . . . .  C ADDR   02C1H   A   
CHECKEXIT. . . . .  C ADDR   01A8H   A   
CHECKPASSWORD. . .  C ADDR   015EH   A   
CHKPSW1. . . . . .  C ADDR   0177H   A   
CHKPSW2. . . . . .  C ADDR   0180H   A   
CHKPSWLOOP . . . .  C ADDR   018CH   A   
CLK. . . . . . . .  B ADDR   0090H.1 A   
DELAY10US. . . . .  C ADDR   02C4H   A   
DELAY5US . . . . .  C ADDR   02C9H   A   
EC . . . . . . . .  N NUMB   0050H   A   
HAVEONECHANCE. . .  C ADDR   01AFH   A   
IDETIFY1 . . . . .  N NUMB   00A2H   A   
IDETIFY2 . . . . .  N NUMB   0013H   A   
IDETIFY3 . . . . .  N NUMB   0010H   A   
IDETIFY4 . . . . .  N NUMB   0091H   A   
IO . . . . . . . .  B ADDR   0090H.0 A   
ISBADCARD. . . . .  C ADDR   01ACH   A   
IS_FAIL. . . . . .  C ADDR   01A9H   A   
MAIN . . . . . . .  C ADDR   0100H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
PSWD . . . . . . .  N NUMB   0054H   A   
READBUF. . . . . .  N NUMB   0030H   A   
READCARD . . . . .  C ADDR   010EH   A   
READEXIT . . . . .  C ADDR   011EH   A   
READPROTECT. . . .  C ADDR   0136H   A   
READ_INSERT_CARD .  C ADDR   0103H   A   
REMM . . . . . . .  C ADDR   01F5H   A   
REPM . . . . . . .  C ADDR   01F1H   A   
RESCM. . . . . . .  C ADDR   0251H   A   
RESCM1 . . . . . .  C ADDR   025CH   A   
RESCM2 . . . . . .  C ADDR   025AH   A   
RMBYTE . . . . . .  C ADDR   01FDH   A   
RMLOOP . . . . . .  C ADDR   01FAH   A   
RMSTART. . . . . .  C ADDR   01F7H   A   
RPEXIT . . . . . .  C ADDR   0146H   A   
RST. . . . . . . .  B ADDR   0090H.2 A   
SENDBYTE . . . . .  C ADDR   01DFH   A   
SENDCOMM . . . . .  C ADDR   01B2H   A   
SENDLOOP . . . . .  C ADDR   01E1H   A   
SP . . . . . . . .  D ADDR   0081H   A   
STARTADR . . . . .  N NUMB   0058H   A   
VERDA. . . . . . .  C ADDR   0227H   A   
WPEXIT . . . . . .  C ADDR   015DH   A   
WPLOOP . . . . . .  C ADDR   0152H   A   
WRITEBUF . . . . .  N NUMB   0040H   A   
WRITECARD. . . . .  C ADDR   011FH   A   
WRITEEXIT. . . . .  C ADDR   0135H   A   
WRITELOOP. . . . .  C ADDR   012AH   A   
WRITEPROTECT . . .  C ADDR   0147H   A   
WRMM . . . . . . .  C ADDR   0233H   A   
WRMOK. . . . . . .  C ADDR   0250H   A   
WRMOPTION. . . . .  C ADDR   0238H   A   
WRPM . . . . . . .  C ADDR   022FH   A   
WRSCM. . . . . . .  C ADDR   022BH   A   
WRSTART. . . . . .  C ADDR   0235H   A   
A51 MACRO ASSEMBLER  SLE4442                                                              09/17/2004 11:09:32 PAGE    10



REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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