intmcu.lis

来自「工业开关量检测模块的原代码,带断线检测功能」· LIS 代码 · 共 862 行 · 第 1/3 页

LIS
862
字号
 0166           ;       DI_Status[1] |= (1<<2);
 0166 80912900          lds R24,_DI_Status+1
 016A 8460              ori R24,4
 016C 80932900          sts _DI_Status+1,R24
 0170 05C0              xjmp L28
 0172           L27:
 0172                   .dbline 86
 0172           ;   else
 0172           ;       DI_Status[1] &= (~(1<<2));
 0172 80912900          lds R24,_DI_Status+1
 0176 8B7F              andi R24,251
 0178 80932900          sts _DI_Status+1,R24
 017C           L28:
 017C                   .dbline 88
 017C           ;   
 017C           ;   if(PINA_temp & (1<<4))
 017C 80912700          lds R24,_PINA_temp
 0180 8071              andi R24,16
 0182 31F0              breq L31
 0184                   .dbline 89
 0184           ;       DI_Status[1] |= (1<<3);
 0184 80912900          lds R24,_DI_Status+1
 0188 8860              ori R24,8
 018A 80932900          sts _DI_Status+1,R24
 018E 05C0              xjmp L32
 0190           L31:
 0190                   .dbline 91
 0190           ;   else 
 0190           ;       DI_Status[1] &= (~(1<<3));
 0190 80912900          lds R24,_DI_Status+1
 0194 877F              andi R24,247
 0196 80932900          sts _DI_Status+1,R24
 019A           L32:
 019A                   .dbline 97
 019A           ;         
 019A           ;         
 019A           ; //PB1,PE3  PE2,PB0  PA7,PA1   PA0,PA6   PB3,PE5   PE4,PB2       
 019A           ;         
 019A           ; /**************Channel 7*****************/
 019A           ;   if(PINB_temp & (1<<1))
 019A 80912600          lds R24,_PINB_temp
 019E 8270              andi R24,2
 01A0 31F0              breq L35
 01A2                   .dbline 98
 01A2           ;       DI_Status[1] |= (1<<4);
 01A2 80912900          lds R24,_DI_Status+1
 01A6 8061              ori R24,16
 01A8 80932900          sts _DI_Status+1,R24
 01AC 05C0              xjmp L36
 01AE           L35:
 01AE                   .dbline 100
 01AE           ;   else 
 01AE           ;       DI_Status[1] &= (~(1<<4));
 01AE 80912900          lds R24,_DI_Status+1
 01B2 8F7E              andi R24,239
 01B4 80932900          sts _DI_Status+1,R24
 01B8           L36:
 01B8                   .dbline 102
 01B8           ; 
 01B8           ;   if(PINE_temp & (1<<3))
 01B8 80912500          lds R24,_PINE_temp
 01BC 8870              andi R24,8
 01BE 31F0              breq L39
 01C0                   .dbline 103
 01C0           ;       DI_Status[1] |= (1<<5);
 01C0 80912900          lds R24,_DI_Status+1
 01C4 8062              ori R24,32
 01C6 80932900          sts _DI_Status+1,R24
 01CA 05C0              xjmp L40
 01CC           L39:
 01CC                   .dbline 105
 01CC           ;   else 
 01CC           ;       DI_Status[1] &= (~(1<<5));
 01CC 80912900          lds R24,_DI_Status+1
 01D0 8F7D              andi R24,223
 01D2 80932900          sts _DI_Status+1,R24
 01D6           L40:
 01D6                   .dbline 108
 01D6           ;         
 01D6           ; /**************Channel 8*****************/
 01D6           ;   if(PINE_temp & (1<<2))
 01D6 80912500          lds R24,_PINE_temp
 01DA 8470              andi R24,4
 01DC 31F0              breq L43
 01DE                   .dbline 109
 01DE           ;       DI_Status[1] |= (1<<6);
 01DE 80912900          lds R24,_DI_Status+1
 01E2 8064              ori R24,64
 01E4 80932900          sts _DI_Status+1,R24
 01E8 05C0              xjmp L44
 01EA           L43:
 01EA                   .dbline 111
 01EA           ;   else 
 01EA           ;       DI_Status[1] &= (~(1<<6));
 01EA 80912900          lds R24,_DI_Status+1
 01EE 8F7B              andi R24,191
 01F0 80932900          sts _DI_Status+1,R24
 01F4           L44:
 01F4                   .dbline 113
 01F4           ;         
 01F4           ;   if(PINB_temp & (1<<0))
 01F4 80912600          lds R24,_PINB_temp
 01F8 8170              andi R24,1
 01FA 31F0              breq L47
 01FC                   .dbline 114
 01FC           ;       DI_Status[1] |= (1<<7);
 01FC 80912900          lds R24,_DI_Status+1
 0200 8068              ori R24,128
 0202 80932900          sts _DI_Status+1,R24
 0206 05C0              xjmp L48
 0208           L47:
 0208                   .dbline 116
 0208           ;   else 
 0208           ;       DI_Status[1] &= (~(1<<7));
 0208 80912900          lds R24,_DI_Status+1
 020C 8F77              andi R24,127
 020E 80932900          sts _DI_Status+1,R24
 0212           L48:
 0212                   .dbline 119
 0212           ;         
 0212           ; /**************Channel 9*****************/
 0212           ;   if(PINA_temp & (1<<7))
 0212 80912700          lds R24,_PINA_temp
 0216 8078              andi R24,128
 0218 31F0              breq L51
 021A                   .dbline 120
 021A           ;       DI_Status[2] |= (1<<0);
 021A 80912A00          lds R24,_DI_Status+2
 021E 8160              ori R24,1
 0220 80932A00          sts _DI_Status+2,R24
 0224 05C0              xjmp L52
 0226           L51:
 0226                   .dbline 122
 0226           ;   else 
 0226           ;       DI_Status[2] &= (~(1<<0));
 0226 80912A00          lds R24,_DI_Status+2
 022A 8E7F              andi R24,254
 022C 80932A00          sts _DI_Status+2,R24
 0230           L52:
 0230                   .dbline 124
 0230           ;          
 0230           ;   if(PINA_temp & (1<<1))
 0230 80912700          lds R24,_PINA_temp
 0234 8270              andi R24,2
 0236 31F0              breq L55
 0238                   .dbline 125
 0238           ;       DI_Status[2] |= (1<<1);
 0238 80912A00          lds R24,_DI_Status+2
 023C 8260              ori R24,2
 023E 80932A00          sts _DI_Status+2,R24
 0242 05C0              xjmp L56
 0244           L55:
 0244                   .dbline 127
 0244           ;   else 
 0244           ;       DI_Status[2] &= (~(1<<1));
 0244 80912A00          lds R24,_DI_Status+2
 0248 8D7F              andi R24,253
 024A 80932A00          sts _DI_Status+2,R24
 024E           L56:
 024E                   .dbline 130
 024E           ; 
 024E           ; /**************Channel 10*****************/
 024E           ;   if(PINA_temp & (1<<0))
 024E 80912700          lds R24,_PINA_temp
 0252 8170              andi R24,1
 0254 31F0              breq L59
 0256                   .dbline 131
 0256           ;       DI_Status[2] |= (1<<2);
 0256 80912A00          lds R24,_DI_Status+2
 025A 8460              ori R24,4
 025C 80932A00          sts _DI_Status+2,R24
 0260 05C0              xjmp L60
 0262           L59:
 0262                   .dbline 133
 0262           ;   else 
 0262           ;       DI_Status[2] &= (~(1<<2));
 0262 80912A00          lds R24,_DI_Status+2
 0266 8B7F              andi R24,251
 0268 80932A00          sts _DI_Status+2,R24
 026C           L60:
 026C                   .dbline 135
 026C           ; 
 026C           ;   if(PINA_temp & (1<<6))
 026C 80912700          lds R24,_PINA_temp
 0270 8074              andi R24,64
 0272 31F0              breq L63
 0274                   .dbline 136
 0274           ;       DI_Status[2] |= (1<<3);
 0274 80912A00          lds R24,_DI_Status+2
 0278 8860              ori R24,8
 027A 80932A00          sts _DI_Status+2,R24
 027E 05C0              xjmp L64
 0280           L63:
 0280                   .dbline 138
 0280           ;   else 
 0280           ;       DI_Status[2] &= (~(1<<3));
 0280 80912A00          lds R24,_DI_Status+2
 0284 877F              andi R24,247
 0286 80932A00          sts _DI_Status+2,R24
 028A           L64:
 028A                   .dbline 141
 028A           ; 
 028A           ; /**************Channel 11*****************/
 028A           ;   if(PINB_temp & (1<<3))
 028A 80912600          lds R24,_PINB_temp
 028E 8870              andi R24,8
 0290 31F0              breq L67
 0292                   .dbline 142
 0292           ;       DI_Status[2] |= (1<<4);
 0292 80912A00          lds R24,_DI_Status+2
 0296 8061              ori R24,16
 0298 80932A00          sts _DI_Status+2,R24
 029C 05C0              xjmp L68
 029E           L67:
 029E                   .dbline 144
 029E           ;   else 
 029E           ;       DI_Status[2] &= (~(1<<4));
 029E 80912A00          lds R24,_DI_Status+2
 02A2 8F7E              andi R24,239
 02A4 80932A00          sts _DI_Status+2,R24
 02A8           L68:
 02A8                   .dbline 146
 02A8           ;       
 02A8           ;   if(PINE_temp & (1<<5))
 02A8 80912500          lds R24,_PINE_temp
 02AC 8072              andi R24,32
 02AE 31F0              breq L71
 02B0                   .dbline 147
 02B0           ;       DI_Status[2] |= (1<<5);
 02B0 80912A00          lds R24,_DI_Status+2
 02B4 8062              ori R24,32
 02B6 80932A00          sts _DI_Status+2,R24
 02BA 05C0              xjmp L72
 02BC           L71:
 02BC                   .dbline 149
 02BC           ;   else 
 02BC           ;       DI_Status[2] &= (~(1<<5));
 02BC 80912A00          lds R24,_DI_Status+2
 02C0 8F7D              andi R24,223
 02C2 80932A00          sts _DI_Status+2,R24
 02C6           L72:
 02C6                   .dbline 152
 02C6           ; 
 02C6           ; /**************Channel 12*****************/
 02C6           ;   if(PINE_temp & (1<<4))      
 02C6 80912500          lds R24,_PINE_temp
 02CA 8071              andi R24,16
 02CC 31F0              breq L75
 02CE                   .dbline 153
 02CE           ;       DI_Status[2] |= (1<<6);
 02CE 80912A00          lds R24,_DI_Status+2
 02D2 8064              ori R24,64
 02D4 80932A00          sts _DI_Status+2,R24
 02D8 05C0              xjmp L76
 02DA           L75:
 02DA                   .dbline 155
 02DA           ;   else 
 02DA           ;       DI_Status[2] &= (~(1<<6));
 02DA 80912A00          lds R24,_DI_Status+2
 02DE 8F7B              andi R24,191
 02E0 80932A00          sts _DI_Status+2,R24
 02E4           L76:
 02E4                   .dbline 157
 02E4           ; 
 02E4           ;   if(PINB_temp & (1<<2))
 02E4 80912600          lds R24,_PINB_temp
 02E8 8470              andi R24,4
 02EA 31F0              breq L79
 02EC                   .dbline 158
 02EC           ;       DI_Status[2] |= (1<<7);
 02EC 80912A00          lds R24,_DI_Status+2
 02F0 8068              ori R24,128
 02F2 80932A00          sts _DI_Status+2,R24
 02F6 05C0              xjmp L80
 02F8           L79:
 02F8                   .dbline 160
 02F8           ;   else 
 02F8           ;       DI_Status[2] &= (~(1<<7));
 02F8 80912A00          lds R24,_DI_Status+2
 02FC 8F77              andi R24,127
 02FE 80932A00          sts _DI_Status+2,R24
 0302           L80:
 0302                   .dbline 166
 0302           ;         
 0302           ; ///test
 0302           ;  // if((DI_Status[0] != 0xaa) || (DI_Status[1] != 0xaa) || (DI_Status[1] != 0xaa))
 0302           ;      // PORTB |= (1<<5);
 0302           ; 

⌨️ 快捷键说明

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