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

📄 main.lis

📁 户外显示屏源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0182 8130              cpi R24,1
 0184 11F4              brne L25
 0186                   .dbline 167
 0186 31D0              xcall _display
 0188 1AC0              xjmp L26
 018A           L25:
 018A                   .dbline 168
 018A           ;                 else if(clr==1)   
 018A 80910100          lds R24,_clr
 018E 8130              cpi R24,1
 0190 91F4              brne L27
 0192                   .dbline 169
 0192           ;                 {
 0192                   .dbline 170
 0192           ;                  LCD_write_char(0x01,0);
 0192 2227              clr R18
 0194 3327              clr R19
 0196 01E0              ldi R16,1
 0198 10E0              ldi R17,0
 019A 0E940000          xcall _LCD_write_char
 019E                   .dbline 171
 019E           ;                  clr=0;
 019E 2224              clr R2
 01A0 20920100          sts _clr,R2
 01A4                   .dbline 172
 01A4           ;                  one=0;
 01A4 20920500          sts _one,R2
 01A8                   .dbline 173
 01A8           ;                  two=0;
 01A8 20920200          sts _two,R2
 01AC                   .dbline 174
 01AC           ;                  start=0;
 01AC 20920400          sts _start,R2
 01B0                   .dbline 175
 01B0           ;                  end=0;
 01B0 20920300          sts _end,R2
 01B4                   .dbline 176
 01B4           ;                  }
 01B4 04C0              xjmp L28
 01B6           L27:
 01B6                   .dbline 178
 01B6           ;                 else
 01B6           ;                 delay_nms(1000)                                        ;
 01B6 08EE              ldi R16,1000
 01B8 13E0              ldi R17,3
 01BA 0E940000          xcall _delay_nms
 01BE           L28:
 01BE           L26:
 01BE                   .dbline 180
 01BE           L23:
 01BE                   .dbline 157
 01BE CACF              xjmp L22
 01C0           X1:
 01C0                   .dbline -2
 01C0           L21:
 01C0 2496              adiw R28,4
 01C2                   .dbline 0 ; func end
 01C2 0895              ret
 01C4                   .dbsym l temp 1 c
 01C4                   .dbsym r vdata 10 i
 01C4                   .dbsym r data 12 i
 01C4                   .dbsym l m 0 l
 01C4                   .dbend
 01C4                   .dbfunc e puts _puts fV
 01C4           ;              l -> R20
 01C4           ;              h -> R20
 01C4           ;           data -> y+2
                        .even
 01C4           _puts::
 01C4 1A93              st -y,r17
 01C6 0A93              st -y,r16
 01C8 0E940000          xcall push_gset1
 01CC                   .dbline -1
 01CC                   .dbline 185
 01CC           ;         
 01CC           ;        }//主循环结束
 01CC           ; }//主程序结束
 01CC           ; 
 01CC           ; 
 01CC           ; void puts(unsigned int data )
 01CC           ;     {
 01CC                   .dbline 188
 01CC           ;             // UDR=data>>8;
 01CC           ;                 unsigned char h , l ;
 01CC           ;                  h=*((unsigned char *)(&data)+1);
 01CC 4B81              ldd R20,y+3
 01CE                   .dbline 189
 01CE           ;                  UDR=h;
 01CE 4CB9              out 0xc,R20
 01D0           L31:
 01D0                   .dbline 190
 01D0           L32:
 01D0                   .dbline 190
 01D0           ;                  while(!(USR&0x40));
 01D0 5E9B              sbis 0xb,6
 01D2 FECF              rjmp L31
 01D4                   .dbline 191
 01D4           ;                  USR |= 0x40;
 01D4 5E9A              sbi 0xb,6
 01D6                   .dbline 193
 01D6           ;                  //UDR=data;
 01D6           ;                  l=*(unsigned char *)(&data);
 01D6 FE01              movw R30,R28
 01D8 4281              ldd R20,z+2
 01DA                   .dbline 194
 01DA           ;                  UDR=l;
 01DA 4CB9              out 0xc,R20
 01DC           L34:
 01DC                   .dbline 195
 01DC           L35:
 01DC                   .dbline 195
 01DC           ;                  while(!(USR&0x40));
 01DC 5E9B              sbis 0xb,6
 01DE FECF              rjmp L34
 01E0                   .dbline 196
 01E0           ;                  USR |= 0x40;
 01E0 5E9A              sbi 0xb,6
 01E2                   .dbline -2
 01E2           L29:
 01E2 0E940000          xcall pop_gset1
 01E6 2296              adiw R28,2
 01E8                   .dbline 0 ; func end
 01E8 0895              ret
 01EA                   .dbsym r l 20 c
 01EA                   .dbsym r h 20 c
 01EA                   .dbsym l data 2 i
 01EA                   .dbend
 01EA                   .dbfunc e display _display fV
 01EA           ;              k -> R20
                        .even
 01EA           _display::
 01EA 0E940000          xcall push_gset1
 01EE                   .dbline -1
 01EE                   .dbline 201
 01EE           ;                 
 01EE           ;     }
 01EE           ;       
 01EE           ; void display(void)
 01EE           ;   {
 01EE                   .dbline 203
 01EE           ;   unsigned char k ;
 01EE           ;   if(one==1)
 01EE 80910500          lds R24,_one
 01F2 8130              cpi R24,1
 01F4 E9F4              brne L38
 01F6                   .dbline 204
 01F6           ;       {
 01F6                   .dbline 205
 01F6           ;          LCD_set_xy(0,0);
 01F6 2227              clr R18
 01F8 0027              clr R16
 01FA 0E940000          xcall _LCD_set_xy
 01FE                   .dbline 206
 01FE           ;          for(k=1;k<=end;k++)
 01FE 41E0              ldi R20,1
 0200 0DC0              xjmp L43
 0202           L40:
 0202                   .dbline 207
 0202                   .dbline 208
 0202 80E0              ldi R24,<_string
 0204 90E0              ldi R25,>_string
 0206 E42F              mov R30,R20
 0208 FF27              clr R31
 020A E80F              add R30,R24
 020C F91F              adc R31,R25
 020E 2081              ldd R18,z+0
 0210 3327              clr R19
 0212 0027              clr R16
 0214 1127              clr R17
 0216 0E940000          xcall _LCD_write_char
 021A                   .dbline 210
 021A           L41:
 021A                   .dbline 206
 021A 4395              inc R20
 021C           L43:
 021C                   .dbline 206
 021C 20900300          lds R2,_end
 0220 2416              cp R2,R20
 0222 78F7              brsh L40
 0224                   .dbline 211
 0224           ;           {
 0224           ;                  LCD_write_char(0,string[k]);
 0224           ;                  
 0224           ;                  }
 0224           ;        start=0;
 0224 2224              clr R2
 0226 20920400          sts _start,R2
 022A                   .dbline 212
 022A           ;        i=0;
 022A 20920000          sts _i,R2
 022E                   .dbline 213
 022E           ;          }
 022E 20C0              xjmp L39
 0230           L38:
 0230                   .dbline 214
 0230           ;    else if(two==1)
 0230 80910200          lds R24,_two
 0234 8130              cpi R24,1
 0236 E1F4              brne L44
 0238                   .dbline 215
 0238           ;       {
 0238                   .dbline 216
 0238           ;          LCD_set_xy(0,1);
 0238 21E0              ldi R18,1
 023A 0027              clr R16
 023C 0E940000          xcall _LCD_set_xy
 0240                   .dbline 217
 0240           ;          for(k=1;k<=end;k++)
 0240 41E0              ldi R20,1
 0242 0DC0              xjmp L49
 0244           L46:
 0244                   .dbline 218
 0244                   .dbline 219
 0244 80E0              ldi R24,<_string
 0246 90E0              ldi R25,>_string
 0248 E42F              mov R30,R20
 024A FF27              clr R31
 024C E80F              add R30,R24
 024E F91F              adc R31,R25
 0250 2081              ldd R18,z+0
 0252 3327              clr R19
 0254 0027              clr R16
 0256 1127              clr R17
 0258 0E940000          xcall _LCD_write_char
 025C                   .dbline 221
 025C           L47:
 025C                   .dbline 217
 025C 4395              inc R20
 025E           L49:
 025E                   .dbline 217
 025E 20900300          lds R2,_end
 0262 2416              cp R2,R20
 0264 78F7              brsh L46
 0266                   .dbline 222
 0266           ;            {
 0266           ;                 LCD_write_char(0,string[k]);
 0266           ;                 
 0266           ;                 }
 0266           ;          start = 0 ;
 0266 2224              clr R2
 0268 20920400          sts _start,R2
 026C                   .dbline 223
 026C           ;          i= 0;
 026C 20920000          sts _i,R2
 0270                   .dbline 224
 0270           ;         }
 0270           L44:
 0270           L39:
 0270                   .dbline -2
 0270           L37:
 0270 0E940000          xcall pop_gset1
 0274                   .dbline 0 ; func end
 0274 0895              ret
 0276                   .dbsym r k 20 c
 0276                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0000           _string::
 0000                   .blkb 18
 0012                   .dbsym e string _string A[18:18]c

⌨️ 快捷键说明

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