• <bdo id="i0k2q"><xmp id="i0k2q">
      • <menu id="i0k2q"><em id="i0k2q"></em></menu>
        歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
        阿里巴巴誠信通企業(yè)
        全國咨詢熱線:40000-63966
        興邦電子,中國水控機第一品牌

        聯(lián)系興邦電子

        全國咨詢熱線:40000-63966

        售后:0371-55132951/55132952

        工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

        關(guān)于非接觸式IC智能(射頻)卡及其讀寫設備內(nèi)核技術(shù)的研究與應用開發(fā)(連載10)

        文章出處:http://www.mjagi.com 作者:張敏&nbsp;&nbsp; 人氣: 發(fā)表時間:2011年11月01日

        [文章內(nèi)容簡介]:關(guān)于非接觸式IC智能(射頻)卡及其讀寫設備內(nèi)核技術(shù)的研究與應用開發(fā)(連載10)

        ACALL DISPLAY
            ACALL H_DISPLAY
            ACALL d500ms
            CLR P2.6    ;CLEAR OKLAMP  P2.3
            ACALL INIT_DISP_BUF
            ACALL DISPLAY
            ACALL H_DISPLAY
        ;++++++++++++++++++ set up register/ram for Authenticate() ++++++++++++++++++
            ;mov 7fh,#04h
        ;7EH:for future use!
            MOV 7EH, #80H      ;(7EH) = 80H-->SELECT KEYSET0 (KS1=0;KS0=0)
               
            MOV 7DH,#82H      ;(7DH): 1)SELECT KEYA or KEYB (for auth_)
                        ;    2)SELECT sector ADDRESS :0-15 (for auth_)
            MOV 7CH,#60H      ;Select: Auth_ instruction code 
        ;=========================================================
            ACALL AUTHENTICATION  ;MCM AUTHENTICATE OPERATION
        ;=========================================================
            ACALL DISPLAY
            ACALL H_DISPLAY
            ACALL D500MS
            CLR P2.6    ;CLEAR OKLAMP P2.3
            ACALL INIT_DISP_BUF
            ACALL DISPLAY
            ACALL H_DISPLAY
        ;++++++++++++++++++ set up register/ram for Write() ++++++++++++++++++
            ; MOV 7EH, #00H   ;(7EH):The first_address(MSB) storing the data which
            ;7EH:for future use!;    you want to write the data to the MCM/CARD
          ;   MOV 7DH,#50h    ;(7DH): The first_address(LSB) storing the data which
                      ;    you want to write the data to the MCM/CARD
          ;   MOV 7CH,#0BH    ;Select: written address(block no.):0~~63 
          ;  LCALL WRITE_KEY_A 
        ;=========================================================
          ;   ACALL write  ;MCM write OPERATION
        ;=========================================================
          ;   ACALL DISPLAY
          ;   ACALL H_DISPLAY
          ;   ACALL D500MS
          ;   CLR P2.6    ;CLEAR OKLAMP  P2.3
          ;   ACALL INIT_DISP_BUF
          ;   ACALL DISPLAY
          ;   ACALL H_DISPLAY
        ;++++++++++++++++++ set up register/ram for Read() ++++++++++++++++++
            ;MOV 7EH, #00H  ;(7EH):The first address(HIGH_byte) which you want to
            ;7EH:for future use!  ;read the data from the MCM/CARD into cpu_ram
            MOV 7DH,#50h   ;(7DH):The first address(LOW_byte) which you want to
                     ;    read the data from the MCM/CARD into cpu_ram
            MOV 7CH,#08h   ;Select:The address(block no.) you want to read:0-63 
        ;==========================================================
            LCALL READ   ;MCM READ OPERATION
        ;=========================================================
            ACALL DISPLAY
            ACALL H_DISPLAY
            ACALL D500ms
            CLR P2.6    ;CLEAR OKLAMP  P2.3
            ACALL INIT_DISP_BUF
            ACALL DISPLAY
            ACALL H_DISPLAY
        ;==========================================================
            LCALL HALT   ;MCM HALT OPERATION
        ;=========================================================
            ACALL DISPLAY
            ACALL H_DISPLAY
            ACALL D500MS
            CLR P2.6    ;CLEAR OKLAMP  P2.3
            ACALL INIT_DISP_BUF
            ACALL DISPLAY
            ACALL H_DISPLAY
        ;==========================================================
            LCALL DISP_RD_BLK   ;DISPLAY JUST READ BLOCK VALUES
        ;=========================================================
            LCALL CLEAR_DISP_RD_BLK_IN_CPU ;CLEAR :FILL WITH #11H  
        ;=========================================================
            CLR P2.6    ;CLEAR OKLAMP  P2.3
            ACALL INIT_DISP_BUF
            ACALL DISPLAY
            ACALL H_DISPLAY
            ;CLR P2.5    ;RESET MCM (-RST=0) P1.4
            ;SETB P2.4   ;RESET MCM (-CS=1)  P1.5
            MOV A,#80H   ;SOFTWARE_RESET MCM
            MOV R0,#01H
            MOVX @R0,A
             ;LJMP REPEAT
            RET
        ;----------------------------------------------------

        D500US:        
        D500US_LOOP1:     
            MOV R6,#05H  
        D500US_LOOP2:
            NOP
            NOP
            NOP
            NOP
            NOP
            NOP
            NOP
            NOP
            DJNZ R6,D500US_LOOP2
            DJNZ R7,D500US_LOOP1
            RET
        ;----------------------------------------------------
        D500MS:
            setb psw.3
            setb psw.4  
            MOV R3,#19H 
        LOOP_1: MOV R4,#32H 
        LOOP_2: MOV R5,#64H 
        LOOP_3: DJNZ R5,LOOP_3
            DJNZ R4,LOOP_2
            DJNZ R3,LOOP_1
            clr psw.3
            clr psw.4  
            RET
        ;--------------------------
        D2S:
            setb psw.3
            setb psw.4   
            MOV R6,#06H
        LOOP:  ACALL D500MS
            DJNZ R6,LOOP
            clr psw.3
            clr psw.4  
            RET
        ;--------------------------
        SPK_ON:
            setb psw.3
            setb psw.4
            CLR P2.7
            ACALL D500MS
            SETB P2.7
            clr psw.3
            clr psw.4  
            RET
        ;--------------------------
        DISPLAY:
            SETB PSW.3
            SETB PSW.4
             CLR P2.2   ;SELECT MC14499'S -ENB
             MOV R0,#36H ;DISPLAY BUF FIRST ADDRESS
             MOV R1,#05H ;R1 AS A COUNTER
        NEXT_CHAR: MOV A , @R0
             SWAP A   
             ACALL DISP_ONE
             INC R0
             DJNZ R1,NEXT_CHAR
             SETB P2.2  ;RELEASE MC14499'S -ENB
            CLR PSW.3
            CLR PSW.4
             RET
        ;--------------------------    
        DISP_ONE:
             MOV R2,#04H 
        NEXT_BIT:SETB P2.1  ;SELECT MC14499'S CLK=1
             RLC A    ;ONE BIT MOVE TO PSW.C
             MOV P2.0, C 
             CLR P2.1   ;CLK=0
             DJNZ R2, NEXT_BIT
             RET
        ;--------------------------
        H_DISPLAY:
            SETB PSW.3
            SETB PSW.4
            CLR P2.3        ; -ENB
            MOV R0,#31H
            MOV R1,#05H
            NOP
            NOP
        H_NEXT_CHAR: MOV A, @R0
            SWAP A
            ACALL H_DISP_ONE
            INC R0
            DJNZ R1,H_NEXT_CHAR
            SETB P2.3        ; -ENB
            CLR PSW.3
            CLR PSW.4
             RET
        ;----------------------------
        H_DISP_ONE:
            MOV R2,#04H
        H_NEXT_BIT: SETB P2.1    ; CLK
            RLC A
            MOV P2.0, C     ; DATA
            CLR P2.1      ; CLK
            DJNZ R2, H_NEXT_BIT
            RET
        ;===========================
        INIT_DISP_BUF:
            SETB PSW.3
            SETB PSW.4
            MOV R0,#0AH
            MOV R1,#31H
        INIT_AGAIN: MOV @R1,#00H  ;SET 31H--40H UNITS AS 00H
            INC R1
            DJNZ R0, INIT_AGAIN
            CLR PSW.3
            CLR PSW.4
            RET
        ;--------------------------
        SEND_TO_BUF01:
            SETB PSW.3
            SETB PSW.4
            MOV B,A
            MOV 3AH,A        ;(3AH)
            SWAP A
            MOV 39H,A        ;(39H)
            MOV A,B
            CLR PSW.3
            CLR PSW.4
            RET
        ;--------------------------
        SEND_TO_BUF23:
            SETB PSW.3
            SETB PSW.4
            MOV B,A
            MOV 38H,A        ;(38H)
            SWAP A
            MOV 37H,A        ;(37H)
            MOV A,B
            CLR PSW.3
            CLR PSW.4
            RET

        ;--------------------------
        SET_POINT0:
            SETB PSW.4
            SETB PSW.3
            MOV R1,#36H       ;(36H)
            MOV @R1,#01H
            MOV R1,#31H       ;(31H)
            MOV @R1,#02H
            CLR PSW.3
            CLR PSW.4
             RET
        ;--------------------------
        INDICATE:
            CLR P2.6      ;INDICATE P2.6 AS 0-1-0
            SETB P2.6
             ACALL D500MS
            CLR P2.6
             RET
        ;-----------------------------  

        ;====================MCM REQUEST OPERATION====================
        request:
            RET
        ;--------------------------------------------------------------------
        ;===============MCM ANTICOLLISION OPERTION=============
        anticollision:
            RET
        ;--------------------------------------------------------------------
        ;====================MCM SELECT OPERATION=====================
        select:
            RET
        ;--------------------------------------------------------------------
        ;========================= AUTHENTICATION ========================
        authentication:

              RET
        ;--------------------------------------------------------------------
        ;========================= LOAD KEY =========================
        LOAD_KEY:

          RET
        ;--------------------------------------------------------------------
        ;====================MCM WRITE OPERATION=====================
        write:
            RET
        ;--------------------------------------------------------------------
        ;====================MCM read OPERATION=====================
        read:
            RET
        ;--------------------------------------------------------------------

        ;========================= HALT OPERATION==============================
        halt:
            MOV A,#10H
            MOV R0,#03H
            MOVX @R0,A       
            MOV A,#04H
            MOV R0,#04H
            MOVX @R0,A       
            MOV A,#50H
            MOV R0,#00H
            MOVX @R0,A       
            MOV A,#00H
            MOV R0,#00H
            MOVX @R0,A       
        ;------------------------- SET TOC()= 0AH --------------------------
            MOV A,#0AH
            MOV R0,#06H
            MOVX @R0,A        ;TOC() = 0AH
        ;--------------------------- READ STACON() -------------------------
        HALT_RD_STACON_AGAIN:
            MOV R0,#01H
            MOVX A,@R0       ;READ STACON()
        ;-------------------JUDGE DV FLAG ----------------------------------
            JNB ACC.7,HALT_RD_STACON_AGAIN
        ;------------------- CLOSE TOC() -----------------------------------
            MOV B,A
            MOV A,#00AH
            MOV R0,#06H
            MOVX @R0,A        ;TOC() = 00H
            MOV A,B
        ;-------------------------JUDG ANY ERRORS --------------------------
            JB ACC.6, HALT_OK_EXIT  ;TE=1 IS HALT OK FLAG
        ;-----------------------HAVE ANY ERRORS ----------------------------
            MOV B,#06H
            LJMP HALT_ERR_EXIT
        ;-------------------------- EXIT -----------------------------------
        HALT_OK_EXIT:
            MOV B,#66H ;“ok”disp_flag
            SETB P2.6        ;OK LAMP NOW WORKING P2.3
            ACALL SPK_ON      ;if ok then spk on
        HALT_ERR_EXIT:
            MOV A,B
            ACALL SEND_TO_BUF01   ;SEND RETURN_VALE TO DISP_BUF_LOW
            RET
        ;========================= End of MCM HALT OPERATION =======================

        ;-------------------- DISPLY READ BLOCK VALUE(16 BYTES) ---------------
        DISP_RD_BLK:
            MOV R0,#50H
            MOV R7,#04H
        DISP_RD_BLK_LOOP:
            MOV A,@R0
            LCALL H_SEND_TO_BUF23   ;SEND RETURN_VALE TO DISP_BUF_LOW
            INC R0
            MOV A,@R0
            LCALL H_SEND_TO_BUF01  ;SEND RETURN_VALE TO DISP_BUF_HIGH
            INC R0
            MOV A,@R0
            LCALL SEND_TO_BUF23  ;SEND RETURN_VALE TO H_DISP_BUF_LOW
            INC R0
            MOV A,@R0
            LCALL SEND_TO_BUF01   ;SEND RETURN_VALE TO H_DISP_BUF_HIGH
            INC R0
            LCALL DISPLAY
            LCALL H_DISPLAY
            LCALL D500MS
            LCALL D500MS
            DJNZ R7,DISP_RD_BLK_LOOP
          RET
        ;-------------CLEAR DISPLY_READ_BLOCK VALUE(16 BYTES) IN CPU RAM ----------
        CLEAR_DISP_RD_BLK_IN_CPU:
            MOV R0,#50H
            MOV R7,#10H
        CLEAR_DISP_RD_BLK_LOOP:
            MOV @R0,#11H       ;SEND #11H TO DISP_RD_BLK_IN_CPU
            INC R0
            DJNZ R7,CLEAR_DISP_RD_BLK_LOOP
          RET

        ;---------------------KB SCANNING ----------------------------
        KB_SCAN:
            MOV A,#11110000B
            mov p1,a        ;send line value:0000 <---P1.0~~P1.3
            CLR P2.0        ;enable KB scan function
            mov a,p1        ;if there is a key_pad pressing?
            orl a,#00001111b    ;if no keypressing, A should be = 1111 1111b
            cpl a
            jz KB_nothing      ;if A = 00h, then no key is pressed
            lcall kb_look_pad    ;if A <> 00h,then one key is pressed
            SETB P2.6
            LCALL SPK_ON
        KB_nothing:
            setb p2.0
            RET
        ;========================= KB LOOK ONE PAD ========================

        本文關(guān)鍵詞:關(guān)于非接觸式IC智能射頻卡及其讀寫設備內(nèi),于非接觸式IC智能射頻卡及其讀寫設備內(nèi)核,非接觸式IC智能射頻卡及其讀寫設備內(nèi)核技,接觸式IC智能射頻卡及其讀寫設備內(nèi)核技術(shù),觸式IC智能射頻卡及其讀寫設備內(nèi)核技術(shù)的,式IC智能射頻卡及其讀寫設備內(nèi)核技術(shù)的研,IC智能射頻卡及其讀寫設備內(nèi)核技術(shù)的研究,C智能射頻卡及其讀寫設備內(nèi)核技術(shù)的研究與,智能射頻卡及其讀寫設備內(nèi)核技術(shù)的研究與應,能射頻卡及其讀寫設備內(nèi)核技術(shù)的研究與應用,射頻卡及其讀寫設備內(nèi)核技術(shù)的研究與應用開,頻卡及其讀寫設備內(nèi)核技術(shù)的研究與應用開發(fā),卡
        回到頂部
        亚洲天堂国产视频,在线观看黄V免费网站免费,国产自无码视频在线观看手机,亚洲AV无码乱码国产精品9 亚洲96在线观看 免费三级片中文字幕无码
      • <bdo id="i0k2q"><xmp id="i0k2q">
          • <menu id="i0k2q"><em id="i0k2q"></em></menu>