📄 main.lis
字号:
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 + -