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

📄 display.lis

📁 LED显示面板
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module display.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
                        .area data(ram, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
 0000           _key::
 0000                   .blkb 2
                        .area idata
 0000 A5A5              .byte 165,165
                        .area data(ram, con, rel)
 0002                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
 0002                   .blkb 2
                        .area idata
 0002 A5A5              .byte 165,165
                        .area data(ram, con, rel)
 0004                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
 0004                   .blkb 2
                        .area idata
 0004 A5A5              .byte 165,165
                        .area data(ram, con, rel)
 0006                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
 0006                   .blkb 2
                        .area idata
 0006 A5A5              .byte 165,165
                        .area data(ram, con, rel)
 0008                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
 0008                   .dbsym e key _key A[8:8]c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
 0000                   .dbfunc e key_process _key_process fV
 0000           ;              i -> R20
                        .even
 0000           _key_process::
 0000 0E940000          xcall push_gset1
 0004 2C97              sbiw R28,12
 0006                   .dbline -1
 0006                   .dbline 13
 0006           ; #include "main.h"
 0006           ; 
 0006           ; extern long id4;
 0006           ; extern unsigned int addr_led7[6];
 0006           ; extern unsigned char led7_data[18];
 0006           ; unsigned char key[8]={off,off,off,off,off,off,off,off};
 0006           ; extern unsigned mode_flag;
 0006           ; VCI_CAN_OBJ sendmsg;
 0006           ; extern SHD_LED  pannel_led[48];
 0006           ; extern unsigned char channel,T1;
 0006           ; 
 0006           ; void key_process(void)                 //键处理函数
 0006           ; {
 0006                   .dbline 15
 0006           ; unsigned char i;
 0006           ;  WDR();
 0006 A895              wdr
 0008                   .dbline 16
 0008           ; if(key[0]==on)                         //模式设置处理
 0008 80910000          lds R24,_key
 000C 8A35              cpi R24,90
 000E E1F4              brne L3
 0010                   .dbline 17
 0010           ; { 
 0010                   .dbline 18
 0010           ;  key[0]=off;
 0010 85EA              ldi R24,165
 0012 80930000          sts _key,R24
 0016                   .dbline 19
 0016           ;  if(mode_flag==on)
 0016 80910000          lds R24,_mode_flag
 001A 90910100          lds R25,_mode_flag+1
 001E 8A35              cpi R24,90
 0020 E0E0              ldi R30,0
 0022 9E07              cpc R25,R30
 0024 51F4              brne L5
 0026                   .dbline 20
 0026           ;  { 
 0026                   .dbline 21
 0026           ;  mode_flag=off;
 0026 85EA              ldi R24,165
 0028 90E0              ldi R25,0
 002A 90930100          sts _mode_flag+1,R25
 002E 80930000          sts _mode_flag,R24
 0032                   .dbline 22
 0032           ;   PORTF&=0xf7;
 0032 81B3              in R24,0x11
 0034 877F              andi R24,247
 0036 81BB              out 0x11,R24
 0038                   .dbline 23
 0038           ;  }
 0038 07C0              xjmp L6
 003A           L5:
 003A                   .dbline 25
 003A           ;  else
 003A           ;  {
 003A                   .dbline 26
 003A           ;   mode_flag = on; 
 003A 8AE5              ldi R24,90
 003C 90E0              ldi R25,0
 003E 90930100          sts _mode_flag+1,R25
 0042 80930000          sts _mode_flag,R24
 0046                   .dbline 27
 0046           ;   PORTF|=0x08;
 0046 8B9A              sbi 0x11,3
 0048                   .dbline 28
 0048           ;   }
 0048           L6:
 0048                   .dbline 29
 0048           ; }
 0048           L3:
 0048                   .dbline 31
 0048           ; 
 0048           ; WDR();
 0048 A895              wdr
 004A                   .dbline 32
 004A           ; if(key[1]==on)                          //消声处理
 004A 80910100          lds R24,_key+1
 004E 8A35              cpi R24,90
 0050 09F0              breq X0
 0052 4AC0              xjmp L7
 0054           X0:
 0054                   .dbline 33
 0054           ; {
 0054                   .dbline 34
 0054           ;  key[1]=off;
 0054 85EA              ldi R24,165
 0056 80930100          sts _key+1,R24
 005A                   .dbline 35
 005A           ;  buzzer_off();
 005A 0E940000          xcall _buzzer_off
 005E                   .dbline 36
 005E           ;  relay1_off();
 005E 0E940000          xcall _relay1_off
 0062                   .dbline 37
 0062           ;  sendmsg.ID=id4;
 0062 40900200          lds R4,_id4+2
 0066 50900300          lds R5,_id4+2+1
 006A 20900000          lds R2,_id4
 006E 30900100          lds R3,_id4+1
 0072 30920100          sts _sendmsg+1,R3
 0076 20920000          sts _sendmsg,R2
 007A 50920300          sts _sendmsg+2+1,R5
 007E 40920200          sts _sendmsg+2,R4
 0082                   .dbline 38
 0082           ;  for(i=0;i<8;i++)
 0082 4427              clr R20
 0084 09C0              xjmp L14
 0086           L11:
 0086                   .dbline 39
 0086 80E0              ldi R24,<_sendmsg+4
 0088 90E0              ldi R25,>_sendmsg+4
 008A E42F              mov R30,R20
 008C FF27              clr R31
 008E E80F              add R30,R24
 0090 F91F              adc R31,R25
 0092 8AE5              ldi R24,90
 0094 8083              std z+0,R24
 0096           L12:
 0096                   .dbline 38
 0096 4395              inc R20
 0098           L14:
 0098                   .dbline 38
 0098 4830              cpi R20,8
 009A A8F3              brlo L11
 009C                   .dbline 40
 009C           ;  sendmsg.Data[i]=0x5a;
 009C           ;  can_tx (sendmsg);
 009C 80E0              ldi R24,<_sendmsg
 009E 90E0              ldi R25,>_sendmsg
 00A0 FE01              movw R30,R28
 00A2 0CE0              ldi R16,12
 00A4 10E0              ldi R17,0
 00A6 FA93              st -y,R31
 00A8 EA93              st -y,R30
 00AA 9A93              st -y,R25
 00AC 8A93              st -y,R24
 00AE 0E940000          xcall asgnblk
 00B2 8E01              movw R16,R28
 00B4 0E940000          xcall _can_tx
 00B8                   .dbline 42
 00B8           ;  
 00B8           ; for(i=0;i<48;i++)
 00B8 4427              clr R20
 00BA 14C0              xjmp L19
 00BC           L16:
 00BC                   .dbline 43
 00BC           ;  {
 00BC                   .dbline 44
 00BC           ;  if(pannel_led[i].soundoff==noack)
 00BC 84E1              ldi R24,20
 00BE 849F              mul R24,R20
 00C0 F001              movw R30,R0
 00C2 80E0              ldi R24,<_pannel_led+17
 00C4 90E0              ldi R25,>_pannel_led+17
 00C6 E80F              add R30,R24
 00C8 F91F              adc R31,R25
 00CA 8081              ldd R24,z+0
 00CC 8130              cpi R24,1
 00CE 49F4              brne L20
 00D0                   .dbline 45
 00D0           ;     pannel_led[i].soundoff=acked;           //清除声音标志
 00D0 84E1              ldi R24,20
 00D2 849F              mul R24,R20
 00D4 F001              movw R30,R0
 00D6 80E0              ldi R24,<_pannel_led+17
 00D8 90E0              ldi R25,>_pannel_led+17
 00DA E80F              add R30,R24
 00DC F91F              adc R31,R25
 00DE 82E0              ldi R24,2
 00E0 8083              std z+0,R24
 00E2           L20:
 00E2                   .dbline 46
 00E2           L17:
 00E2                   .dbline 42
 00E2 4395              inc R20
 00E4           L19:
 00E4                   .dbline 42
 00E4 4033              cpi R20,48
 00E6 50F3              brlo L16
 00E8                   .dbline 47
 00E8           ;  }
 00E8           ; }
 00E8           L7:
 00E8                   .dbline 49
 00E8           ; 
 00E8           ;  WDR();
 00E8 A895              wdr
 00EA                   .dbline 50
 00EA           ; if(key[2]==on)                            //消闪处理
 00EA 80910200          lds R24,_key+2
 00EE 8A35              cpi R24,90
 00F0 09F0              breq X1
 00F2 46C0              xjmp L24
 00F4           X1:
 00F4                   .dbline 51
 00F4           ; {
 00F4                   .dbline 52
 00F4           ;  key[2]=off;
 00F4 85EA              ldi R24,165
 00F6 80930200          sts _key+2,R24
 00FA                   .dbline 53
 00FA           ;  sendmsg.ID=id4;
 00FA 40900200          lds R4,_id4+2
 00FE 50900300          lds R5,_id4+2+1
 0102 20900000          lds R2,_id4
 0106 30900100          lds R3,_id4+1
 010A 30920100          sts _sendmsg+1,R3
 010E 20920000          sts _sendmsg,R2
 0112 50920300          sts _sendmsg+2+1,R5
 0116 40920200          sts _sendmsg+2,R4
 011A                   .dbline 54
 011A           ;  for(i=0;i<8;i++)
 011A 4427              clr R20
 011C 09C0              xjmp L31
 011E           L28:
 011E                   .dbline 55
 011E 80E0              ldi R24,<_sendmsg+4
 0120 90E0              ldi R25,>_sendmsg+4
 0122 E42F              mov R30,R20
 0124 FF27              clr R31
 0126 E80F              add R30,R24
 0128 F91F              adc R31,R25
 012A 85EA              ldi R24,165
 012C 8083              std z+0,R24
 012E           L29:
 012E                   .dbline 54
 012E 4395              inc R20
 0130           L31:
 0130                   .dbline 54
 0130 4830              cpi R20,8
 0132 A8F3              brlo L28
 0134                   .dbline 56
 0134           ;  sendmsg.Data[i]=0xa5;
 0134           ;  can_tx (sendmsg);
 0134 80E0              ldi R24,<_sendmsg
 0136 90E0              ldi R25,>_sendmsg
 0138 FE01              movw R30,R28
 013A 0CE0              ldi R16,12
 013C 10E0              ldi R17,0
 013E FA93              st -y,R31
 0140 EA93              st -y,R30
 0142 9A93              st -y,R25
 0144 8A93              st -y,R24
 0146 0E940000          xcall asgnblk
 014A 8E01              movw R16,R28
 014C 0E940000          xcall _can_tx
 0150                   .dbline 57
 0150           ;  for(i=0;i<48;i++)
 0150 4427              clr R20
 0152 14C0              xjmp L36
 0154           L33:
 0154                   .dbline 58
 0154           ; {
 0154                   .dbline 59
 0154           ;  if(pannel_led[i].state==noack)
 0154 84E1              ldi R24,20
 0156 849F              mul R24,R20
 0158 F001              movw R30,R0
 015A 80E0              ldi R24,<_pannel_led+13
 015C 90E0              ldi R25,>_pannel_led+13
 015E E80F              add R30,R24
 0160 F91F              adc R31,R25
 0162 8081              ldd R24,z+0
 0164 8130              cpi R24,1
 0166 49F4              brne L37
 0168                   .dbline 60
 0168           ;   pannel_led[i].state=acked;
 0168 84E1              ldi R24,20
 016A 849F              mul R24,R20
 016C F001              movw R30,R0
 016E 80E0              ldi R24,<_pannel_led+13
 0170 90E0              ldi R25,>_pannel_led+13
 0172 E80F              add R30,R24
 0174 F91F              adc R31,R25
 0176 82E0              ldi R24,2
 0178 8083              std z+0,R24
 017A           L37:
 017A                   .dbline 61
 017A           L34:
 017A                   .dbline 57
 017A 4395              inc R20
 017C           L36:
 017C                   .dbline 57
 017C 4033              cpi R20,48
 017E 50F3              brlo L33
 0180                   .dbline 62
 0180           ; }
 0180           ; }
 0180           L24:
 0180                   .dbline 64
 0180           ; 
 0180           ; if(key[4]==on)              //通道号加一
 0180 80910400          lds R24,_key+4
 0184 8A35              cpi R24,90
 0186 B1F4              brne L41
 0188                   .dbline 65
 0188           ; {
 0188                   .dbline 66
 0188           ;  key[4]=off;
 0188 85EA              ldi R24,165
 018A 80930400          sts _key+4,R24
 018E                   .dbline 67
 018E           ;  if(mode_flag==on)
 018E 80910000          lds R24,_mode_flag
 0192 90910100          lds R25,_mode_flag+1
 0196 8A35              cpi R24,90
 0198 E0E0              ldi R30,0
 019A 9E07              cpc R25,R30
 019C 59F4              brne L45
 019E                   .dbline 68
 019E           ;    {
 019E                   .dbline 69

⌨️ 快捷键说明

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