📄 signal.lis
字号:
0140 .dbline 129
0140 ; DDRA=0x0f; // 有键按下,把相应列(高位)的电平拉低
0140 8FE0 ldi R24,15
0142 8ABB out 0x1a,R24
0144 .dbline 130
0144 ; asm("nop");
0144 0000 nop
0146 .dbline 131
0146 ; i=PINA; //获取列的地址,即
0146 09B3 in R16,0x19
0148 .dbline 132
0148 ; DDRA=0xff;
0148 8FEF ldi R24,255
014A 8ABB out 0x1a,R24
014C .dbline 133
014C ; PORTA=0x0f;
014C 8FE0 ldi R24,15
014E 8BBB out 0x1b,R24
0150 .dbline 134
0150 ; DDRA=0xf0; //把相应行的电平拉低
0150 80EF ldi R24,240
0152 8ABB out 0x1a,R24
0154 .dbline 135
0154 ; asm("nop");
0154 0000 nop
0156 .dbline 136
0156 ; i|=PINA; //获取行的地址 ,行与列的地址决定按键的位置
0156 29B2 in R2,0x19
0158 0229 or R16,R2
015A .dbline 137
015A ; switch(i)
015A 1127 clr R17
015C 0B3B cpi R16,187
015E E0E0 ldi R30,0
0160 1E07 cpc R17,R30
0162 09F4 brne X22
0164 68C0 rjmp L26
0166 X22:
0166 X7:
0166 0D3B cpi R16,189
0168 E0E0 ldi R30,0
016A 1E07 cpc R17,R30
016C 09F4 brne X23
016E 63C0 rjmp L26
0170 X23:
0170 X8:
0170 8DEB ldi R24,189
0172 90E0 ldi R25,0
0174 8017 cp R24,R16
0176 9107 cpc R25,R17
0178 D4F0 brlt L41
017A X9:
017A L40:
017A 0B37 cpi R16,123
017C E0E0 ldi R30,0
017E 1E07 cpc R17,R30
0180 09F4 brne X24
0182 3CC0 rjmp L31
0184 X24:
0184 X10:
0184 0D37 cpi R16,125
0186 E0E0 ldi R30,0
0188 1E07 cpc R17,R30
018A 09F4 brne X25
018C 46C0 rjmp L32
018E X25:
018E X11:
018E 8DE7 ldi R24,125
0190 90E0 ldi R25,0
0192 8017 cp R24,R16
0194 9107 cpc R25,R17
0196 2CF0 brlt L43
0198 X12:
0198 L42:
0198 0737 cpi R16,119
019A E0E0 ldi R30,0
019C 1E07 cpc R17,R30
019E 19F1 breq L28
01A0 X13:
01A0 4AC0 rjmp L26
01A2 L43:
01A2 073B cpi R16,183
01A4 E0E0 ldi R30,0
01A6 1E07 cpc R17,R30
01A8 09F4 brne X26
01AA 45C0 rjmp L26
01AC X26:
01AC X14:
01AC 44C0 rjmp L26
01AE L41:
01AE 0B3D cpi R16,219
01B0 E0E0 ldi R30,0
01B2 1E07 cpc R17,R30
01B4 09F4 brne X27
01B6 3FC0 rjmp L26
01B8 X27:
01B8 X15:
01B8 8BED ldi R24,219
01BA 90E0 ldi R25,0
01BC 8017 cp R24,R16
01BE 9107 cpc R25,R17
01C0 2CF0 brlt L45
01C2 X16:
01C2 L44:
01C2 073D cpi R16,215
01C4 E0E0 ldi R30,0
01C6 1E07 cpc R17,R30
01C8 B1F1 breq L26
01CA X17:
01CA 35C0 rjmp L26
01CC L45:
01CC 073E cpi R16,231
01CE E0E0 ldi R30,0
01D0 1E07 cpc R17,R30
01D2 89F1 breq L26
01D4 X18:
01D4 073E cpi R16,231
01D6 E0E0 ldi R30,0
01D8 1E07 cpc R17,R30
01DA 6CF1 brlt L26
01DC X19:
01DC L46:
01DC 0B3E cpi R16,235
01DE E0E0 ldi R30,0
01E0 1E07 cpc R17,R30
01E2 49F1 breq L26
01E4 X20:
01E4 28C0 rjmp L26
01E6 L28:
01E6 .dbline 140
01E6 ; {
01E6 ; case 0x77 :
01E6 ; {
01E6 .dbline 141
01E6 ; func++;
01E6 80910000 lds R24,_func
01EA 8F5F subi R24,255 ; addi 1
01EC 80930000 sts _func,R24
01F0 .dbline 142
01F0 ; if(func==4)
01F0 8430 cpi R24,4
01F2 09F5 brne L26
01F4 X21:
01F4 .dbline 143
01F4 ; func=0x00; break;
01F4 2224 clr R2
01F6 20920000 sts _func,R2
01FA .dbline 143
01FA 1DC0 rjmp L26
01FC L31:
01FC .dbline 146
01FC ; }
01FC ; case 0x7B : //频率加250Hz
01FC ; {
01FC .dbline 147
01FC ; th1-=f1;
01FC 20900500 lds R2,_f1
0200 30900300 lds R3,_th1
0204 3218 sub R3,R2
0206 30920300 sts _th1,R3
020A .dbline 148
020A ; tl1-=f2;
020A 20900600 lds R2,_f2
020E 30900400 lds R3,_tl1
0212 3218 sub R3,R2
0214 30920400 sts _tl1,R3
0218 .dbline 149
0218 ; break;
0218 0EC0 rjmp L26
021A L32:
021A .dbline 152
021A ; }
021A ; case 0x7D : ////频率减250Hz
021A ; {
021A .dbline 153
021A ; th1+=f1;
021A 20900500 lds R2,_f1
021E 30900300 lds R3,_th1
0222 320C add R3,R2
0224 30920300 sts _th1,R3
0228 .dbline 154
0228 ; tl1+=f2;
0228 20900600 lds R2,_f2
022C 30900400 lds R3,_tl1
0230 320C add R3,R2
0232 30920400 sts _tl1,R3
0236 .dbline 155
0236 ; break;
0236 .dbline 193
0236 ; }
0236 ; /*case 0xEE :
0236 ; {
0236 ; func++;
0236 ; if(func==4)
0236 ; func=0x00; break;
0236 ; }
0236 ; case 0xDE :
0236 ; {
0236 ; func++;
0236 ; if(func==4)
0236 ; func=0x00; break;
0236 ; }
0236 ; case 0xBE :
0236 ; {
0236 ; func++;
0236 ; if(func==4)
0236 ; func=0x00; break;
0236 ; }
0236 ; case 0x7E :
0236 ; {
0236 ; func++;
0236 ; if(func==4)
0236 ; func=0x00; break;
0236 ; }
0236 ; case 0xED :
0236 ; {
0236 ; func++;
0236 ; if(func==4)
0236 ; func=0x00; break;
0236 ; }
0236 ; case 0xDD :
0236 ; {
0236 ; func++;
0236 ; if(func==4)
0236 ; func=0x00; break;
0236 ; } */
0236 ; case 0xBD : ; break;
0236 .dbline 193
0236 .dbline 194
0236 ; case 0xEB : ; break;
0236 .dbline 194
0236 .dbline 195
0236 ; case 0xDB : ; break;
0236 .dbline 195
0236 .dbline 196
0236 ; case 0xBB : ; break;
0236 .dbline 196
0236 .dbline 197
0236 ; case 0xE7 : ; break;
0236 .dbline 197
0236 .dbline 198
0236 ; case 0xD7 : ; break;
0236 .dbline 198
0236 .dbline 199
0236 ; case 0xB7 : ; break;
0236 .dbline 199
0236 .dbline 202
0236 ;
0236 ;
0236 ; default : break;
0236 L26:
0236 .dbline -2
0236 L24:
0236 .dbline 0 ; func end
0236 0895 ret
0238 .dbsym l num 1 c
0238 .dbsym r i 16 c
0238 .dbend
0238 .dbfunc e main _main fV
.even
0238 _main::
0238 .dbline -1
0238 .dbline 209
0238 ; }
0238 ;
0238 ; }
0238 ;
0238 ;
0238 ; void main()
0238 ; {
0238 .dbline 212
0238 ; //set_cw1;
0238 ; //set_xwr2;
0238 ; init_devices();
0238 72DF rcall _init_devices
023A 01C0 rjmp L49
023C L48:
023C .dbline 214
023C ; while(1)
023C ; {
023C .dbline 215
023C ; key_read();
023C 7DDF rcall _key_read
023E .dbline 217
023E ;
023E ; }
023E L49:
023E .dbline 213
023E FECF rjmp L48
0240 X28:
0240 .dbline -2
0240 L47:
0240 .dbline 0 ; func end
0240 0895 ret
0242 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\OK\DA0832\signal.C
0000 _func::
0000 .blkb 1
0001 .dbsym e func _func c
0001 ;
0001 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -