📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 05/10/2007 17:54:59 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN D:\MYDOCU~1\333\TEXT1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\MYDOCU~1\333\TEXT1.C DB SB OE
line level source
1 #include <reg52.h>
2 #include <stdio.h>
3
4 unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
5
6 0x66,0x6d,0x7d,0x07,
7
8 0x7f,0x6f,0x77,0x7c,
9
10 0x39,0x5e,0x79,0x71,0x00};
11
12 unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
13
14 0xef,0xdf,0xbf,0x7f};
15
16 unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};
17
18 unsigned char dispbitcnt;
19
20
21
22 unsigned char second;
23
24 unsigned char minite;
25
26 unsigned char hour;
27
28 unsigned int tcnt;
29
30 unsigned char mstcnt;
31
32
33
34 unsigned char i,j;
35
36
37
38 void main(void)
39
40 {
41 1
42 1 TMOD=0x02;
43 1
44 1 TH0=0x06;
45 1
46 1 TL0=0x06;
47 1
48 1 TR0=1;
49 1
50 1 ET0=1;
51 1
52 1 EA=1;
53 1
54 1
55 1
C51 COMPILER V7.50 TEXT1 05/10/2007 17:54:59 PAGE 2
56 1 while(1)
57 1
58 1 {
59 2
60 2 if(P0==0XFE)
61 2
62 2 {
63 3
64 3 for(i=5;i>0;i--)
65 3
66 3 for(j=248;j>0;j--);
67 3
68 3 if(P0==0XFE)
69 3
70 3 {
71 4
72 4 second++;
73 4
74 4 if(second==60)
75 4
76 4 {
77 5
78 5 second=0;
79 5
80 5 }
81 4
82 4 dispbuf[0]=second%10;
83 4
84 4 dispbuf[1]=second/10;
85 4
86 4 while(P0==0XFE);
87 4
88 4 }
89 3
90 3 }
91 2
92 2 if(P0==0XFD)
93 2
94 2 {
95 3
96 3 for(i=5;i>0;i--)
97 3
98 3 for(j=248;j>0;j--);
99 3
100 3 if(P0==0XFD)
101 3
102 3 {
103 4
104 4 minite++;
105 4
106 4 if(minite==60)
107 4
108 4 {
109 5
110 5 minite=0;
111 5
112 5 }
113 4
114 4 dispbuf[3]=minite%10;
115 4
116 4 dispbuf[4]=minite/10;
117 4
C51 COMPILER V7.50 TEXT1 05/10/2007 17:54:59 PAGE 3
118 4 while(P0==0XFD);
119 4
120 4 }
121 3
122 3 }
123 2
124 2 if(P0==0XFB)
125 2
126 2 {
127 3
128 3 for(i=5;i>0;i--)
129 3
130 3 for(j=248;j>0;j--);
131 3
132 3 if(P0==0XFB)
133 3
134 3 {
135 4
136 4 hour++;
137 4
138 4 if(hour==24)
139 4
140 4 {
141 5
142 5 hour=0;
143 5
144 5 }
145 4
146 4 dispbuf[6]=hour%10;
147 4
148 4 dispbuf[7]=hour/10;
149 4
150 4 while(P0==0XFB);
151 4
152 4 }
153 3
154 3 }
155 2
156 2 }
157 1
158 1 }
159
160 void t0(void) interrupt 1 using 0
161
162 {
163 1
164 1 mstcnt++;
165 1
166 1 if(mstcnt==8)
167 1
168 1 {
169 2
170 2 mstcnt=0;
171 2
172 2 P1=dispcode[dispbuf[dispbitcnt]];
173 2
174 2 P3=dispbitcode[dispbitcnt];
175 2
176 2 dispbitcnt++;
177 2
178 2 if(dispbitcnt==8)
179 2
C51 COMPILER V7.50 TEXT1 05/10/2007 17:54:59 PAGE 4
180 2 {
181 3
182 3 dispbitcnt=0;
183 3
184 3 }
185 2
186 2 }
187 1
188 1 tcnt++;
189 1
190 1 if(tcnt==4000)
191 1
192 1 {
193 2
194 2 tcnt=0;
195 2
196 2 second++;
197 2
198 2 if(second==60)
199 2
200 2 {
201 3
202 3 second=0;
203 3
204 3 minite++;
205 3
206 3 if(minite==60)
207 3
208 3 {
209 4
210 4 minite=0;
211 4
212 4 hour++;
213 4
214 4 if(hour==24)
215 4
216 4 {
217 5
218 5 hour=0;
219 5
220 5 }
221 4
222 4 }
223 3
224 3 }
225 2
226 2 dispbuf[0]=second%10;
227 2
228 2 dispbuf[1]=second/10;
229 2
230 2 dispbuf[3]=minite%10;
231 2
232 2 dispbuf[4]=minite/10;
233 2
234 2 dispbuf[6]=hour%10;
235 2
236 2 dispbuf[7]=hour/10;
237 2
238 2 }
239 1
240 1 }
C51 COMPILER V7.50 TEXT1 05/10/2007 17:54:59 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
second . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
minite . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
dispbitcode. . . . . . . . . . . . . . PUBLIC DATA ARRAY 0002H 8
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
mstcnt . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
t0 . . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
tcnt . . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 000BH 2
dispbitcnt . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000DH 1
hour . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000EH 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
dispcode . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 17
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
i. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000FH 1
j. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0010H 1
dispbuf. . . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0011H 8
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 359 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 25 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -