📄 relay_out.lis
字号:
.module relay_out.c
.area text(rom, con, rel)
0000 .dbfile E:\mysoft\DH980\relay_out.c
0000 .dbfunc e relay_init _relay_init fV
.even
0000 _relay_init::
0000 .dbline -1
0000 .dbline 71
0000 ; #include <iom169v.h>
0000 ; #include <macros.h>
0000 ; #include <stdio.h>
0000 ; #include "main.h"
0000 ;
0000 ; #define RELAY1_0 PORTF|=0b00000001 //PF0
0000 ; #define RELAY1_1 PORTF&=0b11111110 //PF0
0000 ; #define RELAY2_0 PORTF|=0b00000010 //PF1
0000 ; #define RELAY2_1 PORTF&=0b11111101 //PF1
0000 ; #define RELAY3_0 PORTF|=0b00000100 //PF2
0000 ; #define RELAY3_1 PORTF&=0b11111011 //PF2
0000 ; #define RELAY4_0 PORTF|=0b00001000 //PF3
0000 ; #define RELAY4_1 PORTF&=0b11110111 //PF3
0000 ; #define RELAY5_0 PORTA|=0b00000001 //PA0
0000 ; #define RELAY5_1 PORTA&=0b11111110 //PA0
0000 ; #define RELAY6_0 PORTA|=0b00000010 //PA1
0000 ; #define RELAY6_1 PORTA&=0b11111101 //PA1
0000 ; #define RELAY7_0 PORTA|=0b00000100 //PA2
0000 ; #define RELAY7_1 PORTA&=0b11111011 //PA2
0000 ; #define RELAY8_0 PORTA|=0b00001000 //PA3
0000 ; #define RELAY8_1 PORTA&=0b11110111 //PA3
0000 ; #define RELAY9_0 PORTA|=0b00010000 //PA4
0000 ; #define RELAY9_1 PORTA&=0b11101111 //PA4
0000 ; #define RELAY10_0 PORTA|=0b00100000 //PA5
0000 ; #define RELAY10_1 PORTA&=0b11011111 //PA5
0000 ; #define RELAY11_0 PORTA|=0b01000000 //PA6
0000 ; #define RELAY11_1 PORTA&=0b10111111 //PA6
0000 ; #define RELAY12_0 PORTA|=0b10000000 //PA7
0000 ; #define RELAY12_1 PORTA&=0b01111111 //PA7
0000 ; #define RELAY13_0 PORTG|=0b00000100 //PG2
0000 ; #define RELAY13_1 PORTG&=0b11111011 //PG2
0000 ; #define RELAY14_0 PORTC|=0b10000000 //PC7
0000 ; #define RELAY14_1 PORTC&=0b01111111 //PC7
0000 ; #define RELAY15_0 PORTC|=0b01000000 //PC6
0000 ; #define RELAY15_1 PORTC&=0b10111111 //PC6
0000 ; #define RELAY16_0 PORTC|=0b00100000 //PC5
0000 ; #define RELAY16_1 PORTC&=0b11011111 //PC5
0000 ; #define RELAY17_0 PORTC|=0b00010000 //PC4
0000 ; #define RELAY17_1 PORTC&=0b11101111 //PC4
0000 ; #define RELAY18_0 PORTC|=0b00001000 //PC3
0000 ; #define RELAY18_1 PORTC&=0b11110111 //PC3
0000 ; #define RELAY19_0 PORTC|=0b00000100 //PC2
0000 ; #define RELAY19_1 PORTC&=0b11111011 //PC2
0000 ; #define RELAY20_0 PORTC|=0b00000010 //PC1
0000 ; #define RELAY20_1 PORTC&=0b11111101 //PC1
0000 ; #define RELAY21_0 PORTC|=0b00000001 //PC0
0000 ; #define RELAY21_1 PORTC&=0b11111110 //PC0
0000 ; #define RELAY22_0 PORTG|=0b00000010 //PG1
0000 ; #define RELAY22_1 PORTG&=0b11111101 //PG1
0000 ; #define RELAY23_0 PORTG|=0b00000001 //PG0
0000 ; #define RELAY23_1 PORTG&=0b11111110 //PG0
0000 ; #define RELAY24_0 PORTD|=0b10000000 //PD7
0000 ; #define RELAY24_1 PORTD&=0b01111111 //PD7
0000 ; #define RELAY25_0 PORTD|=0b01000000 //PD6
0000 ; #define RELAY25_1 PORTD&=0b10111111 //PD6
0000 ; #define RELAY26_0 PORTD|=0b00100000 //PD5
0000 ; #define RELAY26_1 PORTD&=0b11011111 //PD5
0000 ; #define RELAY27_0 PORTD|=0b00010000 //PD4
0000 ; #define RELAY27_1 PORTD&=0b11101111 //PD4
0000 ; #define RELAY28_0 PORTD|=0b00001000 //PD3
0000 ; #define RELAY28_1 PORTD&=0b11110111 //PD3
0000 ; #define RELAY29_0 PORTD|=0b00000100 //PD2
0000 ; #define RELAY29_1 PORTD&=0b11111011 //PD2
0000 ; #define RELAY30_0 PORTD|=0b00000010 //PD1
0000 ; #define RELAY30_1 PORTD&=0b11111101 //PD1
0000 ; #define RELAY31_0 PORTD|=0b00000001 //PD0
0000 ; #define RELAY31_1 PORTD&=0b11111110 //PD0
0000 ; #define RELAY32_0 PORTG|=0b00010000 //PG4
0000 ; #define RELAY32_1 PORTG&=0b11101111 //PG4
0000 ; void relay_init()
0000 ; {
0000 .dbline 72
0000 ; RELAY1_0;
0000 889A sbi 0x11,0
0002 .dbline 73
0002 ; RELAY2_0;
0002 899A sbi 0x11,1
0004 .dbline 74
0004 ; RELAY3_0;
0004 8A9A sbi 0x11,2
0006 .dbline 75
0006 ; RELAY4_0;
0006 8B9A sbi 0x11,3
0008 .dbline 76
0008 ; RELAY5_0;
0008 109A sbi 0x2,0
000A .dbline 77
000A ; RELAY6_0;
000A 119A sbi 0x2,1
000C .dbline 78
000C ; RELAY7_0;
000C 129A sbi 0x2,2
000E .dbline 79
000E ; RELAY8_0;
000E 139A sbi 0x2,3
0010 .dbline 80
0010 ; RELAY9_0;
0010 149A sbi 0x2,4
0012 .dbline 81
0012 ; RELAY10_0;
0012 159A sbi 0x2,5
0014 .dbline 82
0014 ; RELAY11_0;
0014 169A sbi 0x2,6
0016 .dbline 83
0016 ; RELAY12_0;
0016 179A sbi 0x2,7
0018 .dbline 84
0018 ; RELAY13_0;
0018 A29A sbi 0x14,2
001A .dbline 85
001A ; RELAY14_0;
001A 479A sbi 0x8,7
001C .dbline 86
001C ; RELAY15_0;
001C 469A sbi 0x8,6
001E .dbline 87
001E ; RELAY16_0;
001E 459A sbi 0x8,5
0020 .dbline 88
0020 ; RELAY17_0;
0020 449A sbi 0x8,4
0022 .dbline 89
0022 ; RELAY18_0;
0022 439A sbi 0x8,3
0024 .dbline 90
0024 ; RELAY19_0;
0024 429A sbi 0x8,2
0026 .dbline 91
0026 ; RELAY20_0;
0026 419A sbi 0x8,1
0028 .dbline 92
0028 ; RELAY21_0;
0028 409A sbi 0x8,0
002A .dbline 93
002A ; RELAY22_0;
002A A19A sbi 0x14,1
002C .dbline 94
002C ; RELAY23_0;
002C A09A sbi 0x14,0
002E .dbline 95
002E ; RELAY24_0;
002E 5F9A sbi 0xb,7
0030 .dbline 96
0030 ; RELAY25_0;
0030 5E9A sbi 0xb,6
0032 .dbline 97
0032 ; RELAY26_0;
0032 5D9A sbi 0xb,5
0034 .dbline 98
0034 ; RELAY27_0;
0034 5C9A sbi 0xb,4
0036 .dbline 99
0036 ; RELAY28_0;
0036 5B9A sbi 0xb,3
0038 .dbline 100
0038 ; RELAY29_0;
0038 5A9A sbi 0xb,2
003A .dbline 101
003A ; RELAY30_0;
003A 599A sbi 0xb,1
003C .dbline 102
003C ; RELAY31_0;
003C 589A sbi 0xb,0
003E .dbline 103
003E ; RELAY32_0;
003E A49A sbi 0x14,4
0040 .dbline -2
0040 L1:
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbend
0042 .dbfunc e RELAY_out _RELAY_out fV
.area func_lit(rom, con, rel)
0000 L48:
0000 5000 .word `L16
0002 5400 .word `L17
0004 5800 .word `L18
0006 5C00 .word `L19
0008 6000 .word `L20
000A 6400 .word `L21
000C 6800 .word `L22
000E 6C00 .word `L23
0010 7000 .word `L24
0012 7400 .word `L25
0014 7800 .word `L26
0016 7C00 .word `L27
0018 8000 .word `L28
001A 8400 .word `L29
001C 8800 .word `L30
001E 8C00 .word `L31
0020 9000 .word `L32
0022 9400 .word `L33
0024 9800 .word `L34
0026 9C00 .word `L35
0028 A000 .word `L36
002A A400 .word `L37
002C A800 .word `L38
002E AC00 .word `L39
0030 B000 .word `L40
0032 B400 .word `L41
0034 B800 .word `L42
0036 BC00 .word `L43
0038 C000 .word `L44
003A C400 .word `L45
003C C800 .word `L46
003E CC00 .word `L47
.area text(rom, con, rel)
0042 .dbfile E:\mysoft\DH980\relay_out.c
.area func_lit(rom, con, rel)
0040 L85:
0040 EB00 .word `L53
0042 ED00 .word `L54
0044 EF00 .word `L55
0046 F100 .word `L56
0048 F300 .word `L57
004A F500 .word `L58
004C F700 .word `L59
004E F900 .word `L60
0050 FB00 .word `L61
0052 FD00 .word `L62
0054 FF00 .word `L63
0056 0101 .word `L64
0058 0301 .word `L65
005A 0501 .word `L66
005C 0701 .word `L67
005E 0901 .word `L68
0060 0B01 .word `L69
0062 0D01 .word `L70
0064 0F01 .word `L71
0066 1101 .word `L72
0068 1301 .word `L73
006A 1501 .word `L74
006C 1701 .word `L75
006E 1901 .word `L76
0070 1B01 .word `L77
0072 1D01 .word `L78
0074 1F01 .word `L79
0076 2101 .word `L80
0078 2301 .word `L81
007A 2501 .word `L82
007C 2701 .word `L83
007E 2901 .word `L84
.area text(rom, con, rel)
0042 .dbfile E:\mysoft\DH980\relay_out.c
0042 ; b -> R22
0042 ; n -> y+0
0042 ; l -> R12
0042 ; temp -> R14
0042 ; p -> y+11
.even
0042 _RELAY_out::
0042 1A93 st -y,r17
0044 0A93 st -y,r16
0046 0E940000 xcall push_gset5
004A 2197 sbiw R28,1
004C .dbline -1
004C .dbline 106
004C ; }
004C ; void RELAY_out(unsigned char *p)
004C ; {
004C .dbline 107
004C ; unsigned char b,l,n=1,temp;
004C 0024 clr R0
004E 0394 inc R0
0050 0882 std y+0,R0
0052 .dbline 108
0052 ; updating=0; //刷新后复位
0052 2224 clr R2
0054 20920000 sts _updating,R2
0058 .dbline 109
0058 ; for(b=0;b<4;b++)
0058 6627 clr R22
005A 0BC1 xjmp L6
005C L3:
005C .dbline 110
005C ; {
005C .dbline 111
005C ; temp=*p;
005C EB85 ldd R30,y+11
005E FC85 ldd R31,y+12
0060 E080 ldd R14,z+0
0062 .dbline 112
0062 ; for(l=0;l<8;l++)
0062 CC24 clr R12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -