📄 key.lst
字号:
C51 COMPILER V8.01 KEY 08/05/2007 16:55:48 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 void dlms(void);
5 void delay(void);
6 uchar kbscan(void);
7 void main (void)
8 {
9 1 uchar key;
10 1 uchar a=0x00;
11 1 uchar b=0x00;
12 1 P2=0x00;
13 1 while(1)
14 1 {
15 2 key=kbscan();
16 2 dlms();
17 2 switch(key)
18 2 {case 0xee:a++;P2=a+b;break;
19 3 case 0xde:b++;b=b*10;P2=b+a;break;
20 3 }
21 2 delay();
22 2 }
23 1 }
24
25
26 void dlms (void)
27 { uchar i;
28 1 for(i=200;i>0;i--){ }
29 1 }
30
31 void delay(void)
32
33 {
34 1
35 1 unsigned char m,n,s;
36 1
37 1 for(m=9;m>0;m--)
38 1
39 1 for(n=30;n>0;n--)
40 1
41 1 for(s=248;s>0;s--);
42 1
43 1 }
44
45
46 uchar kbscan(void)
47 {uchar sccode,recode;
48 1 P1=0xf0;
49 1 if((P1&0xf0)!=0xf0)
50 1 {dlms();
51 2 if((P1&0xf0)!=0xf0)
52 2 {sccode=0xfe;
53 3 while((sccode&0x10)!=0)
54 3 {P1=sccode;
55 4 if((P1&0xf0)!=0xf0)
C51 COMPILER V8.01 KEY 08/05/2007 16:55:48 PAGE 2
56 4 {recode=P1&0xf0;
57 5 sccode=sccode&0x0f;
58 5 return(sccode+recode);
59 5 }
60 4 else
61 4 sccode=(sccode<<1)|0x01;
62 4 }
63 3 }
64 2 }
65 1 return(0);
66 1 }
67
68
69
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 131 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -