📄 drive.lis
字号:
.module drive.c
.area text(rom, con, rel)
0000 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
.area data(ram, con, rel)
0000 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0000 _addr_led7::
0000 .blkb 2
.area idata
0000 0021 .word 8448
.area data(ram, con, rel)
0002 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0002 .blkb 2
.area idata
0002 0029 .word 10496
.area data(ram, con, rel)
0004 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0004 .blkb 2
.area idata
0004 0025 .word 9472
.area data(ram, con, rel)
0006 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0006 .blkb 2
.area idata
0006 002D .word 11520
.area data(ram, con, rel)
0008 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0008 .blkb 2
.area idata
0008 0023 .word 8960
.area data(ram, con, rel)
000A .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
000A .blkb 2
.area idata
000A 002B .word 11008
.area data(ram, con, rel)
000C .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
000C .dbsym e addr_led7 _addr_led7 A[12:6]i
000C _led7_data::
000C .blkb 2
.area idata
000C C0F9 .byte 192,249
.area data(ram, con, rel)
000E .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
000E .blkb 2
.area idata
000E A4B0 .byte 164,176
.area data(ram, con, rel)
0010 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0010 .blkb 2
.area idata
0010 9992 .byte 153,146
.area data(ram, con, rel)
0012 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0012 .blkb 2
.area idata
0012 82F8 .byte 130,248
.area data(ram, con, rel)
0014 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0014 .blkb 2
.area idata
0014 8090 .byte 128,144
.area data(ram, con, rel)
0016 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0016 .blkb 2
.area idata
0016 8688 .byte 134,136
.area data(ram, con, rel)
0018 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0018 .blkb 2
.area idata
0018 FFC8 .byte 255,200
.area data(ram, con, rel)
001A .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
001A .blkb 2
.area idata
001A 8E86 .byte 142,134
.area data(ram, con, rel)
001C .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
001C .blkb 2
.area idata
001C AFA3 .byte 175,163
.area data(ram, con, rel)
001E .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
001E .dbsym e led7_data _led7_data A[18:18]c
.area text(rom, con, rel)
0000 .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
0000 .dbfunc e get_id _get_id fc
0000 ; temp -> R16
.even
0000 _get_id::
0000 .dbline -1
0000 .dbline 9
0000 ; #include "main.h"
0000 ;
0000 ; unsigned char out_state;
0000 ; unsigned int addr_led7[6] = {0x2100,0x2900,0x2500,0x2d00,0x2300,0x2b00};
0000 ; unsigned char led7_data[18]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x86,0x88,0xff,0xc8,0x8e,0x86,0xaf,0xa3};
0000 ;
0000 ;
0000 ; unsigned char get_id(void) //读取拨码开关
0000 ; {
0000 .dbline 11
0000 ; unsigned char temp;
0000 ; PORTC = addr_id;
0000 80EF ldi R24,240
0002 88B9 out 0x8,R24
0004 .dbline 12
0004 ; WDR();
0004 A895 wdr
0006 .dbline 13
0006 ; asm("nop");
0006 0000 nop
0008 .dbline 14
0008 ; asm("nop");
0008 0000 nop
000A .dbline 15
000A ; asm("nop");
000A 0000 nop
000C .dbline 16
000C ; asm("nop");
000C 0000 nop
000E .dbline 17
000E ; asm("nop");
000E 0000 nop
0010 .dbline 18
0010 ; asm("nop");
0010 0000 nop
0012 .dbline 19
0012 ; temp = PINB;
0012 03B1 in R16,0x3
0014 .dbline 20
0014 ; temp = ~(temp);
0014 0095 com R16
0016 .dbline 21
0016 ; temp = temp&0x7f;
0016 0F77 andi R16,127
0018 .dbline 22
0018 ; return temp;
0018 .dbline -2
0018 L2:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbsym r temp 16 c
001A .dbend
001A .dbfunc e buzzer_on _buzzer_on fV
.even
001A _buzzer_on::
001A .dbline -1
001A .dbline 27
001A ; }
001A ;
001A ;
001A ; void buzzer_on(void) //蜂鸣器启动函数
001A ; {
001A .dbline 28
001A ; WDR();
001A A895 wdr
001C .dbline 29
001C ; out_state|=0x01;
001C 80910000 lds R24,_out_state
0020 8160 ori R24,1
0022 80930000 sts _out_state,R24
0026 .dbline 30
0026 ; PORTC&=0xef;
0026 88B1 in R24,0x8
0028 8F7E andi R24,239
002A 88B9 out 0x8,R24
002C .dbline 32
002C ;
002C ; PORTE = (out_state<<2);
002C 20900000 lds R2,_out_state
0030 220C lsl R2
0032 220C lsl R2
0034 2EB8 out 0xe,R2
0036 .dbline 33
0036 ; PORTD |= 0x80;
0036 5F9A sbi 0xb,7
0038 .dbline 34
0038 ; asm("nop");
0038 0000 nop
003A .dbline 35
003A ; asm("nop");
003A 0000 nop
003C .dbline 36
003C ; PORTD &= 0x7f;
003C 8BB1 in R24,0xb
003E 8F77 andi R24,127
0040 8BB9 out 0xb,R24
0042 .dbline -2
0042 L3:
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbend
0044 .dbfunc e buzzer_off _buzzer_off fV
.even
0044 _buzzer_off::
0044 .dbline -1
0044 .dbline 41
0044 ; }
0044 ;
0044 ;
0044 ; void buzzer_off(void) //蜂鸣器关闭函数
0044 ; {
0044 .dbline 42
0044 ; WDR();
0044 A895 wdr
0046 .dbline 43
0046 ; PORTC&=0xef;
0046 88B1 in R24,0x8
0048 8F7E andi R24,239
004A 88B9 out 0x8,R24
004C .dbline 44
004C ; out_state&=0xfe;
004C 80910000 lds R24,_out_state
0050 8E7F andi R24,254
0052 80930000 sts _out_state,R24
0056 .dbline 45
0056 ; PORTE = (out_state<<2);
0056 282E mov R2,R24
0058 220C lsl R2
005A 220C lsl R2
005C 2EB8 out 0xe,R2
005E .dbline 46
005E ; PORTD |= 0x80;
005E 5F9A sbi 0xb,7
0060 .dbline 47
0060 ; asm("nop");
0060 0000 nop
0062 .dbline 48
0062 ; asm("nop");
0062 0000 nop
0064 .dbline 49
0064 ; PORTD &= 0x7f;
0064 8BB1 in R24,0xb
0066 8F77 andi R24,127
0068 8BB9 out 0xb,R24
006A .dbline -2
006A L4:
006A .dbline 0 ; func end
006A 0895 ret
006C .dbend
006C .dbfunc e relay1_on _relay1_on fV
.even
006C _relay1_on::
006C .dbline -1
006C .dbline 56
006C ; }
006C ;
006C ;
006C ;
006C ;
006C ; void relay1_on(void) //继电器1打开函数
006C ; {
006C .dbline 57
006C ; WDR();
006C A895 wdr
006E .dbline 58
006E ; PORTC&=0xef;
006E 88B1 in R24,0x8
0070 8F7E andi R24,239
0072 88B9 out 0x8,R24
0074 .dbline 59
0074 ; out_state|=0x02;
0074 80910000 lds R24,_out_state
0078 8260 ori R24,2
007A 80930000 sts _out_state,R24
007E .dbline 60
007E ; PORTE = (out_state<<2);
007E 282E mov R2,R24
0080 220C lsl R2
0082 220C lsl R2
0084 2EB8 out 0xe,R2
0086 .dbline 61
0086 ; PORTD |= 0x80;
0086 5F9A sbi 0xb,7
0088 .dbline 62
0088 ; asm("nop");
0088 0000 nop
008A .dbline 63
008A ; asm("nop");
008A 0000 nop
008C .dbline 64
008C ; PORTD &= 0x7f;
008C 8BB1 in R24,0xb
008E 8F77 andi R24,127
0090 8BB9 out 0xb,R24
0092 .dbline -2
0092 L5:
0092 .dbline 0 ; func end
0092 0895 ret
0094 .dbend
0094 .dbfunc e relay1_off _relay1_off fV
.even
0094 _relay1_off::
0094 .dbline -1
0094 .dbline 69
0094 ; }
0094 ;
0094 ;
0094 ; void relay1_off(void) //继电器1关闭函数
0094 ; {
0094 .dbline 70
0094 ; WDR();
0094 A895 wdr
0096 .dbline 71
0096 ; PORTC&=0xef;
0096 88B1 in R24,0x8
0098 8F7E andi R24,239
009A 88B9 out 0x8,R24
009C .dbline 72
009C ; out_state&=0xfd;
009C 80910000 lds R24,_out_state
00A0 8D7F andi R24,253
00A2 80930000 sts _out_state,R24
00A6 .dbline 73
00A6 ; PORTE = (out_state<<2);
00A6 282E mov R2,R24
00A8 220C lsl R2
00AA 220C lsl R2
00AC 2EB8 out 0xe,R2
00AE .dbline 74
00AE ; PORTD |= 0x80;
00AE 5F9A sbi 0xb,7
00B0 .dbline 75
00B0 ; asm("nop");
00B0 0000 nop
00B2 .dbline 76
00B2 ; asm("nop");
00B2 0000 nop
00B4 .dbline 77
00B4 ; PORTD &= 0x7f;
00B4 8BB1 in R24,0xb
00B6 8F77 andi R24,127
00B8 8BB9 out 0xb,R24
00BA .dbline -2
00BA L6:
00BA .dbline 0 ; func end
00BA 0895 ret
00BC .dbend
00BC .dbfunc e relay2_on _relay2_on fV
.even
00BC _relay2_on::
00BC .dbline -1
00BC .dbline 82
00BC ; }
00BC ;
00BC ;
00BC ; void relay2_on(void) //继电器2打开函数
00BC ; {
00BC .dbline 83
00BC ; WDR();
00BC A895 wdr
00BE .dbline 84
00BE ; PORTC&=0xef;
00BE 88B1 in R24,0x8
00C0 8F7E andi R24,239
00C2 88B9 out 0x8,R24
00C4 .dbline 85
00C4 ; out_state|=0x04;
00C4 80910000 lds R24,_out_state
00C8 8460 ori R24,4
00CA 80930000 sts _out_state,R24
00CE .dbline 86
00CE ; PORTE = (out_state<<2);
00CE 282E mov R2,R24
00D0 220C lsl R2
00D2 220C lsl R2
00D4 2EB8 out 0xe,R2
00D6 .dbline 87
00D6 ; PORTD |= 0x80;
00D6 5F9A sbi 0xb,7
00D8 .dbline 88
00D8 ; asm("nop");
00D8 0000 nop
00DA .dbline 89
00DA ; asm("nop");
00DA 0000 nop
00DC .dbline 90
00DC ; PORTD &= 0x7f;
00DC 8BB1 in R24,0xb
00DE 8F77 andi R24,127
00E0 8BB9 out 0xb,R24
00E2 .dbline -2
00E2 L7:
00E2 .dbline 0 ; func end
00E2 0895 ret
00E4 .dbend
00E4 .dbfunc e relay2_off _relay2_off fV
.even
00E4 _relay2_off::
00E4 .dbline -1
00E4 .dbline 94
00E4 ; }
00E4 ;
00E4 ; void relay2_off(void) //继电器2关闭函数
00E4 ; {
00E4 .dbline 95
00E4 ; WDR();
00E4 A895 wdr
00E6 .dbline 96
00E6 ; PORTC&=0xef;
00E6 88B1 in R24,0x8
00E8 8F7E andi R24,239
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -