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

📄 display_board2.1.lis

📁 一个LED特效显示程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0272 2220              tst R2
 0274 99F4              brne L49
 0276 3320              tst R3
 0278 89F4              brne L49
 027A           X1:
 027A                   .dbline 206
 027A           ;               {
 027A                   .dbline 207
 027A           ;                  time_out_s++;
 027A 80912E00          lds R24,_time_out_s
 027E 8F5F              subi R24,255    ; addi 1
 0280 80932E00          sts _time_out_s,R24
 0284                   .dbline 208
 0284           ;                  if (time_out_s ==20)  //结束标志
 0284 8431              cpi R24,20
 0286 51F4              brne L51
 0288                   .dbline 209
 0288           ;                  {
 0288                   .dbline 210
 0288           ;                         time_out_ms=1;         //闲置标志
 0288 81E0              ldi R24,1
 028A 90E0              ldi R25,0
 028C 90932D00          sts _time_out_ms+1,R25
 0290 80932C00          sts _time_out_ms,R24
 0294                   .dbline 211
 0294           ;                         HeadEN=1;
 0294 80932700          sts _HeadEN,R24
 0298                   .dbline 212
 0298           ;                         FileEnd=1;
 0298 80932500          sts _FileEnd,R24
 029C                   .dbline 214
 029C           ;                         //进行错误处理,并要跳出此结构体
 029C           ;                         {/**********/}
 029C                   .dbline 214
 029C                   .dbline 215
 029C           ;                  }
 029C           L51:
 029C                   .dbline 216
 029C           ;               }
 029C           L49:
 029C                   .dbline 217
 029C           ;               uart_TX(0xAA);                   //重复发送标志位
 029C 0AEA              ldi R16,170
 029E CDDF              xcall _uart_TX
 02A0                   .dbline 218
 02A0           ;               time_out_ms--;   
 02A0 80912C00          lds R24,_time_out_ms
 02A4 90912D00          lds R25,_time_out_ms+1
 02A8 0197              sbiw R24,1
 02AA 90932D00          sts _time_out_ms+1,R25
 02AE 80932C00          sts _time_out_ms,R24
 02B2                   .dbline 219
 02B2           ;        }
 02B2           L47:
 02B2                   .dbline 220
 02B2 80912C00          lds R24,_time_out_ms
 02B6 90912D00          lds R25,_time_out_ms+1
 02BA 883E              cpi R24,232
 02BC E3E0              ldi R30,3
 02BE 9E07              cpc R25,R30
 02C0 31F4              brne L53
 02C2                   .dbline 221
 02C2 81E0              ldi R24,1
 02C4 90E0              ldi R25,0
 02C6 90932D00          sts _time_out_ms+1,R25
 02CA 80932C00          sts _time_out_ms,R24
 02CE           L53:
 02CE                   .dbline -2
 02CE           L46:
 02CE                   .dbline 0 ; func end
 02CE 0895              ret
 02D0                   .dbend
 02D0                   .dbfunc e SPI_data_send _SPI_data_send fV
 02D0           ;          count -> R20
 02D0           ;      send_data -> R22
                        .even
 02D0           _SPI_data_send::
 02D0 0E940000          xcall push_gset2
 02D4 602F              mov R22,R16
 02D6                   .dbline -1
 02D6                   .dbline 228
 02D6           ;        if (time_out_ms ==1000)
 02D6           ;               time_out_ms=1;           //1 表示空闲状态
 02D6           ; }
 02D6           ; /***************************************************
 02D6           ;                向显示屏送数据
 02D6           ; ***************************************************/
 02D6           ; 
 02D6           ; void SPI_data_send(unsigned char send_data)       //向595送数据串
 02D6           ; {  
 02D6                   .dbline 230
 02D6           ;    unsigned char count;
 02D6           ;    for(count =0;count<8;count++)
 02D6 4427              clr R20
 02D8 11C0              xjmp L59
 02DA           L56:
 02DA                   .dbline 231
 02DA           ;    {
 02DA                   .dbline 232
 02DA           ;       if(((send_data<<count)&0x80 )==0)
 02DA 062F              mov R16,R22
 02DC 142F              mov R17,R20
 02DE 0E940000          xcall lsl8
 02E2 802F              mov R24,R16
 02E4 8078              andi R24,128
 02E6 21F4              brne L60
 02E8                   .dbline 233
 02E8           ;            PORTC &= 0b01111111;                                  //送 data
 02E8 85B3              in R24,0x15
 02EA 8F77              andi R24,127
 02EC 85BB              out 0x15,R24
 02EE 01C0              xjmp L61
 02F0           L60:
 02F0                   .dbline 235
 02F0           ;       else
 02F0           ;            PORTC |= 0b10000000;
 02F0 AF9A              sbi 0x15,7
 02F2           L61:
 02F2                   .dbline 236
 02F2 939A              sbi 0x12,3
 02F4                   .dbline 237
 02F4 82B3              in R24,0x12
 02F6 877F              andi R24,247
 02F8 82BB              out 0x12,R24
 02FA                   .dbline 238
 02FA           L57:
 02FA                   .dbline 230
 02FA 4395              inc R20
 02FC           L59:
 02FC                   .dbline 230
 02FC 4830              cpi R20,8
 02FE 68F3              brlo L56
 0300                   .dbline -2
 0300           L55:
 0300 0E940000          xcall pop_gset2
 0304                   .dbline 0 ; func end
 0304 0895              ret
 0306                   .dbsym r count 20 c
 0306                   .dbsym r send_data 22 c
 0306                   .dbend
 0306                   .dbfunc e Screen_send _Screen_send fV
 0306           ;              i -> R20
                        .even
 0306           _Screen_send::
 0306 0E940000          xcall push_gset1
 030A                   .dbline -1
 030A                   .dbline 241
 030A           ;         PORTD |=0b00001000;                                      //送SCK信号
 030A           ;       PORTD &=0b11110111;
 030A           ;    }
 030A           ; }
 030A           ; void Screen_send(void)
 030A           ; {
 030A                   .dbline 243
 030A           ;     char i;
 030A           ;       PORTD &= 0b11101111;       //送RCK信号,底电平                
 030A 82B3              in R24,0x12
 030C 8F7E              andi R24,239
 030E 82BB              out 0x12,R24
 0310                   .dbline 244
 0310           ;       for(i =0;i <8;i++)
 0310 4427              clr R20
 0312 03C0              xjmp L66
 0314           L63:
 0314                   .dbline 245
 0314                   .dbline 246
 0314 0FEF              ldi R16,255
 0316 DCDF              xcall _SPI_data_send
 0318                   .dbline 247
 0318           L64:
 0318                   .dbline 244
 0318 4395              inc R20
 031A           L66:
 031A                   .dbline 244
 031A 4830              cpi R20,8
 031C D8F3              brlo L63
 031E                   .dbline 248
 031E           ;       {
 031E           ;           SPI_data_send(0xff);//sys_cont);   //DispTemp[i]);  
 031E           ;     }
 031E           ;       PORTD |= 0b00010000;       //关闭RCK信号,高电平
 031E 949A              sbi 0x12,4
 0320                   .dbline -2
 0320           L62:
 0320 0E940000          xcall pop_gset1
 0324                   .dbline 0 ; func end
 0324 0895              ret
 0326                   .dbsym r i 20 c
 0326                   .dbend
 0326                   .dbfunc e RAM_Write _RAM_Write fV
 0326           ;           data -> R18
 0326           ;         adress -> R16,R17
                        .even
 0326           _RAM_Write::
 0326                   .dbline -1
 0326                   .dbline 256
 0326           ; 
 0326           ; }
 0326           ; /**************************************************
 0326           ;                        数据接受,外部RAM读写
 0326           ; ****************************************************/
 0326           ; //写外部RAM
 0326           ; void RAM_Write(int adress,char data)
 0326           ; {
 0326                   .dbline 257
 0326           ;    PORTD |=0B11100000;           //关ALE  读关闭  写关闭
 0326 82B3              in R24,0x12
 0328 806E              ori R24,224
 032A 82BB              out 0x12,R24
 032C                   .dbline 258
 032C           ;    DDRA =0XFF;
 032C 8FEF              ldi R24,255
 032E 8ABB              out 0x1a,R24
 0330                   .dbline 259
 0330           ;    PORTA =adress&0xff;
 0330 C801              movw R24,R16
 0332 9070              andi R25,0
 0334 8BBB              out 0x1b,R24
 0336                   .dbline 260
 0336           ;    PORTC =(adress >>8)&0xff;
 0336 C801              movw R24,R16
 0338 892F              mov R24,R25
 033A 9927              clr R25
 033C 87FD              sbrc R24,7
 033E 9095              com R25
 0340 9070              andi R25,0
 0342 85BB              out 0x15,R24
 0344                   .dbline 261
 0344           ;    PORTD &=0b01111111;                         
 0344 82B3              in R24,0x12
 0346 8F77              andi R24,127
 0348 82BB              out 0x12,R24
 034A                   .dbline 262
 034A           ;    PORTA =data;
 034A 2BBB              out 0x1b,R18
 034C                   .dbline 263
 034C           ;    PORTD &=0b10111111;
 034C 82B3              in R24,0x12
 034E 8F7B              andi R24,191
 0350 82BB              out 0x12,R24
 0352                   .dbline -2
 0352           L67:
 0352                   .dbline 0 ; func end
 0352 0895              ret
 0354                   .dbsym r data 18 c
 0354                   .dbsym r adress 16 I
 0354                   .dbend
 0354                   .dbfunc e RAM_Read _RAM_Read fc
 0354           ;           temp -> R20
 0354           ;         adress -> R16,R17
                        .even
 0354           _RAM_Read::
 0354 0E940000          xcall push_gset1
 0358                   .dbline -1
 0358                   .dbline 268
 0358           ;    //PORTD |=0B01100000;           //关ALE  读关闭  写关闭
 0358           ; }
 0358           ; //读外部RAM
 0358           ; char RAM_Read(int adress)
 0358           ; {
 0358                   .dbline 270
 0358           ;    char temp;
 0358           ;    PORTD |=0B11100000;           //关ALE  读关闭  写关闭
 0358 82B3              in R24,0x12
 035A 806E              ori R24,224
 035C 82BB              out 0x12,R24
 035E                   .dbline 271
 035E           ;    DDRA =0XFF;
 035E 8FEF              ldi R24,255
 0360 8ABB              out 0x1a,R24
 0362                   .dbline 272
 0362           ;    PORTA =adress&0xff;
 0362 C801              movw R24,R16
 0364 9070              andi R25,0
 0366 8BBB              out 0x1b,R24
 0368                   .dbline 273
 0368           ;    PORTC =(adress >>8)&0xff;
 0368 C801              movw R24,R16
 036A 892F              mov R24,R25
 036C 9927              clr R25
 036E 87FD              sbrc R24,7
 0370 9095              com R25
 0372 9070              andi R25,0
 0374 85BB              out 0x15,R24
 0376                   .dbline 274
 0376           ;    PORTD &=0b01111111;                         
 0376 82B3              in R24,0x12
 0378 8F77              andi R24,127
 037A 82BB              out 0x12,R24
 037C                   .dbline 275
 037C           ;    PORTD &=0b11011111;
 037C 82B3              in R24,0x12
 037E 8F7D              andi R24,223
 0380 82BB              out 0x12,R24
 0382                   .dbline 276
 0382           ;    DDRA =0;
 0382 2224              clr R2
 0384 2ABA              out 0x1a,R2
 0386                   .dbline 277
 0386           ;    PORTA =0XFF;
 0386 8FEF              ldi R24,255
 0388 8BBB              out 0x1b,R24
 038A                   .dbline 278
 038A           ;    temp =PINA;
 038A 49B3              in R20,0x19
 038C                   .dbline 279
 038C           ;    return temp;
 038C 042F              mov R16,R20
 038E                   .dbline -2
 038E           L68:
 038E 0E940000          xcall pop_gset1
 0392                   .dbline 0 ; func end
 0392 0895              ret
 0394                   .dbsym r temp 20 c
 0394                   .dbsym r adress 16 I
 0394                   .dbend
 0394                   .dbfunc e data_store _data_store fV
 0394           ;           data -> R20
                        .even
 0394           _data_store::

⌨️ 快捷键说明

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