📄 lesson3.lst
字号:
235 0767 1903 btfsc 3,2
236 0768 03A4 decf ?a_delay+1
237 0769 03A3 decf ?a_delay
238 076A 0824 movf ?a_delay+1,w
239 076B 0423 iorwf ?a_delay,w
240 076C 1D03 btfss 3,2
241 076D 2F66 goto l5
242 076E 08A5 movf ?a_delay+2
243 076F 1903 btfsc 3,2
244 0770 03A6 decf ?a_delay+3
245 0771 03A5 decf ?a_delay+2
246 0772 0826 movf ?a_delay+3,w
247 0773 0425 iorwf ?a_delay+2,w
248 0774 1903 btfsc 3,2
249 0775 0008 return
250 0776 2F63 goto l2
251 ;lesson3.c: 22: void keyscan()
252 ;lesson3.c: 23: {
253 0777 _keyscan
254 ;lesson3.c: 26: PORTC=0X7f;
255 0777 307F movlw 127
256 0778 0183 clrf 3 ;select bank 0
257 0779 0087 movwf 7 ;volatile
258 ;lesson3.c: 27: temp=PORTC;
259 077A 0807 movf 7,w ;volatile
260 077B 00A0 movwf _temp
261 ;lesson3.c: 28: temp=temp&0x0f;
262 077C 300F movlw 15
263 077D 05A0 andwf _temp
264 ;lesson3.c: 29: if(temp!=0x0f)
265 077E 0820 movf _temp,w
266 077F 3A0F xorlw 15
267 0780 1903 btfsc 3,2
268 0781 2F91 goto l10
269 ;lesson3.c: 30: {
270 0782 300A movlw 10
271 0783 00A1 movwf ?_delay
272 0784 01A2 clrf ?_delay+1
273 0785 275B fcall _delay
274 ;lesson3.c: 32: temp=PORTC;
275 0786 0807 movf 7,w ;volatile
276 0787 00A0 movwf _temp
277 ;lesson3.c: 33: temp=temp&0x0f;
278 0788 300F movlw 15
279 0789 05A0 andwf _temp
280 ;lesson3.c: 34: if(temp!=0x0f)
281 078A 0820 movf _temp,w
282 078B 3A0F xorlw 15
283 078C 1903 btfsc 3,2
284 078D 0008 return
285 ;lesson3.c: 35: {
286 078E 3070 movlw 112
287 078F 04A0 iorwf _temp
288 ;lesson3.c: 37: }
289 ;lesson3.c: 39: else
290 0790 0008 return
291 0791 l10
292 ;lesson3.c: 40: {
293 0791 30BF movlw -65
294 0792 0087 movwf 7 ;volatile
295 ;lesson3.c: 42: temp=PORTC;
296 0793 0807 movf 7,w ;volatile
297 0794 00A0 movwf _temp
298 ;lesson3.c: 43: temp=temp&0x0f;
299 0795 300F movlw 15
300 0796 05A0 andwf _temp
301 ;lesson3.c: 44: if(temp!=0x0f)
302 0797 0820 movf _temp,w
303 0798 3A0F xorlw 15
304 0799 1903 btfsc 3,2
305 079A 2FAA goto l13
306 ;lesson3.c: 45: {
307 079B 300A movlw 10
308 079C 00A1 movwf ?_delay
309 079D 01A2 clrf ?_delay+1
310 079E 275B fcall _delay
311 ;lesson3.c: 47: temp=PORTC;
312 079F 0807 movf 7,w ;volatile
313 07A0 00A0 movwf _temp
314 ;lesson3.c: 48: temp=temp&0x0f;
315 07A1 300F movlw 15
316 07A2 05A0 andwf _temp
317 ;lesson3.c: 49: if(temp!=0x0f)
318 07A3 0820 movf _temp,w
319 07A4 3A0F xorlw 15
320 07A5 1903 btfsc 3,2
321 07A6 0008 return
322 ;lesson3.c: 50: {
323 07A7 30B0 movlw -80
324 07A8 04A0 iorwf _temp
325 ;lesson3.c: 52: }
326 ;lesson3.c: 54: else
327 07A9 0008 return
328 07AA l13
329 ;lesson3.c: 55: {
330 07AA 30DF movlw -33
331 07AB 0087 movwf 7 ;volatile
332 ;lesson3.c: 57: temp=PORTC;
333 07AC 0807 movf 7,w ;volatile
334 07AD 00A0 movwf _temp
335 ;lesson3.c: 58: temp=temp&0x0f;
336 07AE 300F movlw 15
337 07AF 05A0 andwf _temp
338 ;lesson3.c: 59: if(temp!=0x0f)
339 07B0 0820 movf _temp,w
340 07B1 3A0F xorlw 15
341 07B2 1903 btfsc 3,2
342 07B3 2FC3 goto l16
343 ;lesson3.c: 60: {
344 07B4 300A movlw 10
345 07B5 00A1 movwf ?_delay
346 07B6 01A2 clrf ?_delay+1
347 07B7 275B fcall _delay
348 ;lesson3.c: 62: temp=PORTC;
349 07B8 0807 movf 7,w ;volatile
350 07B9 00A0 movwf _temp
351 ;lesson3.c: 63: temp=temp&0x0f;
352 07BA 300F movlw 15
353 07BB 05A0 andwf _temp
354 ;lesson3.c: 64: if(temp!=0x0f)
355 07BC 0820 movf _temp,w
356 07BD 3A0F xorlw 15
357 07BE 1903 btfsc 3,2
358 07BF 0008 return
359 ;lesson3.c: 65: {
360 07C0 30D0 movlw -48
361 07C1 04A0 iorwf _temp
362 ;lesson3.c: 67: }
363 ;lesson3.c: 69: else
364 07C2 0008 return
365 07C3 l16
366 ;lesson3.c: 70: {
367 07C3 30EF movlw -17
368 07C4 0087 movwf 7 ;volatile
369 ;lesson3.c: 72: temp=PORTC;
370 07C5 0807 movf 7,w ;volatile
371 07C6 00A0 movwf _temp
372 ;lesson3.c: 73: temp=temp&0x0f;
373 07C7 300F movlw 15
374 07C8 05A0 andwf _temp
375 ;lesson3.c: 74: if(temp!=0x0f)
376 07C9 0820 movf _temp,w
377 07CA 3A0F xorlw 15
378 07CB 1903 btfsc 3,2
379 07CC 0008 return
380 ;lesson3.c: 75: {
381 07CD 300A movlw 10
382 07CE 00A1 movwf ?_delay
383 07CF 01A2 clrf ?_delay+1
384 07D0 275B fcall _delay
385 ;lesson3.c: 77: temp=PORTC;
386 07D1 0807 movf 7,w ;volatile
387 07D2 00A0 movwf _temp
388 ;lesson3.c: 78: temp=temp&0x0f;
389 07D3 300F movlw 15
390 07D4 05A0 andwf _temp
391 ;lesson3.c: 79: if(temp!=0x0f)
392 07D5 0820 movf _temp,w
393 07D6 3A0F xorlw 15
394 07D7 1903 btfsc 3,2
395 07D8 0008 return
396 ;lesson3.c: 80: {
397 07D9 30E0 movlw -32
398 07DA 04A0 iorwf _temp
399 ;lesson3.c: 82: }
400 ;lesson3.c: 84: }
401 ;lesson3.c: 85: }
402 ;lesson3.c: 86: }
403 ;lesson3.c: 87: }
404 07DB 0008 return
405 ;lesson3.c: 15: void init()
406 ;lesson3.c: 16: {
407 07DC _init
408 ;lesson3.c: 17: TRISC=0X0f;
409 07DC 300F movlw 15
410 07DD 1683 bsf 3,5
411 07DE 1303 bcf 3,6 ;carry unused
412 07DF 0087 movwf 7 ;volatile
413 ;lesson3.c: 18: TRISD=0;
414 07E0 0188 clrf 8 ;volatile
415 ;lesson3.c: 19: TRISB=0;
416 07E1 0186 clrf 6 ;volatile
417 ;lesson3.c: 20: PORTB=0XFF;
418 07E2 30FF movlw -1
419 07E3 1283 bcf 3,5
420 07E4 0086 movwf 6 ;volatile
421 ;lesson3.c: 21: }
422 07E5 0008 return
423 ;lesson3.c: 110: void main()
424 ;lesson3.c: 111: {
425 07E6 _main
426 ;lesson3.c: 112: init();
427 07E6 27DC fcall _init
428 07E7 l42
429 ;lesson3.c: 113: while(1)
430 ;lesson3.c: 114: {
431 07E7 2777 fcall _keyscan
432 ;lesson3.c: 116: display();
433 07E8 26F6 fcall _display
434 ;lesson3.c: 117: }
435 07E9 2FE7 goto l42
436
437 psect text5
438 0000
439 0000
440 0000
441 0000
442 0000
443 0000
444 0000
445 0000
446 0000
447 0000
448 0000
449 0000
450 0000
451 0000
452 0000
453 0000
454 0000
455 0000
456 0000
457 0000
458 0000
459 0000
460 0000
461 0000
462 0000
463 0000
464 0000
465 0000
466 0000
467 0000
468 0000
469 0000
470 0000
471 0000
472 0000
473 0000
474 0000
475 0000
476 0000
477 0000
478 0000
479 0000
480 0000
481 0000
482 0000
483 0000
484 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -