⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 键盘.lis

📁 本文为4*4键盘扫描程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 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 + -