📄 1.lst
字号:
C51 COMPILER V7.50 1 01/01/2003 09:15:20 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 1
OBJECT MODULE PLACED IN 1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <stdio.h>
3 #define uint unsigned int
4 #define uchar unsigned char
5 #define qdshi 200
6 #define ljshi 10
7 void delay(uchar b)
8 {uint i,j;
9 1 for(i=0;i<b;i++)
10 1 for(j=0;j<125;j++);
11 1 }
12 keyprocess(unsigned char p)
13 {uchar flog;
14 1 if(flog==p)
15 1 {p+=0x1f;
16 2 flog=19;}
17 1 switch(p)
18 1 { case 0x60:
19 2 P2=0XFE;
20 2 delay(255);
21 2 flog=p;
22 2 break;
23 2 case 0xa0:
24 2 P2=0xfD;
25 2 delay(255);
26 2 flog=p;
27 2 break;
28 2 case 0xc0:
29 2 P2=0xfC;
30 2 delay(255);
31 2 flog=p;
32 2 break;
33 2
34 2
35 2 case 0x7f:
36 2 case 0xbf:
37 2 case 0xdf:
38 2 P2=0xf0;
39 2 delay(255);
40 2 flog=19;
41 2 break;
42 2 default:
43 2 break;
44 2 }
45 1
46 1 }
47
48
49 bit keyflag;
50 uchar keyswith=1;
51 void key()
52 {static uchar keycounter;
53 1 uchar keyvalue;
54 1
55 1 keyvalue=P1;
C51 COMPILER V7.50 1 01/01/2003 09:15:20 PAGE 2
56 1
57 1 if(keyvalue==0xe0)
58 1 {keycounter=0;
59 2 keyflag=0;
60 2 return;
61 2 }
62 1 else if(keyflag)
63 1 {keycounter++;
64 2 if(qdshi==keycounter)
65 2 {keycounter-=ljshi;
66 3 keyprocess(keyvalue);
67 3 }
68 2 else{return;}
69 2 }
70 1 else{
71 2 delay(10);
72 2 P1|=0xe0;
73 2 keyvalue=P1;
74 2 keyvalue=~keyvalue;
75 2 keyvalue=keyvalue&0xe0;
76 2 if(!keyvalue)
77 2 {keycounter=0;
78 3 keyflag=0;
79 3 return;
80 3 }
81 2
82 2 keyflag=1;
83 2 keyprocess(keyvalue);
84 2 }
85 1 }
86
87
88 void main()
89 {for(;;)
90 1 key();
91 1 }
92
93
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 168 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 1
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -