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

📄 main.lis

📁 LED显示面板
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module main.c
                        .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 21
 0004           ; #include "main.h"
 0004           ; 
 0004           ; 
 0004           ; VCI_CAN_OBJ msg[3],rece_data[49];
 0004           ; extern unsigned long CANMOBID[15];
 0004           ; extern unsigned long CANMOBMD[15];
 0004           ; unsigned char ID_nu,ID_net,Time,T1,channel,RUN,T2,alarm_process_flag,T3;
 0004           ; unsigned char sysrst,Pass_Flag;
 0004           ; extern SHD_LED  pannel_led[48];
 0004           ; long id1,id2,id3,id4,id5,id6;
 0004           ; unsigned char mode_flag ;
 0004           ; unsigned char key_temp1,key_temp2,key_temp3,ted;
 0004           ; unsigned char soundoff_flag,ack_flag,alarm_flag;
 0004           ; extern unsigned char key[8];
 0004           ; 
 0004           ; 
 0004           ; 
 0004           ; 
 0004           ; #pragma interrupt_handler timer0_ovf_isr:18
 0004           ; void timer0_ovf_isr(void)                              //定时1毫秒
 0004           ; {
 0004                   .dbline 22
 0004           ;  TCNT0 = 0x83; //reload counter value
 0004 83E8              ldi R24,131
 0006 86BD              out 0x26,R24
 0008                   .dbline 23
 0008           ;  Time++;
 0008 80912800          lds R24,_Time
 000C 8F5F              subi R24,255    ; addi 1
 000E 80932800          sts _Time,R24
 0012                   .dbline 24
 0012           ;  RUN++;
 0012 80912500          lds R24,_RUN
 0016 8F5F              subi R24,255    ; addi 1
 0018 80932500          sts _RUN,R24
 001C                   .dbline 25
 001C           ;  T2++;
 001C 80912400          lds R24,_T2
 0020 8F5F              subi R24,255    ; addi 1
 0022 80932400          sts _T2,R24
 0026                   .dbline 26
 0026           ;  T3++;
 0026 80912200          lds R24,_T3
 002A 8F5F              subi R24,255    ; addi 1
 002C 80932200          sts _T3,R24
 0030                   .dbline 27
 0030           ;  if(T2==12)
 0030 80912400          lds R24,_T2
 0034 8C30              cpi R24,12
 0036 29F4              brne L3
 0038                   .dbline 28
 0038           ;   {
 0038                   .dbline 29
 0038           ;   RUN_led();
 0038 0E940000          xcall _RUN_led
 003C                   .dbline 30
 003C           ;   T2=0;
 003C 2224              clr R2
 003E 20922400          sts _T2,R2
 0042                   .dbline 31
 0042           ;   }
 0042           L3:
 0042                   .dbline 32
 0042           ;  if(T3==alarm_delay)
 0042 80912200          lds R24,_T3
 0046 8431              cpi R24,20
 0048 31F4              brne L5
 004A                   .dbline 33
 004A           ;   {
 004A                   .dbline 34
 004A           ;   alarm_process_flag=on;
 004A 8AE5              ldi R24,90
 004C 80932300          sts _alarm_process_flag,R24
 0050                   .dbline 35
 0050           ;   T3=0;
 0050 2224              clr R2
 0052 20922200          sts _T3,R2
 0056                   .dbline 36
 0056           ;   }
 0056           L5:
 0056                   .dbline 37
 0056           ;  if(RUN==2)
 0056 80912500          lds R24,_RUN
 005A 8230              cpi R24,2
 005C 21F4              brne L7
 005E                   .dbline 38
 005E           ;  {
 005E                   .dbline 39
 005E           ;   key_temp1 =get_key();
 005E 0E940000          xcall _get_key
 0062 00930600          sts _key_temp1,R16
 0066                   .dbline 40
 0066           ;   }
 0066           L7:
 0066                   .dbline 41
 0066           ;  if(RUN==4)
 0066 80912500          lds R24,_RUN
 006A 8430              cpi R24,4
 006C 09F0              breq X0
 006E 71C0              xjmp L9
 0070           X0:
 0070                   .dbline 42
 0070           ;  {
 0070                   .dbline 43
 0070           ;  if(key_temp2!=key_temp1)
 0070 20900600          lds R2,_key_temp1
 0074 30900500          lds R3,_key_temp2
 0078 3214              cp R3,R2
 007A 09F4              brne X1
 007C 67C0              xjmp L11
 007E           X1:
 007E                   .dbline 44
 007E           ;  {
 007E                   .dbline 45
 007E           ;   key_temp2 =get_key();
 007E 0E940000          xcall _get_key
 0082 00930500          sts _key_temp2,R16
 0086                   .dbline 46
 0086           ;   if((key_temp1==key_temp2)&&(key_temp1!=0xff))
 0086 30900600          lds R3,_key_temp1
 008A 3016              cp R3,R16
 008C 09F0              breq X2
 008E 5EC0              xjmp L13
 0090           X2:
 0090 832D              mov R24,R3
 0092 8F3F              cpi R24,255
 0094 09F4              brne X3
 0096 5AC0              xjmp L13
 0098           X3:
 0098                   .dbline 47
 0098           ;   {
 0098                   .dbline 49
 0098           ;   //WDR();
 0098           ;    ted= ~(key_temp1);
 0098 282E              mov R2,R24
 009A 2094              com R2
 009C 20920300          sts _ted,R2
 00A0                   .dbline 50
 00A0           ;    if(ted&0x80)
 00A0 27FE              sbrs R2,7
 00A2 04C0              rjmp L15
 00A4                   .dbline 51
 00A4           ;    key[7]=on;
 00A4 8AE5              ldi R24,90
 00A6 80930700          sts _key+7,R24
 00AA 03C0              xjmp L16
 00AC           L15:
 00AC                   .dbline 53
 00AC           ;    else 
 00AC           ;     key[7]=off;
 00AC 85EA              ldi R24,165
 00AE 80930700          sts _key+7,R24
 00B2           L16:
 00B2                   .dbline 54
 00B2           ;    if(ted&0x40)
 00B2 20900300          lds R2,_ted
 00B6 26FE              sbrs R2,6
 00B8 04C0              rjmp L19
 00BA                   .dbline 55
 00BA           ;    key[6]=on;
 00BA 8AE5              ldi R24,90
 00BC 80930600          sts _key+6,R24
 00C0 03C0              xjmp L20
 00C2           L19:
 00C2                   .dbline 57
 00C2           ;    else 
 00C2           ;     key[6]=off;
 00C2 85EA              ldi R24,165
 00C4 80930600          sts _key+6,R24
 00C8           L20:
 00C8                   .dbline 58
 00C8           ;    if(ted&0x20)
 00C8 20900300          lds R2,_ted
 00CC 25FE              sbrs R2,5
 00CE 04C0              rjmp L23
 00D0                   .dbline 59
 00D0           ;    key[5]=on;
 00D0 8AE5              ldi R24,90
 00D2 80930500          sts _key+5,R24
 00D6 03C0              xjmp L24
 00D8           L23:
 00D8                   .dbline 61
 00D8           ;    else 
 00D8           ;     key[5]=off;
 00D8 85EA              ldi R24,165
 00DA 80930500          sts _key+5,R24
 00DE           L24:
 00DE                   .dbline 62
 00DE           ;    if(ted&0x10)
 00DE 20900300          lds R2,_ted
 00E2 24FE              sbrs R2,4
 00E4 04C0              rjmp L27
 00E6                   .dbline 63
 00E6           ;    key[4]=on;
 00E6 8AE5              ldi R24,90
 00E8 80930400          sts _key+4,R24
 00EC 03C0              xjmp L28
 00EE           L27:
 00EE                   .dbline 65
 00EE           ;    else 
 00EE           ;     key[4]=off;
 00EE 85EA              ldi R24,165
 00F0 80930400          sts _key+4,R24
 00F4           L28:
 00F4                   .dbline 66
 00F4           ;    if(ted&0x08)
 00F4 20900300          lds R2,_ted
 00F8 23FE              sbrs R2,3
 00FA 04C0              rjmp L31
 00FC                   .dbline 67
 00FC           ;    key[3]=on;
 00FC 8AE5              ldi R24,90
 00FE 80930300          sts _key+3,R24
 0102 03C0              xjmp L32
 0104           L31:
 0104                   .dbline 69
 0104           ;    else 
 0104           ;     key[3]=off;
 0104 85EA              ldi R24,165
 0106 80930300          sts _key+3,R24
 010A           L32:
 010A                   .dbline 70
 010A           ;    if(ted&0x04)
 010A 20900300          lds R2,_ted
 010E 22FE              sbrs R2,2
 0110 04C0              rjmp L35
 0112                   .dbline 71
 0112           ;    key[2]=on;
 0112 8AE5              ldi R24,90
 0114 80930200          sts _key+2,R24
 0118 03C0              xjmp L36
 011A           L35:
 011A                   .dbline 73
 011A           ;    else 
 011A           ;     key[2]=off;
 011A 85EA              ldi R24,165
 011C 80930200          sts _key+2,R24
 0120           L36:
 0120                   .dbline 74
 0120           ;    if(ted&0x02)
 0120 20900300          lds R2,_ted
 0124 21FE              sbrs R2,1
 0126 04C0              rjmp L39
 0128                   .dbline 75
 0128           ;    key[1]=on;
 0128 8AE5              ldi R24,90
 012A 80930100          sts _key+1,R24
 012E 03C0              xjmp L40
 0130           L39:
 0130                   .dbline 77
 0130           ;    else 
 0130           ;     key[1]=off;
 0130 85EA              ldi R24,165
 0132 80930100          sts _key+1,R24
 0136           L40:
 0136                   .dbline 78
 0136           ;    if(ted&0x01)
 0136 20900300          lds R2,_ted
 013A 20FE              sbrs R2,0
 013C 04C0              rjmp L43
 013E                   .dbline 79
 013E           ;    key[0]=on;
 013E 8AE5              ldi R24,90
 0140 80930000          sts _key,R24
 0144 03C0              xjmp L44
 0146           L43:
 0146                   .dbline 81
 0146           ;    else 
 0146           ;     key[0]=off;
 0146 85EA              ldi R24,165
 0148 80930000          sts _key,R24
 014C           L44:
 014C                   .dbline 83
 014C           ;       //WDR();
 014C           ;     }
 014C           L13:
 014C                   .dbline 84
 014C           ;    }
 014C           L11:
 014C                   .dbline 85
 014C           ;   RUN=0;
 014C 2224              clr R2
 014E 20922500          sts _RUN,R2
 0152                   .dbline 86
 0152           ;   }
 0152           L9:
 0152                   .dbline 87
 0152           ;  if(Time>100)
 0152 84E6              ldi R24,100
 0154 20902800          lds R2,_Time
 0158 8215              cp R24,R2
 015A E8F4              brsh L45
 015C                   .dbline 88
 015C           ;  {
 015C                   .dbline 89
 015C           ;  Time = 0;
 015C 2224              clr R2
 015E 20922800          sts _Time,R2
 0162                   .dbline 90
 0162           ;  if(T1)
 0162 20902700          lds R2,_T1
 0166 2220              tst R2
 0168 21F0              breq L47
 016A                   .dbline 91
 016A           ;  T1=0;
 016A 2224              clr R2
 016C 20922700          sts _T1,R2
 0170 03C0              xjmp L48
 0172           L47:
 0172                   .dbline 93
 0172           ;  else
 0172           ;  T1=0x5a;
 0172 8AE5              ldi R24,90
 0174 80932700          sts _T1,R24
 0178           L48:
 0178                   .dbline 94
 0178           ;  if(mode_flag==off)
 0178 80910700          lds R24,_mode_flag
 017C 853A              cpi R24,165
 017E 59F4              brne L49
 0180                   .dbline 95
 0180           ;  {
 0180                   .dbline 96
 0180           ;  if(channel<47)
 0180 80912600          lds R24,_channel
 0184 8F32              cpi R24,47
 0186 20F4              brsh L51
 0188                   .dbline 97
 0188           ;  channel++;
 0188 8F5F              subi R24,255    ; addi 1
 018A 80932600          sts _channel,R24
 018E 03C0              xjmp L52
 0190           L51:
 0190                   .dbline 99
 0190           ;  else

⌨️ 快捷键说明

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