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

📄 hl-1000a.asm

📁 这个是UPS整套软件
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                      movlw     6
                      movwf     adcount
                      movlw     5
                      movwf     r1
                      movlw     line
                      movwf     4h
                      movfw     0h
                      movwf     mix

      mix1:           incf      4h
                      movfw     0h
                      ;bcf       STATUS,0
                      subwf     mix,0
                      BTFSC     STATUS,0
                      goto      mix2
                      movfw     0h
                      movwf     mix
      mix2:           decfsz    r1
                      goto     mix1

                      movlw     5
                      movwf     r1
                      movlw     line
                      movwf     4h
                      movfw     0h
                      movwf     min

      min1:           incf      4h
                      movfw     0h
                     ; bcf       STATUS,0
                      subwf     min,0
                      BTFSs     STATUS,0
                      goto      min2
                      movfw     0h
                      movwf     min
      min2:           decfsz    r1
                      goto      min1

                      movlw     5
                      movwf     r1
                      movlw     line
                      movwf     4h
                      movfw     0h
                      movwf     sum
                      clrf      sumh
      sum1:           incf      4h
                      movfw     0h
                     ; bcf       STATUS,0
                      addwf     sum,1
                      BTFSs     STATUS,0
                      goto      sum2
                      incf      sumh
      sum2:           decfsz    r1
                      goto      sum1
                      movfw     min
                     ; bcf       STATUS,0
                      subwf     sum
                      BTFSs     STATUS,0
                      decf      sumh
                      movfw     mix
                    ;  bcf       STATUS,0
                      subwf     sum
                      BTFSs     STATUS,0
                      decf      sumh
                      rrf       sumh
                      rrf       sum
                      rrf       sumh
                      rrf       sum
                      bsf       adcz



                      btfsc     oneturnz
                      goto      oneturnx

                      movlw     7
                      subwf     onetime1,0
                      btfss     status,0
                      bsf       cetime1z




                      btfsc     oneturnz
                      goto      oneturnx

                      decfsz    onetime    ;
                      goto      battery
                      decfsz    onetime1
                      goto      battery
                      movlw     25
                      movwf      onetime1
                      bsf       oneturnz
                      goto      battery

    oneturnx:         movfw     sum
                      SUBLW     82            ;电压低于130V,跳到电池供电
                      BTFSs     STATUS,0
                      goto      cityop
                      BsF       STATUS, RP0
                      movlw     50
                      movwf     electricity1

                      goto      battery

       cityop:        btfsc      cityz
                      goto       ooppy

                      BsF       STATUS, RP0
                      decfsz    electricity
                      goto      battery
                      decfsz    electricity1
                      goto      battery
                      movlw     50
                      movwf     electricity1
                      BcF       STATUS, RP0


       ooppy:
                      movfw     sum
                      movwf     sumb
                      SUBLW     171            ;
                      BTFSc     STATUS,0
                      goto      city250

 ;**********************************************过压>275V
                      bcf       light,0         ;跳到电池供电
                      goto      battery
 ;********************************************** 市电供电

 city250:
 ;*********************************************************计算110%保护电流
                  movfw     sum
                  SUBLW     107            ;小于130v-170v
                  BTFSs     STATUS,0        ;保护电流调整
                  goto      city250r
                  bsf       currentrun
                  movlw          168
                  ;movlw          89
                  movwf          r2
                  call           mmlt0a0
                  movfw         l_bytea
                  movwf         rating1
                  SUBwf     Imax,0           ;
                  BTFSc     STATUS,0
                  goto      battery
 ;*********************************************************计算150%保护电流

                  movlw          220
                  movwf          r2
                  call           mmlt0a0
                  movfw         l_bytea
                  movwf         rating2
                  goto          city250t
;*********************************************************8
                city250r:
                     bcf       currentrun
                     movlw      168
                     movwf      rating1
                     movlw      220
                     movwf      rating2

  city250t:
                      btfsc     pfcz
                      goto      relay4a
                      bsf       cityz
                      bsf       rly
                      decfsz    onetime    ;
                      goto      relay4a
                      bsf       pfcz
                      bsf       CHGOFF

                     ; bsf       dcoff
                                  ;关DC-DC
                      bcf       batteryz        ;清电池工作状态
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      bcf       pfcoffa         ;开P
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      bsf       pfcoffa
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      bcf       pfcoffa
                      bsf       pwmoffa         ;开spwm
                      ;bcf       startupz       ;设开启

                     bsf       cn10       ;
                     bcf       cn9

                      goto      relay4a
                            ;

 battery:
                      BcF       STATUS, RP0
                      bcf       cityz
 battery1:
                      bcf       currentrun
                      movlw      168
                      movwf      rating1
                      movlw      220
                      movwf      rating2
                      bsf       cn9         ;
                      bcf       cn10
                      bsf       batteryz        ;
                      bcf       city160z
                      bsf       pfcoffa         ;关PFC
                      bcf       CHGOFF
                      bcf       dcoff           ;开DC-DC
                      bcf       pfcz

                      movlw      5
                      subwf      pid,0
                      BTFSC     STATUS,0
                      bsf       pwmoffa




 ;**********************************************
 relay4a:             nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      movlw     0e1h
                      movwf     adcon0
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      nop
                      bsf       adcon0,2
 relay:               btfsc     adcon0,2     ;4
                     ; nop
                     ; nop
                      goto      relay



                      movlw     inv
                      addwf     f4a,0
                      movwf     4h
                      movfw     adres
                      movwf     0h
                      btfss     adcz
                      goto      pidc


                      movlw     5
                      movwf     r1
                      movlw     inv
                      movwf     4h
                      movfw     0h
                      movwf     mix

      mixa1a:          incf      4h
                      movfw     0h
                     ; bcf       STATUS,0
                      subwf     mix,0
                      BTFSC     STATUS,0
                      goto      mixa2a
                      movfw     0h
                      movwf     mix
      mixa2a:          decfsz    r1
                      goto     mixa1a

                      movlw     5
                      movwf     r1
                      movlw     inv
                      movwf     4h
                      movfw     0h
                      movwf     min

      mina1a:         incf      4h
                      movfw     0h
                    ;  bcf       STATUS,0
                      subwf     min,0
                      BTFSs     STATUS,0
                      goto      mina2a
                      movfw     0h
                      movwf     min
      mina2a:         decfsz    r1
                      goto      mina1a

                      movlw     5
                      movwf     r1
                      movlw     inv
                      movwf     4h
                      movfw     0h
                      movwf     sum
                      clrf      sumh
      suma1a:         incf      4h
                      movfw     0h
                    ;  bcf       STATUS,0
                      addwf     sum,1
                      BTFSs     STATUS,0
                      goto      suma2a
                      incf      sumh
      suma2a:         decfsz    r1
                      goto      suma1a
                      movfw     min

                      subwf     sum
                      BTFSs     STATUS,0
                      decf      sumh
                      movfw     mix

                      subwf     sum
                      BTFSs     STATUS,0
                      decf      sumh
                      rrf       sumh
                      rrf       sum

                      rrf       sumh
                      rrf       sum
                      movfw     sum
                      movwf     suma


                      SUBLW     155             ;输出电压过高
                      BTFSs     STATUS,0
                      goto      close1

         nextq:       btfss    oneturnz
                      goto     pidc


                      movfw     suma
                      SUBLW     80             ;输出电压过低
                      BTFSc     STATUS,0
                     ; goto      close1
                     nop
                      bsf       invrly
                      bcf      light,7
                      bsf      light,0
                      btfss     bypassaz
                      goto      pidc
                      bcf       inphasez
                      bcf       bypassaz
                      bcf       inphasez
                      BsF         STATUS, RP0
                      MOVLW       0c8h
                      MOVWF       PR2
                      BcF         STATUS, RP0




 ;**********************************************pid 调节
 pidc:

                 movfw     suma
                 ;BCF       STATUS,0
                 SUBLW     143
                 BTFSs    STATUS,0   ;当电压在219-222之间不调整
                 goto      pidc1
                ; BCF       STATUS,0
                 movfw     adres
                 SUBLW     141
                 BTFSs     STATUS,0
                 goto      d_v
                ; BCF       STATUS,0
                 movfw     pid       ;当pid 大于240不加
                 SUBLW     180
                 BTFSs     STATUS,0
                 goto      d_v
                 incf      pid1
                 clrf      pid2
                ; BCF       STATUS,0
                 movfw     pid1
                 SUBLW     40      ;
                 BTFSc     STATUS,0
                 goto      d_v
                 incf      pid
                 clrf      pid1
                 goto      d_v
pidc1:
                 incf      pid2
                 clrf      pid1
                 ;BCF       STATUS,0
                 movfw     pid2
                 SUBLW     40      ;
                 BTFSc     STATUS,0

⌨️ 快捷键说明

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