📄 electronic organ.lst
字号:
C51 COMPILER V8.02 ELECTRONIC_ORGAN 08/18/2007 22:40:33 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE ELECTRONIC_ORGAN
OBJECT MODULE PLACED IN electronic organ.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE electronic organ.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <AT89X51.H>
2 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,
3 0x66,0x6d,0x7d,0x07,
4 0x7f,0x6f,0x77,0x7c,
5 0x39,0x5e,0x79,0x71};
6 unsigned char temp;
7 unsigned char key;
8 unsigned char i,j;
9 unsigned char STH0;
10 unsigned char STL0;
11 unsigned int code tab[]={64021,64103,64260,64400,
12 64524,64580,64684,64777,
13 64820,64898,64968,65030,
14 65058,65110,65157,65178};
15
16 void main(void)
17 {
18 1 TMOD=0x01;
19 1 ET0=1;
20 1 EA=1;
21 1 while(1)
22 1 {
23 2 P3=0xff;
24 2 P3_4=0;
25 2 temp=P3;
26 2 temp=temp & 0x0f;
27 2 if (temp!=0x0f)
28 2 {
29 3 for(i=50;i>0;i--)
30 3 for(j=200;j>0;j--);
31 3 temp=P3;
32 3 temp=temp & 0x0f;
33 3 if (temp!=0x0f)
34 3 {
35 4 temp=P3;
36 4 temp=temp & 0x0f;
37 4 switch(temp)
38 4 {
39 5 case 0x0e:
40 5 key=3;
41 5 break;
42 5 case 0x0d:
43 5 key=2;
44 5 break;
45 5 case 0x0b:
46 5 key=1;
47 5 break;
48 5 case 0x07:
49 5 key=0;
50 5 break;
51 5 }
52 4 temp=P3;
53 4 //多P1_0=~P1_0;
54 4
55 4 TR0=1;
C51 COMPILER V8.02 ELECTRONIC_ORGAN 08/18/2007 22:40:33 PAGE 2
56 4 temp=temp & 0x0f;
57 4 while(temp!=0x0f)
58 4 {
59 5 temp=P3;
60 5 temp=temp & 0x0f;
61 5 }
62 4 TR0=0;
63 4 }
64 3 }
65 2
66 2 P3=0xff;
67 2 P3_5=0;
68 2 temp=P3;
69 2 temp=temp & 0x0f;
70 2 if (temp!=0x0f)
71 2 {
72 3 for(i=50;i>0;i--)
73 3 for(j=200;j>0;j--);
74 3 temp=P3;
75 3 temp=temp & 0x0f;
76 3 if (temp!=0x0f)
77 3 {
78 4 temp=P3;
79 4 temp=temp & 0x0f;
80 4 switch(temp)
81 4 {
82 5 case 0x0e:
83 5 key=7;
84 5 break;
85 5 case 0x0d:
86 5 key=6;
87 5 break;
88 5 case 0x0b:
89 5 key=5;
90 5 break;
91 5 case 0x07:
92 5 key=4;
93 5 break;
94 5 }
95 4 temp=P3;
96 4 //多P1_0=~P1_0;
97 4
98 4 TR0=1;
99 4 temp=temp & 0x0f;
100 4 while(temp!=0x0f)
101 4 {
102 5 temp=P3;
103 5 temp=temp & 0x0f;
104 5 }
105 4 TR0=0;
106 4 }
107 3 }
108 2
109 2 P3=0xff;
110 2 P3_6=0;
111 2 temp=P3;
112 2 temp=temp & 0x0f;
113 2 if (temp!=0x0f)
114 2 {
115 3 for(i=50;i>0;i--)
116 3 for(j=200;j>0;j--);
117 3 temp=P3;
C51 COMPILER V8.02 ELECTRONIC_ORGAN 08/18/2007 22:40:33 PAGE 3
118 3 temp=temp & 0x0f;
119 3 if (temp!=0x0f)
120 3 {
121 4 temp=P3;
122 4 temp=temp & 0x0f;
123 4 switch(temp)
124 4 {
125 5 case 0x0e:
126 5 key=11;
127 5 break;
128 5 case 0x0d:
129 5 key=10;
130 5 break;
131 5 case 0x0b:
132 5 key=9;
133 5 break;
134 5 case 0x07:
135 5 key=8;
136 5 break;
137 5 }
138 4 temp=P3;
139 4 //多P1_0=~P1_0;
140 4
141 4 TR0=1;
142 4 temp=temp & 0x0f;
143 4 while(temp!=0x0f)
144 4 {
145 5 temp=P3;
146 5 temp=temp & 0x0f;
147 5 }
148 4 TR0=0;
149 4 }
150 3 }
151 2
152 2 P3=0xff;
153 2 P3_7=0;
154 2 temp=P3;
155 2 temp=temp & 0x0f;
156 2 if (temp!=0x0f)
157 2 {
158 3 for(i=50;i>0;i--)
159 3 for(j=200;j>0;j--);
160 3 temp=P3;
161 3 temp=temp & 0x0f;
162 3 if (temp!=0x0f)
163 3 {
164 4 temp=P3;
165 4 temp=temp & 0x0f;
166 4 switch(temp)
167 4 {
168 5 case 0x0e:
169 5 key=15;
170 5 break;
171 5 case 0x0d:
172 5 key=14;
173 5 break;
174 5 case 0x0b:
175 5 key=13;
176 5 break;
177 5 case 0x07:
178 5 key=12;
179 5 break;
C51 COMPILER V8.02 ELECTRONIC_ORGAN 08/18/2007 22:40:33 PAGE 4
180 5 }
181 4 temp=P3;
182 4 //多P1_0=~P1_0;
183 4
184 4 TR0=1;
185 4 temp=temp & 0x0f;
186 4 while(temp!=0x0f)
187 4 {
188 5 temp=P3;
189 5 temp=temp & 0x0f;
190 5 }
191 4 TR0=0;
192 4 }
193 3 }
194 2 }
195 1 }
196
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 436 ----
CONSTANT SIZE = 48 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -