亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 4442.asm

?? ICcard.rar
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;IC卡讀寫實驗程序
;**************************************************************************
IC_CLK 		EQU     P3.3   ;IC卡時鐘口
IC_IO 		EQU     P3.4   ;IC卡數據口
IC_RST		EQU	P3.5   ;IC卡復位口
IC_RDY          EQU     P3.2   ;判斷IC卡是否插入
PIN_BEEPER  	EQU	P1.0	;無用
;---------------------------------------------------------------------------
IC_PWD	    	EQU	10H	;USED IN 4442 IC CARD
IC_PWD_LEN   	EQU	03H
COM_BUFF    	EQU	13H
COM_BUFF_LEN	EQU	03H
INPUT_DATA0 	EQU	16H
IC_RAM          EQU     30H

BYTE_COUNT	EQU	17H
COUNT1		EQU	18H
COUNT2	    	EQU	19H
COUNT0	    	EQU	1AH
ATR_BUFF    	EQU	20H
WAIT_COUNT      EQU     11H      ;顯示時暫存延時字
IC_VALUE    	EQU	0F000H		;00H~0FFH
IC_XRAM         EQU     0F010H
;----------------------------------------------------------------------------

       ORG 0000H
       AJMP MAIN

       ORG 0050H
MAIN:  MOV SP,#60H
       lcall disp11
       MOV WAIT_COUNT,#0FH
WAIT12:LCALL DL1MS
       DJNZ WAIT_COUNT,WAIT12
       MOV R0,#IC_PWD   ;IC卡密碼存放地址
       MOV R1,#3
       MOV DPTR,#TBL_PSC  ;數據存放地址
MAIN_LOOP1:
       CLR A
       MOVC A,@A+DPTR
       MOV @R0,A
       INC R0
       INC DPTR
       DJNZ R1,MAIN_LOOP1
       lcall pause		;delay 5us

       MOV DPTR,#TBL_WT
       MOV P2,#HIGH(IC_XRAM);MOV DPTR,#IC_XRAM
       MOV R0,#LOW(IC_XRAM)
       MOV R1,#8
MAIN_LOOP2:
       CLR A
       MOVC A,@A+DPTR
       MOVX @R0,A
       INC R0
       INC DPTR
       DJNZ R1,MAIN_LOOP2

       ;JB IC_RDY,ERR_NOIC    ;判斷IC卡是否插入(為高)
       ;lcall disp1
CHK_IC_PSW:
       LCALL	CARD_RESET;.................卡復位
       CJNE 	A,#00H,ERR_RST
       LCALL	CHK_IC_PWD;.................卡PSC校驗
       CJNE 	A,#00H,ERR_PWD
       MOV      R1,#30H
       MOV      COUNT0,#8
       MOV      DPTR,#IC_XRAM
       LCALL    WRITE_CARD;.................寫卡的MAIN MEMORY
       CJNE     A,#00H,ERR_WT
       MOV      R1,#30H
       MOV      BYTE_COUNT,#8
       LCALL    READ_CARD;...................讀卡MAIN MEMORY
       CJNE     A,#00H,ERR_RD
       AJMP     END_OK

;IC卡沒有插入子程序
ERR_NOIC:
       MOV A,#01H
       LCALL BEEP_N
       JMP $
ERR_RST:  	;IC卡復位失敗
       MOV B,A
       MOV A,#2
       LCALL BEEP_N
       JMP $
ERR_PWD:  ;密碼校驗失敗
       MOV B,A
       MOV A,#3
       LCALL BEEP_N
       JMP $
ERR_WT:   ;寫IC卡密碼失敗
       MOV B,A
       MOV A,#4
       LCALL BEEP_N
       JMP $
ERR_RD:   ;讀IC卡密碼失敗
       MOV B,A
       MOV A,#5
       LCALL BEEP_N
       JMP $
ERR_UP:
       MOV B,A
       MOV A,#6
       LCALL BEEP_N
       JMP $
END_OK:
       CLR PIN_BEEPER
       LCALL DISP1
       JMP $

;/////////////////////////////////////////////////////////////////////////////
;在進行4442卡的操作前進行該步驟.                                            //
;IC CARD ANSWER TO RESET                                                    //
;INPUT: NONE                           					    //
;OUTPUT: A        0:SUCCESS; FE:ANSWER BYTES WRONG; FF:LINE RESPONSE WRONG  //
;/////////////////////////////////////////////////////////////////////////////

CARD_RESET:
       SETB IC_IO
       LCALL PAUSE
       LCALL PAUSE
       LCALL PAUSE
       MOV R0,#ATR_BUFF           ;ATR 緩沖區
       MOV COUNT1,#4              ;4個字節
       CLR IC_RST                 ;INITIAL FIRST STATE
       lcall pause
       CLR IC_CLK
       LCALL PAUSE
       LCALL PAUSE
       SETB IC_RST                ;GENERATE RESET SIGN
       LCALL PAUSE
       SETB IC_CLK
       LCALL PAUSE
       CLR IC_CLK
       LCALL PAUSE
       CLR IC_RST
ATR_READ:
       MOV COUNT2,#8               ;READ ANSWER TO RESET
ATR_BYTE:
       LCALL PAUSE                 ;READ BYTES
       SETB IC_CLK
       LCALL PAUSE
       MOV C,IC_IO
       RRC A
       LCALL PAUSE
       CLR IC_CLK
       LCALL PAUSE
       DJNZ COUNT2,ATR_BYTE
       MOV @R0,A                   ;SAVE TO BUFFER
       INC R0
       DJNZ COUNT1,ATR_READ
       JB IC_IO,ATR_LINK           ;CHECK SDA
       MOV A,#0FFH                 ;IF LINE WRONG,RETURN FF
       SETB EA
       RET
ATR_LINK:
       MOV R0,#ATR_BUFF            ;CHECK ATR
       CJNE @R0,#0A2H,ATR_WRONG
       INC R0
       CJNE @R0,#13H,ATR_WRONG
       INC R0
       CJNE @R0,#10H,ATR_WRONG
       INC R0
       CJNE @R0,#91H,ATR_WRONG     ;IF ALL OK,RETURN 0
       MOV A,#00H
       SETB EA
       RET
ATR_WRONG:
       MOV A,#0FEH 	           ;IF ATR WRONG,RETURN FE
       SETB EA
       RET

;/////////////////////////////////////////////////////////////////
;向4442卡發送命令.						//
;IC CARD SEND COMMAND               				//
;INPUT: COM_BUFF[3]=Control+Address+Data     			//
;OUTPUT: NONE							//
;/////////////////////////////////////////////////////////////////
CARD_COM_MODE:
       MOV R0,#COM_BUFF            ;命令緩沖區
       MOV COUNT1,#3               ;3字節
       LCALL PAUSE                 ;延時
       SETB IC_CLK                 ;
       LCALL PAUSE
       CLR IC_IO                   ;
       MOV A,@R0
COM_WRITE:                         ;寫卡
       MOV COUNT2,#8               ;寫命令
COM_WR_BYTE:
       LCALL PAUSE                 ;寫字節
       CLR IC_CLK
       LCALL PAUSE
       RRC A
       MOV IC_IO,C
       LCALL PAUSE
       SETB IC_CLK
       LCALL PAUSE
       DJNZ COUNT2,COM_WR_BYTE
       INC R0                      ;GET FROM BUFFER
       MOV A,@R0
       DJNZ COUNT1,COM_WRITE
       LCALL PAUSE                 ;ALL WRITEN
       CLR IC_CLK
       LCALL PAUSE
       CLR IC_IO
       LCALL PAUSE
       SETB IC_CLK                 ;GENERATE STOP SIGN
       LCALL PAUSE
       SETB IC_IO
       RET                         ;RETURN

;/////////////////////////////////////////////////////////////////
;從4442卡讀入BYTE_COUNT個字節.(在CARD_COM_MODE后使用)		//
;IC OUTGOING MODE						//
;INPUT: BYTE_COUNT= BYTE NUMBER TO READ				//
;OUTPUT: A,@IC_VALUE A=0:SUCCESS;  FF:LINE RESPONSE WRONG	//
;/////////////////////////////////////////////////////////////////
CARD_OUT_MODE:
       ;MOV   DPTR,#IC_VALUE               ;CARD BUFFER
       MOV R0,#38H
READ_OUT:
       MOV   COUNT2,#8                    ;READ BYTE
READ_BYTE:
       LCALL PAUSE
       CLR   IC_CLK
       LCALL PAUSE
       LCALL PAUSE
       SETB  IC_CLK
       LCALL PAUSE
       MOV   C,IC_IO
       RRC   A
       DJNZ  COUNT2,READ_BYTE
       ;MOVX  @DPTR,A                     ;SAVE TO BUFFER
       ;INC   DPTR
       MOV @R0,A
       INC R0
       DJNZ  BYTE_COUNT,READ_OUT
       LCALL PAUSE
       CLR   IC_CLK                ;ALL READ
       LCALL PAUSE
       JB    IC_IO,RD_OUT_OK       ;CHECK SDA LINE
RD_OUT_WG:
       MOV A,#0FFH                 ;IF LINE WRONG,RETURN FF
       RET
RD_OUT_OK:
       MOV A,#0                    ;IF LINE OK,RETURN 0
       RET

;/////////////////////////////////////////////////////////////////
;等待4442卡處理完畢.(在CARD_COM_MODE后使用)						//
;IC PROCESSING MODE												//
;INPUT: NONE													//
;OUTPUT: A        0:SUCCESS;  FF:LINE RESPONSE WRONG			//
;/////////////////////////////////////////////////////////////////

CARD_PRO_MODE:
       MOV COUNT2,#0          ;256 BYTES
       LCALL PAUSE
       CLR IC_CLK
       LCALL PAUSE
       JB IC_IO,WR_IN_WG      ;CHECK SDA
WR_IN_CON:
       LCALL PAUSE            ;WAIT SDA TO HIGH,MOST 256 PULSES
       SETB IC_CLK
       LCALL PAUSE
       LCALL PAUSE
       CLR IC_CLK
       LCALL PAUSE
       JB IC_IO,WR_IN_OK
       DJNZ COUNT2,WR_IN_CON
WR_IN_WG:
       MOV A,#0FFH               ;IF DEAD LINE,RETURN FF
       RET
WR_IN_OK:
       MOV A,#0                  ;IF OK,RETURN 0
       RET

;///////////////////////////////////////////
;4442卡讀主存儲空間;			  //
;READ 00-FF BYTES FROM CARD 		  //
;INPUT: R1:Address in card,BYTE_COUNT     //
;OUTPUT: A=0FFH: WRONG                    //
;        A= 0: OK			  //
;        @IC_VALUE			  //
;///////////////////////////////////////////
READ_CARD:
	SETB	IC_IO
	LCALL	PAUSE
	MOV     R0,#COM_BUFF        ;ALL OK,READ 256 BYTES IN
	MOV     @R0,#30H
	INC     R0
	MOV 	A,R1
	MOV     @R0,A
	INC     R0
	MOV     @R0,#0FFH
	LCALL   CARD_COM_MODE
	LCALL   CARD_OUT_MODE
	RET

;///////////////////////////////////////////
;4442卡寫主存儲空間;			  //
;INPUT: DPTR=FIRST ADDR TO WRITE IN RAM	  //
;       R1=FIRST ADDR IN CARD     	  //
;       COUNT0=NUMBER OF BYTES		  //
;OUTPUT: A=0FFH: WRONG			  //
;        A= 0: OK  			  //
;///////////////////////////////////////////
WRITE_CARD:
       SETB 	IC_IO
       MOV  	R2,#00

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费av网站| 欧美成人免费网站| 亚洲欧美日本韩国| 欧美精品自拍偷拍动漫精品| 国产在线精品不卡| 亚洲国产美女搞黄色| 久久奇米777| 欧美日韩二区三区| 国产成a人无v码亚洲福利| 午夜欧美视频在线观看| 国产精品少妇自拍| 日韩欧美亚洲国产另类| 91久久精品午夜一区二区| 国产精选一区二区三区| 偷拍与自拍一区| 日韩电影免费在线看| 亚洲一区二区影院| 国产精品久久久久一区二区三区| 91精品国产黑色紧身裤美女| 99久久免费精品| 国产麻豆成人精品| av中文字幕亚洲| 国产精品亚洲专一区二区三区| 国产精品18久久久久久久久久久久| 国产激情一区二区三区| 美女一区二区久久| 午夜久久久久久久久| 久草在线在线精品观看| 亚洲国产成人高清精品| 蜜桃视频一区二区| 成人免费视频caoporn| 99国产精品久久久| 91精品国产aⅴ一区二区| 精品免费国产二区三区| 亚洲码国产岛国毛片在线| 日本成人超碰在线观看| 国产ts人妖一区二区| 欧美亚洲综合色| 色系网站成人免费| 一本久久a久久免费精品不卡| 欧美日韩不卡一区二区| 久久久精品国产免费观看同学| 中文字幕亚洲欧美在线不卡| 亚洲欧洲韩国日本视频| 日韩一区精品视频| 久久99最新地址| 国产呦精品一区二区三区网站| 丁香婷婷综合色啪| 欧美一级日韩免费不卡| 亚洲欧美国产三级| 国产精品小仙女| 欧美一区在线视频| 亚洲一区中文在线| 91亚洲国产成人精品一区二三| 波多野结衣的一区二区三区| 日韩三级中文字幕| 2019国产精品| 久久久国产精华| 秋霞午夜鲁丝一区二区老狼| 久久精品噜噜噜成人88aⅴ| 色婷婷狠狠综合| 国产午夜亚洲精品不卡| 亚洲欧洲综合另类在线| 成人一区在线看| 久久精品夜色噜噜亚洲a∨| 蜜桃久久av一区| 88在线观看91蜜桃国自产| 精品电影一区二区三区| 中文字幕久久午夜不卡| 午夜欧美电影在线观看| 欧美视频精品在线| 一区二区三区四区激情| 日韩国产精品大片| 欧美精品v日韩精品v韩国精品v| 亚洲激情五月婷婷| 青青草成人在线观看| 欧美综合一区二区| 国产网站一区二区| 国产黄色成人av| 欧美国产激情一区二区三区蜜月| 国产麻豆日韩欧美久久| 日韩精品一区国产麻豆| 久久精品国产在热久久| 日韩美女一区二区三区| 美日韩一级片在线观看| 久久婷婷色综合| 国产91在线看| 亚洲另类一区二区| 欧美日韩国产123区| 婷婷久久综合九色综合绿巨人| 欧美在线一区二区三区| 午夜成人在线视频| 久久久久国产精品免费免费搜索| 不卡一二三区首页| 久久一区二区三区国产精品| 成人性生交大合| 亚洲美女免费在线| 欧美一二三在线| 国产一区在线精品| 中文字幕人成不卡一区| 欧美丰满少妇xxxxx高潮对白| 麻豆成人久久精品二区三区红| 久久免费电影网| 91九色最新地址| 精品亚洲欧美一区| 国产精品沙发午睡系列990531| 欧美午夜不卡视频| 国产美女在线观看一区| 亚洲一区二区三区精品在线| 精品乱人伦一区二区三区| av电影在线观看一区| 琪琪一区二区三区| 国产精品国产三级国产| 欧美一级日韩免费不卡| av在线不卡网| 国模娜娜一区二区三区| 国产亚洲精品精华液| 欧美日韩国产色站一区二区三区| 国产一区二区成人久久免费影院 | 午夜不卡av免费| 国产欧美一二三区| 国产成人精品三级| 亚洲高清在线精品| 国产精品乱人伦| 日韩欧美色综合| 色婷婷综合在线| 成人高清视频在线观看| 麻豆精品视频在线观看视频| 亚洲精品国产高清久久伦理二区| 精品成人一区二区三区四区| 欧美日韩激情一区二区| 99精品欧美一区二区蜜桃免费| 精品一区二区在线免费观看| 亚洲国产日韩综合久久精品| 国产精品嫩草影院com| 精品久久国产字幕高潮| 91精品国产综合久久香蕉的特点 | 日韩一区精品字幕| 亚洲欧美一区二区三区孕妇| 中文字幕第一页久久| 久久久国产精品午夜一区ai换脸| 555夜色666亚洲国产免| 欧美日韩在线播放三区| 天天综合网 天天综合色| 亚洲色图在线看| 欧美一区二区三区日韩| 欧美视频在线不卡| 色婷婷国产精品综合在线观看| 成人动漫在线一区| 国产成人免费视频精品含羞草妖精| 色猫猫国产区一区二在线视频| 久久国产精品一区二区| 国产一区二区导航在线播放| 久久成人久久爱| 日本中文一区二区三区| 视频一区视频二区中文字幕| 天天爽夜夜爽夜夜爽精品视频| 一区二区三区波多野结衣在线观看| 亚洲视频综合在线| |精品福利一区二区三区| 亚洲视频一区在线| 一级日本不卡的影视| 亚洲精品va在线观看| 香蕉成人啪国产精品视频综合网| 日韩亚洲欧美在线观看| 91精品在线免费观看| 欧美xingq一区二区| 亚洲精品一区二区三区在线观看| 国产亚洲人成网站| 亚洲欧洲在线观看av| 亚洲综合区在线| 久久精品国产999大香线蕉| 国产成人精品免费在线| 一本大道综合伊人精品热热| 欧美乱妇一区二区三区不卡视频| 日韩视频123| 国产精品久久久久桃色tv| 亚洲图片欧美色图| 极品尤物av久久免费看| 99精品国产91久久久久久 | 欧美国产日韩一二三区| 1000部国产精品成人观看| 亚瑟在线精品视频| 国产精品一品二品| 欧美三级日本三级少妇99| 精品久久久久香蕉网| 亚洲婷婷综合久久一本伊一区| 亚洲成人综合视频| 国产精品一区二区久久不卡 | 成人高清在线视频| 欧美日韩国产综合久久| 国产欧美日韩另类一区| 亚洲午夜精品网| 国产高清久久久| 欧美日韩久久久一区| 国产亚洲精品久| 日本中文字幕不卡| 91久久精品一区二区三区| 久久综合一区二区| 丝袜美腿亚洲一区二区图片|