📄 24c02a.lst
字号:
C51 COMPILER V7.20 24C02A 02/25/2006 16:39:28 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE 24C02A
OBJECT MODULE PLACED IN 24C02a.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 24C02a.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*-----------------------------------------------
2 24C02a Read/Write With LPT(Printer Port)
3 Page Size=8
4 Oscilator:12Mhz
5 ------------------------------------------------*/
6
7 #include <Virtual51.h>
8 #define uint unsigned int
9 #define uchar unsigned char
10
11 uchar bdata Msec,Sec,Min,Hour,Day,Week,Month,Year,Count=0,Flags=0;
12 uchar xdata Buf[0x4000];
13
14 sbit To_5ms=Flags^0;
15 sbit GF=Flags^1;
16 sbit AF=Flags^2;
17
18 #define PWR LPT_Pin16
19 #define SDI LPT_Pin15
20 #define SDO LPT_Pin01
21 #define SCL LPT_Pin14
22
23 uchar code pic[]=
24 {
25 0x00,0x00,0x00,0x00,0x10,0x08,0x08,0x88,0x70,0x00,0x00,0x00,0xC0,0x30,0xF8,0x00,
26 0x00,0x00,0xE0,0x10,0x08,0x08,0x08,0x10,0x20,0x00,0x00,0xF0,0x08,0x08,0x08,0xF0,
27 0x00,0x00,0x10,0x08,0x08,0x88,0x70,0x00,0x00,0x40,0x20,0x20,0x20,0xC0,0x00,0x00,
28 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
29 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
30 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
31 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
32 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
33 0x00,0x00,0x00,0x00,0x08,0x0C,0x0A,0x09,0x08,0x00,0x00,0x03,0x02,0x02,0x0F,0x02,
34 0x00,0x00,0x03,0x04,0x08,0x08,0x08,0x04,0x02,0x00,0x00,0x07,0x08,0x08,0x08,0x07,
35 0x00,0x00,0x08,0x0C,0x0A,0x09,0x08,0x00,0x00,0x06,0x09,0x09,0x05,0x0F,0x00,0x00,
36 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
37 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
38 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
39 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
40 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
41 0x00,0x00,0x00,0x00,0xC0,0xB8,0x84,0xB8,0xC0,0x00,0x00,0xE0,0x10,0x10,0x20,0x00,
42 0x00,0xE0,0x10,0x10,0x20,0x00,0x00,0xE0,0x90,0x90,0x90,0xE0,0x00,0x00,0x60,0x90,
43 0x90,0x90,0x20,0x00,0x00,0x60,0x90,0x90,0x90,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
44 0x00,0x1C,0xE0,0x00,0xC0,0x38,0x04,0x38,0xC0,0x00,0xF0,0x0C,0x00,0xF4,0x00,0x10,
45 0xFC,0x10,0x00,0xFC,0x20,0x10,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
46 0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x44,0x44,0x44,0x44,0x38,0x00,0x04,0x04,
47 0x04,0xFC,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
48 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
49 0x00,0x00,0x00,0x06,0x01,0x00,0x00,0x00,0x01,0x06,0x00,0x03,0x04,0x04,0x02,0x00,
50 0x00,0x03,0x04,0x04,0x02,0x00,0x00,0x03,0x04,0x04,0x04,0x02,0x00,0x00,0x02,0x04,
51 0x04,0x04,0x03,0x00,0x00,0x02,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
52 0x00,0x00,0x01,0x06,0x01,0x00,0x00,0x00,0x01,0x06,0x01,0x00,0x00,0x07,0x00,0x00,
53 0x07,0x04,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
54 0x07,0x04,0x04,0x04,0x04,0x04,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
55 0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.20 24C02A 02/25/2006 16:39:28 PAGE 2
56 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
57 0x00,0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x02,0x00,0x00,0x08,0x04,0xFE,0x00,0x00,
58 0x00,0x00,0x08,0x00,0x00,0xFE,0x22,0x22,0x22,0x62,0xA2,0x1C,0x00,0x00,0xF0,0x48,
59 0x48,0x48,0x70,0x00,0x00,0x90,0x48,0x48,0x48,0xF0,0x00,0x00,0xF0,0x08,0x08,0x10,
60 0xFE,0x00,0x00,0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x02,0x00,0x00,0x04,0x02,0x82,
61 0x62,0x1C,0x00,0x00,0x08,0x00,0x0E,0xF0,0x00,0xE0,0x1C,0x02,0x1C,0xE0,0x00,0xF8,
62 0x06,0x00,0xF8,0x10,0x08,0x00,0xFA,0x00,0x08,0xFE,0x08,0x00,0xF0,0x48,0x48,0x48,
63 0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
64 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
65 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,
66 0x00,0x00,0x02,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x01,0x02,
67 0x02,0x02,0x01,0x00,0x00,0x01,0x02,0x02,0x01,0x03,0x00,0x00,0x01,0x02,0x02,0x02,
68 0x03,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x02,
69 0x02,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
70 0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x02,0x00,0x01,0x02,0x02,0x02,
71 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
72 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
73 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
74 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
75 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
76 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
77 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
78 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
79 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
80 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
81 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
82 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
83 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
84 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
85 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
86 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
87 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
88 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
89 };
90
91 uchar code Hint[]=
92 {
93 //OK!
94 0x00,0x00,0x00,0x00,0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x08,0xF8,0x08,0x80,
95 0x60,0x18,0x08,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
96 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
97 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
98 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
99 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
100 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
101 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
102 0x00,0x00,0x00,0x00,0x03,0x04,0x08,0x08,0x08,0x04,0x03,0x00,0x08,0x0F,0x09,0x01,
103 0x02,0x0C,0x08,0x00,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
104 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
105 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
106 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
107 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
108 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
109 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
110 //Failed!
111 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0xF0,0x10,0x10,0x90,0x10,0x30,0x00,0x00,0x80,
112 0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x90,0x00,0x00,0x00,0x00,0x00,0x00,
113 0x10,0xF0,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,
114 0x80,0x80,0x90,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
115 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
116 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
117 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.20 24C02A 02/25/2006 16:39:28 PAGE 3
118 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
119 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1F,0x11,0x11,0x03,0x00,0x00,0x00,0x0C,0x12,
120 0x12,0x12,0x12,0x0F,0x10,0x00,0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x00,0x00,0x10,
121 0x10,0x1F,0x10,0x10,0x00,0x00,0x0F,0x12,0x12,0x12,0x12,0x12,0x0B,0x00,0x0F,0x10,
122 0x10,0x10,0x10,0x1F,0x10,0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x00,0x00,0x00,
123 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
124 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
125 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
126 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
127 //Reading...
128 0x00,0x00,0x00,0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0xC0,0xA0,0xA0,0xA0,0xA0,
129 0xC0,0x00,0x00,0x40,0xA0,0xA0,0xA0,0xA0,0xC0,0x00,0x00,0xC0,0x20,0x20,0x20,0x44,
130 0xFC,0x00,0x00,0x00,0x20,0x20,0xE8,0x00,0x00,0x00,0x00,0x20,0xE0,0x40,0x20,0x20,
131 0xC0,0x00,0x00,0xC0,0x20,0x20,0x20,0x40,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
132 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
133 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
134 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
135 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
136 0x00,0x00,0x00,0x04,0x07,0x04,0x00,0x01,0x02,0x04,0x00,0x03,0x04,0x04,0x04,0x04,
137 0x04,0x00,0x00,0x03,0x04,0x04,0x04,0x02,0x07,0x04,0x00,0x03,0x04,0x04,0x04,0x04,
138 0x07,0x04,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00,0x04,0x07,0x04,0x00,0x04,
139 0x07,0x04,0x00,0x03,0x24,0x24,0x24,0x22,0x1F,0x00,0x00,0x00,0x00,0x06,0x06,0x00,
140 0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,
141 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
142 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
143 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
144 //Writing...
145 0x00,0x00,0x00,0x00,0x00,0x08,0xF8,0x08,0x80,0x60,0x80,0x08,0xF8,0x00,0x20,0xE0,
146 0x40,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0xE8,0x00,0x00,0x00,0x00,0x20,0xF8,
147 0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0xE8,0x00,0x00,0x00,0x00,0x20,0xE0,
148 0x40,0x20,0x20,0xC0,0x00,0x00,0xC0,0x20,0x20,0x20,0x40,0xE0,0x20,0x00,0x00,0x00,
149 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
150 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
151 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
152 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
153 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x03,0x00,0x03,0x04,0x03,0x00,0x04,0x07,
154 0x04,0x04,0x04,0x00,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00,0x00,0x03,
155 0x04,0x04,0x04,0x02,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00,0x04,0x07,
156 0x04,0x00,0x04,0x07,0x04,0x00,0x03,0x24,0x24,0x24,0x22,0x1F,0x00,0x00,0x00,0x00,
157 0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
158 0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
159 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
160 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
161 };
162
163 void delay()
164 {
165 1 uchar n=0;
166 1 while (n<16) //延时 n*0.1 us
167 1 {
168 2 GF=SDI;//延时大约为 0.1-0.2 us,不能用NOP
169 2 n++;
170 2 }
171 1 }
172
173 void Start_I2c()
174 {
175 1 SDO=1;
176 1 SCL=1;
177 1 delay();
178 1 SDO=0;
179 1 delay();
C51 COMPILER V7.20 24C02A 02/25/2006 16:39:28 PAGE 4
180 1 SCL=0;
181 1 delay();
182 1 }
183
184 void Stop_I2c()
185 {
186 1 SDO=0;
187 1 SCL=1;
188 1 delay();
189 1 SDO=1;
190 1 delay();
191 1 SCL=0;
192 1 delay();
193 1 }
194
195 bit SendByte(uchar Dat)
196 {
197 1 uchar Cnt;
198 1
199 1 for(Cnt=0;Cnt<8;Cnt++)
200 1 {
201 2 if (Dat&0x80) SDO=1;
202 2 else SDO=0;
203 2 Dat<<=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -