📄 20
字号:
C51 COMPILER V8.06 JVZHENJIANPAN 06/24/2012 19:03:58 PAGE 1
C51 COMPILER V8.06, COMPILATION OF MODULE JVZHENJIANPAN
OBJECT MODULE PLACED IN jvzhenjianpan.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE jvzhenjianpan.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************HL-1开发板实验例程**********************
2 * 平台:HL-1 V8.0 + Keil U3 + STC89C52
3 * 名称:4*4键盘检测程序,按下键后相应的代码显示在数码管上
4 * 公司:慧净电子科技有限公司
5 * 淘宝:http://shop37031453.taobao.com
6 * 网站:www.hjmcu.com
7 * 编写:慧净
8 * 日期:2008-8-08
9 * QQ : 121350852 398115088
10 * 晶振:11.0592MHZ
11 * 说明:免费开源,不提供源代码分析,有问题直接到慧净论坛交流
12 * 论坛:http://hjdz.5d6d.net
13 ******************************************************************/
14
15 #include<reg51.h>
16 sbit beep=P2^3;
17 sbit dula=P2^6;
18 sbit wela=P2^7;
19 unsigned char i=100;
20 unsigned char j,k,temp,key;
21 void delay(unsigned char i)
22 {
23 1 for(j=i;j>0;j--)
24 1 for(k=125;k>0;k--);
25 1 }
26 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
27 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
28 display(unsigned char num)
29 {
30 1 P0=table[num];
31 1 dula=1;
32 1 dula=0;
33 1 P0=0xc0;
34 1 wela=1;
35 1 wela=0;
36 1 }
37 void main()
38 {
39 1 dula=0;
40 1 wela=0;
41 1 while(1)
42 1 {
43 2 P3=0xfe;
44 2 temp=P3;
45 2 temp=temp&0xf0;
46 2 if(temp!=0xf0)
47 2 {
48 3 delay(10);
49 3 if(temp!=0xf0)
50 3 {
51 4 temp=P3;
52 4 switch(temp)
53 4 {
54 5 case 0xee:
55 5 key=0;
C51 COMPILER V8.06 JVZHENJIANPAN 06/24/2012 19:03:58 PAGE 2
56 5 break;
57 5
58 5 case 0xde:
59 5 key=1;
60 5 break;
61 5
62 5 case 0xbe:
63 5 key=2;
64 5 break;
65 5
66 5 case 0x7e:
67 5 key=3;
68 5 break;
69 5 }
70 4 while(temp!=0xf0)
71 4 {
72 5 temp=P3;
73 5 temp=temp&0xf0;
74 5 beep=0;
75 5 }
76 4 beep=1;
77 4 display(key);
78 4 P1=0xfe;
79 4 }
80 3 }
81 2 P3=0xfd;
82 2 temp=P3;
83 2 temp=temp&0xf0;
84 2 if(temp!=0xf0)
85 2 {
86 3 delay(10);
87 3 if(temp!=0xf0)
88 3 {
89 4 temp=P3;
90 4 switch(temp)
91 4 {
92 5 case 0xed:
93 5 key=4;
94 5 break;
95 5
96 5 case 0xdd:
97 5 key=5;
98 5 break;
99 5
100 5 case 0xbd:
101 5 key=6;
102 5 break;
103 5
104 5 case 0x7d:
105 5 key=7;
106 5 break;
107 5 }
108 4 while(temp!=0xf0)
109 4 {
110 5 temp=P3;
111 5 temp=temp&0xf0;
112 5 beep=0;
113 5 }
114 4 beep=1;
115 4 display(key);
116 4 }
117 3 }
C51 COMPILER V8.06 JVZHENJIANPAN 06/24/2012 19:03:58 PAGE 3
118 2 P3=0xfb;
119 2 temp=P3;
120 2 temp=temp&0xf0;
121 2 if(temp!=0xf0)
122 2 {
123 3 delay(10);
124 3 if(temp!=0xf0)
125 3 {
126 4 temp=P3;
127 4 switch(temp)
128 4 {
129 5 case 0xeb:
130 5 key=8;
131 5 break;
132 5
133 5 case 0xdb:
134 5 key=9;
135 5 break;
136 5
137 5 case 0xbb:
138 5 key=10;
139 5 break;
140 5
141 5 case 0x7b:
142 5 key=11;
143 5 break;
144 5 }
145 4 while(temp!=0xf0)
146 4 {
147 5 temp=P3;
148 5 temp=temp&0xf0;
149 5 beep=0;
150 5 }
151 4 beep=1;
152 4 display(key);
153 4 }
154 3 }
155 2 P3=0xf7;
156 2 temp=P3;
157 2 temp=temp&0xf0;
158 2 if(temp!=0xf0)
159 2 {
160 3 delay(10);
161 3 if(temp!=0xf0)
162 3 {
163 4 temp=P3;
164 4 switch(temp)
165 4 {
166 5 case 0xe7:
167 5 key=12;
168 5 break;
169 5
170 5 case 0xd7:
171 5 key=13;
172 5 break;
173 5
174 5 case 0xb7:
175 5 key=14;
176 5 break;
177 5
178 5 case 0x77:
179 5 key=15;
C51 COMPILER V8.06 JVZHENJIANPAN 06/24/2012 19:03:58 PAGE 4
180 5 break;
181 5 }
182 4 while(temp!=0xf0)
183 4 {
184 5 temp=P3;
185 5 temp=temp&0xf0;
186 5 beep=0;
187 5 }
188 4 beep=1;
189 4 display(key);
190 4 }
191 3 }
192 2 }
193 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 395 ----
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 + -