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

📄 main.lis

📁 avr的视频采集
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 070E 80939C00          sts 156,R24
 0712                   .dbline 212
 0712           L60:
 0712                   .dbline -2
 0712           L35:
 0712 2496              adiw R28,4
 0714 0E940000          xcall pop_gset3
 0718 2496              adiw R28,4
 071A                   .dbline 0 ; func end
 071A 0895              ret
 071C                   .dbsym l n 0 L
 071C                   .dbsym r huanhang 10 c
 071C                   .dbsym l NUM 10 L
 071C                   .dbend
                        .area data(ram, con, rel)
 002B                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
 002B           _shuliang::
 002B                   .blkb 1
                        .area idata
 002B 00                .byte 0
                        .area data(ram, con, rel)
 002C                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
 002C                   .dbsym e shuliang _shuliang c
 002C           _xuanze::
 002C                   .blkb 1
                        .area idata
 002C 00                .byte 0
                        .area data(ram, con, rel)
 002D                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
 002D                   .dbsym e xuanze _xuanze c
                        .area vector(rom, abs)
                        .org 4
 0004 0C948E03          jmp _int0_isr
                        .area data(ram, con, rel)
 002D                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
                        .area text(rom, con, rel)
 071C                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
 071C                   .dbfunc e int0_isr _int0_isr fV
                        .even
 071C           _int0_isr::
 071C 2A92              st -y,R2
 071E 3A92              st -y,R3
 0720 8A93              st -y,R24
 0722 2FB6              in R2,0x3f
 0724 2A92              st -y,R2
 0726                   .dbline -1
 0726                   .dbline 219
 0726           ;                         while(!(UCSR1A&(1<<UDRE1)));
 0726           ;                     UDR1=0x20;
 0726           ;                        } 
 0726           ; }
 0726           ; 
 0726           ; unsigned char shuliang=0;
 0726           ; unsigned char xuanze=0;
 0726           ; #pragma interrupt_handler int0_isr:2
 0726           ; void int0_isr(void)
 0726           ; {
 0726                   .dbline 222
 0726           ;  //external interupt on INT0
 0726           ;  
 0726           ; x_adc=0;y_adc=0;
 0726 2224              clr R2
 0728 20920100          sts _x_adc,R2
 072C                   .dbline 222
 072C 20920000          sts _y_adc,R2
 0730                   .dbline 223
 0730           ; chang=1;
 0730 81E0              ldi R24,1
 0732 80932800          sts _chang,R24
 0736                   .dbline 224
 0736           ;  shuliang=ms;
 0736 20900400          lds R2,_ms
 073A 30900500          lds R3,_ms+1
 073E 20922B00          sts _shuliang,R2
 0742                   .dbline 225
 0742           ;  ms=0;
 0742 2224              clr R2
 0744 3324              clr R3
 0746 30920500          sts _ms+1,R3
 074A 20920400          sts _ms,R2
 074E                   .dbline -2
 074E           L73:
 074E 2990              ld R2,y+
 0750 2FBE              out 0x3f,R2
 0752 8991              ld R24,y+
 0754 3990              ld R3,y+
 0756 2990              ld R2,y+
 0758                   .dbline 0 ; func end
 0758 1895              reti
 075A                   .dbend
                        .area vector(rom, abs)
                        .org 8
 0008 0C94AD03          jmp _int1_isr
                        .area text(rom, con, rel)
 075A                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
 075A                   .dbfunc e int1_isr _int1_isr fV
                        .even
 075A           _int1_isr::
 075A 2A92              st -y,R2
 075C 3A92              st -y,R3
 075E 8A93              st -y,R24
 0760 9A93              st -y,R25
 0762 2FB6              in R2,0x3f
 0764 2A92              st -y,R2
 0766                   .dbline -1
 0766                   .dbline 231
 0766           ; 
 0766           ; }
 0766           ; 
 0766           ; #pragma interrupt_handler int1_isr:3
 0766           ; void int1_isr(void)
 0766           ; {//CLI();
 0766                   .dbline 235
 0766           ;  //external interupt on INT1
 0766           ; /*while(x_adc<video_x)
 0766           ; { v_temp[y_adc*video_x  +  x_adc] =0;x_adc++;}*/
 0766           ; if(xuanze++>5){xuanze=0;x_adc=0;y_adc++;}
 0766 20902C00          lds R2,_xuanze
 076A 3324              clr R3
 076C 822D              mov R24,R2
 076E 8F5F              subi R24,255    ; addi 1
 0770 80932C00          sts _xuanze,R24
 0774 85E0              ldi R24,5
 0776 8215              cp R24,R2
 0778 50F4              brsh L75
 077A                   .dbline 235
 077A                   .dbline 235
 077A 2224              clr R2
 077C 20922C00          sts _xuanze,R2
 0780                   .dbline 235
 0780 20920100          sts _x_adc,R2
 0784                   .dbline 235
 0784 80910000          lds R24,_y_adc
 0788 8F5F              subi R24,255    ; addi 1
 078A 80930000          sts _y_adc,R24
 078E                   .dbline 235
 078E           L75:
 078E                   .dbline 237
 078E           ; 
 078E           ; x_adc=video_x+1;
 078E 81E2              ldi R24,33
 0790 80930100          sts _x_adc,R24
 0794                   .dbline 239
 0794           ; //v_num=(v_num/video_x+1)*video_x;
 0794           ; ms++;
 0794 80910400          lds R24,_ms
 0798 90910500          lds R25,_ms+1
 079C 0196              adiw R24,1
 079E 90930500          sts _ms+1,R25
 07A2 80930400          sts _ms,R24
 07A6                   .dbline -2
 07A6           L74:
 07A6 2990              ld R2,y+
 07A8 2FBE              out 0x3f,R2
 07AA 9991              ld R25,y+
 07AC 8991              ld R24,y+
 07AE 3990              ld R3,y+
 07B0 2990              ld R2,y+
 07B2                   .dbline 0 ; func end
 07B2 1895              reti
 07B4                   .dbend
 07B4                   .dbfunc e timer0_init _timer0_init fV
                        .even
 07B4           _timer0_init::
 07B4                   .dbline -1
 07B4                   .dbline 249
 07B4           ;  //hang=1;
 07B4           ;  //SEI();
 07B4           ; }
 07B4           ; 
 07B4           ; //TIMER0 initialize - prescale:8
 07B4           ; // WGM: Normal
 07B4           ; // desired value: 2uSec
 07B4           ; // actual value:  2.000uSec (0.0%)
 07B4           ; void timer0_init(void)
 07B4           ; {
 07B4                   .dbline 250
 07B4           ;  TCCR0 = 0x00; //stop
 07B4 2224              clr R2
 07B6 23BE              out 0x33,R2
 07B8                   .dbline 251
 07B8           ;  ASSR  = 0x00; //set async mode
 07B8 20BE              out 0x30,R2
 07BA                   .dbline 252
 07BA           ;  TCNT0 = 0xFB; //set count
 07BA 8BEF              ldi R24,251
 07BC 82BF              out 0x32,R24
 07BE                   .dbline 253
 07BE           ;  OCR0  = 0x05;
 07BE 85E0              ldi R24,5
 07C0 81BF              out 0x31,R24
 07C2                   .dbline 254
 07C2           ;  TCCR0 = 0x02; //start timer
 07C2 82E0              ldi R24,2
 07C4 83BF              out 0x33,R24
 07C6                   .dbline -2
 07C6           L77:
 07C6                   .dbline 0 ; func end
 07C6 0895              ret
 07C8                   .dbend
                        .area vector(rom, abs)
                        .org 64
 0040 0C94E403          jmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 07C8                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\fang__2\main.c
 07C8                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
                        .even
 07C8           _timer0_ovf_isr::
 07C8 0A92              st -y,R0
 07CA 1A92              st -y,R1
 07CC 2A92              st -y,R2
 07CE 3A92              st -y,R3
 07D0 4A92              st -y,R4
 07D2 5A92              st -y,R5
 07D4 6A92              st -y,R6
 07D6 7A92              st -y,R7
 07D8 0A93              st -y,R16
 07DA 1A93              st -y,R17
 07DC 2A93              st -y,R18
 07DE 3A93              st -y,R19
 07E0 8A93              st -y,R24
 07E2 9A93              st -y,R25
 07E4 EA93              st -y,R30
 07E6 FA93              st -y,R31
 07E8 0FB6              in R0,0x3f
 07EA 0A92              st -y,R0
 07EC                   .dbline -1
 07EC                   .dbline 259
 07EC           ; }
 07EC           ; 
 07EC           ; #pragma interrupt_handler timer0_ovf_isr:17
 07EC           ; void timer0_ovf_isr(void)
 07EC           ; {
 07EC                   .dbline 260
 07EC           ;  TCNT0 = 0xFB; //reload counter value
 07EC 8BEF              ldi R24,251
 07EE 82BF              out 0x32,R24
 07F0                   .dbline 261
 07F0           ; if (  (xuanze!=0) &&  (xuanze<2)  )//滤波均值
 07F0 20902C00          lds R2,_xuanze
 07F4 2220              tst R2
 07F6 21F1              breq L79
 07F8 822D              mov R24,R2
 07FA 8230              cpi R24,2
 07FC 08F5              brsh L79
 07FE                   .dbline 262
 07FE           ;   v_temp[y_adc][x_adc]=v_temp[y_adc][x_adc]/4+ADC/4;
 07FE 20900000          lds R2,_y_adc
 0802 80E2              ldi R24,32
 0804 829D              mul R24,R2
 0806 1001              movw R2,R0
 0808 80E0              ldi R24,<_v_temp
 080A 90E0              ldi R25,>_v_temp
 080C 280E              add R2,R24
 080E 391E              adc R3,R25
 0810 40900100          lds R4,_x_adc
 0814 5524              clr R5
 0816 420C              add R4,R2
 0818 531C              adc R5,R3
 081A 24E0              ldi R18,4
 081C 30E0              ldi R19,0
 081E F201              movw R30,R4
 0820 0081              ldd R16,z+0
 0822 1127              clr R17
 0824 0E940000          xcall div16s
 0828 1801              movw R2,R16
 082A 64B0              in R6,0x4
 082C 75B0              in R7,0x5
 082E 7694              lsr R7
 0830 6794              ror R6
 0832 7694              lsr R7
 0834 6794              ror R6
 0836 260C              add R2,R6
 0838 371C              adc R3,R7
 083A F201              movw R30,R4
 083C 2082              std z+0,R2
 083E 13C0              xjmp L80
 0840           L79:
 0840                   .dbline 264
 0840 20900000          lds R2,_y_adc
 0844 80E2              ldi R24,32
 0846 829D              mul R24,R2
 0848 1001              movw R2,R0
 084A 80E0              ldi R24,<_v_temp
 084C 90E0              ldi R25,>_v_temp
 084E 280E              add R2,R24
 0850 391E              adc R3,R25
 0852 E0910100          lds R30,_x_adc
 0856 FF27              clr R31
 0858 E20D              add R30,R2
 085A F31D              adc R31,R3
 085C 24B0              in R2,0x4
 085E 35B0              in R3,0x5
 0860 3694              lsr R3
 0862 2794              ror R2
 0864 2082              std z+0,R2
 0866           L80:
 0866                   .dbline -2
 0866           L78:
 0866 0990              ld R0,y+
 0868 0FBE              out 0x3f,R0
 086A F991              ld R31,y+
 086C E991              ld R30,y+
 086E 9991              ld R25,y+
 0870 8991              ld R24,y+
 0872 3991              ld R19,y+
 0874 2991              ld R18,y+
 0876 1991              ld R17,y+
 0878 0991              ld R16,y+
 087A 7990              ld R7,y+
 087C 6990              ld R6,y+
 087E 5990              ld R5,y+
 0880 4990              ld R4,y+
 0882 3990              ld R3,y+
 0884 2990              ld R2,y+
 0886 1990              ld R1,y+
 0888 0990              ld R0,y+
 088A                   .dbline 0 ; func end
 088A 1895              reti
 088C                   .dbend
 088C                   .dbfunc e main _main fI
 088C           ;              n -> <dead>
 088C           ;      v_num_now -> R10,R11
 088C           ;          n_sec -> R10
 088C           ;         n_juli -> R10
 088C           ;       n_jiaodu -> R10
 088C           ;             yv -> R10
 088C           ;             xv -> R12
                        .even
 088C           _main::
 088C 2197              sbiw R28,1
 088E                   .dbline -1
 088E                   .dbline 270
 088E           ; else /**/
 088E           ;   v_temp[y_adc][x_adc]=ADC>>1;
 088E           ; }
 088E           ; #define PWM_ON    DDRB|=   R_pwm0 | R_pwm1 | L_pwm0 | L_pwm1;
 088E           ; #define PWM_OFF   DDRB&= ~(R_pwm0 | R_pwm1 | L_pwm0 | L_pwm1);
 088E           ; 
 088E           ; main()
 088E           ; {int n;
 088E 

⌨️ 快捷键说明

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