📄 new_zong.lst
字号:
217 5 switch( scan)
218 5 {
219 6 case 0xe0: key_all= 1;break;
220 6 case 0xd0: key_all= 2;break;
221 6 case 0xb0: key_all= 3;break;
222 6 case 0x70: key_all= 4;break;
223 6 }
224 5 while((P2&0xf0)!=0xf0);
225 5
226 5 }
227 4 return ;
228 4 }
229 3
230 3 P2=0xfd; // 发全0扫描码
231 3
232 3 if((P2&0xf0)!=0xf0) //若有键盘按下
233 3 {
234 4 delay();
235 4 if((P2&0xf0)!=0xf0) //若有键盘按下
236 4 {
237 5 scan=P2&0xf0;
238 5 switch( scan)
239 5 {
240 6 case 0xe0: key_all= 5;break;
241 6 case 0xd0: key_all= 6;break;
242 6 case 0xb0: key_all= 7;break;
243 6 case 0x70: key_all= 8;break;
244 6 }
245 5 while(( P2&0xf0)!=0xf0);
246 5
247 5
248 5 }
249 4 return ;
250 4 }
251 3 P2=0xfb; // 发全0扫描码
252 3
253 3 if((P2&0xf0)!=0xf0) //若有键盘按下
254 3 {
255 4 delay();
256 4 if((P2&0xf0)!=0xf0) //若有键盘按下
257 4 {
258 5 scan=P2&0xf0;
259 5 switch( scan)
260 5 {
261 6 case 0xe0: key_all= 9;break;
262 6 case 0xd0: key_all= 10;break;
263 6 case 0xb0: key_all= 11;break;
264 6 case 0x70: key_all= 12;break;
265 6 }
266 5 while(( P2&0xf0)!=0xf0);
267 5
268 5 }
269 4 return;
270 4 }
271 3 P2=0xf7; // 发全0扫描码
272 3
273 3 if((P2&0xf0)!=0xf0) //若有键盘按下
274 3 {
275 4 delay();
276 4 if((P2&0xf0)!=0xf0) //若有键盘按下
277 4 {
278 5 scan=P2&0xf0;
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 6
279 5 switch( scan)
280 5 {
281 6 case 0xe0: key_all= 13;break;
282 6 case 0xd0: key_all= 14;break;
283 6 case 0xb0: key_all= 15;break;
284 6 case 0x70: key_all= 16;break;
285 6 }
286 5 while(( P2&0xf0)!=0xf0);
287 5
288 5 }
289 4 return;
290 4 }
291 3 }
292 2 }
293 1 }
*** WARNING C280 IN LINE 197 OF NEW_ZONG.C: 'tep': unreferenced local variable
294
295 void send(uchar add,uchar dat)
296 {
297 1 uchar ADS,i,j;
298 1 CLP=0;
299 1 LOAD=0;
300 1 DIN=0;
301 1 i=4;
302 1 while(i<16)
303 1 {
304 2 if(i<8)
305 2 {
306 3 ADS=add;
307 3 }
308 2 else
309 2 {
310 3 ADS=dat;
311 3 }
312 2 for(j=8;j>=1;j--)
313 2 {
314 3
315 3 if((ADS&0x80)==0)
316 3 { DIN=0 ;}
317 3 else
318 3 { DIN=1;}
319 3 ADS=ADS<<1;
320 3
321 3 CLP=1;
322 3 CLP=0;
323 3 }
324 2 i=i+8;
325 2 }
326 1 LOAD=1;
327 1 }
328
329 void s_seg(uchar *p)
330 {
331 1 send(0x0c,0x01);//正常状态
332 1 send(0x0b,0x07);//设置扫描范围DIG0-7
333 1 send(0x0a,0x05);//设置亮度11/32
334 1 send(0x09,0xff);//采用译码方式
335 1
336 1 send(0x01,p[8]);
337 1 send(0x02,p[7]);
338 1 send(0x03,p[6]);
339 1 send(0x04,p[5]);
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 7
340 1 send(0x05,p[4]);
341 1 send(0x06,p[3]);
342 1 send(0x07,p[2]);
343 1 send(0x08,p[1]);
344 1 }
345
346
347
348
349
350 /*void zhengzhuan(int step)
351 {
352 int i; unsigned char pos;
353
354 for (i=0;i<step;i++)
355 {
356 if(pos>7) pos=0;
357 P1=clock[pos];
358 pos++;
359 my_delay();
360 }
361 }
362 void fanzhuan(int step)
363 {
364 int i; unsigned char pos;
365 my_delay();
366
367
368 for (i=0;i<step;i++)
369 {
370 if(pos>7) pos=0;
371 P1=anticlock[pos];
372 pos++;
373 my_delay();
374 }
375 }
376 */
377
378 void zhengzhuan(int step) //排线机number 为1, 主线机
379 {
380 1 int i; unsigned char pos;
381 1 for (pos=0;pos<step;pos++)
382 1 {
383 2
384 2 for (i=0;i<8;i++)
385 2 {
386 3
387 3 P1=clock[i];
388 3 my_delay();
389 3 }
390 2 }
391 1 }
392 void fanzhuan(int step)
393 {
394 1 int i; unsigned char pos;
395 1 for (pos=0;pos<step;pos++)
396 1 {
397 2
398 2 for (i=0;i<8;i++)
399 2 {
400 3 P1=anticlock[i];
401 3 my_delay();
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 8
402 3 }
403 2 }
404 1 }
405
406
407
408
409 void my_delay(void)
410 {
411 1 int i,j;
412 1 for (i=0;i<5000;i++);
413 1 {
414 2 for(j=0;j<1000;j++);
415 2 }
416 1 }
417
418
419
420 void es_isr0 (void) interrupt 1 //定时器0断服务函数
421 {
422 1 // EA=0;
423 1 TF0=0;
424 1 TR0=0;
425 1 tick++;
426 1 TL0=0x01;
427 1 TH0=0x88;
428 1
429 1 if((tick/2)<=step)
430 1 {
431 2 P1_1=!P1_1; if(P1_0) pos++;else { if(pos==0) pos=0;else pos--; }
432 2 if(pos<0) pos=0;
433 2 }
434 1 else EA=0;
435 1
436 1 // EA=1;
437 1 TR0=1;
438 1
439 1
440 1 }
441
442
443
444
445
446
447
448
449
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2506 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 52 16
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -