📄 miin.lst
字号:
C51 COMPILER V8.06 MIIN 11/20/2011 16:19:42 PAGE 1
C51 COMPILER V8.06, COMPILATION OF MODULE MIIN
OBJECT MODULE PLACED IN miin.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE miin.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //实验平台:HL-1 V6.1+Keil U3
2 //开发公司:慧净电子WWW.HLMCU.COM
3 //淘宝店铺:http://shop37031453.taobao.com
4 //4*4键盘检测程序,按下键后相应的代码显示在数码管上
5 #include<reg51.h>
6 sbit beep=P2^3;
7 sbit dula=P2^6;
8 sbit wela=P2^7;
9 unsigned char i=100;
10 unsigned char j,k,temp,key;
11 void delay(unsigned char i)
12 {
13 1 for(j=i;j>0;j--)
14 1 for(k=125;k>0;k--);
15 1 }
16 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
17 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
18 display(unsigned char num)
19 {
20 1 P0=table[num];
21 1 // P0=0xff;
22 1 dula=1;
23 1 dula=0;
24 1 P0=0xc0;
25 1 wela=1;
26 1 wela=0;
27 1 }
28 void main()
29 {
30 1 dula=0;
31 1 wela=0;
32 1 while(1)
33 1 {
34 2 P3=0xfe;
35 2 temp=P3;
36 2 temp=temp&0xf0;
37 2 if(temp!=0xf0)
38 2 {
39 3 delay(10);
40 3 if(temp!=0xf0)
41 3 {
42 4 temp=P3;
43 4 switch(temp)
44 4 {
45 5 case 0xee:
46 5 key=0;
47 5 break;
48 5
49 5 case 0xde:
50 5 key=1;
51 5 break;
52 5
53 5 case 0xbe:
54 5 key=2;
55 5 break;
C51 COMPILER V8.06 MIIN 11/20/2011 16:19:42 PAGE 2
56 5
57 5 case 0x7e:
58 5 key=3;
59 5 break;
60 5 }
61 4 while(temp!=0xf0)
62 4 {
63 5 temp=P3;
64 5 temp=temp&0xf0;
65 5 beep=0;
66 5 }
67 4 beep=1;
68 4 display(key);
69 4 // P0=table[key];
70 4 /* P0=0xff;
71 4 dula=1;
72 4
73 4 while(i--);
74 4 dula=0;
75 4 P0=0xc0;
76 4 wela=1;
77 4 wela=0;
78 4 dula=0;
79 4 wela=0;
80 4 P0=0xff;
81 4 dula=1;
82 4 dula=0;
83 4 P0=0xc5;
84 4 wela=1;
85 4 wela=0; */
86 4 P1=0xfe;
87 4 }
88 3 }
89 2 P3=0xfd;
90 2 temp=P3;
91 2 temp=temp&0xf0;
92 2 if(temp!=0xf0)
93 2 {
94 3 delay(10);
95 3 if(temp!=0xf0)
96 3 {
97 4 temp=P3;
98 4 switch(temp)
99 4 {
100 5 case 0xed:
101 5 key=4;
102 5 break;
103 5
104 5 case 0xdd:
105 5 key=5;
106 5 break;
107 5
108 5 case 0xbd:
109 5 key=6;
110 5 break;
111 5
112 5 case 0x7d:
113 5 key=7;
114 5 break;
115 5 }
116 4 while(temp!=0xf0)
117 4 {
C51 COMPILER V8.06 MIIN 11/20/2011 16:19:42 PAGE 3
118 5 temp=P3;
119 5 temp=temp&0xf0;
120 5 beep=0;
121 5 }
122 4 beep=1;
123 4 display(key);
124 4 /* P0=table[key];
125 4 dula=1;
126 4 // while(100--);
127 4 dula=0;
128 4 P0=0xc0;
129 4 wela=1;
130 4 wela=0;
131 4 */ P1=0xfc;
132 4 }
133 3 }
134 2 P3=0xfb;
135 2 temp=P3;
136 2 temp=temp&0xf0;
137 2 if(temp!=0xf0)
138 2 {
139 3 delay(10);
140 3 if(temp!=0xf0)
141 3 {
142 4 temp=P3;
143 4 switch(temp)
144 4 {
145 5 case 0xeb:
146 5 key=8;
147 5 break;
148 5
149 5 case 0xdb:
150 5 key=9;
151 5 break;
152 5
153 5 case 0xbb:
154 5 key=10;
155 5 break;
156 5
157 5 case 0x7b:
158 5 key=11;
159 5 break;
160 5 }
161 4 while(temp!=0xf0)
162 4 {
163 5 temp=P3;
164 5 temp=temp&0xf0;
165 5 beep=0;
166 5 }
167 4 beep=1;
168 4 display(key);
169 4 /* P0=table[key];
170 4 dula=1;
171 4 // while(100--);
172 4 dula=0;
173 4 P0=0xc0;
174 4 wela=1;
175 4 wela=0;
176 4 */ P1=0xf8;
177 4 }
178 3 }
179 2 P3=0xf7;
C51 COMPILER V8.06 MIIN 11/20/2011 16:19:42 PAGE 4
180 2 temp=P3;
181 2 temp=temp&0xf0;
182 2 if(temp!=0xf0)
183 2 {
184 3 delay(10);
185 3 if(temp!=0xf0)
186 3 {
187 4 temp=P3;
188 4 switch(temp)
189 4 {
190 5 case 0xe7:
191 5 key=12;
192 5 break;
193 5
194 5 case 0xd7:
195 5 key=13;
196 5 break;
197 5
198 5 case 0xb7:
199 5 key=14;
200 5 break;
201 5
202 5 case 0x77:
203 5 key=15;
204 5 break;
205 5 }
206 4 while(temp!=0xf0)
207 4 {
208 5 temp=P3;
209 5 temp=temp&0xf0;
210 5 beep=0;
211 5 }
212 4 beep=1;
213 4 display(key);
214 4 /* P0=table[key];
215 4 dula=1;
216 4 // while(100--);
217 4 dula=0;
218 4 P0=0xc0;
219 4 wela=1;
220 4 wela=0;
221 4 */ P1=0xf0;
222 4 }
223 3 }
224 2 }
225 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 404 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
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 + -