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

📄 main.lis

📁 AVR单片机系统开发经典实例部分源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0238           ;               }
 0238           L45:
 0238                   .dbline 178
 0238           ;       //      if(global_detect_trip[0]>2049)
 0238           ;       //      {
 0238           ;       //              if((global_detect_trip[1]-global_detect_trip[0]>1)&&(global_detect_trip[2]-global_detect_trip[1]>1))//&&(global_detect_trip[3]-global_detect_trip[0]>1))
 0238           ;       //              {
 0238           ;                       //检测到动作标志赋值
 0238           ;       //                      global_operation_detected_flag=1;
 0238           ;       //              }
 0238           ;       //      }
 0238           ;       //      if(int16_temp1>2049)
 0238           ;       //      {
 0238           ;               //检测到动作标志赋值
 0238           ;       //              global_operation_detected_flag=1;
 0238           ;       //      }
 0238           ;               global_ad_counter++;
 0238 80912600          lds R24,_global_ad_counter
 023C 90912700          lds R25,_global_ad_counter+1
 0240 0196              adiw R24,1
 0242 90932700          sts _global_ad_counter+1,R25
 0246 80932600          sts _global_ad_counter,R24
 024A                   .dbline 179
 024A           ;       }
 024A           L27:
 024A                   .dbline 181
 024A           ; //完成一次AD转换,将AD转换结束标志赋值
 024A           ;       global_ad_finish_flag=0xFF;
 024A 8FEF              ldi R24,255
 024C 90E0              ldi R25,0
 024E 90930100          sts _global_ad_finish_flag+1,R25
 0252 80930000          sts _global_ad_finish_flag,R24
 0256                   .dbline -2
 0256           L19:
 0256 0E940000          xcall pop_gset2
 025A                   .dbline 0 ; func end
 025A 0895              ret
 025C                   .dbsym l i 1 i
 025C                   .dbsym r temp2 22 i
 025C                   .dbsym r temp1 22 i
 025C                   .dbsym r int16_temp1 20 i
 025C                   .dbsym r SIG_INTERRUPT7 16 I
 025C                   .dbend
 025C                   .dbfunc e main _main fI
 025C           ;              i -> R16,R17
                        .even
 025C           _main::
 025C                   .dbline -1
 025C                   .dbline 188
 025C           ; //开中断
 025C           ;       //sei();
 025C           ; }
 025C           ; 
 025C           ; //主程序//////////////////////////////
 025C           ; int main()
 025C           ; {
 025C                   .dbline 199
 025C           ; //变量定义
 025C           ;       unsigned int i;
 025C           ; //初始化和串口波特率设置
 025C           ;       //INITIATION();
 025C           ; //PG3供测试用/////////////
 025C           ;       //sbi(DDRG,3);
 025C           ;       //cbi(PORTG,3);
 025C           ; //开中断
 025C           ;       //sei();
 025C           ; //自动测试标志初始化
 025C           ;       global_sample_mode_flag=0xFF;
 025C 8FEF              ldi R24,255
 025E 90E0              ldi R25,0
 0260 90932300          sts _global_sample_mode_flag+1,R25
 0264 80932200          sts _global_sample_mode_flag,R24
 0268                   .dbline 201
 0268           ; //采集控制标志初始化
 0268           ;       global_start_sample_flag=0xFF;
 0268 90932500          sts _global_start_sample_flag+1,R25
 026C 80932400          sts _global_start_sample_flag,R24
 0270                   .dbline 203
 0270           ; //串口接收控制变量初始化
 0270           ;       global_flag_serie=0;
 0270 2224              clr R2
 0272 3324              clr R3
 0274 30922900          sts _global_flag_serie+1,R3
 0278 20922800          sts _global_flag_serie,R2
 027C                   .dbline 207
 027C           ; //开串口接收中断
 027C           ;       //UART_RXCINT_OPEN();
 027C           ; //延时
 027C           ;       for(i=0;i<0xFF;i++)
 027C 0027              clr R16
 027E 1127              clr R17
 0280 08C0              xjmp L53
 0282           X9:
 0282                   .dbline 208
 0282           ;       {
 0282           L54:
 0282                   .dbline 211
 0282                   .dbline 211
 0282                   .dbline 211
 0282           L55:
 0282                   .dbline 211
 0282 26B6              in R2,0x36
 0284 24FE              sbrs R2,4
 0286 FDCF              rjmp L54
 0288                   .dbline 212
 0288 86B7              in R24,0x36
 028A 8061              ori R24,16
 028C 86BF              out 0x36,R24
 028E                   .dbline 215
 028E           L51:
 028E                   .dbline 207
 028E 0F5F              subi R16,255  ; offset = 1
 0290 1F4F              sbci R17,255
 0292           L53:
 0292                   .dbline 207
 0292 0F3F              cpi R16,255
 0294 E0E0              ldi R30,0
 0296 1E07              cpc R17,R30
 0298 A0F3              brlo L55
 029A           L57:
 029A                   .dbline 218
 029A                   .dbline 263
 029A           L58:
 029A                   .dbline 217
 029A           ;               //TIMER_BEGIN();
 029A           ;               //等待定时器溢出,AD结束中断处理在等待过程中完成
 029A           ;               while(!(TIFR&(1<<OCF1A))){;}
 029A           ;               TIFR|=1<<OCF1A;
 029A           ;               //终止定时器
 029A           ;               //TIMER_STOP();
 029A           ;       }
 029A           ; //数据采集流程
 029A           ;       while(1)
 029A FFCF              xjmp L57
 029C           X10:
 029C                   .dbline 265
 029C           L60:
 029C                   .dbline 265
 029C           ;       {
 029C           ;       /*
 029C           ;       //检测动作开始标志清零
 029C           ;               for(i=0;i<4;i++){global_detect_close[i]=0;}
 029C           ;               for(i=0;i<4;i++){global_detect_trip[i]=0;}
 029C           ;       //如果自动测试
 029C           ;               if(global_sample_mode_flag==0x00)
 029C           ;               {
 029C           ;               //关串口接收中断
 029C           ;                       UART_RXCINT_CLOSE();
 029C           ;               //开外部中断7(AD转换结束中断)
 029C           ;                       EXTERN_INTERRUPT_OPEN(7);
 029C           ;               //检测采样
 029C           ;                       OPERATION_DETECTION();
 029C           ;               //如果检测到有信号变化,向COUNTER发送开始采集命令
 029C           ;               //      sbi(UCSR0B,TXB8);//将TXB8置1
 029C           ;                       UART_DATA_BYTE_SEND(0x10);//发送数据采集命令
 029C           ;               //开始采样
 029C           ;                       SAMPLE();
 029C           ;               //关外部中断7
 029C           ;                       EXTERN_INTERRUPT_CLOSE(7);
 029C           ;               //开串口接收中断,等待数据包传输命令
 029C           ;                       UART_RXCINT_OPEN();
 029C           ;               //向主机发送采集结束命令0x33
 029C           ;                       UART_DATA_BYTE_SEND(0x33);
 029C           ;               //自动测试标志复原
 029C           ;                       global_sample_mode_flag=0xFF;
 029C           ;               }
 029C           ;       //如果接收到开始采集命令
 029C           ;               if(global_start_sample_flag==0x00)
 029C           ;               {
 029C           ;               //关串口接收中断
 029C           ;                       UART_RXCINT_CLOSE();
 029C           ;               //开外部中断7(AD转换结束中断)
 029C           ;                       EXTERN_INTERRUPT_OPEN(7);
 029C           ;               //采样
 029C           ;                       SAMPLE();
 029C           ;               //关外部中断7
 029C           ;                       EXTERN_INTERRUPT_CLOSE(7);
 029C           ;               //开串口接收中断,等待数据包传输命令
 029C           ;                       UART_RXCINT_OPEN();
 029C           ;               //开始采集标志复原
 029C           ;                       global_start_sample_flag=0xFF;
 029C           ;               }
 029C           ;       */
 029C           ;       }
 029C           ;       
 029C           ;       for(;;){;}
 029C                   .dbline 265
 029C                   .dbline 265
 029C                   .dbline 265
 029C                   .dbline 265
 029C FFCF              xjmp L60
 029E           X11:
 029E                   .dbline 266
 029E           ;       return 0;
 029E 0027              clr R16
 02A0 1127              clr R17
 02A2                   .dbline -2
 02A2           L49:
 02A2                   .dbline 0 ; func end
 02A2 0895              ret
 02A4                   .dbsym r i 16 i
 02A4                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\AVR\AD\main.c
 0000           _global_ad_finish_flag::
 0000                   .blkb 2
 0002                   .dbsym e global_ad_finish_flag _global_ad_finish_flag i
 0002           _global_voltage_counter::
 0002                   .blkb 2
 0004                   .dbsym e global_voltage_counter _global_voltage_counter i
 0004           _global_motor_counter::
 0004                   .blkb 2
 0006                   .dbsym e global_motor_counter _global_motor_counter i
 0006           _global_trip_counter::
 0006                   .blkb 2
 0008                   .dbsym e global_trip_counter _global_trip_counter i
 0008           _global_close_counter::
 0008                   .blkb 2
 000A                   .dbsym e global_close_counter _global_close_counter i
 000A           _global_channel_flag::
 000A                   .blkb 2
 000C                   .dbsym e global_channel_flag _global_channel_flag i
 000C           _global_detect_trip::
 000C                   .blkb 10
 0016                   .dbsym e global_detect_trip _global_detect_trip A[10:5]i
 0016           _global_detect_close::
 0016                   .blkb 10
 0020                   .dbsym e global_detect_close _global_detect_close A[10:5]i
 0020           _global_operation_detected_flag::
 0020                   .blkb 2
 0022                   .dbsym e global_operation_detected_flag _global_operation_detected_flag i
 0022           _global_sample_mode_flag::
 0022                   .blkb 2
 0024                   .dbsym e global_sample_mode_flag _global_sample_mode_flag i
 0024           _global_start_sample_flag::
 0024                   .blkb 2
 0026                   .dbsym e global_start_sample_flag _global_start_sample_flag i
 0026           _global_ad_counter::
 0026                   .blkb 2
 0028                   .dbsym e global_ad_counter _global_ad_counter i
 0028           _global_flag_serie::
 0028                   .blkb 2
 002A                   .dbsym e global_flag_serie _global_flag_serie i

⌨️ 快捷键说明

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