📄 main.lis
字号:
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 + -