📄 pushkey.lst
字号:
C51 COMPILER V7.07 PUSHKEY 09/21/2007 13:40:01 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE PUSHKEY
OBJECT MODULE PLACED IN pushkey.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE pushkey.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <REG51.H>
2
3 #define uchar unsigned char
4 //带点显示
5 //unsigned char LedCode[]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0xF7,0xFC,0xB9,0XDE,0xF9,0xF1
-};
6 //不带点显示
7 unsigned char LedCode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0X5E,0x79,0x71};
8 unsigned char Sel[]={0x80,0x81,0x82,0x83};
9 uchar key = 0x00;
10 void delay10ms(unsigned char time)
11 {
12 1 unsigned char a,b,c;
13 1 for(a=0;a<time;a++)
14 1 for(b=0;b<10;b++)
15 1 for(c=0;c<120;c++)
16 1 ;
17 1 }
18
19 void display(uchar key)
20 {
21 1 if(key <= 9)
22 1 {
23 2 P2 = 0x10;
24 2 P0 = 0x1f;
25 2 P2 = 0x00;
26 2 P2 = 0x80;
27 2 P0 = LedCode[0];
28 2 }
29 1 else
30 1 {
31 2 P2 = 0x10;
32 2 P0 = 0x1f;
33 2 P2 = 0x00;
34 2 P2 = 0x80;
35 2 P0 = LedCode[1];
36 2 }
37 1 delay10ms(2);
38 1 P2 = 0x00;
39 1 P2 = 0x10;
40 1 P0 = 0x0f;
41 1 P2 = 0x00;
42 1 P2 = 0x80;
43 1 switch(key)
44 1 {
45 2 case 2:
46 2 P0 = LedCode[2];
47 2 break;
48 2 case 3:
49 2 P0 = LedCode[3];
50 2 break;
51 2 case 4:
52 2 P0 = LedCode[4];
53 2 break;
54 2 case 5:
C51 COMPILER V7.07 PUSHKEY 09/21/2007 13:40:01 PAGE 2
55 2 P0 = LedCode[5];
56 2 break;
57 2 case 6:
58 2 P0 = LedCode[6];
59 2 break;
60 2 case 7:
61 2 P0 = LedCode[7];
62 2 break;
63 2 case 8:
64 2 P0 = LedCode[8];
65 2 break;
66 2 case 9:
67 2 P0 = LedCode[9];
68 2 break;
69 2 case 10:
70 2 P0 = LedCode[0];
71 2 break;
72 2 case 11:
73 2 P0 = LedCode[1];
74 2 break;
75 2 case 12:
76 2 P0 = LedCode[2];
77 2 break;
78 2 case 13:
79 2 P0 = LedCode[3];
80 2 break;
81 2 case 14:
82 2 P0 = LedCode[4];
83 2 break;
84 2 case 15:
85 2 P0 = LedCode[5];
86 2 break;
87 2 case 16:
88 2 P0 = LedCode[6];
89 2 break;
90 2 case 17:
91 2 P0 = LedCode[7];
92 2 break;
93 2 default:
94 2 P0 = 0x3f;
95 2 break;
96 2 }
97 1 delay10ms(2);
98 1 }
99
100 void KeyScan(void) //按键扫描子程序
101 {
102 1
103 1 uchar temp;
104 1
105 1 P2 = 0x10;
106 1 P0 = 0xf5;
107 1 P1 = 0xFF;
108 1 temp = P1;
109 1 temp &= 0xFF;
110 1 if(temp !=0xFF)
111 1 {
112 2 delay10ms(1);
113 2 temp = P1;
114 2 temp &= 0xFF;
115 2 if(temp !=0xFF)
116 2 {
C51 COMPILER V7.07 PUSHKEY 09/21/2007 13:40:01 PAGE 3
117 3 temp = P1;
118 3 temp &= 0xFF;
119 3
120 3 switch(temp)
121 3 {
122 4 case 0xfe:
123 4 key = 2;
124 4 break;
125 4 case 0xfd:
126 4 key = 3;
127 4 break;
128 4 case 0xfb:
129 4 key = 4;
130 4 break;
131 4 case 0xf7:
132 4 key = 5;
133 4 break;
134 4 case 0xef:
135 4 key = 6;
136 4 break;
137 4 case 0xdf:
138 4 key = 7;
139 4 break;
140 4 case 0xbf:
141 4 key = 8;
142 4 break;
143 4 case 0x7f:
144 4 key = 9;
145 4 break;
146 4 default:
147 4 key = 00;
148 4 break;
149 4 }
150 3
151 3 }
152 2
153 2 }
154 1
155 1 P2 = 0x00;
156 1 P2 = 0x10;
157 1 P0 = 0xf6;
158 1 P1 = 0xFF;
159 1 temp = P1;
160 1 temp &= 0xFF;
161 1 if(temp !=0xFF)
162 1 {
163 2 delay10ms(1);
164 2 temp = P1;
165 2 temp &= 0xFF;
166 2 if(temp !=0xFF)
167 2 {
168 3 temp = P1;
169 3 temp &= 0xFF;
170 3
171 3 switch(temp)
172 3 {
173 4 case 0xfe:
174 4 key = 10;
175 4 break;
176 4 case 0xfd:
177 4 key = 11;
178 4 break;
C51 COMPILER V7.07 PUSHKEY 09/21/2007 13:40:01 PAGE 4
179 4 case 0xfb:
180 4 key = 12;
181 4 break;
182 4 case 0xf7:
183 4 key = 13;
184 4 break;
185 4 case 0xef:
186 4 key = 14;
187 4 break;
188 4 case 0xdf:
189 4 key = 15;
190 4 break;
191 4 case 0xbf:
192 4 key = 16;
193 4 break;
194 4 case 0x7f:
195 4 key = 17;
196 4 break;
197 4 default:
198 4 key = 00;
199 4 break;
200 4 }
201 3
202 3 }
203 2 P2 = 0x00;
204 2 }
205 1
206 1
207 1
208 1 }
209
210 void main()
211 {
212 1 while(1)
213 1 {
214 2
215 2 display(key);
216 2 KeyScan();
217 2 // delay10ms(2);
218 2 }
219 1 }
220
221
222
223
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 457 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 21 1
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 + -