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

📄 untitled document.htm

📁 内附IC读卡器设计方案,该设计使用89C52和MCM200,里面有详细的设计过程及程序代码,相信有一定IC卡经验
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0065)http://www.flyring.com.cn/chinese/UploadFiles/200442161315429.htm -->
<HTML><HEAD><TITLE>Untitled Document</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY background="" bgColor=#ffffff text=#000000>
<DIV align=center>
<P><FONT color=#0000ff><B>关于非接触式IC智能(射频)卡及其读写设备内核技术的研究与应用开发(连载11) <BR><BR>作者: 
上海华东磁记录电子公司 张敏 <BR></B></FONT></P>
<TABLE border=1 borderColor=#ff9900 width="80%">
  <TBODY>
  <TR>
    <TD align=left height=3858 vAlign=top>
      <P><BR>;---------------------SEND THE 1st line 0 
      -----------------------<BR>kb_look_pad:<BR>    ;ACALL 
      INIT_DISP_BUF<BR>    MOV R7,#20H<BR>    LCALL D500US</P>
      <P>    MOV A,#11111110B<BR>    ;CLR P1.0        ;SEND THE 1st line 
      0<BR>    mov p1,a<BR>    CLR P2.0        ;enable kb func.</P>
      <P>    setb c         ;set : c=1<BR>    mov c,p1.4       ;if 1 pressed, 
      then p1.4=0,then c=0<BR>    jnc kb_1_find<BR>    mov c,p1.5       ;if 2 
      pressed, then p1.5=0,then c=0<BR>    jnc kb_2_find<BR>    mov 
      c,p1.6       ;if 3 pressed, then p1.6=0,then c=0<BR>    jnc 
      kb_3_find<BR>    mov c,p1.7       ;if 2nd pressed, then p1.7=0,then 
      c=0<BR>    jnc kb_2nd_find</P>
      <P>    clr c<BR>;---------------------SEND THE 2nd line 0 
      -----------------------<BR>    MOV A,#11111101B<BR>    ;CLR 
      P1.1        ;SEND THE 2nd line 0<BR>    mov p1,a<BR>    CLR 
      P2.0        ;enable kb func.</P>
      <P>    setb c         ;set : c=1<BR>    mov c,p1.4       ;if 4 pressed, 
      then p1.4=0,then c=0<BR>    jnc kb_4_find<BR>    mov c,p1.5       ;if 5 
      pressed, then p1.5=0,then c=0<BR>    jnc kb_5_find      <BR>    mov 
      c,p1.6       ;if 6 pressed, then p1.6=0,then c=0<BR>    jnc 
      kb_6_find      <BR>    mov c,p1.7       ;if READ pressed, then p1.7=0,then 
      c=0<BR>    jnc kb_read_find</P>
      <P>    clr c<BR><BR>;---------------------SEND THE 4th line 0 
      -----------------------<BR>    MOV A,#11110111B<BR>    ;CLR 
      P1.0        ;SEND THE 4th line 0<BR>    mov p1,a<BR>    CLR 
      P2.0        ;enable kb func.</P>
      <P>    setb c         ;set : c=1<BR>    mov c,p1.4       ;if . pressed, 
      then p1.4=0,then c=0<BR>    jnc kb_dot_find<BR>    mov c,p1.5       ;if 0 
      pressed, then p1.5=0,then c=0<BR>    jnc kb_0_find<BR>    mov 
      c,p1.6       ;if REQUEST pressed, then p1.6=0,then c=0<BR>    jnc 
      kb_request_find<BR>    mov c,p1.7       ;if EXEC pressed, then p1.7=0,then 
      c=0<BR>    jnc kb_exec_find</P>
      <P>    clr c<BR>   <BR>     
      RET<BR>;----------------------------------------------------------------<BR>kb_dot_find:ljmp 
      kb_dot_find_1 ;relay for instr.”jnc”<BR>kb_0_find: ljmp 
      kb_0_find_1<BR>kb_request_find:ljmp kb_request_find_1<BR>kb_exec_find: 
      ljmp kb_exec_find_1<BR>kb_2nd_find:ljmp kb_2nd_find_1<BR>kb_read_find:ljmp 
      kb_read_find_1<BR>kb_write_find:ljmp kb_write_find_1</P>
      <P>kb_1_find:ljmp kb_1_find_1<BR>kb_2_find:ljmp 
      kb_2_find_1<BR>kb_3_find:ljmp kb_3_find_1<BR>kb_4_find:ljmp 
      kb_4_find_1<BR>kb_5_find:ljmp kb_5_find_1<BR>kb_6_find:ljmp 
      kb_6_find_1<BR>kb_7_find:ljmp kb_7_find_1<BR>kb_8_find:ljmp 
      kb_8_find_1<BR>kb_9_find:ljmp kb_9_find_1<BR>;------------------------- 
      kb_x_find, process--------------------<BR>kb_1_find_1:<BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 
      3AH,#01H<BR>    ret<BR>;--------------------------------<BR>kb_2_find_1:     
      <BR>    LCALL DISP_BUF_right_MOVE<BR>    MOV 3AH,#02h<BR>    ret 
      <BR>;--------------------------------<BR>kb_3_find_1:     <BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 3AH,#03h<BR>    ret 
      <BR>;--------------------------------<BR>kb_2nd_find_1:      ;clear the 
      current 8_LED display_value with “00”<BR>    LCALL 
      INIT_DISP_BUF<BR>    ;ACALL DISPLAY<BR>    ;ACALL H_DISPLAY<BR>    ;LCALL 
      DISP_BUF_right_MOVE<BR>    ;MOV 3AH,#0ah<BR>    ret 
      <BR>;--------------------------------<BR>kb_4_find_1:<BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 3AH,#04h<BR>    ret 
      <BR>;--------------------------------<BR>kb_5_find_1:     <BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 3AH,#05h<BR>    ret 
      <BR>;--------------------------------<BR>kb_6_find_1:     <BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 
      3AH,#06h<BR>    ret<BR>;--------------------------------<BR>kb_7_find_1:<BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 3AH,#07h<BR>    ret 
      <BR>;--------------------------------<BR>kb_8_find_1:     <BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 3AH,#08h<BR>    ret 
      <BR>;--------------------------------<BR>kb_9_find_1:     <BR>    LCALL 
      DISP_BUF_right_MOVE<BR>    MOV 3AH,#09h<BR>    ret 
      <BR>;--------------------------------<BR>kb_0_find_1:     <BR>     LCALL 
      DISP_BUF_right_MOVE<BR>     MOV 
      3AH,#00h<BR>    ret<BR>;--------------------------------<BR>kb_write_find_1:     <BR>    ret 
      <BR>;--------------------------------<BR>kb_dot_find_1:<BR>    MOV 
      3AH,#03h<BR>    mov 39h,#01h<BR>    ret 
      <BR>;--------------------------------<BR>kb_request_find_1:     <BR>    MOV 
      3AH,#05h<BR>    mov 39h,#01h<BR>    ret 
      <BR>;--------------------------------<BR>kb_exec_find_1:     <BR>    MOV 
      3AH,#06h<BR>    mov 39h,#01h<BR>    ljmp kb_all_exit<BR>    ret 
      <BR>;--------------------------------<BR>kb_read_find_1:     <BR>    MOV 
      a,39H<BR>    ANL A,#00001111B<BR>    SWAP A<BR>    MOV R1,A<BR>    mov 
      A,3Ah<BR>    ANL A,#00001111B<BR>    ADD A,R1</P>
      <P>;------------ NOW COMPARE THE EXACT BLOCK NUMBER 
      ------------<BR>;----------------- the 00h sector 
      --------------------<BR>COMPARE_00:<BR>         CJNE 
      A,#00H,COMPARE_01<BR>         lcall 
      sector_00_common<BR>          <BR>         MOV 78h,#00h          ;READ'S 
      Sect. NO.<BR>         lcall 
      read_x_block<BR>         ljmp read_x_block_exit</P>
      <P>COMPARE_01:<BR>        CJNE A,#01H,COMPARE_02<BR>         lcall 
      sector_00_common</P>
      <P>         MOV 78h,#01h          ;READ'S Sect. NO.<BR>         lcall 
      read_x_block<BR>         ljmp read_x_block_exit</P>
      <P>COMPARE_02:<BR>        CJNE A,#02H,COMPARE_03<BR>         lcall 
      sector_00_common<BR>         <BR>         MOV 78h,#02h          ;READ'S 
      Sect. NO.<BR>         lcall 
      read_x_block<BR>         ljmp read_x_block_exit</P>
      <P>COMPARE_03:    CJNE A,#03H,COMPARE_04<BR>         lcall 
      sector_00_common</P>
      <P>         MOV 78h,#03h          ;READ'S Sect. NO.<BR>         lcall 
      read_x_block<BR>         ljmp read_x_block_exit</P>
      <P>(待续)</P>
      <P><BR><BR><BR>来源: 《金卡工程》2000.12 <BR><BR></P>
      <P><BR><BR></P>
      <P align=right></P>
      <P align=right></P>
      <P align=right></P>
      <P align=right><A href="file:///E|/index/index.htm">返回首页</A> 
  </P></TD></TR></TBODY></TABLE><B></B></DIV></BODY></HTML>

⌨️ 快捷键说明

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