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

📄 main.lis

📁 avr的视频采集
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0044 8991              ld R24,y+
 0046 8FBF              out 0x3f,R24
 0048 8991              ld R24,y+
 004A                   .dbline 0 ; func end
 004A 1895              reti
 004C                   .dbend
 004C                   .dbfunc e adc_init _adc_init fV
                        .even
 004C           _adc_init::
 004C                   .dbline -1
 004C                   .dbline 105
 004C           ;  /*if (time>500){sec++;time=0;}
 004C           ;  time++;
 004C           ;  ADCjohu=ADCL;
 004C           ;  ADCjohu|=ADCH << 8;
 004C           ; ///////////////////////////////////////////////////////////////////平均值滤波  1毫秒采样滤波,10毫秒输出
 004C           ;  if (lvbo==0) {lvbo_num=ADCjohu/2;lvbo++;return;}
 004C           ;  if (lvbo<10) {lvbo_num+=ADCjohu/2;lvbo++;return;}
 004C           ;       else lvbo=0;
 004C           ; //////////////////////////////////////////////////////////////////////////////
 004C           ;  if ( (ADCjohu<REF-6) || (ADCjohu>REF+6))
 004C           ;       {
 004C           ;        //ADCjohu-=511-10;//-511+31-3.27371     -10
 004C           ;        xx=xx+ADCjohu-REF;//
 004C           ;       }
 004C           ;  ms=1;*/
 004C           ; }
 004C           ; 
 004C           ; //ADC initialize
 004C           ; // Conversion time: 3uS
 004C           ; void adc_init(void)
 004C           ; {
 004C                   .dbline 106
 004C           ;  ADCSRA = 0x00; //disable adc
 004C 2224              clr R2
 004E 26B8              out 0x6,R2
 0050                   .dbline 107
 0050           ;  ADMUX = 0x01; //select adc input 0
 0050 81E0              ldi R24,1
 0052 87B9              out 0x7,R24
 0054                   .dbline 108
 0054           ;  ACSR  = 0x80;
 0054 80E8              ldi R24,128
 0056 88B9              out 0x8,R24
 0058                   .dbline 109
 0058           ;  ADCSRB = 0x00;
 0058 20928E00          sts 142,R2
 005C                   .dbline 110
 005C           ;  ADCSRA = 0xEa;
 005C 8AEE              ldi R24,234
 005E 86B9              out 0x6,R24
 0060                   .dbline -2
 0060           L4:
 0060                   .dbline 0 ; func end
 0060 0895              ret
 0062                   .dbend
                        .area vector(rom, abs)
                        .org 84
 0054 0C943100          jmp _adc_isr
                        .area text(rom, con, rel)
 0062                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\main.c
 0062                   .dbfunc e adc_isr _adc_isr fV
                        .even
 0062           _adc_isr::
 0062 8A93              st -y,R24
 0064 8FB7              in R24,0x3f
 0066 8A93              st -y,R24
 0068                   .dbline -1
 0068                   .dbline 115
 0068           ; }
 0068           ; 
 0068           ; #pragma interrupt_handler adc_isr:22
 0068           ; void adc_isr(void)
 0068           ; {
 0068                   .dbline 124
 0068           ;  //conversion complete, read value (int) using...
 0068           ;  // value=ADCL;            //Read 8 low bits first (important)
 0068           ;  // value|=(int)ADCH << 8; //read 2 high bits and shift into top byte
 0068           ;  //ADCjohu==ADCL;
 0068           ;  //ADCjohu|=(int)ADCH << 8;
 0068           ;  //PORTD=ADCjohu;
 0068           ;  //adc=1; 
 0068           ;  //if (v_x==32) return;
 0068           ;  adc1=1;
 0068 81E0              ldi R24,1
 006A 80932A00          sts _adc1,R24
 006E                   .dbline 128
 006E           ; 
 006E           ;  //PORTA=ADCL;
 006E           ;  
 006E           ;  return;
 006E                   .dbline -2
 006E           L5:
 006E 8991              ld R24,y+
 0070 8FBF              out 0x3f,R24
 0072 8991              ld R24,y+
 0074                   .dbline 0 ; func end
 0074 1895              reti
 0076                   .dbend
 0076                   .dbfunc e init_devices _init_devices fV
                        .even
 0076           _init_devices::
 0076                   .dbline -1
 0076                   .dbline 133
 0076           ; }
 0076           ; 
 0076           ; //call this routine to initialize all peripherals
 0076           ; void init_devices(void)
 0076           ; {
 0076                   .dbline 135
 0076           ;  //stop errant interrupts until set up
 0076           ;  CLI(); //disable all interrupts
 0076 F894              cli
 0078                   .dbline 136
 0078           ;  XDIV  = 0x00; //xtal divider
 0078 2224              clr R2
 007A 2CBE              out 0x3c,R2
 007C                   .dbline 137
 007C           ;  XMCRA = 0x00; //external memory
 007C 20926D00          sts 109,R2
 0080                   .dbline 138
 0080           ;  port_init();
 0080 BFDF              xcall _port_init
 0082                   .dbline 139
 0082           ;  timer2_init(); 
 0082 D2DF              xcall _timer2_init
 0084                   .dbline 142
 0084           ; 
 0084           ; //adc_init();
 0084           ; uart1_init();
 0084 0DD0              xcall _uart1_init
 0086                   .dbline 144
 0086           ; 
 0086           ;  MCUCR = 0x00;
 0086 2224              clr R2
 0088 25BE              out 0x35,R2
 008A                   .dbline 145
 008A           ;  EICRA = 0x0A; //extended ext ints
 008A 8AE0              ldi R24,10
 008C 80936A00          sts 106,R24
 0090                   .dbline 146
 0090           ;  EICRB = 0x00; //extended ext ints
 0090 2ABE              out 0x3a,R2
 0092                   .dbline 147
 0092           ;  EIMSK = 0x03;
 0092 83E0              ldi R24,3
 0094 89BF              out 0x39,R24
 0096                   .dbline 149
 0096           ;  //TIMSK = 0x40; //timer interrupt sources
 0096           ;  TIMSK = 0x00;
 0096 27BE              out 0x37,R2
 0098                   .dbline 150
 0098           ;  ETIMSK = 0x00; //extended timer interrupt sources
 0098 20927D00          sts 125,R2
 009C                   .dbline 151
 009C           ;  SEI(); //re-enable interrupts
 009C 7894              sei
 009E                   .dbline -2
 009E           L6:
 009E                   .dbline 0 ; func end
 009E 0895              ret
 00A0                   .dbend
 00A0                   .dbfunc e uart1_init _uart1_init fV
                        .even
 00A0           _uart1_init::
 00A0                   .dbline -1
 00A0                   .dbline 158
 00A0           ;  //all peripherals are now initialized
 00A0           ; }
 00A0           ; //UART1 initialize
 00A0           ; // desired baud rate:19200
 00A0           ; // actual baud rate:19231 (0.2%)
 00A0           ; void uart1_init(void)
 00A0           ; {
 00A0                   .dbline 159
 00A0           ;  UCSR1B = 0x00; //disable while setting baud rate
 00A0 2224              clr R2
 00A2 20929A00          sts 154,R2
 00A6                   .dbline 160
 00A6           ;  UCSR1A = 0x00;
 00A6 20929B00          sts 155,R2
 00AA                   .dbline 161
 00AA           ;  UCSR1C = 0x06;
 00AA 86E0              ldi R24,6
 00AC 80939D00          sts 157,R24
 00B0                   .dbline 162
 00B0           ;  UBRR1L = 0x40; //set baud rate lo
 00B0 80E4              ldi R24,64
 00B2 80939900          sts 153,R24
 00B6                   .dbline 163
 00B6           ;  UBRR1H = 0x00; //set baud rate hi
 00B6 20929800          sts 152,R2
 00BA                   .dbline 164
 00BA           ;  UCSR1B = 0x98;
 00BA 88E9              ldi R24,152
 00BC 80939A00          sts 154,R24
 00C0                   .dbline -2
 00C0           L7:
 00C0                   .dbline 0 ; func end
 00C0 0895              ret
 00C2                   .dbend
                        .area vector(rom, abs)
                        .org 120
 0078 0C946100          jmp _uart1_rx_isr
                        .area text(rom, con, rel)
 00C2                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\1视频处理\main.c
 00C2                   .dbfunc e uart1_rx_isr _uart1_rx_isr fV
                        .even
 00C2           _uart1_rx_isr::
 00C2 0A92              st -y,R0
 00C4 1A92              st -y,R1
 00C6 2A92              st -y,R2
 00C8 3A92              st -y,R3
 00CA 4A92              st -y,R4
 00CC 5A92              st -y,R5
 00CE 0A93              st -y,R16
 00D0 1A93              st -y,R17
 00D2 2A93              st -y,R18
 00D4 3A93              st -y,R19
 00D6 8A93              st -y,R24
 00D8 9A93              st -y,R25
 00DA EA93              st -y,R30
 00DC FA93              st -y,R31
 00DE 0FB6              in R0,0x3f
 00E0 0A92              st -y,R0
 00E2 0E940000          xcall push_gset2
 00E6                   .dbline -1
 00E6                   .dbline 170
 00E6           ; }
 00E6           ; 
 00E6           ; #pragma interrupt_handler uart1_rx_isr:31
 00E6           ; //cir+00100
 00E6           ; void uart1_rx_isr(void)
 00E6           ; {
 00E6                   .dbline 172
 00E6           ;  //uart has received a character in UDR
 00E6           ;  if (all==CIR)
 00E6 80911400          lds R24,_all
 00EA 8130              cpi R24,1
 00EC 09F0              breq X2
 00EE B8C0              xjmp L9
 00F0           X2:
 00F0                   .dbline 173
 00F0           ;       {
 00F0                   .dbline 174
 00F0           ;          a=b;
 00F0 20901600          lds R2,_b
 00F4 20921500          sts _a,R2
 00F8                   .dbline 175
 00F8           ;          b=c;
 00F8 20901700          lds R2,_c
 00FC 20921600          sts _b,R2
 0100                   .dbline 176
 0100           ;          c=d;
 0100 20901800          lds R2,_d
 0104 20921700          sts _c,R2
 0108                   .dbline 177
 0108           ;          d=e;
 0108 20901900          lds R2,_e
 010C 20921800          sts _d,R2
 0110                   .dbline 178
 0110           ;          e=f;
 0110 20901A00          lds R2,_f
 0114 20921900          sts _e,R2
 0118                   .dbline 179
 0118           ;          f=UDR1;
 0118 20909C00          lds R2,156
 011C 20921A00          sts _f,R2
 0120                   .dbline 180
 0120 822D              mov R24,R2
 0122 8033              cpi R24,48
 0124 18F0              brlo L13
 0126 89E3              ldi R24,57
 0128 8215              cp R24,R2
 012A 08F4              brsh L11
 012C           L13:
 012C                   .dbline 180
 012C           ;          if ((f<'0')||(f>'9'))return;
 012C D9C1              xjmp L8
 012E           L11:
 012E                   .dbline 181
 012E           ;          if (a=='+')//0x2b
 012E 80911500          lds R24,_a
 0132 8B32              cpi R24,43
 0134 09F0              breq X3
 0136 41C0              xjmp L14
 0138           X3:
 0138                   .dbline 182
 0138           ;                 {jiaodu=(b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48);
 0138                   .dbline 182
 0138 20911700          lds R18,_c
 013C 3327              clr R19
 013E 08EE              ldi R16,1000
 0140 13E0              ldi R17,3
 0142 0E940000          xcall empy16s
 0146 C801              movw R24,R16
 0148 8058              subi R24,128
 014A 9B4B              sbci R25,187
 014C 20911600          lds R18,_b
 0150 3327              clr R19
 0152 00E1              ldi R16,10000
 0154 17E2              ldi R17,39
 0156 0E940000          xcall empy16s
 015A F801              movw R30,R16
 015C E050              subi R30,0
 015E F345              sbci R31,83
 0160 E80F              add R30,R24
 0162 F91F              adc R31,R25
 0164 20901800          lds R2,_d
 0168 84E6              ldi R24,100
 016A 829D              mul R24,R2
 016C C001              movw R24,R0
 016E 805C              subi R24,192
 0170 9241              sbci R25,18
 0172 E80F              add R30,R24
 0174 F91F              adc R31,R25
 0176 20901900          lds R2,_e
 017A 8AE0              ldi R24,10
 017C 829D              mul R24,R2
 017E C001              movw R24,R0
 0180 805E              subi R24,224
 0182 9140              sbci R25,1
 0184 E80F              add R30,R24
 0186 F91F              adc R31,R25
 0188 80911A00          lds R24,_f
 018C 9927              clr R25
 018E C097              sbiw R24,48
 0190 E80F              add R30,R24
 0192 F91F              adc R31,R25
 0194 1F01              movw R2,R30
 0196 4424              clr R4
 0198 37FC              sbrc R3,7
 019A 4094              com R4
 019C 5524              clr R5
 019E 47FC              sbrc R4,7
 01A0 5094              com R5
 01A2 30921C00          sts _jiaodu+1,R3
 01A6 20921B00          sts _jiaodu,R2
 01AA 50921E00          sts _jiaodu+2+1,R5
 01AE 40921D00          sts _jiaodu+2,R4
 01B2                   .dbline 183
 01B2           ;                  all=0;return;}
 01B2 2224              clr R2

⌨️ 快捷键说明

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