📄 闪烁灯.lst
字号:
C51 COMPILER V7.00 ____礯 08/29/2009 22:24:14 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE ____礯
OBJECT MODULE PLACED IN 闪烁灯.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 闪烁灯.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /**************************************************************************************************
2 *** 慧净电子1天入门、10天学会、1年精通单片机与C语言视频教程配套程序源码 ***
3 *** 实验板:HJ-1G HJ-3G 开发板 ***
4 *** MCU: STC89C52/AT89C52 部分C源码可以直接用于项目开发、欢迎复制共享、功德无量、没有版权 ***
5 *** 收集整理:慧净助学会员 部分原源来源网络,如有伤害到你的利润请来信,我们的免费助学会员会定期给你删除**
-*
6 *** 编译器:KEIL ***
7 *** 百度交流空间:http://hi.baidu.com/HJMCU WWW.HJMCU.COM ***
8 *** 论坛交流:http://bbs.hjmcu.com 欢迎来论坛一分钱不要下载配套的仿真电路 ***
9 *** 配套的硬件学习板网址:http://shop37031453.taobao.com/ ***
10 *** 日期:2008.8.8 ***
11 *** 目标:用C语言写程序就这么简单、慧争祝你1天入门、10天学会、1年精通单片机与C语言、找个好工作 ***
12 ***************************************************************************************************/
13 //4*4键盘检测程序,按下键后相应的代码显示在数码管上
14 #include<reg51.h>
15 sbit beep=P2^3;
16 sbit dula=P2^6;
17 sbit wela=P2^7;
18 unsigned char i=100;
19 unsigned char j,k,temp,key;
20 void delay(unsigned char i)
21 {
22 1 for(j=i;j>0;j--)
23 1 for(k=125;k>0;k--);
24 1 }
25 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
26 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
27 display(unsigned char num)
28 {
29 1 P0=table[num];
30 1 // P0=0xff;
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:
C51 COMPILER V7.00 ____礯 08/29/2009 22:24:14 PAGE 2
55 5 key=0;
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 // P0=table[key];
79 4 /* P0=0xff;
80 4 dula=1;
81 4
82 4 while(i--);
83 4 dula=0;
84 4 P0=0xc0;
85 4 wela=1;
86 4 wela=0;
87 4 dula=0;
88 4 wela=0;
89 4 P0=0xff;
90 4 dula=1;
91 4 dula=0;
92 4 P0=0xc5;
93 4 wela=1;
94 4 wela=0; */
95 4 P1=0xfe;
96 4 }
97 3 }
98 2 P3=0xfd;
99 2 temp=P3;
100 2 temp=temp&0xf0;
101 2 if(temp!=0xf0)
102 2 {
103 3 delay(10);
104 3 if(temp!=0xf0)
105 3 {
106 4 temp=P3;
107 4 switch(temp)
108 4 {
109 5 case 0xed:
110 5 key=4;
111 5 break;
112 5
113 5 case 0xdd:
114 5 key=5;
115 5 break;
116 5
C51 COMPILER V7.00 ____礯 08/29/2009 22:24:14 PAGE 3
117 5 case 0xbd:
118 5 key=6;
119 5 break;
120 5
121 5 case 0x7d:
122 5 key=7;
123 5 break;
124 5 }
125 4 while(temp!=0xf0)
126 4 {
127 5 temp=P3;
128 5 temp=temp&0xf0;
129 5 beep=0;
130 5 }
131 4 beep=1;
132 4 display(key);
133 4 /* P0=table[key];
134 4 dula=1;
135 4 // while(100--);
136 4 dula=0;
137 4 P0=0xc0;
138 4 wela=1;
139 4 wela=0;
140 4 */ P1=0xfc;
141 4 }
142 3 }
143 2 P3=0xfb;
144 2 temp=P3;
145 2 temp=temp&0xf0;
146 2 if(temp!=0xf0)
147 2 {
148 3 delay(10);
149 3 if(temp!=0xf0)
150 3 {
151 4 temp=P3;
152 4 switch(temp)
153 4 {
154 5 case 0xeb:
155 5 key=8;
156 5 break;
157 5
158 5 case 0xdb:
159 5 key=9;
160 5 break;
161 5
162 5 case 0xbb:
163 5 key=10;
164 5 break;
165 5
166 5 case 0x7b:
167 5 key=11;
168 5 break;
169 5 }
170 4 while(temp!=0xf0)
171 4 {
172 5 temp=P3;
173 5 temp=temp&0xf0;
174 5 beep=0;
175 5 }
176 4 beep=1;
177 4 display(key);
178 4 /* P0=table[key];
C51 COMPILER V7.00 ____礯 08/29/2009 22:24:14 PAGE 4
179 4 dula=1;
180 4 // while(100--);
181 4 dula=0;
182 4 P0=0xc0;
183 4 wela=1;
184 4 wela=0;
185 4 */ P1=0xf8;
186 4 }
187 3 }
188 2 P3=0xf7;
189 2 temp=P3;
190 2 temp=temp&0xf0;
191 2 if(temp!=0xf0)
192 2 {
193 3 delay(10);
194 3 if(temp!=0xf0)
195 3 {
196 4 temp=P3;
197 4 switch(temp)
198 4 {
199 5 case 0xe7:
200 5 key=12;
201 5 break;
202 5
203 5 case 0xd7:
204 5 key=13;
205 5 break;
206 5
207 5 case 0xb7:
208 5 key=14;
209 5 break;
210 5
211 5 case 0x77:
212 5 key=15;
213 5 break;
214 5 }
215 4 while(temp!=0xf0)
216 4 {
217 5 temp=P3;
218 5 temp=temp&0xf0;
219 5 beep=0;
220 5 }
221 4 beep=1;
222 4 display(key);
223 4 /* P0=table[key];
224 4 dula=1;
225 4 // while(100--);
226 4 dula=0;
227 4 P0=0xc0;
228 4 wela=1;
229 4 wela=0;
230 4 */ P1=0xf0;
231 4 }
232 3 }
233 2 }
234 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 404 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
C51 COMPILER V7.00 ____礯 08/29/2009 22:24:14 PAGE 5
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 + -