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

📄 1602_main.lis

📁 atmega32 +1602显示+ key控制 + ad转化电路都在一起测试通过
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -