?? 1.1.lst
字號:
C51 COMPILER V8.09 1_1 05/08/2008 17:47:56 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE 1_1
OBJECT MODULE PLACED IN 1.1.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 1.1.c BROWSE DEBUG OBJECTEXTEND
line level source
*** WARNING C500 IN LINE 1 OF 1.1.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))
1 #include<reg51.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 uint a,b,c,c1,d,x,y,xi,n,n0,
5 ke,ke0,kex,ke1,ke2,ke3,ke4,
6 ry,ry0,ry1,hf,hf0,hf1,hf2,
7 bian,ge,shi,bai,qian,q1,q2,
8 q3,q4,t,f,ke12,dian;
9 uchar code table[]={
10 0xa0,0xbb,0x62,0x2a,0x39,
11 0x2c,0x24,0xba,0x20,0x28};
12 void into()
13 {
14 1 TMOD=0x22;
15 1 EA=1;
16 1 ET0=1;
17 1 TR0=1;
18 1 TH0=56;
19 1 TL0=56;
20 1 a=0;
21 1 b=0;
22 1 c=0;
23 1 d=0;
24 1 q1=0xf7;
25 1 q2=0xfd;
26 1 q3=0xfb;
27 1 q4=0xfe;
28 1 f=0xff;
29 1 ke1=1;
30 1 ke2=0;
31 1 ke3=1;
32 1 ke4=1;
33 1 ry=280;
34 1 hf=1290;
35 1 xi=0;
36 1 n=2008;
37 1 }
38 void delay(uint b)
39 {
40 1 for(x=b;x>0;x--)
41 1 for(y=30;y>0;y--);
42 1 }
43 void display()
44 {
45 1 ge=xi%10;
46 1 P0=q1;
47 1 P2=table[ge];
48 1 delay(10);
49 1 shi=xi%100/10;
50 1 P0=q2;
51 1 P2=table[shi];
52 1 delay(10);
53 1 bai=xi/100%10;
54 1 P0=q3;
C51 COMPILER V8.09 1_1 05/08/2008 17:47:56 PAGE 2
55 1 P2=table[bai];
56 1 delay(10);
57 1 qian=xi/1000;
58 1 P0=q4;
59 1 P2=table[qian];
60 1 delay(10);
61 1 if (dian)
62 1 {
63 2 if (c%2)
64 2 {
65 3 P0=0xf5;
66 3 P2=0xdf;
67 3 }
68 2 else
69 2 P2=0xff;
70 2 }
71 1 dian=0;
72 1 }
73 void key()
74 {
75 1 ke=P0&0xf0;
76 1 if (ke==0xe0||ke==0xd0||ke==0xb0||ke==0x70)
77 1 {
78 2 delay(10);
79 2 if (ke==0xe0||ke==0xd0||ke==0xb0||ke==0x70)
80 2 {
81 3 kex=ke;
82 3 delay(500);
83 3 ke0=P0&0xf0;
84 3 }
85 2 }
86 1 switch(kex)
87 1 {
88 2 case 0xb0: if (ke!=ke0)ke1++;break;
89 2 case 0x70: if (ke!=ke0)ke2++;break;
90 2 case 0xd0: if (ke!=ke0)ke3++;break;
91 2 case 0xe0: if (ke!=ke0)ke4++;break;
92 2 }
93 1 kex=0;
94 1 if (ke1>4)
95 1 ke1=1;
96 1 // if (ke2>4)
97 1 ke2=0;
98 1 switch(ke1)
99 1 {
100 2 case 1:xi=c1;break;
101 2 case 2:xi=hf1,dian=1;break;
102 2 case 3:xi=ry1;break;
103 2 case 4:xi=n;break;
104 2 }
105 1 if (ke2>0)
106 1 {
107 2 switch(ke2)
108 2 {
109 3 case 1: if (c%2)t=f,f=q1,q1=t;
110 3 if (ke!=ke0&&ke==0xb0)ge++;
111 3 if (ke!=ke0&&ke==0x70)ge--;break;
112 3 case 2: if (c%2)t=f,f=q2,q2=t;
113 3 if (ke!=ke0&&ke==0xb0)shi++;
114 3 if (ke!=ke0&&ke==0x70)shi--;break;
115 3 case 3: if (c%2)t=f,f=q3,q3=t;
116 3 if (ke!=ke0&&ke==0xb0)bai++;
C51 COMPILER V8.09 1_1 05/08/2008 17:47:56 PAGE 3
117 3 if (ke!=ke0&&ke==0x70)bai--;break;
118 3 case 4: if (c%2)t=f,f=q4,q4=t;
119 3 if (ke!=ke0&&ke==0xb0)qian++;
120 3 if (ke!=ke0&&ke==0x70)qian--;break;
121 3 }
122 2 d=ge+shi*10+bai*100+qian*1000;
123 2 xi=d;
124 2 if (ke1!=0)
125 2 {
126 3 ke12=ke1+5;
127 3 switch(ke12)
128 3 {
129 4 case 7:hf0=d;break;
130 4 case 8:ry0=d;break;
131 4 case 9:n0=d;break;
132 4 }
133 3 ke12=ke1-5;
134 3 }
135 2 // if (ke1!=0&&P1^3==0xf7)
136 2 {
137 3 ke12=ke1+5;
138 3 switch(ke12)
139 3 {
140 4 case 6:c=d;break;
141 4 case 7:hf=d;break;
142 4 case 8:ry=d;break;
143 4 case 9:n=d;break;
144 4 }
145 3 ke12=ke1-5;
146 3 }
147 2 ke1=0;
148 2 }
149 1 }
150 void year()
151 {
152 1 //if(c==3600)
153 1 c=0;
154 1 if (!(c%60))
155 1 hf++;
156 1 switch(ry/30)
157 1 {
158 2 case 1: if (ry%60==32)ry=ry+28;break;
159 2 case 2: if (ry%60==30)ry=ry+30;break;
160 2 case 3: if (ry%60==32)ry=ry+28;break;
161 2 case 4: if (ry%60==31)ry=ry+29;break;
162 2 case 5: if (ry%60==32)ry=ry+28;break;
163 2 case 6: if (ry%60==31)ry=ry+29;break;
164 2 case 7: if (ry%60==32)ry=ry+28;break;
165 2 case 8: if (ry%60==32)ry=ry+28;break;
166 2 case 9: if (ry%60==31)ry=ry+29;break;
167 2 case 10: if (ry%60==32)ry=ry+28;break;
168 2 case 11: if (ry%60==31)ry=ry+29;break;
169 2 case 12: if (ry%60==32)ry=ry+28;break;
170 2 default : ;
171 2 }
172 1
173 1 if(hf==24*60)
174 1 {
175 2 ry++;
176 2 hf=0;
177 2 }
178 1 if (ry==365)
C51 COMPILER V8.09 1_1 05/08/2008 17:47:56 PAGE 4
179 1 n++;
180 1 }
181 void time()
182 {
183 1 if (n==n0&&ry1==ry0&&hf1==hf0)
184 1 {
185 2 P1=0xfe;
186 2 }
187 1 if (hf1!=hf0)
188 1 P1=0xff;
189 1 }
190 void transfrom ()
191 {
192 1 hf1=hf%10+hf%60/10*10+hf/60%10*100+hf/60/10*1000;
193 1 c1=c%10+c%60/10*10+c/60%10*100+c/60/10*1000;
194 1 ry1=ry%10+ry%60/10*10+ry/60%10*100+ry/60/10*1000;
195 1 }
196 void main()
197 {
198 1 into();
199 1 while(1)
200 1 {
201 2 year();
202 2 key();
203 2 transfrom ();
204 2 display();
205 2 time();
206 2 }
207 1 }
208 void exter0() interrupt 1
209 {
210 1 a++;
211 1 if(a==4608)
212 1 {
213 2 c++;
214 2 a=0;
215 2 }
216 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2035 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 74 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -