📄 main.lis
字号:
0652 6A93 st -y,R22
0654 5A93 st -y,R21
0656 4A93 st -y,R20
0658 8101 movw R16,R2
065A 9201 movw R18,R4
065C 0E940000 xcall div32s
0660 4AE0 ldi R20,10
0662 50E0 ldi R21,0
0664 60E0 ldi R22,0
0666 70E0 ldi R23,0
0668 7A93 st -y,R23
066A 6A93 st -y,R22
066C 5A93 st -y,R21
066E 4A93 st -y,R20
0670 0E940000 xcall mod32s
0674 1801 movw R2,R16
0676 2901 movw R4,R18
0678 40E3 ldi R20,48
067A 50E0 ldi R21,0
067C 60E0 ldi R22,0
067E 70E0 ldi R23,0
0680 240E add R2,R20
0682 351E adc R3,R21
0684 461E adc R4,R22
0686 571E adc R5,R23
0688 20929C00 sts 156,R2
068C L57:
068C .dbline 260
068C L58:
068C .dbline 260
068C ; while(!(UCSR1A&(1<<UDRE1)));
068C 20909B00 lds R2,155
0690 25FE sbrs R2,5
0692 FCCF rjmp L57
0694 .dbline 261
0694 ; UDR1=(n/10)%10+48;
0694 4AE0 ldi R20,10
0696 50E0 ldi R21,0
0698 60E0 ldi R22,0
069A 70E0 ldi R23,0
069C FE01 movw R30,R28
069E 2080 ldd R2,z+0
06A0 3180 ldd R3,z+1
06A2 4280 ldd R4,z+2
06A4 5380 ldd R5,z+3
06A6 7A93 st -y,R23
06A8 6A93 st -y,R22
06AA 5A93 st -y,R21
06AC 4A93 st -y,R20
06AE 8101 movw R16,R2
06B0 9201 movw R18,R4
06B2 0E940000 xcall div32s
06B6 4AE0 ldi R20,10
06B8 50E0 ldi R21,0
06BA 60E0 ldi R22,0
06BC 70E0 ldi R23,0
06BE 7A93 st -y,R23
06C0 6A93 st -y,R22
06C2 5A93 st -y,R21
06C4 4A93 st -y,R20
06C6 0E940000 xcall mod32s
06CA 1801 movw R2,R16
06CC 2901 movw R4,R18
06CE 40E3 ldi R20,48
06D0 50E0 ldi R21,0
06D2 60E0 ldi R22,0
06D4 70E0 ldi R23,0
06D6 240E add R2,R20
06D8 351E adc R3,R21
06DA 461E adc R4,R22
06DC 571E adc R5,R23
06DE 20929C00 sts 156,R2
06E2 L60:
06E2 .dbline 262
06E2 L61:
06E2 .dbline 262
06E2 ; while(!(UCSR1A&(1<<UDRE1)));
06E2 20909B00 lds R2,155
06E6 25FE sbrs R2,5
06E8 FCCF rjmp L60
06EA .dbline 263
06EA ; UDR1=n%10+48;
06EA 4AE0 ldi R20,10
06EC 50E0 ldi R21,0
06EE 60E0 ldi R22,0
06F0 70E0 ldi R23,0
06F2 FE01 movw R30,R28
06F4 2080 ldd R2,z+0
06F6 3180 ldd R3,z+1
06F8 4280 ldd R4,z+2
06FA 5380 ldd R5,z+3
06FC 7A93 st -y,R23
06FE 6A93 st -y,R22
0700 5A93 st -y,R21
0702 4A93 st -y,R20
0704 8101 movw R16,R2
0706 9201 movw R18,R4
0708 0E940000 xcall mod32s
070C 1801 movw R2,R16
070E 2901 movw R4,R18
0710 40E3 ldi R20,48
0712 50E0 ldi R21,0
0714 60E0 ldi R22,0
0716 70E0 ldi R23,0
0718 240E add R2,R20
071A 351E adc R3,R21
071C 461E adc R4,R22
071E 571E adc R5,R23
0720 20929C00 sts 156,R2
0724 .dbline 264
0724 ; if (huanhang)
0724 AA20 tst R10
0726 79F0 breq L72
0728 .dbline 265
0728 ; {
0728 L65:
0728 .dbline 266
0728 L66:
0728 .dbline 266
0728 ; while(!(UCSR1A&(1<<UDRE1)));
0728 20909B00 lds R2,155
072C 25FE sbrs R2,5
072E FCCF rjmp L65
0730 .dbline 267
0730 ; UDR1=0x0d;
0730 8DE0 ldi R24,13
0732 80939C00 sts 156,R24
0736 L68:
0736 .dbline 268
0736 L69:
0736 .dbline 268
0736 ; while(!(UCSR1A&(1<<UDRE1)));
0736 20909B00 lds R2,155
073A 25FE sbrs R2,5
073C FCCF rjmp L68
073E .dbline 269
073E ; UDR1=0x0a;
073E 8AE0 ldi R24,10
0740 80939C00 sts 156,R24
0744 .dbline 270
0744 ; }
0744 0EC0 xjmp L64
0746 X11:
0746 .dbline 272
0746 ; else
0746 ; {
0746 L71:
0746 .dbline 273
0746 L72:
0746 .dbline 273
0746 ; while(!(UCSR1A&(1<<UDRE1)));
0746 20909B00 lds R2,155
074A 25FE sbrs R2,5
074C FCCF rjmp L71
074E .dbline 274
074E ; UDR1=0x20;
074E 80E2 ldi R24,32
0750 80939C00 sts 156,R24
0754 L74:
0754 .dbline 275
0754 L75:
0754 .dbline 275
0754 20909B00 lds R2,155
0758 25FE sbrs R2,5
075A FCCF rjmp L74
075C .dbline 276
075C 80E2 ldi R24,32
075E 80939C00 sts 156,R24
0762 .dbline 277
0762 L64:
0762 .dbline -2
0762 L39:
0762 2496 adiw R28,4
0764 0E940000 xcall pop_gset3
0768 2496 adiw R28,4
076A .dbline 0 ; func end
076A 0895 ret
076C .dbsym l n 0 L
076C .dbsym r huanhang 10 c
076C .dbsym l NUM 10 L
076C .dbend
076C .dbfunc e timer0_init _timer0_init fV
.even
076C _timer0_init::
076C .dbline -1
076C .dbline 287
076C ; while(!(UCSR1A&(1<<UDRE1)));
076C ; UDR1=0x20;
076C ; }
076C ; }
076C ;
076C ;
076C ;
076C ; //TIMER0 initialize - prescale:64
076C ; // WGM: PWM Fast
076C ; // desired value: 1KHz
076C ; // actual value: 0.488KHz (-104.8%)
076C ; void timer0_init(void)
076C ; {
076C .dbline 288
076C ; TCCR0 = 0x00; //stop
076C 2224 clr R2
076E 23BE out 0x33,R2
0770 .dbline 289
0770 ; ASSR = 0x00; //set async mode
0770 20BE out 0x30,R2
0772 .dbline 290
0772 ; TCNT0 = 0x01; //set count
0772 81E0 ldi R24,1
0774 82BF out 0x32,R24
0776 .dbline 291
0776 ; OCR0 = 0x0f;
0776 8FE0 ldi R24,15
0778 81BF out 0x31,R24
077A .dbline 292
077A ; TCCR0 = 0x6C; //start timer
077A 8CE6 ldi R24,108
077C 83BF out 0x33,R24
077E .dbline -2
077E L77:
077E .dbline 0 ; func end
077E 0895 ret
0780 .dbend
0780 .dbfunc e timer1_init _timer1_init fV
.even
0780 _timer1_init::
0780 .dbline -1
0780 .dbline 300
0780 ; }
0780 ;
0780 ; //TIMER1 initialize - prescale:64
0780 ; // WGM: 5) PWM 8bit fast, TOP=0x00FF
0780 ; // desired value: 1KHz
0780 ; // actual value: 0.488KHz (104.8%)
0780 ; void timer1_init(void)
0780 ; {
0780 .dbline 301
0780 ; TCCR1B = 0x00; //stop
0780 2224 clr R2
0782 2EBC out 0x2e,R2
0784 .dbline 302
0784 ; TCNT1H = 0xFF; //setup
0784 8FEF ldi R24,255
0786 8DBD out 0x2d,R24
0788 .dbline 303
0788 ; TCNT1L = 0x01;
0788 81E0 ldi R24,1
078A 8CBD out 0x2c,R24
078C .dbline 304
078C ; OCR1AH = 0x00;
078C 2BBC out 0x2b,R2
078E .dbline 305
078E ; OCR1AL = 0x0f;
078E 8FE0 ldi R24,15
0790 8ABD out 0x2a,R24
0792 .dbline 306
0792 ; OCR1BH = 0x00;
0792 29BC out 0x29,R2
0794 .dbline 307
0794 ; OCR1BL = 0x0f;
0794 88BD out 0x28,R24
0796 .dbline 308
0796 ; OCR1CH = 0x00;
0796 20927900 sts 121,R2
079A .dbline 309
079A ; OCR1CL = 0x0f;
079A 80937800 sts 120,R24
079E .dbline 310
079E ; ICR1H = 0x00;
079E 27BC out 0x27,R2
07A0 .dbline 311
07A0 ; ICR1L = 0xFF;
07A0 8FEF ldi R24,255
07A2 86BD out 0x26,R24
07A4 .dbline 312
07A4 ; TCCR1A = 0xA9;
07A4 89EA ldi R24,169
07A6 8FBD out 0x2f,R24
07A8 .dbline 313
07A8 ; TCCR1B = 0x0B; //start Timer
07A8 8BE0 ldi R24,11
07AA 8EBD out 0x2e,R24
07AC .dbline -2
07AC L78:
07AC .dbline 0 ; func end
07AC 0895 ret
07AE .dbend
.area data(ram, con, rel)
002B .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\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视频处理\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视频处理\main.c
002D .dbsym e xuanze _xuanze c
.area vector(rom, abs)
.org 4
0004 0C94D703 jmp _int0_isr
.area data(ram, con, rel)
002D .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\main.c
.area text(rom, con, rel)
07AE .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\main.c
07AE .dbfunc e int0_isr _int0_isr fV
.even
07AE _int0_isr::
07AE 2A92 st -y,R2
07B0 3A92 st -y,R3
07B2 8A93 st -y,R24
07B4 2FB6 in R2,0x3f
07B6 2A92 st -y,R2
07B8 .dbline -1
07B8 .dbline 319
07B8 ; }
07B8 ; unsigned char shuliang=0;
07B8 ; unsigned char xuanze=0;
07B8 ; #pragma interrupt_handler int0_isr:2
07B8 ; void int0_isr(void)
07B8 ; {
07B8 .dbline 322
07B8 ; //external interupt on INT0
07B8 ;
07B8 ; x_adc=0;y_adc=0;
07B8 2224 clr R2
07BA 20920100 sts _x_adc,R2
07BE .dbline 322
07BE 20920000 sts _y_adc,R2
07C2 .dbline 323
07C2 ; chang=1;
07C2 81E0 ldi R24,1
07C4 80932800 sts _chang,R24
07C8 .dbline 324
07C8 ; shuliang=ms;
07C8 20900400 lds R2,_ms
07CC 30900500 lds R3,_ms+1
07D0 20922B00 sts _shuliang,R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -