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

📄 rs485_51device.lis

📁 电梯楼层采集器代码
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 035A 0E940000          xcall _I2C_Close
 035E                   .dbline 189
 035E           ;   communication->c51_txd = 1; 
 035E 81E0              ldi R24,1
 0360 FA01              movw R30,R20
 0362 8383              std z+3,R24
 0364                   .dbline 190
 0364           ;   Cyc_manage |= 0x02; 
 0364 80910000          lds R24,_Cyc_manage
 0368 8260              ori R24,2
 036A 80930000          sts _Cyc_manage,R24
 036E                   .dbline -2
 036E           L51:
 036E                   .dbline 0 ; func end
 036E 2196              adiw R28,1
 0370 0C940000          xjmp pop_xgsetF000
 0374                   .dbsym r communication 20 pS[data]
 0374                   .dbsym r C51_buf 22 pS[Device51_StructOfProtocol]
 0374                   .dbend
 0374                   .dbfunc e set_Device51_PRODUCT_CODE _set_Device51_PRODUCT_CODE fV
 0374           ;  communication -> R20,R21
 0374           ;        C51_buf -> R22,R23
                        .even
 0374           _set_Device51_PRODUCT_CODE::
 0374 0E940000          xcall push_xgsetF000
 0378 2197              sbiw R28,1
 037A                   .dbline -1
 037A                   .dbline 195
 037A           ; }
 037A           ; //------------------------------------------------------------------------------
 037A           ; //设置产品标签代码 
 037A           ; void set_Device51_PRODUCT_CODE(void)
 037A           ; {
 037A                   .dbline 198
 037A           ;   struct Device51_StructOfProtocol *C51_buf;
 037A           ;   struct data *communication;
 037A           ;   C51_buf = (struct Device51_StructOfProtocol*)C51Buffer485;
 037A 60E0              ldi R22,<_C51Buffer485
 037C 70E0              ldi R23,>_C51Buffer485
 037E                   .dbline 199
 037E           ;   C51_buf->Length = sizeof(struct StructOfProductCode) + 1;
 037E 8BEF              ldi R24,251
 0380 90E0              ldi R25,0
 0382 FB01              movw R30,R22
 0384 9283              std z+2,R25
 0386 8183              std z+1,R24
 0388                   .dbline 200
 0388           ;   I2C_Initial();
 0388 0E940000          xcall _I2C_Initial
 038C                   .dbline 201
 038C           ;   AT24_Read((unsigned char *)&C51_buf->Data,StructOfProductCode_Address,C51_buf->Length-1);
 038C FB01              movw R30,R22
 038E 8181              ldd R24,z+1
 0390 9281              ldd R25,z+2
 0392 0197              sbiw R24,1
 0394 8883              std y+0,R24
 0396 2AEB              ldi R18,39610
 0398 3AE9              ldi R19,154
 039A 8F01              movw R16,R30
 039C 0C5F              subi R16,252  ; offset = 4
 039E 1F4F              sbci R17,255
 03A0 0E940000          xcall _AT24_Read
 03A4                   .dbline 202
 03A4           ;   I2C_Close();
 03A4 0E940000          xcall _I2C_Close
 03A8                   .dbline 203
 03A8           ;   communication->c51_txd = 1; 
 03A8 81E0              ldi R24,1
 03AA FA01              movw R30,R20
 03AC 8383              std z+3,R24
 03AE                   .dbline 204
 03AE           ;   Cyc_manage |= 0x02; 
 03AE 80910000          lds R24,_Cyc_manage
 03B2 8260              ori R24,2
 03B4 80930000          sts _Cyc_manage,R24
 03B8                   .dbline -2
 03B8           L52:
 03B8                   .dbline 0 ; func end
 03B8 2196              adiw R28,1
 03BA 0C940000          xjmp pop_xgsetF000
 03BE                   .dbsym r communication 20 pS[data]
 03BE                   .dbsym r C51_buf 22 pS[Device51_StructOfProtocol]
 03BE                   .dbend
 03BE                   .dbfunc e set_Device51_UNIT_STATUS _set_Device51_UNIT_STATUS fV
                        .even
 03BE           _set_Device51_UNIT_STATUS::
 03BE                   .dbline -1
 03BE                   .dbline 209
 03BE           ; }
 03BE           ; //------------------------------------------------------------------------------
 03BE           ; /*设置控制器状态*/
 03BE           ; void set_Device51_UNIT_STATUS(void)
 03BE           ; {
 03BE                   .dbline -2
 03BE           L53:
 03BE                   .dbline 0 ; func end
 03BE 0895              ret
 03C0                   .dbend
 03C0                   .dbfunc e update_data_51director _update_data_51director fV
 03C0           ;       Device51 -> R10,R11
 03C0           ;        C51_buf -> R22,R23
 03C0           ;              i -> R20
                        .even
 03C0           _update_data_51director::
 03C0 0E940000          xcall push_xgsetF03C
 03C4                   .dbline -1
 03C4                   .dbline 219
 03C4           ; 
 03C4           ; 
 03C4           ; }
 03C4           ; 
 03C4           ; 
 03C4           ; //------------------------------------------------------------------------------
 03C4           ; //------------------------------------------------------------------------------
 03C4           ; //更新51控制板
 03C4           ; void update_data_51director(void)
 03C4           ; {
 03C4                   .dbline 223
 03C4           ;   unsigned char i;
 03C4           ;   struct Device51_StructOfProtocol *C51_buf;
 03C4           ;   struct Device51_Address *Device51; 
 03C4           ;   C51_buf = (struct Device51_StructOfProtocol*)C51Buffer485;
 03C4 60E0              ldi R22,<_C51Buffer485
 03C6 70E0              ldi R23,>_C51Buffer485
 03C8                   .dbline 224
 03C8           ;   for(i=0;i<sizeof(struct ReadHC165Switch);i++)
 03C8 4427              clr R20
 03CA 43C0              xjmp L58
 03CC           L55:
 03CC                   .dbline 225
 03CC           ;   {  
 03CC                   .dbline 226
 03CC           ;    C51_buf->Address = Device51->Address[i]; 
 03CC E42F              mov R30,R20
 03CE FF27              clr R31
 03D0 EA0D              add R30,R10
 03D2 FB1D              adc R31,R11
 03D4 2080              ldd R2,z+0
 03D6 FB01              movw R30,R22
 03D8 2082              std z+0,R2
 03DA                   .dbline 227
 03DA           ;    switch(C51_buf->Command)
 03DA C380              ldd R12,z+3
 03DC DD24              clr R13
 03DE C601              movw R24,R12
 03E0 8F33              cpi R24,63
 03E2 E0E0              ldi R30,0
 03E4 9E07              cpc R25,R30
 03E6 09F4              brne X34
 03E8 30C0              xjmp L68
 03EA           X34:
 03EA           X24:
 03EA 8FE3              ldi R24,63
 03EC 8C15              cp R24,R12
 03EE 9D05              cpc R25,R13
 03F0 D4F0              brlt L71
 03F2           X25:
 03F2           L70:
 03F2 C601              movw R24,R12
 03F4 8232              cpi R24,34
 03F6 E0E0              ldi R30,0
 03F8 9E07              cpc R25,R30
 03FA D9F0              breq L62
 03FC           X26:
 03FC 8332              cpi R24,35
 03FE E0E0              ldi R30,0
 0400 9E07              cpc R25,R30
 0402 09F1              breq L67
 0404           X27:
 0404 8432              cpi R24,36
 0406 E0E0              ldi R30,0
 0408 9E07              cpc R25,R30
 040A A9F0              breq L63
 040C           X28:
 040C 8532              cpi R24,37
 040E E0E0              ldi R30,0
 0410 9E07              cpc R25,R30
 0412 99F0              breq L64
 0414           X29:
 0414 8632              cpi R24,38
 0416 E0E0              ldi R30,0
 0418 9E07              cpc R25,R30
 041A 89F0              breq L65
 041C           X30:
 041C 8D32              cpi R24,45
 041E E0E0              ldi R30,0
 0420 9E07              cpc R25,R30
 0422 79F0              breq L66
 0424           X31:
 0424 15C0              xjmp L60
 0426           L71:
 0426 C601              movw R24,R12
 0428 8036              cpi R24,96
 042A E0E0              ldi R30,0
 042C 9E07              cpc R25,R30
 042E 79F0              breq L69
 0430           X32:
 0430 0FC0              xjmp L60
 0432           L62:
 0432                   .dbline 230
 0432           ;    {
 0432           ;        case CMD_SET_TIME://下载系统时间
 0432           ;                 set_Device51_TIME();
 0432 58DE              xcall _set_Device51_TIME
 0434                   .dbline 231
 0434           ;                 break;
 0434 0DC0              xjmp L60
 0436           L63:
 0436                   .dbline 233
 0436           ;        case CMD_SET_CARDSET://下载系统卡注册表
 0436           ;             set_Device51_CARDSET();
 0436 7EDE              xcall _set_Device51_CARDSET
 0438                   .dbline 234
 0438           ;                 break;
 0438 0BC0              xjmp L60
 043A           L64:
 043A                   .dbline 236
 043A           ;        case CMD_SET_USER://下载门禁时间组(设用户楼层授权资料)            
 043A           ;                 set_Device51_USER();
 043A BBDE              xcall _set_Device51_USER
 043C                   .dbline 237
 043C           ;                 break;
 043C 09C0              xjmp L60
 043E           L65:
 043E                   .dbline 239
 043E           ;      case CMD_SET_USER_TIME://设用户时间组授权资料 
 043E           ;                 set_Device51_USER_TIME();
 043E F8DE              xcall _set_Device51_USER_TIME
 0440                   .dbline 240
 0440           ;                 break; 
 0440 07C0              xjmp L60
 0442           L66:
 0442                   .dbline 242
 0442           ;        case CMD_SET_AUTH_TIME://设电梯授权时间组  
 0442           ;                 set_Device51_AUTH_TIME();
 0442 35DF              xcall _set_Device51_AUTH_TIME
 0444                   .dbline 243
 0444           ;                 break;
 0444 05C0              xjmp L60
 0446           L67:
 0446                   .dbline 245
 0446           ;        case CMD_SET_CONFIG: //设置系统配置参数  
 0446           ;                 set_Device51_CONFIG();
 0446 71DF              xcall _set_Device51_CONFIG
 0448                   .dbline 246
 0448           ;                 break; 
 0448 03C0              xjmp L60
 044A           L68:
 044A                   .dbline 248
 044A           ;        case CMD_SET_PRODUCT_CODE://设置产品标签代码  
 044A           ;                 set_Device51_PRODUCT_CODE();
 044A 94DF              xcall _set_Device51_PRODUCT_CODE
 044C                   .dbline 249
 044C           ;                 break;
 044C 01C0              xjmp L60
 044E           L69:
 044E                   .dbline 251
 044E           ;        case CTL_SET_UNIT_STATUS: /*设置控制器状态*/    
 044E           ;                 set_Device51_UNIT_STATUS();
 044E B7DF              xcall _set_Device51_UNIT_STATUS
 0450                   .dbline 252
 0450           ;                 break;
 0450                   .dbline 254
 0450           ;        default:
 0450           ;                 break;
 0450           L60:
 0450                   .dbline 256
 0450           ;    }
 0450           ;   }
 0450           L56:
 0450                   .dbline 224
 0450 4395              inc R20
 0452           L58:
 0452                   .dbline 224
 0452 4330              cpi R20,3
 0454 08F4              brsh X35
 0456 BACF              xjmp L55
 0458           X35:
 0458           X33:
 0458                   .dbline -2
 0458           L54:
 0458                   .dbline 0 ; func end
 0458 0C940000          xjmp pop_xgsetF03C
 045C                   .dbsym r Device51 10 pS[Device51_Address]
 045C                   .dbsym r C51_buf 22 pS[Device51_StructOfProtocol]
 045C                   .dbsym r i 20 c
 045C                   .dbend
 045C           ; }
 045C           ; //------------------------------------------------------------------------------

⌨️ 快捷键说明

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