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 + -
显示快捷键?