📄 键盘.lis
字号:
0092 .dbline -2
0092 L10:
0092 .dbline 0 ; func end
0092 0C940000 xjmp pop_xgsetF00C
0096 .dbsym l l 1 c
0096 .dbsym l k 1 c
0096 .dbsym r key_value 10 c
0096 .dbsym r j 22 c
0096 .dbsym r i 20 c
0096 .dbend
0096 .dbfunc e main _main fV
.area func_lit(rom, con, rel)
0000 L63:
0000 6E00 .word `L32
0002 7200 .word `L33
0004 7600 .word `L35
0006 7A00 .word `L37
0008 7E00 .word `L39
000A 8200 .word `L41
000C 8600 .word `L43
000E 8A00 .word `L45
0010 8E00 .word `L47
0012 9200 .word `L49
0014 9600 .word `L51
0016 9A00 .word `L53
0018 9E00 .word `L55
001A A200 .word `L57
001C A600 .word `L59
001E AA00 .word `L61
.area text(rom, con, rel)
; m -> R10
.even
0096 _main::
0096 .dbline -1
0096 .dbline 40
0096 ; }
0096 ; }
0096 ; void main()
0096 ; {
0096 .dbline 42
0096 ; unsigned char m;
0096 ; PORTA=0xFF;
0096 8FEF ldi R24,255
0098 8BBB out 0x1b,R24
009A .dbline 43
009A ; DDRA=0xFF;
009A 8ABB out 0x1a,R24
009C .dbline 44
009C ; PORTD=0x0F;
009C 8FE0 ldi R24,15
009E 82BB out 0x12,R24
00A0 .dbline 45
00A0 ; DDRD=0xF0;
00A0 80EF ldi R24,240
00A2 81BB out 0x11,R24
00A4 5AC0 xjmp L27
00A6 L26:
00A6 .dbline 47
00A6 ; while(1)
00A6 ; {
00A6 .dbline 48
00A6 ; m=read_key(4);
00A6 04E0 ldi R16,4
00A8 BFDF xcall _read_key
00AA A02E mov R10,R16
00AC .dbline 49
00AC ; switch(m)
00AC 4A2D mov R20,R10
00AE 5527 clr R21
00B0 4030 cpi R20,0
00B2 E0E0 ldi R30,0
00B4 5E07 cpc R21,R30
00B6 0CF4 brge X11
00B8 50C0 xjmp L29
00BA X11:
00BA X7:
00BA 8FE0 ldi R24,15
00BC 90E0 ldi R25,0
00BE 8417 cp R24,R20
00C0 9507 cpc R25,R21
00C2 0CF4 brge X12
00C4 4AC0 xjmp L29
00C6 X12:
00C6 X8:
00C6 80E0 ldi R24,<L63
00C8 90E0 ldi R25,>L63
00CA FA01 movw R30,R20
00CC EE0F lsl R30
00CE FF1F rol R31
00D0 E80F add R30,R24
00D2 F91F adc R31,R25
00D4 2590 lpm R2,Z+
00D6 3490 lpm R3,Z
00D8 F101 movw R30,R2
00DA 0994 ijmp
00DC X9:
00DC .dbfile D:\学习工具\单片机程序\键盘\键盘.c
00DC .dbline 50
00DC ; {
00DC L32:
00DC .dbline 52
00DC ;
00DC ; case 0:PORTA=A[0];break;
00DC 20900000 lds R2,_A
00E0 2BBA out 0x1b,R2
00E2 .dbline 52
00E2 3BC0 xjmp L30
00E4 L33:
00E4 .dbline 53
00E4 ; case 1:PORTA=A[1];break;
00E4 20900100 lds R2,_A+1
00E8 2BBA out 0x1b,R2
00EA .dbline 53
00EA 37C0 xjmp L30
00EC L35:
00EC .dbline 54
00EC ; case 2:PORTA=A[2];break;
00EC 20900200 lds R2,_A+2
00F0 2BBA out 0x1b,R2
00F2 .dbline 54
00F2 33C0 xjmp L30
00F4 L37:
00F4 .dbline 55
00F4 ; case 3:PORTA=A[3];break;
00F4 20900300 lds R2,_A+3
00F8 2BBA out 0x1b,R2
00FA .dbline 55
00FA 2FC0 xjmp L30
00FC L39:
00FC .dbline 56
00FC ; case 4:PORTA=A[4];break;
00FC 20900400 lds R2,_A+4
0100 2BBA out 0x1b,R2
0102 .dbline 56
0102 2BC0 xjmp L30
0104 L41:
0104 .dbline 57
0104 ; case 5:PORTA=A[5];break;
0104 20900500 lds R2,_A+5
0108 2BBA out 0x1b,R2
010A .dbline 57
010A 27C0 xjmp L30
010C L43:
010C .dbline 58
010C ; case 6:PORTA=A[6];break;
010C 20900600 lds R2,_A+6
0110 2BBA out 0x1b,R2
0112 .dbline 58
0112 23C0 xjmp L30
0114 L45:
0114 .dbline 59
0114 ; case 7:PORTA=A[7];break;
0114 20900700 lds R2,_A+7
0118 2BBA out 0x1b,R2
011A .dbline 59
011A 1FC0 xjmp L30
011C L47:
011C .dbline 60
011C ; case 8:PORTA=A[8];break;
011C 20900800 lds R2,_A+8
0120 2BBA out 0x1b,R2
0122 .dbline 60
0122 1BC0 xjmp L30
0124 L49:
0124 .dbline 61
0124 ; case 9:PORTA=A[9];break;
0124 20900900 lds R2,_A+9
0128 2BBA out 0x1b,R2
012A .dbline 61
012A 17C0 xjmp L30
012C L51:
012C .dbline 62
012C ; case 10:PORTA=A[10];break;
012C 20900A00 lds R2,_A+10
0130 2BBA out 0x1b,R2
0132 .dbline 62
0132 13C0 xjmp L30
0134 L53:
0134 .dbline 63
0134 ; case 11:PORTA=A[11];break;
0134 20900B00 lds R2,_A+11
0138 2BBA out 0x1b,R2
013A .dbline 63
013A 0FC0 xjmp L30
013C L55:
013C .dbline 64
013C ; case 12:PORTA=A[12];break;
013C 20900C00 lds R2,_A+12
0140 2BBA out 0x1b,R2
0142 .dbline 64
0142 0BC0 xjmp L30
0144 L57:
0144 .dbline 65
0144 ; case 13:PORTA=A[13];break;
0144 20900D00 lds R2,_A+13
0148 2BBA out 0x1b,R2
014A .dbline 65
014A 07C0 xjmp L30
014C L59:
014C .dbline 66
014C ; case 14:PORTA=A[14];break;
014C 20900E00 lds R2,_A+14
0150 2BBA out 0x1b,R2
0152 .dbline 66
0152 03C0 xjmp L30
0154 L61:
0154 .dbline 67
0154 ; case 15:PORTA=A[15];break;
0154 20900F00 lds R2,_A+15
0158 2BBA out 0x1b,R2
015A .dbline 67
015A L29:
015A L30:
015A .dbline 69
015A ; }
015A ; }
015A L27:
015A .dbline 46
015A A5CF xjmp L26
015C X10:
015C .dbline -2
015C L25:
015C .dbline 0 ; func end
015C 0895 ret
015E .dbsym r m 10 c
015E .dbend
015E ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -