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

📄 4x4key_main.lis

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