📄 1602_main.lis
字号:
00F2 ; */
00F2 042F mov R16,R20
00F4 0058 subi R16,128 ; addi 128
00F6 A7DF xcall _LCD_write_com
00F8 .dbline 81
00F8 ; unsigned char get_key(void){
00F8 03C0 xjmp L29
00FA L28:
00FA .dbline 82
00FA ; unsigned char i;
00FA .dbline 83
00FA ; static unsigned char j;/*按键记录*/
00FA 042F mov R16,R20
00FC 0054 subi R16,64 ; addi 192
00FE A3DF xcall _LCD_write_com
0100 .dbline 84
0100 ; i = key_read();
0100 L29:
0100 .dbline 86
0100 ; if (i == 0x00){/*无有效按键按下*/
0100 ; j = 0x00;/*清除按键记录*/
0100 0C81 ldd R16,y+4
0102 005D subi R16,208 ; addi 48
0104 AEDF xcall _LCD_write_data
0106 .dbline -2
0106 L27:
0106 0E940000 xcall pop_gset2
010A .dbline 0 ; func end
010A 0895 ret
010C .dbsym l data_num 4 c
010C .dbsym r y 22 c
010C .dbsym r x 20 c
010C .dbend
010C .dbfunc e LCD_init _LCD_init fV
.even
010C _LCD_init::
010C .dbline -1
010C .dbline 90
010C ; return 0x00;/*程序退出*/
010C ; }
010C ; if (j == 0x00) {/*为新按键*/
010C ; j = i;/*保存本次采样结果*/
010C .dbline 92
010C ; delay_ms(10);/*去按键颤抖*/
010C ; i = key_read();
010C 8FEF ldi R24,255
010E 87BB out 0x17,R24
0110 .dbline 93
0110 ; if(i == j) {
0110 8AB3 in R24,0x1a
0112 8760 ori R24,7
0114 8ABB out 0x1a,R24
0116 .dbline 96
0116 ; return i;
0116 ; }
0116 ; }
0116 08E3 ldi R16,56
0118 96DF xcall _LCD_write_com
011A .dbline 97
011A ; return 0x00;
011A 05E0 ldi R16,5
011C 10E0 ldi R17,0
011E 7DDF xcall _delay_ms
0120 .dbline 98
0120 ; }
0120 08E3 ldi R16,56
0122 91DF xcall _LCD_write_com
0124 .dbline 99
0124 ;
0124 05E0 ldi R16,5
0126 10E0 ldi R17,0
0128 78DF xcall _delay_ms
012A .dbline 100
012A ;
012A 08E3 ldi R16,56
012C 8CDF xcall _LCD_write_com
012E .dbline 101
012E ; /*ADC采样函数,采样第7通道信号,采样分辨率256*/
012E 05E0 ldi R16,5
0130 10E0 ldi R17,0
0132 73DF xcall _delay_ms
0134 .dbline 102
0134 ; unsigned int get_ad(void) { //3.69KHZ
0134 08E3 ldi R16,56
0136 87DF xcall _LCD_write_com
0138 .dbline 104
0138 ; unsigned char hh,ll;
0138 ; unsigned int num=0;
0138 08E0 ldi R16,8
013A 85DF xcall _LCD_write_com
013C .dbline 105
013C ; // _CLI();
013C 01E0 ldi R16,1
013E 83DF xcall _LCD_write_com
0140 .dbline 106
0140 ; asm("cli");
0140 06E0 ldi R16,6
0142 81DF xcall _LCD_write_com
0144 .dbline 107
0144 ; DDRA = 0x00; /*方向输入*/
0144 05E0 ldi R16,5
0146 10E0 ldi R17,0
0148 68DF xcall _delay_ms
014A .dbline 108
014A ; PORTA = 0x7F; /*打开上拉*/
014A 0CE0 ldi R16,12
014C 7CDF xcall _LCD_write_com
014E .dbline -2
014E L30:
014E .dbline 0 ; func end
014E 0895 ret
0150 .dbend
0150 .dbfile F:\tem\1602AN~1\1602_main.c
0150 .dbfunc e key_read _key_read fc
0150 ; k -> R20
.even
0150 _key_read::
0150 0E940000 xcall push_gset1
0154 .dbline -1
0154 .dbline 31
0154 .dbline 37
0154 2224 clr R2
0156 21BA out 0x11,R2
0158 .dbline 38
0158 8FE0 ldi R24,15
015A 82BB out 0x12,R24
015C .dbline 39
015C 80EF ldi R24,240
015E 81BB out 0x11,R24
0160 .dbline 40
0160 0AE0 ldi R16,10
0162 10E0 ldi R17,0
0164 5ADF xcall _delay_ms
0166 .dbline 41
0166 40B3 in R20,0x10
0168 .dbline 43
0168 2224 clr R2
016A 21BA out 0x11,R2
016C .dbline 44
016C 80EF ldi R24,240
016E 82BB out 0x12,R24
0170 .dbline 45
0170 8FE0 ldi R24,15
0172 81BB out 0x11,R24
0174 .dbline 46
0174 0AE0 ldi R16,10
0176 10E0 ldi R17,0
0178 50DF xcall _delay_ms
017A .dbline 47
017A 20B2 in R2,0x10
017C 4229 or R20,R2
017E .dbline 49
017E 2224 clr R2
0180 21BA out 0x11,R2
0182 .dbline 50
0182 8FEF ldi R24,255
0184 82BB out 0x12,R24
0186 .dbline 53
0186 5527 clr R21
0188 473B cpi R20,183
018A E0E0 ldi R30,0
018C 5E07 cpc R21,R30
018E 09F4 brne X1
0190 6BC0 xjmp L49
0192 X1:
0192 4B3B cpi R20,187
0194 E0E0 ldi R30,0
0196 5E07 cpc R21,R30
0198 09F4 brne X2
019A 5EC0 xjmp L45
019C X2:
019C 4D3B cpi R20,189
019E E0E0 ldi R30,0
01A0 5E07 cpc R21,R30
01A2 09F4 brne X3
01A4 51C0 xjmp L41
01A6 X3:
01A6 4E3B cpi R20,190
01A8 E0E0 ldi R30,0
01AA 5E07 cpc R21,R30
01AC 09F4 brne X4
01AE 44C0 xjmp L37
01B0 X4:
01B0 8EEB ldi R24,190
01B2 90E0 ldi R25,0
01B4 8417 cp R24,R20
01B6 9507 cpc R25,R21
01B8 A4F0 brlt L52
01BA L51:
01BA 4737 cpi R20,119
01BC E0E0 ldi R30,0
01BE 5E07 cpc R21,R30
01C0 09F4 brne X5
01C2 54C0 xjmp L50
01C4 X5:
01C4 4B37 cpi R20,123
01C6 E0E0 ldi R30,0
01C8 5E07 cpc R21,R30
01CA 09F4 brne X6
01CC 47C0 xjmp L46
01CE X6:
01CE 4D37 cpi R20,125
01D0 E0E0 ldi R30,0
01D2 5E07 cpc R21,R30
01D4 09F4 brne X7
01D6 3AC0 xjmp L42
01D8 X7:
01D8 4E37 cpi R20,126
01DA E0E0 ldi R30,0
01DC 5E07 cpc R21,R30
01DE 71F1 breq L38
01E0 47C0 xjmp L32
01E2 L52:
01E2 473D cpi R20,215
01E4 E0E0 ldi R30,0
01E6 5E07 cpc R21,R30
01E8 09F4 brne X8
01EA 3CC0 xjmp L48
01EC X8:
01EC 4B3D cpi R20,219
01EE E0E0 ldi R30,0
01F0 5E07 cpc R21,R30
01F2 81F1 breq L44
01F4 4D3D cpi R20,221
01F6 E0E0 ldi R30,0
01F8 5E07 cpc R21,R30
01FA 21F1 breq L40
01FC 4E3D cpi R20,222
01FE E0E0 ldi R30,0
0200 5E07 cpc R21,R30
0202 C1F0 breq L36
0204 473D cpi R20,215
0206 E0E0 ldi R30,0
0208 5E07 cpc R21,R30
020A 0CF4 brge X9
020C 31C0 xjmp L32
020E X9:
020E L53:
020E 473E cpi R20,231
0210 E0E0 ldi R30,0
0212 5E07 cpc R21,R30
0214 29F1 breq L47
0216 4B3E cpi R20,235
0218 E0E0 ldi R30,0
021A 5E07 cpc R21,R30
021C C9F0 breq L43
021E 4D3E cpi R20,237
0220 E0E0 ldi R30,0
0222 5E07 cpc R21,R30
0224 69F0 breq L39
0226 4E3E cpi R20,238
0228 E0E0 ldi R30,0
022A 5E07 cpc R21,R30
022C 09F0 breq L35
022E 20C0 xjmp L32
0230 X0:
0230 .dbline 53
0230 L35:
0230 .dbline 55
0230 01E0 ldi R16,1
0232 1FC0 xjmp L31
0234 L36:
0234 .dbline 56
0234 02E0 ldi R16,2
0236 1DC0 xjmp L31
0238 L37:
0238 .dbline 57
0238 03E0 ldi R16,3
023A 1BC0 xjmp L31
023C L38:
023C .dbline 58
023C 04E0 ldi R16,4
023E 19C0 xjmp L31
0240 L39:
0240 .dbline 59
0240 05E0 ldi R16,5
0242 17C0 xjmp L31
0244 L40:
0244 .dbline 60
0244 06E0 ldi R16,6
0246 15C0 xjmp L31
0248 L41:
0248 .dbline 61
0248 07E0 ldi R16,7
024A 13C0 xjmp L31
024C L42:
024C .dbline 62
024C 08E0 ldi R16,8
024E 11C0 xjmp L31
0250 L43:
0250 .dbline 63
0250 09E0 ldi R16,9
0252 0FC0 xjmp L31
0254 L44:
0254 .dbline 64
0254 0CE2 ldi R16,44
0256 0DC0 xjmp L31
0258 L45:
0258 .dbline 65
0258 07E3 ldi R16,55
025A 0BC0 xjmp L31
025C L46:
025C .dbline 66
025C 02E4 ldi R16,66
025E 09C0 xjmp L31
0260 L47:
0260 .dbline 67
0260 0DE4 ldi R16,77
0262 07C0 xjmp L31
0264 L48:
0264 .dbline 68
0264 08E5 ldi R16,88
0266 05C0 xjmp L31
0268 L49:
0268 .dbline 69
0268 03E6 ldi R16,99
026A 03C0 xjmp L31
026C L50:
026C .dbline 70
026C 04E6 ldi R16,100
026E 01C0 xjmp L31
0270 L32:
0270 .dbline 71
0270 0027 clr R16
0272 .dbline -2
0272 L31:
0272 0E940000 xcall pop_gset1
0276 .dbline 0 ; func end
0276 0895 ret
0278 .dbsym r k 20 c
0278 .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\tem\1602AN~1\1602_main.c
0000 L55:
0000 .blkb 1
.area text(rom, con, rel)
0278 .dbfile F:\tem\1602AN~1\1602_main.c
0278 .dbfunc e get_key _get_key fc
0278 .dbsym s j L55 c
0278 ; i -> R20
.even
0278 _get_key::
0278 0E940000 xcall push_gset1
027C .dbline -1
027C .dbline 81
027C .dbline 84
027C 69DF xcall _key_read
027E 402F mov R20,R16
0280 .dbline 85
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -