📄 xing2.lst
字号:
C51 COMPILER V7.50 XING2 09/03/2008 18:38:24 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE XING2
OBJECT MODULE PLACED IN xing2.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE xing2.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include<reg51.h>
3
4 #define uchar unsigned char
5
6 #define uint unsigned int
7
8 sbit LCP=P2^2;
9
10 sbit SCP=P2^1;
11
12 sbit SI=P2^0;
13
14 sbit S1=P2^3;
15
16 sbit S2=P2^4;
17
18 sbit S3=P2^5;
19
20 sbit S4=P2^6;
21
22 sbit S5=P2^7;
23
24 sbit DA0832=P3^3;
25
26 sbit DA0832_ON=P3^2;
27
28 uchar fun=0,b=0,c=0,d=0,tl,th;
29
30 uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
31
32 uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb
-1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5
33
34 ,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,
-0xf2,0xf4,0xf5
35
36 ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
-0xff,0xfe,0xfd
37
38 ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,
-0xde,0xdd,0xda
39
40 ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,
-0x9f,0x9c,0x99
41
42 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,
-0x57,0x55,0x51
43
44 ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,
-0x1a,0x18,0x16
45
46 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,
-0x00,0x00,0x00
47
C51 COMPILER V7.50 XING2 09/03/2008 18:38:24 PAGE 2
48 ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10
-,0x11,0x13,0x15
49
50 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,
-0x48,0x4c,0x4e
51
52 ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };
53
54 void display(unsigned char command)
55
56 {
57 1
58 1 unsigned char i;
59 1
60 1 LCP=0;
61 1
62 1 for(i=8;i>0;i--)
63 1
64 1 {
65 2
66 2 SCP=0;
67 2
68 2 if((command & 0x80)==0)
69 2
70 2 {
71 3
72 3 SI=0;
73 3
74 3 }
75 2
76 2 else
77 2
78 2 {
79 3
80 3 SI=1;
81 3
82 3 }
83 2
84 2 command<<=1;
85 2
86 2 SCP=1;
87 2
88 2 }
89 1
90 1 LCP=1;
91 1
92 1 }
93
94 void key1(void)
95
96 {
97 1
98 1 fun++;
99 1
100 1 if(fun==4)
101 1
102 1 fun=0x00;
103 1
104 1 }
105
106 void key2(void)
107
C51 COMPILER V7.50 XING2 09/03/2008 18:38:24 PAGE 3
108 {
109 1
110 1 tl++;
111 1
112 1 if(tl==0x1f)
113 1
114 1 th++;
115 1
116 1 }
117
118 void key3(void)
119
120 {
121 1
122 1 tl--;
123 1
124 1 if(tl==0x00)
125 1
126 1 th--;
127 1
128 1 }
129
130 void key4(void)
131
132 {
133 1
134 1 double t;
135 1
136 1 int f;
137 1
138 1 TR0=0;
139 1
140 1 t=(65535-th*256-tl);//*0.4;
141 1
142 1 f=(int)(1000/t);
143 1
144 1 S3=tab[f%10];
145 1
146 1 f=f/10;
147 1
148 1 S2=tab[f%10];
149 1
150 1 f=f/10;
151 1
152 1 if(f==0)
153 1
154 1 S1=0;
155 1
156 1 else
157 1
158 1 S1=tab[f];
159 1
160 1 TR0=1;
161 1
162 1 }
163
164 void key5(void)
165
166 {
167 1
168 1 tl--;
169 1
C51 COMPILER V7.50 XING2 09/03/2008 18:38:24 PAGE 4
170 1 if(tl==0x00)
171 1
172 1 th++;
173 1
174 1 }
175
176 void judge(void)
177
178 {
179 1
180 1 uchar line,row,de1,de2,keym;
181 1
182 1 P1=0x0f;
183 1
184 1 keym=P1;
185 1
186 1 if(keym==0x0f)return;
187 1
188 1 for(de1=0;de1<200;de1++)
189 1
190 1 for(de2=0;de2<125;de2++){;}
191 1
192 1 P1=0x0f;
193 1
194 1 keym=P1;
195 1
196 1 if(keym==0x0f)return;
197 1
198 1 P1=0x0f;
199 1
200 1 line=P1;
201 1
202 1 P1=0xf0;
203 1
204 1 row=P1;
205 1
206 1 line=line+row; /*存放特征键值*/
207 1
208 1 if(line==0xde)key1();
209 1
210 1 if(line==0x7e)key2();
211 1
212 1 if(line==0xbd)key3();
213 1
214 1 if(line==0x7d)key4();
215 1
216 1 }
217
218 void time0_int(void) interrupt 1 //中断服务程序
219
220 {
221 1
222 1 TR0=0;
223 1
224 1 if(fun==1)
225 1
226 1 {
227 2
228 2 DA0832=tosin[b]; //正弦波
229 2
230 2 b++;
231 2
C51 COMPILER V7.50 XING2 09/03/2008 18:38:24 PAGE 5
232 2 }
233 1
234 1 else if(fun==2) //锯齿波
235 1
236 1 {
237 2
238 2 if(c<128)
239 2
240 2 DA0832=c;
241 2
242 2 else
243 2
244 2 DA0832=255-c;
245 2
246 2 c++;
247 2
248 2 }
249 1
250 1 else if(fun==3) // 方波
251 1
252 1 {
253 2
254 2 d++;
255 2
256 2 if(d<=128)
257 2
258 2 DA0832=0x00;
259 2
260 2 else
261 2
262 2 DA0832=0xff;
263 2
264 2 }
265 1
266 1 TH0=th;
267 1
268 1 TL0=tl;
269 1
270 1 TR0=1;
271 1
272 1 }
273
274 void main(void)
275
276 {
277 1
278 1 TMOD=0X01;
279 1
280 1 TR0=1;
281 1
282 1 th=0xff;
283 1
284 1 tl=0xd0;
285 1
286 1 TH0=th;
287 1
288 1 TL0=tl;
289 1
290 1 ET0=1;
291 1
292 1 EA=1;
293 1
C51 COMPILER V7.50 XING2 09/03/2008 18:38:24 PAGE 6
294 1 while(1)
295 1
296 1 {
297 2
298 2 display(0xfe);
299 2
300 2 judge();
301 2
302 2 }
303 1
304 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 434 ----
CONSTANT SIZE = 266 ----
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 + -