📄 sed1520.lst
字号:
204 1 { Key=0x20; delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
205 2 if( (Key=prekey)&&(Key=prekey1) ){while(P2_3==0);} count=0; return Key&0xf0;}
206 1 else if(P2_2==0)
207 1 { Key=0x10;delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
208 2 if( (Key=prekey)&&(Key=prekey1) ){while(P2_2==0); }count=0; return Key&0xf0;}
209 1 else if(P2_1==0)
210 1 { Key=0x40;delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
211 2 if( (Key=prekey)&&(Key=prekey1) ){while(P2_1==0);} count=0; return Key&0xf0;}
212 1
213 1
214 1 P2_6=0;
215 1 P2_5=1;
216 1
217 1 if( P2_4== 0 )
218 1 { Key=0x60;delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
219 2 if( (Key=prekey)&&(Key=prekey1) ){ while(P2_4==0); }count=0; return Key&0xf0;}
220 1 else if (P2_3== 0 )
221 1 { Key=0x70;delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
222 2 if( (Key=prekey)&&(Key=prekey1) ){while(P2_3==0); } count=0;return Key&0xf0;}
223 1 else if (P2_2== 0 )
224 1 { Key=0x080;delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
225 2 if( (Key=prekey)&&(Key=prekey1) ){while(P2_2==0); } count=0;return Key&0xf0;}
226 1 else if (P2_1== 0 )
227 1 { Key=0x40; delay(10); prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
228 2 if( (Key=prekey)&&(Key=prekey1) ){while(P2_1==0);} count=0;return Key&0xf0;}
229 1
230 1 else {return 0;}
231 1
232 1 }
233
234 LCDWriteCom1(unsigned char com)
235 {
236 1 bit flag;
237 1 A0 = 0;
238 1 RW=1;
239 1 do{
240 2
241 2 P0=0xff;
C51 COMPILER V7.07 SED1520 04/09/2004 23:25:03 PAGE 5
242 2 CS1=0;
243 2 flag=P0_7;
244 2 CS1=1;
245 2
246 2 }while(flag);
247 1 RW=0;
248 1 P0=com;
249 1 CS1=0;
250 1 CS1=1;
251 1 }
252 //向主LCD写数据 /
253 LCDWriteDat1(unsigned char dat)
254 {
255 1 bit flag;
256 1 A0 = 0;
257 1 RW=1;
258 1 do{
259 2
260 2 P0=0xff;
261 2 CS1=0;
262 2 flag=P0_7;
263 2 CS1=1;
264 2
265 2 }while(flag);
266 1 A0=1;
267 1 RW=0;
268 1 P0=dat;
269 1 CS1=0;
270 1 CS1=1;
271 1 }
272 unsigned char LCDReadDat1()
273 {
274 1 bit flag;
275 1 long i;
276 1 unsigned char dat;
277 1 A0 = 0;
278 1 RW=1;
279 1 do{
280 2
281 2 P0=0xff;
282 2 CS1=0;
283 2 flag=P0_7;
284 2 CS1=1;
285 2 i++;
286 2 }while(flag);
287 1 CS1=0;
288 1 A0=1;
289 1 RW=1;
290 1 dat=P0;
291 1 CS1=1;
292 1
293 1 RW=0;
294 1 P0=0xff;
295 1 RW=1;
296 1 CS1=0;
297 1 dat=P0;
298 1 CS1=1;
299 1 return dat;
300 1
301 1 }
302 //向从LCD写命令
303 LCDWriteCom2(unsigned char com)
C51 COMPILER V7.07 SED1520 04/09/2004 23:25:03 PAGE 6
304 {
305 1 bit flag;
306 1 A0 = 0;
307 1 RW=1;
308 1 do{
309 2
310 2 P0=0xff;
311 2 CS2=0;
312 2 flag=P0_7;
313 2 CS2=1;
314 2
315 2 }while(flag);
316 1 RW=0;
317 1 P0=com;
318 1 CS2=0;
319 1 CS2=1;
320 1 }
321 //向从LCD写数据
322 LCDWriteDat2(unsigned char dat)
323 {
324 1 bit flag;
325 1 A0 = 0;
326 1 RW=1;
327 1 do{
328 2
329 2 P0=0xff;
330 2 CS2=0;
331 2 flag=P0_7;
332 2 CS2=1;
333 2
334 2 }while(flag);
335 1 A0=1;
336 1 RW=0;
337 1 P0=dat;
338 1 CS2=0;
339 1 CS2=1;
340 1 }
341 unsigned char LCDReadDat2()
342 {
343 1 bit flag;
344 1 long i;
345 1 unsigned char dat;
346 1 A0 = 0;
347 1 RW=1;
348 1 do{
349 2
350 2 P0=0xff;
351 2 CS2=0;
352 2 flag=P0_7;
353 2 CS2=1;
354 2 i++;
355 2 }while(flag);
356 1 CS2 = 0;
357 1 A0=1;
358 1 RW=1;
359 1 dat=P0;
360 1 CS2 = 1;
361 1
362 1 RW=0;
363 1 P0=0xff;
364 1 RW=1;
365 1 CS2 = 0;
C51 COMPILER V7.07 SED1520 04/09/2004 23:25:03 PAGE 7
366 1 dat=P0;
367 1 CS2=1;
368 1 return dat;
369 1
370 1 }
371
372 //初始化LCD
373
374 void LCD_Init()
375 {
376 1 LCDWriteCom1(0xe2);
377 1 LCDWriteCom2(0xe2);
378 1 LCDWriteCom1(0xa4);
379 1 LCDWriteCom2(0xa4);
380 1 LCDWriteCom1(0xa9);
381 1 LCDWriteCom2(0xa9);
382 1 LCDWriteCom1(0xa0);
383 1 LCDWriteCom2(0xa0);
384 1 LCDWriteCom1(0xc0);
385 1 LCDWriteCom2(0xc0);
386 1 LCDWriteCom1(0xaf);
387 1 LCDWriteCom2(0xaf);
388 1
389 1
390 1 }
391 void LCDClear()
392 {
393 1 unsigned char i,j;
394 1 for(i=0;i<4;i++)
395 1 {
396 2 LCDWriteCom1(0xb8|i);
397 2 LCDWriteCom2(0xb8|i);
398 2 LCDWriteCom1(0);
399 2 LCDWriteCom2(0);
400 2 for(j=0;j<80;j++)
401 2 {
402 3 LCDWriteDat1(0x0);
403 3 LCDWriteDat2(0x0);
404 3
405 3 }
406 2
407 2 }
408 1
409 1 }
410
411
412 //在x,y点显示一个点
413 void LCDDrawPoint(unsigned char x,unsigned char y )
414 {
415 1 unsigned char dat,temp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -