📄 key.lst
字号:
C51 COMPILER V7.06 KEY 11/09/2008 15:26:29 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: D:\Program Files\KB\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 sbit dula=P2^6;
5 sbit wela=P2^7;
6 sbit key1=P3^4;
7 uchar code table[]={
8 0xc0,0xf9,0xa4,0xb0,0x99,
9 0x92,0x82,0xf8,0x80,0x90,
10 0x88,0x83,0xc6,0xa7,0xa1,
11 0x86,0x84,0x8e,0xc2,0x89,
12 0xc7,0x8c,0x98,0xc1};
13 uchar num,temp,num1;
14 void delay(uint z)
15 {
16 1 uint x,y;
17 1 for(x=z;x>0;x--)
18 1 for(y=110;y>0;y--);
19 1 }
20 uchar keyscan();
21 void display(uchar aa);
22 void main()
23 {
24 1 num=17;
25 1 dula=1;
26 1 P0=0;
27 1 dula=0;
28 1 wela=1;
29 1 P0=0xc0;
30 1 wela=0;
31 1
32 1 while(1)
33 1 {
34 2 display(keyscan());
35 2
36 2 }
37 1 }
38
39 void display(uchar aa)
40 {
41 1 dula=1;
42 1 P0=table[aa-1];
43 1 dula=0;
44 1 }
45
46 uchar keyscan()
47 {
48 1 P3=0xfe;
49 1 temp=P3;
50 1 temp=temp&0xf0;
51 1 while(temp!=0xf0)
52 1 {
53 2 delay(5);
54 2 temp=P3;
55 2 temp=temp&0xf0;
C51 COMPILER V7.06 KEY 11/09/2008 15:26:29 PAGE 2
56 2 while(temp!=0xf0)
57 2 {
58 3 temp=P3;
59 3 switch(temp)
60 3 {
61 4 case 0xee:num=1;
62 4 break;
63 4 case 0xde:num=2;
64 4 break;
65 4 case 0xbe:num=3;
66 4 break;
67 4 case 0x7e:num=4;
68 4 break;
69 4 }
70 3 while(temp!=0xf0)
71 3 {
72 4 temp=P3;
73 4 temp=temp&0xf0;
74 4 }
75 3 }
76 2 }
77 1
78 1 P3=0xfd;
79 1 temp=P3;
80 1 temp=temp&0xf0;
81 1 while(temp!=0xf0)
82 1 {
83 2 delay(5);
84 2 temp=P3;
85 2 temp=temp&0xf0;
86 2 while(temp!=0xf0)
87 2 {
88 3 temp=P3;
89 3 switch(temp)
90 3 {
91 4 case 0xed:num=5;
92 4 break;
93 4 case 0xdd:num=6;
94 4 break;
95 4 case 0xbd:num=7;
96 4 break;
97 4 case 0x7d:num=8;
98 4 break;
99 4 }
100 3 while(temp!=0xf0)
101 3 {
102 4 temp=P3;
103 4 temp=temp&0xf0;
104 4 }
105 3 }
106 2 }
107 1
108 1
109 1 P3=0xfb;
110 1 temp=P3;
111 1 temp=temp&0xf0;
112 1 while(temp!=0xf0)
113 1 {
114 2 delay(5);
115 2 temp=P3;
116 2 temp=temp&0xf0;
117 2 while(temp!=0xf0)
C51 COMPILER V7.06 KEY 11/09/2008 15:26:29 PAGE 3
118 2 {
119 3 temp=P3;
120 3 switch(temp)
121 3 {
122 4 case 0xeb:num=9;
123 4 break;
124 4 case 0xdb:num=10;
125 4 break;
126 4 case 0xbb:num=11;
127 4 break;
128 4 case 0x7b:num=12;
129 4 break;
130 4 }
131 3 while(temp!=0xf0)
132 3 {
133 4 temp=P3;
134 4 temp=temp&0xf0;
135 4 }
136 3 }
137 2 }
138 1
139 1
140 1 P3=0xf7;
141 1 temp=P3;
142 1 temp=temp&0xf0;
143 1 while(temp!=0xf0)
144 1 {
145 2 delay(5);
146 2 temp=P3;
147 2 temp=temp&0xf0;
148 2 while(temp!=0xf0)
149 2 {
150 3 temp=P3;
151 3 switch(temp)
152 3 {
153 4 case 0xe7:num=13;
154 4 break;
155 4 case 0xd7:num=14;
156 4 break;
157 4 case 0xb7:num=15;
158 4 break;
159 4 case 0x77:num=16;
160 4 break;
161 4 }
162 3 while(temp!=0xf0)
163 3 {
164 4 temp=P3;
165 4 temp=temp&0xf0;
166 4 }
167 3 }
168 2 }
169 1 dula=1;
170 1 P0=table[num];
171 1 dula=0;
172 1 P0=0xff;
173 1 wela=1;
174 1 P0=0x01;
175 1 wela=0;
176 1 delay(1);
177 1 return num;
178 1
179 1
C51 COMPILER V7.06 KEY 11/09/2008 15:26:29 PAGE 4
180 1 }
181
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 435 ----
CONSTANT SIZE = 24 ----
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 + -