📄 kg.lst
字号:
C51 COMPILER V7.02b KG 08/01/2008 14:46:13 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE KG
OBJECT MODULE PLACED IN KG.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE KG.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4
5 uchar c=0;
6 uchar t1=1,t2=1;
7 uint d3=10;
8
9 uchar code display[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
10
11 sbit K1 = P2^4;
12 sbit K2 = P2^5;
13 sbit K3 = P2^6;
14 sbit K4 = P2^7;
15
16 sbit P20 = P2^0;
17 sbit P21 = P2^1;
18 sbit P22 = P2^2;
19 sbit P23 = P2^3;
20
21 sbit BEEP = P1^0;
22 sbit P27 = P1^1;
23
24 sbit P12 = P1^2;
25 sbit P13 = P1^3;
26 sbit P14 = P1^4;
27 sbit P15 = P1^5;
28
29
30 void delayms(unsigned char ms)
31 {
32 1 unsigned char i;
33 1 while(ms--)
34 1 {
35 2 for(i = 0; i < 110; i++);
36 2 }
37 1 }
38
39
40 void delaymms()
41 {
42 1 unsigned char i;
43 1 for(i = 0; i < 55; i++);
44 1 }
45
46
47
48 /*********************************************************
49 主函数
50 *********************************************************/
51 main()
52 {
53 1 uchar x=0,i=0,d=0,j=0;
54 1 BEEP=0;
55 1 P27=0;
C51 COMPILER V7.02b KG 08/01/2008 14:46:13 PAGE 2
56 1 TMOD=0x01;
57 1 TH0=0xa6;
58 1 TL0=0x00;
59 1 EA=1;
60 1 ET0=1;
61 1
62 1 while(1)
63 1 {
64 2 if(K1==0)
65 2 {
66 3 delayms(20);
67 3 if(K1==0)
68 3 {
69 4 d=0;
70 4 x++;
71 4 if(x>3) x=0;
72 4 delayms(200);
73 4 }
74 3 }
75 2
76 2 if(x==1)
77 2 { P12=0;
78 3
79 3 P14=1;
80 3 if(K2==0)
81 3 {
82 4 delayms(20);
83 4 if(K2==0)
84 4 t1++;
85 4 delayms(100);
86 4 }
87 3
88 3 if(K3==0)
89 3 {
90 4 delayms(20);
91 4 if(K3==0)
92 4 t1--;
93 4 delayms(100);
94 4 }
95 3 P2=0xff ;
96 3 P23=1;
97 3 P0=display[1];
98 3 P20=0;
99 3 delayms(5);
100 3
101 3 P20=1;
102 3 P21=0;
103 3 P0=display[t1/100];
104 3 delayms(5);
105 3
106 3 P21=1;
107 3 P22=0;
108 3 P0=display[(t1%100)/10];
109 3 delayms(5);
110 3
111 3 P22=1;
112 3 P23=0;
113 3 P0=display[t1%10];
114 3 delayms(5);
115 3 }
116 2
117 2 if(x==2)
C51 COMPILER V7.02b KG 08/01/2008 14:46:13 PAGE 3
118 2 { P12=1;
119 3 P13=0;
120 3
121 3 if(K2==0)
122 3 {
123 4 delayms(20);
124 4 if(K2==0)
125 4 t2++;
126 4 delayms(100);
127 4 }
128 3
129 3 if(K3==0)
130 3 {
131 4 delayms(20);
132 4 if(K3==0)
133 4 t2--;
134 4 delayms(100);
135 4 }
136 3 P2=0xff ;
137 3 P23=1;
138 3 P0=display[2];
139 3 P20=0;
140 3 delayms(5);
141 3
142 3 P20=1;
143 3 P21=0;
144 3 P0=display[t2/100];
145 3 delayms(5);
146 3
147 3 P21=1;
148 3 P22=0;
149 3 P0=display[(t2%100)/10];
150 3 delayms(5);
151 3
152 3 P22=1;
153 3 P23=0;
154 3 P0=display[t2%10];
155 3 delayms(5);
156 3 }
157 2
158 2 if(x==3)
159 2 {
160 3 P13=1;
161 3 P14=0;
162 3 if(K2==0)
163 3 {
164 4 delayms(20);
165 4 if(K2==0)
166 4 d3++;
167 4 if(d3>9999)
168 4 d3=1;
169 4 delayms(100);
170 4 }
171 3
172 3 if(K3==0)
173 3 {
174 4 delayms(20);
175 4 if(K3==0)
176 4 d3--;
177 4 if(d3<1)
178 4 d3=9999;
179 4 delayms(100);
C51 COMPILER V7.02b KG 08/01/2008 14:46:13 PAGE 4
180 4 }
181 3 P2=0xff ;
182 3 P23=1;
183 3 P0=display[d3/1000];
184 3 P20=0;
185 3 delayms(5);
186 3
187 3 P20=1;
188 3 P21=0;
189 3 P0=display[d3%1000/100];
190 3 delayms(5);
191 3
192 3 P21=1;
193 3 P22=0;
194 3 P0=display[(d3%100)/10];
195 3 delayms(5);
196 3
197 3 P22=1;
198 3 P23=0;
199 3 P0=display[d3%10];
200 3 delayms(5);
201 3 }
202 2
203 2
204 2 if(K4==0)
205 2 {
206 3 delayms(20);
207 3 if(K4==0);
208 3 TR0=1;
209 3 d=1;
210 3 }
211 2 if(d==1)
212 2 {
213 3 P2=0xff ;
214 3 P23=1;
215 3 P0=display[d3/1000];
216 3 P20=0;
217 3 delayms(5);
218 3
219 3 P20=1;
220 3 P21=0;
221 3 P0=display[d3%1000/100];
222 3 delayms(5);
223 3
224 3 P21=1;
225 3 P22=0;
226 3 P0=display[(d3%100)/10];
227 3 delayms(5);
228 3
229 3 P22=1;
230 3 P23=0;
231 3 P0=display[d3%10];
232 3 delayms(5);
233 3 }
234 2
235 2 if(d3==0)
236 2 {
237 3 for(j=100;j>0;j--)
238 3 { for(i=200;i>0;i--)
239 4 {
240 5 BEEP=~BEEP; //输出频率1KHz
241 5 delaymms(); //延时500us
C51 COMPILER V7.02b KG 08/01/2008 14:46:13 PAGE 5
242 5 }
243 4
244 4 for(i=200;i>0;i--)
245 4 {
246 5 BEEP=~BEEP; //输出频率500Hz
247 5 delaymms(); //延时1ms
248 5 delaymms();
249 5 }
250 4 }
251 3 d3=9999;
252 3 }
253 2
254 2
255 2 }
256 1 }
257
258 void Time0(void) interrupt 1 using 0
259 {
260 1 TH0=0xa6; //25ms定时
261 1 TL0=0x00;
262 1 c++;
263 1
264 1 if(c/40==t1) P27=1;
265 1 if(c/40==(t1+t2))
266 1 {
267 2 c=0;
268 2 P27=0;
269 2 d3--;
270 2 }
271 1
272 1 if(d3==0)
273 1 TR0=0;
274 1
275 1
276 1
277 1 }
278
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 723 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 2
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 + -