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

📄 protectlflsh_protect.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.line	25
;----------------------------------------------------------------------
;  43 | pProtect->pro_trip = 0x1;                                              
;  45 | //////模拟通道                                                         
;  46 | // ----------------------------------------------------- //            
;  47 | //相电流                                                               
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |43| 
        ldiu      1,r0                  ; |43| 
        sti       r0,*+ar0(70)          ; |43| 
	.line	30
;----------------------------------------------------------------------
;  48 | pProtect->pro_analog_channel[0]    =    PIa_Chn;                       
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |48| 
        ldiu      4,r0                  ; |48| 
        sti       r0,*+ar0(37)          ; |48| 
	.line	31
;----------------------------------------------------------------------
;  49 | pProtect->pro_analog_channel[1]    =    PIb_Chn;                       
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |49| 
        ldiu      14,r0                 ; |49| 
        sti       r0,*+ar0(38)          ; |49| 
	.line	32
;----------------------------------------------------------------------
;  50 | pProtect->pro_analog_channel[2]    =    PIc_Chn;                       
;  52 | //电压                                                                 
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |50| 
        ldiu      9,r0                  ; |50| 
        sti       r0,*+ar0(39)          ; |50| 
	.line	35
;----------------------------------------------------------------------
;  53 | pProtect->pro_analog_channel[3]    =    Ua_Chn;                        
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |53| 
        ldiu      1,r0                  ; |53| 
        sti       r0,*+ar0(40)          ; |53| 
	.line	36
;----------------------------------------------------------------------
;  54 | pProtect->pro_analog_channel[4]    =    Ub_Chn;                        
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |54| 
        ldiu      3,r0                  ; |54| 
        sti       r0,*+ar0(41)          ; |54| 
	.line	37
;----------------------------------------------------------------------
;  55 | pProtect->pro_analog_channel[5]    =    Uc_Chn;                        
;  57 | //////压板                                                             
;  58 | // ----------------------------------------------------- //            
;  59 | //压板个数                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |55| 
        ldiu      8,r0                  ; |55| 
        sti       r0,*+ar0(42)          ; |55| 
	.line	42
;----------------------------------------------------------------------
;  60 | pProtect->pro_jumper_number    =    0;                                 
;  61 | //指针赋值                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |60| 
        ldiu      0,r0                  ; |60| 
        sti       r0,*+ar0(73)          ; |60| 
	.line	44
;----------------------------------------------------------------------
;  62 | pJumper = pProtect->pro_jumper;                                        
;  63 | //ID号                                                                 
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |62| 
        ldiu      *+ar0(74),r0          ; |62| 
        sti       r0,*+fp(5)            ; |62| 
	.line	46
;----------------------------------------------------------------------
;  64 | pJumper->pro_id     =    pProtect->pro_id;                             
;  65 | //序号                                                                 
;----------------------------------------------------------------------
        ldiu      r0,ar1
        ldiu      *+ar0(3),r0           ; |64| 
        sti       r0,*ar1               ; |64| 
	.line	48
;----------------------------------------------------------------------
;  66 | pJumper->jum_id     =    pProtect->pro_jumper_number;
;     |                                                                        
;  67 | //INF                                                                  
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar1           ; |66| 
        ldiu      *+fp(5),ar0           ; |66| 
        ldiu      *+ar1(73),r0          ; |66| 
        sti       r0,*+ar0(1)           ; |66| 
	.line	50
;----------------------------------------------------------------------
;  68 | pJumper->jum_inf    =    189;                                          
;  69 | //CONTROLINF                                                           
;----------------------------------------------------------------------
        ldiu      *+fp(5),ar0           ; |68| 
        ldiu      189,r0                ; |68| 
        sti       r0,*+ar0(2)           ; |68| 
	.line	52
;----------------------------------------------------------------------
;  70 | pJumper->jum_ctrl   =    55;
;     |                                                                        
;  71 | //压板名称                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(5),ar0           ; |70| 
        ldiu      55,r0                 ; |70| 
        sti       r0,*+ar0(3)           ; |70| 
	.line	54
;----------------------------------------------------------------------
;  72 | pJumper->pjum_name     =    "低频减载投退";                            
;----------------------------------------------------------------------
        ldp       @CL7,DP
        ldiu      *+fp(5),ar0           ; |72| 
        ldiu      @CL7,r0               ; |72| 
        sti       r0,*+ar0(4)           ; |72| 
	.line	55
;----------------------------------------------------------------------
;  73 | pJumper->pjum_alias    =    "DPJZ";                                    
;  74 | //压板状态                                                             
;----------------------------------------------------------------------
        ldp       @CL8,DP
        ldiu      *+fp(5),ar0           ; |73| 
        ldiu      @CL8,r0               ; |73| 
        sti       r0,*+ar0(25)          ; |73| 
	.line	57
;----------------------------------------------------------------------
;  75 | pJumper->jum_status    =    1;                                         
;  76 | //赋值增量                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(5),ar0           ; |75| 
        ldiu      1,r0                  ; |75| 
        sti       r0,*+ar0(26)          ; |75| 
	.line	59
;----------------------------------------------------------------------
;  77 | pJumper++;                                                             
;----------------------------------------------------------------------
        ldiu      27,r0                 ; |77| 
        addi      *+fp(5),r0            ; |77| Unsigned
        sti       r0,*+fp(5)            ; |77| 
	.line	60
;----------------------------------------------------------------------
;  78 | pProtect->pro_jumper_number++;                                         
;  80 | //////定值                                                             
;  81 | // ----------------------------------------------------- //            
;  82 | //定值个数                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |78| 
        ldiu      1,r0                  ; |78| 
        addi      *+ar0(73),r0          ; |78| Unsigned
        sti       r0,*+ar0(73)          ; |78| 
	.line	65
;----------------------------------------------------------------------
;  83 | pProtect->pro_setting_number = 0;                                      
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |83| 
        ldiu      0,r0                  ; |83| 
        sti       r0,*+ar0(71)          ; |83| 
	.line	66
;----------------------------------------------------------------------
;  84 | pSets = pProtect->pro_setting;                                         
;  85 | //------------------------------------------------//                   
;  86 | //频率                                                                 
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |84| 
        ldiu      *+ar0(72),r0          ; |84| 
        sti       r0,*+fp(2)            ; |84| 
	.line	69
;----------------------------------------------------------------------
;  87 | pSets->pro_id    =    pProtect->pro_id;                                
;----------------------------------------------------------------------
        ldiu      r0,ar1
        ldiu      *+ar0(3),r0           ; |87| 
        sti       r0,*ar1               ; |87| 
	.line	70
;----------------------------------------------------------------------
;  88 | pSets->set_id    =    ++(pProtect->pro_setting_number);                
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |88| 
        ldiu      1,r0                  ; |88| 
        addi      *+ar0(71),r0          ; |88| Unsigned
        sti       r0,*+ar0(71)          ; |88| 
        ldiu      *+fp(2),ar0           ; |88| 
        sti       r0,*+ar0(1)           ; |88| 
	.line	71
;----------------------------------------------------------------------
;  89 | pSets->pset_name = (CHAR *)strcpy(pSets->set_name,"动作频率");
;     |                                                                        
;----------------------------------------------------------------------
        ldp       @CL9,DP
        ldiu      3,r0                  ; |89| 
        addi      *+fp(2),r0            ; |89| Unsigned
        ldiu      @CL9,r1               ; |89| 
        push      r1                    ; |89| 
        push      r0                    ; |89| 
        call      _strcpy               ; |89| 
                                        ; |89| Call Occurs
        subi      2,sp                  ; |89| 
        ldiu      *+fp(2),ar0           ; |89| 
        sti       r0,*+ar0(2)           ; |89| 
	.line	72
;----------------------------------------------------------------------
;  90 | pSets->pset_alias          =    "f";
;     |                                                                        
;----------------------------------------------------------------------
        ldp       @CL10,DP
        ldiu      *+fp(2),ar0           ; |90| 
        ldiu      @CL10,r0              ; |90| 
        sti       r0,*+ar0(25)          ; |90| 
	.line	73
;----------------------------------------------------------------------
;  91 | pSets->pset_dimension      =    "Hz";                                  
;----------------------------------------------------------------------
        ldp       @CL11,DP
        ldiu      *+fp(2),ar0           ; |91| 
        ldiu      @CL11,r0              ; |91| 
        sti       r0,*+ar0(24)          ; |91| 
	.line	74
;----------------------------------------------------------------------
;  92 | pSets->set_lower_limit     =    45.00;                                 
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |92| 
        ldfu      4.5000000000e+01,f0   ; |92| 
        stf       f0,*+ar0(28)          ; |92| 
	.line	75
;----------------------------------------------------------------------
;  93 | pSets->set_high_limit      =    50.00;                                 
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |93| 
        ldfu      5.0000000000e+01,f0   ; |93| 
        stf       f0,*+ar0(29)          ; |93| 
	.line	76
;----------------------------------------------------------------------
;  94 | pSets->set_calculate_style =    CHL_MUL_;                              
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |94| 
        ldiu      1,r0                  ; |94| 
        sti       r0,*+ar0(23)          ; |94| 
	.line	77
;----------------------------------------------------------------------
;  95 | pSets->set_calculate_coefficient = CHL_CONSTANT_1;                     
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |95| 
        ldfu      1.0000000000e+00,f0   ; |95| 
        stf       f0,*+ar0(27)          ; |95| 
	.line	78
;----------------------------------------------------------------------
;  96 | for(i=0;i<SET_ZONE;i++)                                                
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |96| 
        sti       r0,*+fp(7)            ; |96| 
        ldfu      4.8500000000e+01,f1   ; |97| 
        cmpi      8,r0                  ; |96| 
        bge       L3                    ; |96| 
;*      Branch Occurs to L3             ; |96| 
L2:        
	.line	79
;----------------------------------------------------------------------
;  97 | pSets->set_value_zone[i]   =    48.5*CHL_CONSTANT_1;                   
;----------------------------------------------------------------------
        ldiu      *+fp(7),ar0           ; |97| 
        addi      *+fp(2),ar0           ; |97| Unsigned
        stf       f1,*+ar0(30)          ; |97| 
	.line	78
        ldiu      1,r0                  ; |96| 
        addi      *+fp(7),r0            ; |96| 
        sti       r0,*+fp(7)            ; |96| 
        cmpi      8,r0                  ; |96| 
        blt       L2                    ; |96| 
;*      Branch Occurs to L2             ; |96| 
L3:        
	.line	80
;----------------------------------------------------------------------
;  98 | pSets++;                                                               

⌨️ 快捷键说明

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