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

📄 main.lis

📁 AVR单片机的485通信参考程序
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 00EC 807F              andi R24,240
 00EE 85BB              out 0x15,R24
 00F0                   .dbline 116
 00F0           ;   switch (i)
 00F0 842F              mov R24,R20
 00F2 8F70              andi R24,15
 00F4 25B2              in R2,0x15
 00F6 282A              or R2,R24
 00F8 25BA              out 0x15,R2
 00FA                   .dbline 117
 00FA           ;       {
 00FA C1DF              xcall _LCD_en_write
 00FC                   .dbline -2
 00FC           L20:
 00FC 0E940000          xcall pop_gset1
 0100                   .dbline 0 ; func end
 0100 0895              ret
 0102                   .dbsym r data 20 c
 0102                   .dbend
 0102                   .dbfunc e LCD_set_xy _LCD_set_xy fV
 0102           ;        address -> R20
 0102           ;              y -> R20
 0102           ;              x -> R22
                        .even
 0102           _LCD_set_xy::
 0102 0E940000          xcall push_gset2
 0106 422F              mov R20,R18
 0108 602F              mov R22,R16
 010A                   .dbline -1
 010A                   .dbline 124
 010A           ;   case 'A':{address=2;LCD_write_string(4,0,"2>>");}
 010A           ;       break;
 010A           ;   case 'B':{address=3;LCD_write_string(4,0,"3>>");}
 010A           ;       break;
 010A           ;   case 'D':
 010A           ;                  {out_485(address,key);
 010A           ;                   LCD_write_string(4,0,send);
 010A                   .dbline 126
 010A           ;               LCD_write_string(12,1,"     ");//数组没有结束符,所以要修正液晶后面多余的乱码
 010A           ;                  }
 010A 4423              tst R20
 010C 19F4              brne L22
 010E                   .dbline 126
 010E 462F              mov R20,R22
 0110 4058              subi R20,128    ; addi 128
 0112 02C0              xjmp L23
 0114           L22:
 0114                   .dbline 127
 0114           ;       break;
 0114 462F              mov R20,R22
 0116 4054              subi R20,64    ; addi 192
 0118           L23:
 0118                   .dbline 128
 0118           ;   case 'C':{j=0;LCD_write_string(7,0,"         ");}
 0118 042F              mov R16,R20
 011A B7DF              xcall _LCD_write_command
 011C                   .dbline -2
 011C           L21:
 011C 0E940000          xcall pop_gset2
 0120                   .dbline 0 ; func end
 0120 0895              ret
 0122                   .dbsym r address 20 c
 0122                   .dbsym r y 20 c
 0122                   .dbsym r x 22 c
 0122                   .dbend
 0122                   .dbfunc e LCD_write_string _LCD_write_string fV
 0122           ;              s -> R20,R21
 0122           ;              Y -> R10
 0122           ;              X -> R22
                        .even
 0122           _LCD_write_string::
 0122 0E940000          xcall push_gset3
 0126 A22E              mov R10,R18
 0128 602F              mov R22,R16
 012A 4E81              ldd R20,y+6
 012C 5F81              ldd R21,y+7
 012E                   .dbline -1
 012E                   .dbline 132
 012E           ;       break;
 012E           ;       default: 
 012E           ;       if(j<8&&i<='9'&&i>='0'){key[j]=i;LCD_write_char(j+7,0,i);j++;}
 012E           ;       //-------------以下为测试语句------------------------------------
 012E                   .dbline 133
 012E           ;       }
 012E 2A2D              mov R18,R10
 0130 062F              mov R16,R22
 0132 E7DF              xcall _LCD_set_xy
 0134 05C0              xjmp L26
 0136           L25:
 0136                   .dbline 135
 0136                   .dbline 136
 0136 FA01              movw R30,R20
 0138 0081              ldd R16,z+0
 013A C5DF              xcall _LCD_write_data
 013C                   .dbline 137
 013C 4F5F              subi R20,255  ; offset = 1
 013E 5F4F              sbci R21,255
 0140                   .dbline 138
 0140           L26:
 0140                   .dbline 134
 0140           ;   
 0140 FA01              movw R30,R20
 0142 2080              ldd R2,z+0
 0144 2220              tst R2
 0146 B9F7              brne L25
 0148                   .dbline -2
 0148           L24:
 0148 0E940000          xcall pop_gset3
 014C                   .dbline 0 ; func end
 014C 0895              ret
 014E                   .dbsym r s 20 pc
 014E                   .dbsym r Y 10 c
 014E                   .dbsym r X 22 c
 014E                   .dbend
 014E                   .dbfunc e LCD_write_char _LCD_write_char fV
 014E           ;           data -> y+4
 014E           ;              Y -> R22
 014E           ;              X -> R20
                        .even
 014E           _LCD_write_char::
 014E 0E940000          xcall push_gset2
 0152 622F              mov R22,R18
 0154 402F              mov R20,R16
 0156                   .dbline -1
 0156                   .dbline 143
 0156           ;      
 0156           ; 
 0156           ; //------------------------------------------------------------   
 0156           ; 
 0156           ;   } 
 0156           ; } 
 0156           ; } 
 0156           ; } 
 0156           ; } 
 0156                   .dbline 144
 0156           ; } 
 0156 262F              mov R18,R22
 0158 042F              mov R16,R20
 015A D3DF              xcall _LCD_set_xy
 015C                   .dbline 145
 015C           ; } 
 015C 0C81              ldd R16,y+4
 015E B3DF              xcall _LCD_write_data
 0160                   .dbline -2
 0160           L28:
 0160 0E940000          xcall pop_gset2
 0164                   .dbline 0 ; func end
 0164 0895              ret
 0166                   .dbsym l data 4 c
 0166                   .dbsym r Y 22 c
 0166                   .dbsym r X 20 c
 0166                   .dbend
 0166                   .dbfile D:\mojinpan\485\485_master/usart.h
 0166                   .dbfunc e usart_init _usart_init fV
                        .even
 0166           _usart_init::
 0166                   .dbline -1
 0166                   .dbline 7
 0166                   .dbline 8
 0166 81E0              ldi R24,1
 0168 80939B00          sts 155,R24
 016C                   .dbline 9
 016C 8CE9              ldi R24,156
 016E 80939A00          sts 154,R24
 0172                   .dbline 10
 0172 86E3              ldi R24,54
 0174 80939D00          sts 157,R24
 0178                   .dbline 11
 0178 83E3              ldi R24,51
 017A 80939900          sts 153,R24
 017E                   .dbline 12
 017E 2224              clr R2
 0180 20929800          sts 152,R2
 0184                   .dbline 13
 0184 1F98              cbi 0x3,7
 0186                   .dbline 14
 0186 179A              sbi 0x2,7
 0188                   .dbline -2
 0188           L29:
 0188                   .dbline 0 ; func end
 0188 0895              ret
 018A                   .dbend
 018A                   .dbfunc e usart_out _usart_out fV
 018A           ;              i -> R20
 018A           ;              n -> R18
 018A           ;          datas -> R16,R17
                        .even
 018A           _usart_out::
 018A 0E940000          xcall push_gset1
 018E                   .dbline -1
 018E                   .dbline 20
 018E                   .dbline 21
 018E 4427              clr R20
 0190                   .dbline 22
 0190 1F9A              sbi 0x3,7
 0192 1EC0              xjmp L32
 0194           L31:
 0194                   .dbline 25
 0194                   .dbline 26
 0194 4423              tst R20
 0196 31F4              brne L34
 0198                   .dbline 26
 0198 80919A00          lds R24,154
 019C 8160              ori R24,1
 019E 80939A00          sts 154,R24
 01A2 05C0              xjmp L35
 01A4           L34:
 01A4                   .dbline 27
 01A4 80919A00          lds R24,154
 01A8 8E7F              andi R24,254
 01AA 80939A00          sts 154,R24
 01AE           L35:
 01AE                   .dbline 28
 01AE E42F              mov R30,R20
 01B0 FF27              clr R31
 01B2 E00F              add R30,R16
 01B4 F11F              adc R31,R17
 01B6 2080              ldd R2,z+0
 01B8 20929C00          sts 156,R2
 01BC           L36:
 01BC                   .dbline 29
 01BC           L37:
 01BC                   .dbline 29
 01BC 20909B00          lds R2,155
 01C0 26FE              sbrs R2,6
 01C2 FCCF              rjmp L36
 01C4                   .dbline 30
 01C4 80919B00          lds R24,155
 01C8 8064              ori R24,64
 01CA 80939B00          sts 155,R24
 01CE                   .dbline 31
 01CE 4395              inc R20
 01D0                   .dbline 33
 01D0           L32:
 01D0                   .dbline 24
 01D0 4217              cp R20,R18
 01D2 00F3              brlo L31
 01D4                   .dbline 35
 01D4 1F98              cbi 0x3,7
 01D6                   .dbline -2
 01D6           L30:
 01D6 0E940000          xcall pop_gset1
 01DA                   .dbline 0 ; func end
 01DA 0895              ret
 01DC                   .dbsym r i 20 c
 01DC                   .dbsym r n 18 c
 01DC                   .dbsym r datas 16 pc
 01DC                   .dbend
 01DC                   .dbfile D:\mojinpan\485\485_master/crc8.h
 01DC                   .dbfunc e crc8 _crc8 fc
 01DC           ;            crc -> R20
 01DC           ;              i -> R22
 01DC           ;            len -> R18
 01DC           ;            ptr -> R16,R17
                        .even
 01DC           _crc8::
 01DC 0E940000          xcall push_gset2
 01E0                   .dbline -1
 01E0                   .dbline 5
 01E0                   .dbline 7
 01E0 4427              clr R20
 01E2 20C0              xjmp L41
 01E4           L40:
 01E4                   .dbline 9
 01E4                   .dbline 10
 01E4 61E0              ldi R22,1
 01E6 1AC0              xjmp L46
 01E8           L43:
 01E8                   .dbline 11
 01E8                   .dbline 12
 01E8 40FF              sbrs R20,0
 01EA 09C0              rjmp L47
 01EC                   .dbline 12
 01EC                   .dbline 12
 01EC 4695              lsr R20
 01EE                   .dbline 12
 01EE 8CE8              ldi R24,140
 01F0 90E0              ldi R25,0
 01F2 242E              mov R2,R20
 01F4 3324              clr R3
 01F6 2826              eor R2,R24
 01F8 3926              eor R3,R25
 01FA 422D              mov R20,R2
 01FC                   .dbline 12
 01FC 01C0              xjmp L48
 01FE           L47:
 01FE                   .dbline 13
 01FE 4695              lsr R20
 0200           L48:
 0200                   .dbline 14
 0200 F801              movw R30,R16
 0202 2080              ldd R2,z+0
 0204 2622              and R2,R22
 0206 39F0              breq L49
 0208                   .dbline 14
 0208 8CE8              ldi R24,140
 020A 90E0              ldi R25,0
 020C 242E              mov R2,R20
 020E 3324              clr R3
 0210 2826              eor R2,R24
 0212 3926              eor R3,R25
 0214 422D              mov R20,R2
 0216           L49:
 0216                   .dbline 15
 0216           L44:
 0216                   .dbline 10
 0216 82E0              ldi R24,2
 0218 869F              mul R24,R22
 021A 602D              mov R22,R0
 021C           L46:
 021C                   .dbline 10
 021C 6623              tst R22
 021E 21F7              brne L43
 0220                   .dbline 16
 0220 0F5F              subi R16,255  ; offset = 1
 0222 1F4F              sbci R17,255
 0224                   .dbline 17
 0224           L41:
 0224                   .dbline 8
 0224 222E              mov R2,R18
 0226 3324              clr R3
 0228 2150              subi R18,1
 022A 2220              tst R2
 022C D9F6              brne L40
 022E                   .dbline 18
 022E 042F              mov R16,R20
 0230                   .dbline -2
 0230           L39:
 0230 0E940000          xcall pop_gset2
 0234                   .dbline 0 ; func end
 0234 0895              ret
 0236                   .dbsym r crc 20 c
 0236                   .dbsym r i 22 c
 0236                   .dbsym r len 18 c
 0236                   .dbsym r ptr 16 pc
 0236                   .dbend
 0236                   .dbfile D:\mojinpan\485\485_master/key.h
 0236                   .dbfunc e key_read _key_read fc
 0236           ;              i -> R20
                        .even
 0236           _key_read::
 0236 0E940000          xcall push_gset1
 023A                   .dbline -1
 023A                   .dbline 7
 023A                   .dbline 10
 023A 80EF              ldi R24,240
 023C 87BB              out 0x17,R24
 023E                   .dbline 11
 023E 8FE0              ldi R24,15
 0240 88BB              out 0x18,R24
 0242                   .dbline 12
 0242 01E0              ldi R16,1
 0244 10E0              ldi R17,0
 0246 F7DE              xcall _delay_nms
 0248                   .dbline 14
 0248 46B3              in R20,0x16
 024A 4F70              andi R20,15
 024C                   .dbline 17
 024C 8FE0              ldi R24,15
 024E 87BB              out 0x17,R24
 0250                   .dbline 18
 0250 80EF              ldi R24,240

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -