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

📄 4x4key_main.lis

📁 4*4按键扫描程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01FE                   .dbline 18
 01FE 402F              mov R20,R16
 0200 5527              clr R21
 0202 4132              cpi R20,33
 0204 E0E0              ldi R30,0
 0206 5E07              cpc R21,R30
 0208 09F4              brne X33
 020A 52C0              xjmp L39
 020C           X33:
 020C           X15:
 020C 4232              cpi R20,34
 020E E0E0              ldi R30,0
 0210 5E07              cpc R21,R30
 0212 09F4              brne X34
 0214 55C0              xjmp L43
 0216           X34:
 0216           X16:
 0216 4432              cpi R20,36
 0218 E0E0              ldi R30,0
 021A 5E07              cpc R21,R30
 021C 09F4              brne X35
 021E 58C0              xjmp L47
 0220           X35:
 0220           X17:
 0220 4832              cpi R20,40
 0222 E0E0              ldi R30,0
 0224 5E07              cpc R21,R30
 0226 09F4              brne X36
 0228 5BC0              xjmp L51
 022A           X36:
 022A           X18:
 022A 88E2              ldi R24,40
 022C 90E0              ldi R25,0
 022E 8417              cp R24,R20
 0230 9507              cpc R25,R21
 0232 ACF0              brlt L55
 0234           X19:
 0234           L54:
 0234 4131              cpi R20,17
 0236 E0E0              ldi R30,0
 0238 5E07              cpc R21,R30
 023A 09F4              brne X37
 023C 37C0              xjmp L38
 023E           X37:
 023E           X20:
 023E 4231              cpi R20,18
 0240 E0E0              ldi R30,0
 0242 5E07              cpc R21,R30
 0244 09F4              brne X38
 0246 3AC0              xjmp L42
 0248           X38:
 0248           X21:
 0248 4431              cpi R20,20
 024A E0E0              ldi R30,0
 024C 5E07              cpc R21,R30
 024E 09F4              brne X39
 0250 3DC0              xjmp L46
 0252           X39:
 0252           X22:
 0252 4831              cpi R20,24
 0254 E0E0              ldi R30,0
 0256 5E07              cpc R21,R30
 0258 09F4              brne X40
 025A 40C0              xjmp L50
 025C           X40:
 025C           X23:
 025C 46C0              xjmp L35
 025E           L55:
 025E 4134              cpi R20,65
 0260 E0E0              ldi R30,0
 0262 5E07              cpc R21,R30
 0264 39F1              breq L40
 0266           X24:
 0266 4234              cpi R20,66
 0268 E0E0              ldi R30,0
 026A 5E07              cpc R21,R30
 026C 59F1              breq L44
 026E           X25:
 026E 4434              cpi R20,68
 0270 E0E0              ldi R30,0
 0272 5E07              cpc R21,R30
 0274 79F1              breq L48
 0276           X26:
 0276 4834              cpi R20,72
 0278 E0E0              ldi R30,0
 027A 5E07              cpc R21,R30
 027C 09F4              brne X41
 027E 32C0              xjmp L52
 0280           X41:
 0280           X27:
 0280 4134              cpi R20,65
 0282 E0E0              ldi R30,0
 0284 5E07              cpc R21,R30
 0286 0CF4              brge X42
 0288 30C0              xjmp L35
 028A           X42:
 028A           X28:
 028A           L56:
 028A 4138              cpi R20,129
 028C E0E0              ldi R30,0
 028E 5E07              cpc R21,R30
 0290 99F0              breq L41
 0292           X29:
 0292 4238              cpi R20,130
 0294 E0E0              ldi R30,0
 0296 5E07              cpc R21,R30
 0298 B9F0              breq L45
 029A           X30:
 029A 4438              cpi R20,132
 029C E0E0              ldi R30,0
 029E 5E07              cpc R21,R30
 02A0 D9F0              breq L49
 02A2           X31:
 02A2 4838              cpi R20,136
 02A4 E0E0              ldi R30,0
 02A6 5E07              cpc R21,R30
 02A8 F9F0              breq L53
 02AA           X32:
 02AA 1FC0              xjmp L35
 02AC           L38:
 02AC                   .dbline 21
 02AC 01E0              ldi R16,1
 02AE                   .dbline 21
 02AE 1DC0              xjmp L36
 02B0           L39:
 02B0                   .dbline 23
 02B0 02E0              ldi R16,2
 02B2                   .dbline 23
 02B2 1BC0              xjmp L36
 02B4           L40:
 02B4                   .dbline 25
 02B4 03E0              ldi R16,3
 02B6                   .dbline 25
 02B6 19C0              xjmp L36
 02B8           L41:
 02B8                   .dbline 27
 02B8 04E0              ldi R16,4
 02BA                   .dbline 27
 02BA 17C0              xjmp L36
 02BC           L42:
 02BC                   .dbline 29
 02BC 05E0              ldi R16,5
 02BE                   .dbline 29
 02BE 15C0              xjmp L36
 02C0           L43:
 02C0                   .dbline 31
 02C0 06E0              ldi R16,6
 02C2                   .dbline 31
 02C2 13C0              xjmp L36
 02C4           L44:
 02C4                   .dbline 33
 02C4 07E0              ldi R16,7
 02C6                   .dbline 33
 02C6 11C0              xjmp L36
 02C8           L45:
 02C8                   .dbline 35
 02C8 08E0              ldi R16,8
 02CA                   .dbline 35
 02CA 0FC0              xjmp L36
 02CC           L46:
 02CC                   .dbline 37
 02CC           ;   case 0x14:
 02CC           ;   key=0x09;break;
 02CC 09E0              ldi R16,9
 02CE                   .dbline 37
 02CE 0DC0              xjmp L36
 02D0           L47:
 02D0                   .dbline 39
 02D0           ;   case 0x24:
 02D0           ;   key=0x0a;break;
 02D0 0AE0              ldi R16,10
 02D2                   .dbline 39
 02D2 0BC0              xjmp L36
 02D4           L48:
 02D4                   .dbline 41
 02D4           ;   case 0x44:
 02D4           ;   key=0x0b;break;
 02D4 0BE0              ldi R16,11
 02D6                   .dbline 41
 02D6 09C0              xjmp L36
 02D8           L49:
 02D8                   .dbline 43
 02D8           ;   case 0x84:
 02D8           ;   key=0x0c;break;
 02D8 0CE0              ldi R16,12
 02DA                   .dbline 43
 02DA 07C0              xjmp L36
 02DC           L50:
 02DC                   .dbline 45
 02DC           ;   case 0x18:
 02DC           ;   key=0x0d;break;
 02DC 0DE0              ldi R16,13
 02DE                   .dbline 45
 02DE 05C0              xjmp L36
 02E0           L51:
 02E0                   .dbline 47
 02E0           ;   case 0x28:
 02E0           ;   key=0x0e;break;
 02E0 0EE0              ldi R16,14
 02E2                   .dbline 47
 02E2 03C0              xjmp L36
 02E4           L52:
 02E4                   .dbline 49
 02E4           ;   case 0x48:
 02E4           ;   key=0xa0f;break;
 02E4 0FE0              ldi R16,15
 02E6                   .dbline 49
 02E6 01C0              xjmp L36
 02E8           L53:
 02E8                   .dbline 51
 02E8           ;   case 0x88:
 02E8           ;   key=0x10;break;
 02E8 00E1              ldi R16,16
 02EA                   .dbline 51
 02EA           L35:
 02EA           L36:
 02EA                   .dbline 53
 02EA           ;   }
 02EA           ;   return(key);
 02EA 1127              clr R17
 02EC                   .dbline -2
 02EC           L34:
 02EC                   .dbline 0 ; func end
 02EC 5991              ld R21,y+
 02EE 4991              ld R20,y+
 02F0 0895              ret
 02F2                   .dbsym r key 16 c
 02F2                   .dbend
 02F2                   .dbfunc e main _main fI
 02F2           ;            tem -> R10
 02F2           ;            key -> R12
                        .even
 02F2           _main::
 02F2                   .dbline -1
 02F2                   .dbline 58
 02F2           ; }
 02F2           ; 
 02F2           ; //主函数
 02F2           ; main()
 02F2           ; {
 02F2                   .dbline 61
 02F2           ; uchar key,tem;
 02F2           ; //端口初始化
 02F2           ; DDRA=0xff;
 02F2 8FEF              ldi R24,255
 02F4 8ABB              out 0x1a,R24
 02F6                   .dbline 62
 02F6           ; PORTA=0xff;
 02F6 8BBB              out 0x1b,R24
 02F8                   .dbline 63
 02F8           ; DDRC=0xff;
 02F8 84BB              out 0x14,R24
 02FA                   .dbline 64
 02FA           ; PORTC=0xff;
 02FA 85BB              out 0x15,R24
 02FC                   .dbline 65
 02FC           ; DDRE=0x00;
 02FC 2224              clr R2
 02FE 22B8              out 0x2,R2
 0300                   .dbline 66
 0300           ; PORTE=0xff;
 0300 83B9              out 0x3,R24
 0302                   .dbline 67
 0302           ; DDRF=0xfc;
 0302 8CEF              ldi R24,252
 0304 80936100          sts 97,R24
 0308 08C0              xjmp L59
 030A           L58:
 030A                   .dbline 69
 030A           ; while(1)
 030A           ;      {
 030A                   .dbline 70
 030A           ;        key=key_value();    //读取键值
 030A E3DE              xcall _key_value
 030C C02E              mov R12,R16
 030E                   .dbline 71
 030E           ;        if(key!=0)
 030E 0023              tst R16
 0310 11F0              breq L61
 0312           X43:
 0312                   .dbline 72
 0312           ;          {
 0312                   .dbline 73
 0312           ;           tem=turn(key);   //转换译码
 0312 73DF              xcall _turn
 0314 A02E              mov R10,R16
 0316                   .dbline 74
 0316           ;          }
 0316           L61:
 0316                   .dbline 75
 0316           ;        disp(tem);         //显示键值
 0316 0A2D              mov R16,R10
 0318 21DF              xcall _disp
 031A                   .dbline 76
 031A           ;        }
 031A           L59:
 031A                   .dbline 68
 031A F7CF              xjmp L58
 031C           X44:
 031C                   .dbline -2
 031C           L57:
 031C                   .dbline 0 ; func end
 031C 0895              ret
 031E                   .dbsym r tem 10 c
 031E                   .dbsym r key 12 c
 031E                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\产品\开发板\光盘\16实验程序\4x4键盘\4x4key_main.c
 0000           _a3::
 0000                   .blkb 1
 0001                   .dbsym e a3 _a3 c
 0001           _a2::
 0001                   .blkb 1
 0002                   .dbsym e a2 _a2 c
 0002           _a1::
 0002                   .blkb 1
 0003                   .dbsym e a1 _a1 c
 0003           ; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -