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

📄 main.lis

📁 工业开关量检测模块的原代码,带断线检测功能
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0084 0000              nop
 0086           
 0086 0000              nop
 0088           
 0088 0C940000          jmp 0x00000
 008C           
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\main.c
                        .area vector(rom, abs)
                        .org 68
 0044 0C940000          jmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\main.c
 0000                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
                        .even
 0000           _timer0_ovf_isr::
 0000 0E940000          xcall push_lset
 0004                   .dbline -1
 0004                   .dbline 203
 0004           ; #include "main.h"
 0004           ; 
 0004           ; VCI_CAN_OBJ msg[2],rece_data[3];
 0004           ; long id1,id2,id3,id4,id5;
 0004           ; 
 0004           ; unsigned char ID_nu,ID_net;
 0004           ; unsigned char Pass_Flag,Send_Flag,Temp_Flag,Time;
 0004           ; extern Uchar DI_Status[3],send_count;
 0004           ; extern Uchar PINA_temp,PINB_temp,PINE_temp,PINF_temp;
 0004           ; extern unsigned char DI_data_cur[12],DI_data[12],DI_data_pre[12];
 0004           ; unsigned int RUN;
 0004           ; 
 0004           ; extern unsigned long CANMOBID[15];
 0004           ; extern unsigned long CANMOBMD[15];
 0004           ; 
 0004           ; 
 0004           ; 
 0004           ; #pragma abs_address: 0x29B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x39B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x49B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x59B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x69B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x79B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x89B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x99B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0xA9B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0xB9B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0xC9B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0xD9B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0xE9B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0xF9B0     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; 
 0004           ; #pragma abs_address: 0x0004     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x000C    
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0014  
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x001C    
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0024    
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x002C     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0034     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x003C    
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x004C   
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0054     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x005C     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0064     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x006C    
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0074     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x007C    
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; #pragma abs_address: 0x0084     
 0004           ;   asm("nop");
 0004           ;   asm("nop");
 0004           ;   RESET;
 0004           ; #pragma end_abs_address
 0004           ; 
 0004           ; 
 0004           ; 
 0004           ; #pragma interrupt_handler timer0_ovf_isr:18
 0004           ; void timer0_ovf_isr(void)                              //定时1毫秒
 0004           ; {
 0004                   .dbline 204
 0004           ;  TCNT0 = 0x83; //reload counter value
 0004 83E8              ldi R24,131
 0006 86BD              out 0x26,R24
 0008                   .dbline 205
 0008           ;  Time++;
 0008 80910200          lds R24,_Time
 000C 8F5F              subi R24,255    ; addi 1
 000E 80930200          sts _Time,R24
 0012                   .dbline 206
 0012           ;  RUN++;
 0012 80910000          lds R24,_RUN
 0016 90910100          lds R25,_RUN+1
 001A 0196              adiw R24,1
 001C 90930100          sts _RUN+1,R25
 0020 80930000          sts _RUN,R24
 0024                   .dbline 207
 0024           ;  if(Time>25)
 0024 89E1              ldi R24,25
 0026 20900200          lds R2,_Time
 002A 8215              cp R24,R2
 002C 40F4              brsh L2
 002E                   .dbline 208
 002E           ;  {
 002E                   .dbline 209
 002E           ;  Time = 0;
 002E 2224              clr R2
 0030 20920200          sts _Time,R2
 0034                   .dbline 210
 0034           ;  Temp_Flag = 0x5a;
 0034 8AE5              ldi R24,90
 0036 80930300          sts _Temp_Flag,R24
 003A                   .dbline 211
 003A           ;  RUN_LED();
 003A 0E940000          xcall _RUN_LED
 003E                   .dbline 212
 003E           ;  }
 003E           L2:
 003E                   .dbline 213
 003E 82E3              ldi R24,50
 0040 90E0              ldi R25,0
 0042 20900000          lds R2,_RUN
 0046 30900100          lds R3,_RUN+1
 004A 8215              cp R24,R2
 004C 9305              cpc R25,R3
 004E 60F4              brsh L4
 0050                   .dbline 214
 0050                   .dbline 215
 0050 A895              wdr
 0052                   .dbline 216
 0052 0E940000          xcall _RUN_LED
 0056                   .dbline 217
 0056 2224              clr R2
 0058 3324              clr R3
 005A 30920100          sts _RUN+1,R3
 005E 20920000          sts _RUN,R2
 0062                   .dbline 218
 0062 8AE5              ldi R24,90
 0064 80930400          sts _Send_Flag,R24
 0068                   .dbline 219
 0068           L4:
 0068                   .dbline -2
 0068           L1:
 0068 0E940000          xcall pop_lset
 006C                   .dbline 0 ; func end
 006C 1895              reti
 006E                   .dbend
 006E                   .dbfunc e main _main fV
 006E           ;          tempp -> y+0
 006E           ;              i -> R10
                        .even
 006E           _main::
 006E 6C97              sbiw R28,28
 0070                   .dbline -1
 0070                   .dbline 223
 0070           ;  if(RUN>50)
 0070           ;  {
 0070           ;  WDR();
 0070           ;  RUN_LED();
 0070           ;  RUN = 0;
 0070           ;  Send_Flag = 0x5a;
 0070           ;  }
 0070           ; }
 0070           ; 
 0070           ; void main(void)
 0070           ; {
 0070                   .dbline 226
 0070           ;  unsigned char i;
 0070           ;  long tempp;
 0070           ;  CLI();
 0070 F894              cli
 0072                   .dbline 227
 0072           ;  init_devices();                                             //器件初始化
 0072 0E940000          xcall _init_devices
 0076                   .dbline 228
 0076           ;  init_data();                                                //数据初始化
 0076 0E940000          xcall _init_data
 007A                   .dbline 230
 007A           ;  
 007A           ;  ID_nu = get_id();                                           //读取拨码开关的值
 007A 0E940000          xcall _get_id
 007E 00930700          sts _ID_nu,R16
 0082                   .dbline 231

⌨️ 快捷键说明

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