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

📄 function.lis

📁 LED显示面板
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0670           L37:
 0670                   .dbline 217
 0670                   .dbline 217
 0670 A895              wdr
 0672                   .dbline 218
 0672 81E0              ldi R24,1
 0674 8A83              std y+2,R24
 0676 2224              clr R2
 0678 2882              std y+0,R2
 067A 22E0              ldi R18,2
 067C 0FE0              ldi R16,15
 067E 24D3              xcall _led7_display
 0680                   .dbline 219
 0680 81E0              ldi R24,1
 0682 8A83              std y+2,R24
 0684 2224              clr R2
 0686 2882              std y+0,R2
 0688 23E0              ldi R18,3
 068A 01E1              ldi R16,17
 068C 1DD3              xcall _led7_display
 068E                   .dbline 220
 068E 81E0              ldi R24,1
 0690 8A83              std y+2,R24
 0692 2224              clr R2
 0694 2882              std y+0,R2
 0696 24E0              ldi R18,4
 0698 00E1              ldi R16,16
 069A 16D3              xcall _led7_display
 069C                   .dbline 221
 069C 81E0              ldi R24,1
 069E 8A83              std y+2,R24
 06A0 2224              clr R2
 06A2 2882              std y+0,R2
 06A4 25E0              ldi R18,5
 06A6 00E1              ldi R16,16
 06A8 0FD3              xcall _led7_display
 06AA                   .dbline 222
 06AA           L38:
 06AA                   .dbline -2
 06AA           L10:
 06AA 2396              adiw R28,3
 06AC 0E940000          xcall pop_gset5
 06B0 2296              adiw R28,2
 06B2                   .dbline 0 ; func end
 06B2 0895              ret
 06B4                   .dbsym r t4 22 c
 06B4                   .dbsym r t3 12 c
 06B4                   .dbsym r t5 20 i
 06B4                   .dbsym r t2 10 c
 06B4                   .dbsym r t1 14 c
 06B4                   .dbsym l data 15 i
 06B4                   .dbsym l point_flag 13 c
 06B4                   .dbsym r channel 20 c
 06B4                   .dbend
 06B4                   .dbfunc e delay_1us _delay_1us fV
                        .even
 06B4           _delay_1us::
 06B4                   .dbline -1
 06B4                   .dbline 226
 06B4           ;  
 06B4           ;  else
 06B4           ;  {WDR();
 06B4           ;  led7_display(15,2,0,1);
 06B4           ;  led7_display(17,3,0,1);
 06B4           ;  led7_display(16,4,0,1);
 06B4           ;  led7_display(16,5,0,1);
 06B4           ;    }
 06B4           ; }
 06B4           ; 
 06B4           ; void delay_1us(void)
 06B4           ;      {asm("nop");}
 06B4                   .dbline 226
 06B4 0000              nop
 06B6                   .dbline -2
 06B6           L66:
 06B6                   .dbline 0 ; func end
 06B6 0895              ret
 06B8                   .dbend
 06B8                   .dbfunc e delay_us _delay_us fV
 06B8           ;              i -> R20,R21
 06B8           ;              n -> R22,R23
                        .even
 06B8           _delay_us::
 06B8 0E940000          xcall push_gset2
 06BC B801              movw R22,R16
 06BE                   .dbline -1
 06BE                   .dbline 229
 06BE           ;        
 06BE           ; void delay_us(uint n)
 06BE           ; {
 06BE                   .dbline 230
 06BE           ;       uint i=0;
 06BE 4427              clr R20
 06C0 5527              clr R21
 06C2                   .dbline 231
 06C2           ;       for(i=0;i<n;i++)
 06C2 03C0              xjmp L71
 06C4           L68:
 06C4                   .dbline 232
 06C4 F7DF              xcall _delay_1us
 06C6           L69:
 06C6                   .dbline 231
 06C6 4F5F              subi R20,255  ; offset = 1
 06C8 5F4F              sbci R21,255
 06CA           L71:
 06CA                   .dbline 231
 06CA 4617              cp R20,R22
 06CC 5707              cpc R21,R23
 06CE D0F3              brlo L68
 06D0                   .dbline -2
 06D0           L67:
 06D0 0E940000          xcall pop_gset2
 06D4                   .dbline 0 ; func end
 06D4 0895              ret
 06D6                   .dbsym r i 20 i
 06D6                   .dbsym r n 22 i
 06D6                   .dbend
 06D6                   .dbfunc e delay_1ms _delay_1ms fV
 06D6           ;              i -> R16,R17
                        .even
 06D6           _delay_1ms::
 06D6                   .dbline -1
 06D6                   .dbline 236
 06D6           ;       delay_1us();
 06D6           ; }      
 06D6           ;        
 06D6           ; void delay_1ms(void) 
 06D6           ; {
 06D6                   .dbline 238
 06D6           ;       uint i;
 06D6           ;       for(i=1;i<(uint)(xtal*143-2);i++)
 06D6 01E0              ldi R16,1
 06D8 10E0              ldi R17,0
 06DA 02C0              xjmp L76
 06DC           L73:
 06DC                   .dbline 239
 06DC           L74:
 06DC                   .dbline 238
 06DC 0F5F              subi R16,255  ; offset = 1
 06DE 1F4F              sbci R17,255
 06E0           L76:
 06E0                   .dbline 238
 06E0 8EEE              ldi R24,2286
 06E2 98E0              ldi R25,8
 06E4 0817              cp R16,R24
 06E6 1907              cpc R17,R25
 06E8 C8F3              brlo L73
 06EA                   .dbline -2
 06EA           L72:
 06EA                   .dbline 0 ; func end
 06EA 0895              ret
 06EC                   .dbsym r i 16 i
 06EC                   .dbend
 06EC                   .dbfunc e delay_ms _delay_ms fV
 06EC           ;              i -> R20,R21
 06EC           ;              n -> R22,R23
                        .even
 06EC           _delay_ms::
 06EC 0E940000          xcall push_gset2
 06F0 B801              movw R22,R16
 06F2                   .dbline -1
 06F2                   .dbline 242
 06F2           ;       ;
 06F2           ; }
 06F2           ; void delay_ms(uint n)
 06F2           ; {
 06F2                   .dbline 243
 06F2           ;    uint i=0;
 06F2 4427              clr R20
 06F4 5527              clr R21
 06F6                   .dbline 244
 06F6           ;    for(i=0;i<n;i++)
 06F6 03C0              xjmp L81
 06F8           L78:
 06F8                   .dbline 245
 06F8 EEDF              xcall _delay_1ms
 06FA           L79:
 06FA                   .dbline 244
 06FA 4F5F              subi R20,255  ; offset = 1
 06FC 5F4F              sbci R21,255
 06FE           L81:
 06FE                   .dbline 244
 06FE 4617              cp R20,R22
 0700 5707              cpc R21,R23
 0702 D0F3              brlo L78
 0704                   .dbline -2
 0704           L77:
 0704 0E940000          xcall pop_gset2
 0708                   .dbline 0 ; func end
 0708 0895              ret
 070A                   .dbsym r i 20 i
 070A                   .dbsym r n 22 i
 070A                   .dbend
 070A                   .dbfunc e get_id _get_id fc
 070A           ;           temp -> R16
                        .even
 070A           _get_id::
 070A                   .dbline -1
 070A                   .dbline 248
 070A           ;    delay_1ms();
 070A           ; }
 070A           ; unsigned char get_id(void)                          //读取拨码开关
 070A           ; {
 070A                   .dbline 250
 070A           ;  unsigned char temp;
 070A           ;  PORTC = addr_id;
 070A 80EF              ldi R24,240
 070C 88B9              out 0x8,R24
 070E                   .dbline 251
 070E           ;  WDR();
 070E A895              wdr
 0710                   .dbline 252
 0710           ;  asm("nop");
 0710 0000              nop
 0712                   .dbline 253
 0712           ;  asm("nop");
 0712 0000              nop
 0714                   .dbline 254
 0714           ;  asm("nop");
 0714 0000              nop
 0716                   .dbline 255
 0716           ;  asm("nop");
 0716 0000              nop
 0718                   .dbline 256
 0718           ;  asm("nop");
 0718 0000              nop
 071A                   .dbline 257
 071A           ;  asm("nop");
 071A 0000              nop
 071C                   .dbline 258
 071C           ;  temp = PINB;
 071C 03B1              in R16,0x3
 071E                   .dbline 259
 071E           ;  temp = ~(temp);
 071E 0095              com R16
 0720                   .dbline 260
 0720           ;  temp = temp&0x7f;
 0720 0F77              andi R16,127
 0722                   .dbline 261
 0722           ;  return temp;
 0722                   .dbline -2
 0722           L82:
 0722                   .dbline 0 ; func end
 0722 0895              ret
 0724                   .dbsym r temp 16 c
 0724                   .dbend
 0724                   .dbfunc e buzzer_on _buzzer_on fV
 0724           ;           temp -> <dead>
                        .even
 0724           _buzzer_on::
 0724                   .dbline -1
 0724                   .dbline 265
 0724           ; }
 0724           ; 
 0724           ; void buzzer_on(void)
 0724           ; {
 0724                   .dbline 267
 0724           ; unsigned char temp;
 0724           ; WDR();
 0724 A895              wdr
 0726                   .dbline 268
 0726           ; out_state|=0x01;
 0726 80910000          lds R24,_out_state
 072A 8160              ori R24,1
 072C 80930000          sts _out_state,R24
 0730                   .dbline 269
 0730           ; PORTC&=0xef;
 0730 88B1              in R24,0x8
 0732 8F7E              andi R24,239
 0734 88B9              out 0x8,R24
 0736                   .dbline 271
 0736           ;  
 0736           ; PORTE = (out_state<<2);
 0736 20900000          lds R2,_out_state
 073A 220C              lsl R2
 073C 220C              lsl R2
 073E 2EB8              out 0xe,R2
 0740                   .dbline 272
 0740           ; PORTD |= 0x80;
 0740 5F9A              sbi 0xb,7
 0742                   .dbline 273
 0742           ;  asm("nop");
 0742 0000              nop
 0744                   .dbline 274
 0744           ;  asm("nop");
 0744 0000              nop
 0746                   .dbline 275
 0746           ; PORTD &= 0x7f;
 0746 8BB1              in R24,0xb
 0748 8F77              andi R24,127
 074A 8BB9              out 0xb,R24
 074C                   .dbline -2
 074C           L83:
 074C                   .dbline 0 ; func end
 074C 0895              ret
 074E                   .dbsym l temp 1 c
 074E                   .dbend
 074E                   .dbfunc e buzzer_off _buzzer_off fV
 074E           ;           temp -> <dead>
                        .even
 074E           _buzzer_off::
 074E                   .dbline -1
 074E                   .dbline 279
 074E           ; }
 074E           ; 
 074E           ; void buzzer_off(void)
 074E           ; {
 074E                   .dbline 281
 074E           ;  unsigned char temp;
 074E           ; WDR();
 074E A895              wdr
 0750                   .dbline 282
 0750           ; PORTC&=0xef;
 0750 88B1              in R24,0x8
 0752 8F7E              andi R24,239
 0754 88B9              out 0x8,R24
 0756                   .dbline 283
 0756           ; out_state&=0xfe;
 0756 80910000          lds R24,_out_state
 075A 8E7F              andi R24,254
 075C 80930000          sts _out_state,R24
 0760                   .dbline 284
 0760           ; PORTE = (out_state<<2);
 0760 282E              mov R2,R24
 0762 220C              lsl R2
 0764 220C              lsl R2
 0766 2EB8              out 0xe,R2
 0768                   .dbline 285
 0768           ; PORTD |= 0x80;
 0768 5F9A              sbi 0xb,7
 076A                   .dbline 286
 076A           ;  asm("nop");
 076A 0000              nop
 076C                   .dbline 287
 076C           ;  asm("nop");
 076C 

⌨️ 快捷键说明

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