?? key_led.lst
字號:
C51 COMPILER V7.10 KEY_LED 12/23/2006 23:20:55 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE KEY_LED
OBJECT MODULE PLACED IN .\key_led.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE ..\0123\key_led.c BROWSE DEBUG OBJECTEXTEND PRINT(.\key_led.l
-st) OBJECT(.\key_led.obj)
line level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 uchar k;
4 uchar keyscan();
5 void delay();
6
7 uchar code p[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
8 uchar code wei[]={0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x98};
9 uchar code first[]={0,0,0,0,0,0,0,1};
10 uchar code second[]={0,0,0,0,4,0,0,0};
11 uchar code third[]={0,0,0,0,8,0,0,0};
12 uchar code fourth[]={0,0,0,1,2,0,0,0};
13
14 void main()
15 { uchar i,j;
16 1 while(1)
17 1 { if(keyscan()!=0)
18 2 k=keyscan();
19 2 for(i=0;i<8;i++)
20 2 { P0=p[i];
21 3 j=7-i;
22 3 if(k==17) { P1=wei[first[j]]; }
23 3 if(k==18) { P1=wei[second[j]]; }
24 3 if(k==20) { P1=wei[third[j]]; }
25 3 if(k==24) { P1=wei[fourth[j]]; }
26 3 delay();
27 3 }
28 2 }
29 1 }
30 void delay()
31 { uchar i;
32 1 for(i=50000;i>0;i++);
33 1 }
34 uchar keyscan(void)
35 {
36 1 uchar code_h;
37 1 uchar code_l;
38 1 P2=0xF0;
39 1 if((P2&0xF0)!=0xF0)
40 1 { delay();
41 2 if((P2&0xF0)!=0xF0)
42 2 { code_h=0xFE;
43 3 while((code_h&0x10)!=0xF0)
44 3 { P2=code_h;
45 4 if((P2&0xF0)!=0xF0)
46 4 {code_l=(P2&0xF0|0x0F);
47 5 return((~code_h)+(~code_l));
48 5 }
49 4 else code_h=(code_h<<1)|0x01;
50 4 }
51 3 }
52 2 }
53 1 return(0);
54 1 }
C51 COMPILER V7.10 KEY_LED 12/23/2006 23:20:55 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 178 ----
CONSTANT SIZE = 50 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
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 + -