📄 main.lis
字号:
013A .dbline 44
013A ; KeyValue=0;break;
013A 6627 clr R22
013C .dbline 44
013C 40C0 rjmp L9
013E L17:
013E .dbline 46
013E ;
013E ; case 115:kk=5;displayint(0x98,kk);
013E 85E0 ldi R24,5
0140 A82E mov R10,R24
0142 .dbline 46
0142 282F mov R18,R24
0144 3327 clr R19
0146 08E9 ldi R16,152
0148 10E0 ldi R17,0
014A 00D0 rcall _displayint
014C .dbline 47
014C ; zhishi=nrf2401A_RD();
014C 00D0 rcall _nrf2401A_RD
014E 00934200 sts _zhishi,R16
0152 .dbline 48
0152 ; displayint(0x9a,zhishi);
0152 202F mov R18,R16
0154 3327 clr R19
0156 0AE9 ldi R16,154
0158 10E0 ldi R17,0
015A 00D0 rcall _displayint
015C .dbline 49
015C ; KeyValue=0;break;
015C 6627 clr R22
015E .dbline 49
015E 2FC0 rjmp L9
0160 L18:
0160 .dbline 50
0160 ; case 116:kk=6;displayint(0x98,kk);KeyValue=0;break;
0160 86E0 ldi R24,6
0162 A82E mov R10,R24
0164 .dbline 50
0164 282F mov R18,R24
0166 3327 clr R19
0168 08E9 ldi R16,152
016A 10E0 ldi R17,0
016C 00D0 rcall _displayint
016E .dbline 50
016E 6627 clr R22
0170 .dbline 50
0170 26C0 rjmp L9
0172 L19:
0172 .dbline 51
0172 ; case 108:kk=7;displayint(0x98,kk);KeyValue=0;break;
0172 87E0 ldi R24,7
0174 A82E mov R10,R24
0176 .dbline 51
0176 282F mov R18,R24
0178 3327 clr R19
017A 08E9 ldi R16,152
017C 10E0 ldi R17,0
017E 00D0 rcall _displayint
0180 .dbline 51
0180 6627 clr R22
0182 .dbline 51
0182 1DC0 rjmp L9
0184 L20:
0184 .dbline 52
0184 ; case 117:kk=8;displayint(0x98,kk);KeyValue=0;break;
0184 88E0 ldi R24,8
0186 A82E mov R10,R24
0188 .dbline 52
0188 282F mov R18,R24
018A 3327 clr R19
018C 08E9 ldi R16,152
018E 10E0 ldi R17,0
0190 00D0 rcall _displayint
0192 .dbline 52
0192 6627 clr R22
0194 .dbline 52
0194 14C0 rjmp L9
0196 L21:
0196 .dbline 53
0196 ; case 125:kk=9;displayint(0x98,kk);KeyValue=0;break;
0196 89E0 ldi R24,9
0198 A82E mov R10,R24
019A .dbline 53
019A 282F mov R18,R24
019C 3327 clr R19
019E 08E9 ldi R16,152
01A0 10E0 ldi R17,0
01A2 00D0 rcall _displayint
01A4 .dbline 53
01A4 6627 clr R22
01A6 .dbline 53
01A6 0BC0 rjmp L9
01A8 L22:
01A8 .dbline 54
01A8 ; case 90: kk='k'; KeyValue=0;
01A8 8BE6 ldi R24,107
01AA A82E mov R10,R24
01AC .dbline 54
01AC 6627 clr R22
01AE .dbline 55
01AE ; lcd_write_comm(0x98);
01AE 08E9 ldi R16,152
01B0 10E0 ldi R17,0
01B2 00D0 rcall _lcd_write_comm
01B4 .dbline 56
01B4 ; lcd_write_data('k');
01B4 0BE6 ldi R16,107
01B6 10E0 ldi R17,0
01B8 00D0 rcall _lcd_write_data
01BA .dbline 57
01BA ; break;
01BA 01C0 rjmp L9
01BC L8:
01BC .dbline 58
01BC ; default :KeyValue=0;break;
01BC 6627 clr R22
01BE .dbline 58
01BE L9:
01BE .dbline 62
01BE L3:
01BE .dbline 19
01BE 26CF rjmp L2
01C0 X1:
01C0 .dbline -2
01C0 L1:
01C0 2296 adiw R28,2
01C2 .dbline 0 ; func end
01C2 0895 ret
01C4 .dbsym l i 3 i
01C4 .dbsym l detect 3 c
01C4 .dbsym r kk 10 c
01C4 .dbsym r KeyValue 22 c
01C4 .dbend
.area vector(rom, abs)
.org 2
0002 E2C0 rjmp _int0_isr
.area text(rom, con, rel)
01C4 .dbfile F:\programme\nrf2401\main.c
.area data(ram, con, rel)
0043 .dbfile F:\programme\nrf2401\main.c
0043 L26:
0043 .blkb 1
.area idata
0043 00 .byte 0
.area data(ram, con, rel)
0044 .dbfile F:\programme\nrf2401\main.c
0044 L27:
0044 .blkb 1
.area idata
0044 00 .byte 0
.area data(ram, con, rel)
0045 .dbfile F:\programme\nrf2401\main.c
.area text(rom, con, rel)
01C4 .dbfile F:\programme\nrf2401\main.c
01C4 .dbfunc e int0_isr _int0_isr fV
01C4 .dbsym s index L27 c
01C4 .dbsym s IntNum L26 c
.even
01C4 _int0_isr::
01C4 2A92 st -y,R2
01C6 3A92 st -y,R3
01C8 4A92 st -y,R4
01CA 8A93 st -y,R24
01CC 9A93 st -y,R25
01CE EA93 st -y,R30
01D0 FA93 st -y,R31
01D2 2FB6 in R2,0x3f
01D4 2A92 st -y,R2
01D6 .dbline -1
01D6 .dbline 68
01D6 ; }
01D6 ;
01D6 ;
01D6 ; }
01D6 ; }
01D6 ;
01D6 ;
01D6 ; #pragma interrupt_handler int0_isr:2
01D6 ; void int0_isr(void)
01D6 ; {
01D6 .dbline 71
01D6 ; static unsigned char IntNum=0,index=0;
01D6 ;
01D6 ; if((IntNum>0)&&(IntNum<9))
01D6 2224 clr R2
01D8 30904300 lds R3,L26
01DC 2314 cp R2,R3
01DE C8F4 brsh L28
01E0 832D mov R24,R3
01E2 8930 cpi R24,9
01E4 B0F4 brsh L28
01E6 .dbline 72
01E6 ; {
01E6 .dbline 73
01E6 ; KeyI[index]>>=1;
01E6 80E0 ldi R24,<_KeyI
01E8 90E0 ldi R25,>_KeyI
01EA 20904400 lds R2,L27
01EE 3324 clr R3
01F0 280E add R2,R24
01F2 391E adc R3,R25
01F4 F101 movw R30,R2
01F6 4080 ldd R4,z+0
01F8 4694 lsr R4
01FA 4082 std z+0,R4
01FC .dbline 74
01FC ; if(PINB&0x80)
01FC B79B sbis 0x16,7
01FE 09C0 rjmp L30
0200 .dbline 75
0200 ; KeyI[index]|=0x80;
0200 20904400 lds R2,L27
0204 3324 clr R3
0206 280E add R2,R24
0208 391E adc R3,R25
020A F101 movw R30,R2
020C 8081 ldd R24,z+0
020E 8068 ori R24,128
0210 8083 std z+0,R24
0212 L30:
0212 .dbline 76
0212 ; }
0212 L28:
0212 .dbline 78
0212 ;
0212 ; IntNum++;
0212 80914300 lds R24,L26
0216 8F5F subi R24,255 ; addi 1
0218 80934300 sts L26,R24
021C .dbline 80
021C ; // while (!Key_CLK); //等待PS/2CLK拉高 use??????
021C ; if(IntNum>10)
021C 8AE0 ldi R24,10
021E 20904300 lds R2,L26
0222 8215 cp R24,R2
0224 88F4 brsh L32
0226 .dbline 81
0226 ; {
0226 .dbline 82
0226 ; IntNum=0;
0226 2224 clr R2
0228 20924300 sts L26,R2
022C .dbline 83
022C ; index++;
022C 80914400 lds R24,L27
0230 8F5F subi R24,255 ; addi 1
0232 80934400 sts L27,R24
0236 .dbline 84
0236 ; if(index==3)
0236 8330 cpi R24,3
0238 39F4 brne L34
023A .dbline 85
023A ; {
023A .dbline 86
023A ; IntNum=0;
023A 20924300 sts L26,R2
023E .dbline 87
023E ; index=0;
023E 20924400 sts L27,R2
0242 .dbline 88
0242 ; KeyFlag=1;
0242 81E0 ldi R24,1
0244 80934100 sts _KeyFlag,R24
0248 .dbline 89
0248 ; }
0248 L34:
0248 .dbline 90
0248 L32:
0248 .dbline -2
0248 L25:
0248 2990 ld R2,y+
024A 2FBE out 0x3f,R2
024C F991 ld R31,y+
024E E991 ld R30,y+
0250 9991 ld R25,y+
0252 8991 ld R24,y+
0254 4990 ld R4,y+
0256 3990 ld R3,y+
0258 2990 ld R2,y+
025A .dbline 0 ; func end
025A 1895 reti
025C .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\programme\nrf2401\main.c
0000 _KeyI::
0000 .blkb 3
0003 .dbsym e KeyI _KeyI A[3:3]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -