sle4442.lst
来自「mifarea卡程序mifarea卡程序mifarea卡程序」· LST 代码 · 共 130 行
LST
130 行
C51 COMPILER V8.00 SLE4442 04/23/2009 15:56:18 PAGE 1
C51 COMPILER V8.00, COMPILATION OF MODULE SLE4442
OBJECT MODULE PLACED IN .\out_sst89e564\sle4442.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\sle4442.c LARGE BROWSE ORDER NOAREGS DEBUG OBJECTEXTEND PRINT(.\sle4
-442.lst) OBJECT(.\out_sst89e564\sle4442.obj)
line level source
1 /****************************************
2 * sle4442.c *
3 * functions for sle4442 card *
4 * designed by liulixun *
5 * last update: 05-18-2007 *
6 ****************************************/
7
8 #include "..\inc\includes.h"
9
10 // read main memory
11 int Sle4442ReadMainMem(unsigned char address, unsigned char *buf)
12 {
13 1 unsigned int i;
14 1
15 1 // send command and address
16 1 Sle4442Command(0x30, address, 0x00);
17 1 // read data
18 1 for(i=0; i<256-address; i++)
19 1 {
20 2 buf[i] = IccSyncGetChar();
21 2 }
22 1 // send another clock puls
23 1 IccSyncClock();
24 1
25 1 return i;
26 1 }
27
28 // update main memory
29 void Sle4442WriteMainMem(unsigned char address, unsigned char val)
30 {
31 1 // send command
32 1 Sle4442Command(0x38, address, val);
33 1 // polling io
34 1 IccSyncPollingIO(50);
35 1 }
36
37 // read 4 bytes protect memory
38 void Sle4442ReadProtectMem(unsigned char *buf)
39 {
40 1 unsigned char ci;
41 1
42 1 // send command
43 1 Sle4442Command(0x34, 0x00, 0x00);
44 1 // read data
45 1 for(ci=0; ci<4; ci++)
46 1 {
47 2 buf[ci] = IccSyncGetChar();
48 2 }
49 1 // send another clock puls
50 1 IccSyncClock();
51 1 }
52
53 // write protect memory
54 void Sle4442WriteProtectMem(unsigned char address, unsigned char val)
C51 COMPILER V8.00 SLE4442 04/23/2009 15:56:18 PAGE 2
55 {
56 1 // send command
57 1 Sle4442Command(0x3c, address, val);
58 1 // polling io
59 1 IccSyncPollingIO(50);
60 1 }
61
62 // read 4 bytes
63 void Sle4442ReadSecurityMem(unsigned char *buf)
64 {
65 1 unsigned char ci;
66 1
67 1 // send command
68 1 Sle4442Command(0x31, 0x00, 0x00);
69 1 // read data
70 1 for(ci=0; ci<4; ci++)
71 1 {
72 2 buf[ci] = IccSyncGetChar();
73 2 }
74 1 // send another clock puls
75 1 IccSyncClock();
76 1 }
77
78 // update
79 void Sle4442WriteSecurityMem(unsigned char address, unsigned char val)
80 {
81 1 // send command
82 1 Sle4442Command(0x39, address, val);
83 1 // polling io
84 1 IccSyncPollingIO(50);
85 1 }
86
87 // verify
88 void Sle4442Verify(unsigned char address, unsigned char val)
89 {
90 1 // send command
91 1 Sle4442Command(0x33, address, val);
92 1 // polling io
93 1 IccSyncPollingIO(50);
94 1 }
95
96 void Sle4442Command(unsigned char cmd, unsigned char addr, unsigned char da)
97 {
98 1 IccSyncStart();
99 1 IccSyncPutChar(cmd);
100 1 IccSyncPutChar(addr);
101 1 IccSyncPutChar(da);
102 1 IccSyncStop();
103 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 378 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 17
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?