导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→sle4442子程序-1

* 16307: 硬件:有那位大虾用过IC卡SLE4442,请多多指点指点。

   zhucheng 
zhucheng发表的帖子 

 sle4442子程序-1
;SLE4442
;CPU: 89c52
;JILIN CENTEK 2001-12-24
;SLE4442 COMMANDS
;         1.READ MAIN MEMORY
;        2.READ PROTECTION MEMORY
;        3.READ ERROR COUNTER
;        4.READ REFERENCE DATA
;        5.RST
;        6.COMPARE VERIFICATION DATA
;        7.WRITE MAIN MEMORY
;        8.WRITE PROTECTTION MEMORY
;        9.WRITE ERROR COUNTER
;        10.CHANGE REFERENCE DATA

;********CONSTANTS******
;
RST    BIT    P1.4
CLK    BIT    P1.6
IO    BIT    P1.5
RMM    EQU    30H
RPM    EQU    34H
RSM    EQU    31H
CVD    EQU    33H
WMM    EQU    38H
WPM    EQU    3CH
WSM    EQU    39H
;
;***********************


        ORG        0000H
        LJMP        main
        ORG        0100H
main:
            MOV             SP,#0D0H
            CLR        P2.7
        CLR        RST
            CLR        CLK
        MOV        R0,#30H        ;RESET DATA STORE 
IN ADDRESS:30 31 32 33
        MOV             30H,#0FFH
        LCALL        reset        ;RESET

        MOV        R0,#50H        ;FIRST ADDRESS TO 
STORE PROTECTION MEMORY
        LCALL        rdpm

        MOV             R0,#40H        ;FIRST ADDRESS TO 
STORE MAIN MEMORY
                   MOV             R1,#1AH        ;FIRST ADDRESS TO 
READ IN IC CARD
            MOV             R2,#07H        ;LENTH TO READ
            LCALL           rdmm

                MOV             R0,#58H        ;ADDRESS TO STORE ERROR 
COUNTER
                LCALL           rdsm

                MOV        R0,#06H        ;WRITE 00000110B TO ERROR 
COUNTER
            LCALL        wtec

                MOV        R0,#60H        ;FIRST ADDRESS TO STORE 
REFERENCE DATA
        MOV        @R0,#0FFH    ;1ST REFERENCE DATA : FFH
        INC        R0
                MOV        @R0,#0FFH    ;2ND REFERENCE DATA : FFH
        INC        R0
        MOV        @R0,#0FFH    ;3RD REFERENCE DATA : FFH
                MOV             R0,#60H
        LCALL        cpvd

        MOV             R0,#07H        ;WRITE 00000111B TO 
ERROR COUNTER
                LCALL           wtec

        MOV        R0,#58H        ;ADDRESS(58H) TO 
STORE ERROR COUNTER
        LCALL        rdsm        ;ADDRESS(59H) TO 
STORE 1ST REFERENCE DATA
                                ;ADDRESS(5AH) TO STORE 2ND 
REFERENCE DATA
                                ;ADDRESS(5BH) TO STORE 3RD 
REFERENCE DATA

        MOV        A,58H
        CJNE        A,#07H,stop    ;COMPARE ERROR GOTO 
STOP

        MOV        R0,#4AH        ;DATA TO BE WRITEN
        MOV        R1,#1BH        ;ADDRESS TO BE 
WRITEN IN IC CARD
        LCALL        wtmm

                MOV             R0,#48H        ;FIRST ADDRESS TO STORE MAIN 
MEMORY
                   MOV             R1,#1FH        ;FIRST ADDRESS TO 
READ IN IC CARD
            MOV             R2,#01H        ;LENTH TO READ
            LCALL           rdmm

;        MOV        R0,#68H        ;ADDRESS(68H) TO 
STORE NEW 1ST REFERENCE DATA
;        MOV        @R0,#12H    ;NEW 1ST REFERENCE DATA : 12H
;        INC        R0        ;ADDRESS(69H) TO 
STORE NEW 2ND REFERENCE DATA
;        MOV        @R0,#34H    ;NEW 2ND REFERENCE DATA : 34H
;        INC        R0        ;ADDRESS(6AH) TO 
STORE NEW 3RD REFERENCE DATA
;        MOV        @R0,#56H    ;NEW 3RD REFERENCE DATA : 56H
;        MOV        R0,#68H
;        LCALL        cgrd
                                    ;examine change
;               MOV        R0,#38H        ;ADDRESS(58H) TO STORE ERROR 
COUNTER
;        LCALL        rdsm        ;ADDRESS(59H) TO 
STORE 1ST REFERENCE DATA
                                ;ADDRESS(5AH) TO STORE 2ND 
REFERENCE DATA
                                ;ADDRESS(5BH) TO STORE 3RD 
REFERENCE DATA

        MOV        R0,#4BH        ;DATA TO BE WRITEN 
AND TO BE PROTECTED
        MOV        R1,#1FH        ;ADDRESS TO BE 
WRITEN IN IC CARD
                LCALL        wtpm

                SETB        P2.7
stop:
        SJMP        $


;***********************
;
;NAME: reset
;DESCRIPTION: RESET SLE4442
;CALL: delay
;INPUT: R0=START ADDRESS OF OUTGOING DATA
;OUTPUT:
;REGISTER USAGE:A,R1,R2
;
;***********************
reset:
        CLR        RST
        CLR        CLK
                LCALL           delay
        SETB        RST
        SETB        CLK
        LCALL        delay
        CLR        CLK
        CLR        RST
        MOV        R2,#04H
inbyte:
        MOV        R1,#08H
inbit:
        LCALL        delay
        SETB        CLK
        MOV        C,IO
        RRC        A
        LCALL        delay
        CLR        CLK
        DJNZ        R1,inbit
        MOV        @R0,A
        INC        R0
        DJNZ        R2,inbyte
        RET

;***********************
;
;NAME: rdmm
;DESCRIPTION: READ IC MAIN MEMORY
;CALL:
;INPUT: R0=START ADDRESS OF STORE OUTGOING DATA
;          R1=START ADDRESS (IC)TO READ
;          R2=LENTH OF OUTGOING DATA
;OUTPUT:
;REGISTER USAGE:R1,R2,R3,R4,R5
;
;***********************
rdmm:
        MOV        A,R0
        MOV        R3,A
        MOV        A,R1
        MOV        R4,A
                MOV             A,R2
                MOV             R5,A
        MOV        R0,#20H
        MOV        @R0,#RMM
        INC        R0
        MOV        A,R4
        MOV        @R0,A
        INC        R0
        MOV        @R0,#00H
                MOV             R0,#20H
        LCALL        command
        MOV        A,R3
        MOV        R0,A
        MOV        A,R5
        MOV        R1,A
        LCALL        readdata
                MOV             R0,#30H
        LCALL        reset
                RET


发表时间:2002年12月23日20:42:00

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  16308.[详细]sle4442子程序-2
摘要:;*********************** ; ;NAME: rdpm ;DESCRIPTION: READ IC PROTECTION MEMORY&n......(12843字)
- [zhucheng][1127次] 2002年12月23日

  96637.[详细]最基礎的地方就有問題
摘要:看了下你的 rst 子程序就寫的有問題  我找了一個,看看     讀 I/0 口時,,該這樣   ......(221字)
- [qiaoqiang][865次] 2006年8月12日

[上一篇帖子]:初学者:哪位能提供电冰箱中压缩机运行时间的控制
[下一篇帖子]:C51编程:如何编写音乐程序?各位老师:本人想编写8051音乐程序,却不知如何将一首歌编写成数字请各