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

📄 test.lis

📁 针对多路视频远程无线传输问题
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module test.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\工作\video切换\soft\按键切换\test.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 19
 0000           ; //ICC-AVR application builder : 2006-3-22 10:22:28
 0000           ; // Target : M8
 0000           ; // Crystal: 11.059Mhz
 0000           ; 
 0000           ; #include <iom8v.h>
 0000           ; #include <macros.h>
 0000           ; //#include <stddef.h>
 0000           ; 
 0000           ; unsigned char ICP_Flag;
 0000           ; unsigned int ICP_value_down;
 0000           ; unsigned char state;
 0000           ; 
 0000           ; #define LED1_ON()     PORTD=0x01;PORTC = 0x00;PORTC=0x01;
 0000           ; #define LED2_ON()     PORTD=0x02;PORTC = 0x00;PORTC=0x02;
 0000           ; #define LED3_ON()     PORTD=0x04;PORTC = 0x00;PORTC=0x04;
 0000           ; #define LED4_ON()     PORTD=0x08;PORTC = 0x00;PORTC=0x08;
 0000           ; 
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 20
 0000           ;  PORTB = 0x00;
 0000 2224              clr R2
 0002 28BA              out 0x18,R2
 0004                   .dbline 21
 0004           ;  DDRB  = 0x00;
 0004 27BA              out 0x17,R2
 0006                   .dbline 22
 0006           ;  PORTC = 0x00; //m103 output only
 0006 25BA              out 0x15,R2
 0008                   .dbline 23
 0008           ;  DDRC  = 0x0F;
 0008 8FE0              ldi R24,15
 000A 84BB              out 0x14,R24
 000C                   .dbline 24
 000C           ;  PORTD = 0x00;
 000C 22BA              out 0x12,R2
 000E                   .dbline 25
 000E           ;  DDRD  = 0x0F;
 000E 81BB              out 0x11,R24
 0010                   .dbline -2
 0010                   .dbline 26
 0010           ; }
 0010           L1:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbend
 0012                   .dbfunc e timer1_init _timer1_init fV
                        .even
 0012           _timer1_init::
 0012                   .dbline -1
 0012                   .dbline 33
 0012           ; 
 0012           ; //TIMER1 initialize - prescale:Stop
 0012           ; // WGM: 0) Normal, TOP=0xFFFF
 0012           ; // desired value: 1Hz
 0012           ; // actual value: Out of range
 0012           ; void timer1_init(void)
 0012           ; {
 0012                   .dbline 34
 0012           ;  TCCR1B = 0x00; //stop
 0012 2224              clr R2
 0014 2EBC              out 0x2e,R2
 0016                   .dbline 35
 0016           ;  TCNT1H = 0x00 /*INVALID SETTING*/; //setup
 0016 2DBC              out 0x2d,R2
 0018                   .dbline 36
 0018           ;  TCNT1L = 0x00 /*INVALID SETTING*/;
 0018 2CBC              out 0x2c,R2
 001A                   .dbline 37
 001A           ;  OCR1AH = 0x00 /*INVALID SETTING*/;
 001A 2BBC              out 0x2b,R2
 001C                   .dbline 38
 001C           ;  OCR1AL = 0x00 /*INVALID SETTING*/;
 001C 2ABC              out 0x2a,R2
 001E                   .dbline 39
 001E           ;  OCR1BH = 0x00 /*INVALID SETTING*/;
 001E 29BC              out 0x29,R2
 0020                   .dbline 40
 0020           ;  OCR1BL = 0x00 /*INVALID SETTING*/;
 0020 28BC              out 0x28,R2
 0022                   .dbline 41
 0022           ;  ICR1H  = 0x00 /*INVALID SETTING*/;
 0022 27BC              out 0x27,R2
 0024                   .dbline 42
 0024           ;  ICR1L  = 0x00 /*INVALID SETTING*/;
 0024 26BC              out 0x26,R2
 0026                   .dbline 43
 0026           ;  TCCR1A = 0x00;
 0026 2FBC              out 0x2f,R2
 0028                   .dbline 44
 0028           ;  TCCR1B = 0xC0; //start Timer
 0028 80EC              ldi R24,192
 002A 8EBD              out 0x2e,R24
 002C                   .dbline -2
 002C                   .dbline 45
 002C           ; }
 002C           L2:
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbend
 002E                   .dbfunc e delay_s _delay_s fV
 002E           ;              i -> R20,R21
 002E           ;              j -> R22,R23
 002E           ;              x -> R16
                        .even
 002E           _delay_s::
 002E 00D0              rcall push_gset2
 0030                   .dbline -1
 0030                   .dbline 49
 0030           ; 
 0030           ; ///////////////////////////////////////延时程序
 0030           ; void delay_s(char x)   
 0030           ; {
 0030 10C0              rjmp L5
 0032           L4:
 0032                   .dbline 53
 0032           ; int i;
 0032           ; int j;
 0032           ; while(x--)
 0032           ; {
 0032                   .dbline 54
 0032           ; for(i=0;i<500;i++)
 0032 4427              clr R20
 0034 5527              clr R21
 0036           L7:
 0036                   .dbline 55
 0036           ;   {
 0036                   .dbline 56
 0036           ;   for(j=0;j<1000;j++)
 0036 6627              clr R22
 0038 7727              clr R23
 003A           L11:
 003A                   .dbline 57
 003A           L12:
 003A                   .dbline 56
 003A 6F5F              subi R22,255  ; offset = 1
 003C 7F4F              sbci R23,255
 003E                   .dbline 56
 003E 683E              cpi R22,232
 0040 E3E0              ldi R30,3
 0042 7E07              cpc R23,R30
 0044 D4F3              brlt L11
 0046                   .dbline 58
 0046           L8:
 0046                   .dbline 54
 0046 4F5F              subi R20,255  ; offset = 1
 0048 5F4F              sbci R21,255
 004A                   .dbline 54
 004A 443F              cpi R20,244
 004C E1E0              ldi R30,1
 004E 5E07              cpc R21,R30
 0050 94F3              brlt L7
 0052                   .dbline 59
 0052           L5:
 0052                   .dbline 52
 0052 202E              mov R2,R16
 0054 3324              clr R3
 0056 0150              subi R16,1
 0058 2220              tst R2
 005A 59F7              brne L4
 005C                   .dbline -2
 005C                   .dbline 60
 005C           ;   ;
 005C           ;   }
 005C           ; }
 005C           ; }
 005C           L3:
 005C 00D0              rcall pop_gset2
 005E                   .dbline 0 ; func end
 005E 0895              ret
 0060                   .dbsym r i 20 I
 0060                   .dbsym r j 22 I
 0060                   .dbsym r x 16 c
 0060                   .dbend
 0060                   .dbfunc e VideoSwitch _VideoSwitch fV
 0060           ;        Counter -> R20,R21
                        .even
 0060           _VideoSwitch::
 0060 00D0              rcall push_gset1
 0062 A801              movw R20,R16
 0064                   .dbline -1
 0064                   .dbline 64
 0064           ; //////////////////////////////////////
 0064           ; 
 0064           ; void VideoSwitch(unsigned int Counter)           //根据捕捉计数值切换视频通道
 0064           ; {
 0064                   .dbline 65
 0064           ;      if(Counter>0x0D7E)
 0064 8EE7              ldi R24,3454
 0066 9DE0              ldi R25,13
 0068 8417              cp R24,R20
 006A 9507              cpc R25,R21
 006C 08F4              brsh L16
 006E                   .dbline 66
 006E           ;           {   //超过2.5ms,可能是漏掉了一个脉宽信号,不做动作
 006E                   .dbline 68
 006E           ;                       //LED1_ON();                                                                              
 006E           ;                   return;
 006E 2AC0              rjmp L15
 0070           L16:
 0070                   .dbline 71
 0070           ;               }
 0070           ;        
 0070           ;        if(Counter<0x0818)//状态1:                        0.5~1.5ms
 0070 4831              cpi R20,24
 0072 E8E0              ldi R30,8
 0074 5E07              cpc R21,R30
 0076 08F4              brsh L18
 0078                   .dbline 72
 0078           ;               {
 0078                   .dbline 74
 0078           ;                       //LED2_ON(); 
 0078           ;               }
 0078 25C0              rjmp L19
 007A           L18:
 007A                   .dbline 76
 007A           ;               else
 007A           ;               { //1.5ms~2.5ms
 007A                   .dbline 77
 007A           ;                 if(state > 1)
 007A 81E0              ldi R24,1
 007C 20900000          lds R2,_state
 0080 8215              cp R24,R2
 0082 18F4              brsh L20
 0084                   .dbline 78
 0084           ;                    state = 0;
 0084 2224              clr R2
 0086 20920000          sts _state,R2
 008A           L20:
 008A                   .dbline 80
 008A           ; 
 008A           ;                  switch(state)
 008A 40910000          lds R20,_state
 008E 5527              clr R21
 0090 4030              cpi R20,0
 0092 4507              cpc R20,R21
 0094 29F0              breq L25
 0096           X0:
 0096 4130              cpi R20,1
 0098 E0E0              ldi R30,0
 009A 5E07              cpc R21,R30
 009C 39F0              breq L26
 009E 0BC0              rjmp L22
 00A0           X1:
 00A0                   .dbline 81
 00A0           ;                  {
 00A0           L25:
 00A0                   .dbline 83
 00A0           ;                          case 0:
 00A0           ;                              LED2_ON();
 00A0 82E0              ldi R24,2
 00A2 82BB              out 0x12,R24
 00A4                   .dbline 83
 00A4 2224              clr R2
 00A6 25BA              out 0x15,R2
 00A8                   .dbline 83
 00A8 85BB              out 0x15,R24
 00AA                   .dbline 83
 00AA                   .dbline 84
 00AA           ;                                  break;
 00AA 05C0              rjmp L23
 00AC           L26:
 00AC                   .dbline 86
 00AC           ;                          case 1:
 00AC           ;                              LED4_ON();
 00AC 88E0              ldi R24,8
 00AE 82BB              out 0x12,R24
 00B0                   .dbline 86
 00B0 2224              clr R2
 00B2 25BA              out 0x15,R2
 00B4                   .dbline 86
 00B4 85BB              out 0x15,R24
 00B6                   .dbline 86
 00B6                   .dbline 87

⌨️ 快捷键说明

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